Commit 3811be24 authored by fallenstardust's avatar fallenstardust

为已经存在的服务器列表添加备注

微调服务入口item的布局
支持为服务入口添加备注
parent d3131963
......@@ -4,8 +4,8 @@
<server>
<player-name>Knight of Hanoi</player-name>
<name>萌卡直连正式+扩展卡</name>
<desc>与本应用正式卡同步更新并提供超先行卡尝鲜</desc>
<name>萌卡直连正式+超先行</name>
<desc>与本应用正式卡同步支持使用右下角下载的扩展卡</desc>
<ip>mygo.superpre.pro</ip>
<port>888</port>
<keep>true</keep>
......
......@@ -151,6 +151,11 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene
}
ServerUtil.initExCardState();//LogoActivity中会调用一次本函数,此处再次调用的原因:有时HomeFragment的onCreateView()函数执行较慢,导致initExCardState()中eventbus事件发布完毕后仍未注册,因此在此处再调用一次检查,再次发布
changeColor();
try {
ServerUtil.refreshServer(activity);
} catch (IOException e) {
Log.e("seesee",e+"");
}
//showNewbieGuide("homePage");
return layoutView;
}
......
......@@ -13,6 +13,7 @@ public class ServerInfoViewHolder extends BaseRecyclerAdapterPlus.BaseViewHolder
public ServerInfoViewHolder(View itemView) {
super(itemView);
serverName = $(R.id.server_name);
serverDesc = $(R.id.server_desc);
serverIp = $(R.id.text_ip);
serverPort = $(R.id.text_port);
userName = $(R.id.text_player);
......@@ -26,6 +27,7 @@ public class ServerInfoViewHolder extends BaseRecyclerAdapterPlus.BaseViewHolder
public final SwipeHorizontalMenuLayout mMenuLayout;
public final View contentView;
public final TextView serverName;
public final TextView serverDesc;
public final TextView userName;
public final TextView serverIp;
public final TextView serverPort;
......
......@@ -111,6 +111,7 @@ public class ServerListManager {
ServerInfo serverInfo = mAdapter.getItem(position);
if (serverInfo != null) {
editViewHolder.serverName.setText(serverInfo.getName());
editViewHolder.serverDesc.setText(serverInfo.getDesc());
editViewHolder.serverIp.setText(serverInfo.getServerAddr());
editViewHolder.userName.setText(serverInfo.getPlayerName());
editViewHolder.serverPort.setText(String.valueOf(serverInfo.getPort()));
......@@ -126,6 +127,7 @@ public class ServerListManager {
info = new ServerInfo();
}
info.setName(("" + editViewHolder.serverName.getText()).trim());
info.setDesc(("" + editViewHolder.serverDesc.getText()).trim());
info.setServerAddr(("" + editViewHolder.serverIp.getText()).trim());
info.setPlayerName(("" + editViewHolder.userName.getText()).trim());
if (TextUtils.isEmpty(info.getName())
......
package cn.garymb.ygomobile.utils;
import static android.os.Build.VERSION_CODES.R;
import static cn.garymb.ygomobile.Constants.ASSET_SERVER_LIST;
import static cn.garymb.ygomobile.Constants.URL_YGO233_DATAVER;
import static cn.garymb.ygomobile.utils.StringUtils.isHost;
......@@ -33,7 +32,6 @@ import cn.garymb.ygomobile.bean.ServerInfo;
import cn.garymb.ygomobile.bean.ServerList;
import cn.garymb.ygomobile.bean.events.ExCardEvent;
import cn.garymb.ygomobile.lite.BuildConfig;
import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.home.ServerListManager;
import cn.garymb.ygomobile.ui.plus.VUiKit;
import okhttp3.Call;
......@@ -202,6 +200,30 @@ public class ServerUtil {
return fileList;
}
public static void refreshServer(Context context) throws IOException {
/* 读取apk中assets文件夹下的serverlist.xml文件 */
ServerList assetList = ServerListManager.readList(context.getAssets().open(ASSET_SERVER_LIST));
/* 读取本地文件server_list.xml */
File xmlFile = new File(context.getFilesDir(), Constants.SERVER_FILE);//读取文件路径下的server_list.xml
ServerList fileList = xmlFile.exists() ? ServerListManager.readList(new FileInputStream(xmlFile)) : null;
if (fileList == null) {
return;
}
for (int i=0; i<assetList.getServerInfoList().size();i++) {
/*考虑到fileList的serverinfo其他信息被用户修改过,专门只比较域名地址和端口来视为相同的server来补充备注*/
for (int j=0; j<fileList.getServerInfoList().size();j++){
if (assetList.getServerInfoList().get(i).getServerAddr().equals(fileList.getServerInfoList().get(j).getServerAddr())
&& assetList.getServerInfoList().get(i).getPort() == (fileList.getServerInfoList().get(j).getPort())
&& !assetList.getServerInfoList().get(i).getDesc().equals(fileList.getServerInfoList().get(j).getDesc())) {
fileList.getServerInfoList().get(j).setDesc(assetList.getServerInfoList().get(i).getDesc());
}
}
}
saveItems(context,xmlFile,fileList.getServerInfoList());
}
/**
* 从资源文件serverlist.xml(或本地文件server_list.xml)解析服务器列表,并将新添加的服务器信息(name,addr,port)合并到服务器列表中。
*
......
......@@ -77,12 +77,14 @@
android:singleLine="true"
android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textColor="@color/holo_green_bright"
android:textSize="10sp"
android:textSize="8sp"
tools:text="desc" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_4"
android:orientation="horizontal">
<LinearLayout
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment