Commit 236060f9 authored by fallenstardust's avatar fallenstardust

home启动时检查更新

parent 9d8086b5
...@@ -2,6 +2,7 @@ package cn.garymb.ygomobile.ui.home; ...@@ -2,6 +2,7 @@ package cn.garymb.ygomobile.ui.home;
import static cn.garymb.ygomobile.Constants.ASSET_SERVER_LIST; import static cn.garymb.ygomobile.Constants.ASSET_SERVER_LIST;
import static cn.garymb.ygomobile.Constants.URL_YGO233_DATAVER; import static cn.garymb.ygomobile.Constants.URL_YGO233_DATAVER;
import static cn.garymb.ygomobile.Constants.URL_YGO233_DOWNLOAD_LINK;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.content.Intent; import android.content.Intent;
...@@ -39,6 +40,7 @@ import com.ourygo.assistant.util.Util; ...@@ -39,6 +40,7 @@ import com.ourygo.assistant.util.Util;
import com.stx.xhb.androidx.XBanner; import com.stx.xhb.androidx.XBanner;
import com.tubb.smrv.SwipeMenuRecyclerView; import com.tubb.smrv.SwipeMenuRecyclerView;
import org.apache.commons.lang3.StringUtils;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode; import org.greenrobot.eventbus.ThreadMode;
...@@ -95,6 +97,9 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene ...@@ -95,6 +97,9 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene
private static final int TYPE_BANNER_QUERY_EXCEPTION = 1; private static final int TYPE_BANNER_QUERY_EXCEPTION = 1;
private static final int TYPE_RES_LOADING_OK = 2; private static final int TYPE_RES_LOADING_OK = 2;
private static final int TYPE_GET_DATA_VER_OK = 3; private static final int TYPE_GET_DATA_VER_OK = 3;
private static final int TYPE_GET_VERSION_OK = 4;
private static final int TYPE_GET_VERSION_FAILED = 5;
public static String Version;
private static final String ARG_MC_NEWS_LIST = "mcNewsList"; private static final String ARG_MC_NEWS_LIST = "mcNewsList";
private boolean isMcNewsLoadException = false; private boolean isMcNewsLoadException = false;
...@@ -146,6 +151,7 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene ...@@ -146,6 +151,7 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene
if (!EventBus.getDefault().isRegistered(this)) {//加上判断 if (!EventBus.getDefault().isRegistered(this)) {//加上判断
EventBus.getDefault().register(this); EventBus.getDefault().register(this);
} }
checkUpgrade();
showExNew(); showExNew();
//showNewbieGuide("homePage"); //showNewbieGuide("homePage");
return layoutView; return layoutView;
...@@ -273,7 +279,7 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene ...@@ -273,7 +279,7 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene
WebActivity.dataVer = msg.obj.toString(); WebActivity.dataVer = msg.obj.toString();
String oldVer = SharedPreferenceUtil.getExpansionDataVer(); String oldVer = SharedPreferenceUtil.getExpansionDataVer();
if (!TextUtils.isEmpty(WebActivity.dataVer)) { if (!TextUtils.isEmpty(WebActivity.dataVer)) {
if(!WebActivity.dataVer.equals(oldVer)) { if (!WebActivity.dataVer.equals(oldVer)) {
ll_new_notice.setVisibility(View.VISIBLE); ll_new_notice.setVisibility(View.VISIBLE);
} else { } else {
ll_new_notice.setVisibility(View.GONE); ll_new_notice.setVisibility(View.GONE);
...@@ -282,6 +288,26 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene ...@@ -282,6 +288,26 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene
showExNew(); showExNew();
ll_new_notice.setVisibility(View.GONE); ll_new_notice.setVisibility(View.GONE);
} }
case TYPE_GET_VERSION_OK:
Version = msg.obj.toString();
Log.i(BuildConfig.VERSION_NAME, Version);
if (!Version.equals(BuildConfig.VERSION_NAME)) {
DialogPlus dialog = new DialogPlus(getActivity());
dialog.setMessage(R.string.Found_Update);
dialog.setLeftButtonText(R.string.download_home);
dialog.setLeftButtonListener((dlg, s) -> {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://netdisk.link/YGOMobile_" + Version + ".apk/links"));
startActivity(intent);
dialog.dismiss();
});
dialog.show();
}
break;
case TYPE_GET_VERSION_FAILED:
String error = msg.obj.toString();
Log.e(BuildConfig.VERSION_NAME, error);
break;
} }
} }
...@@ -307,6 +333,28 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene ...@@ -307,6 +333,28 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene
} }
} }
public void checkUpgrade() {
OkhttpUtil.get(URL_YGO233_DOWNLOAD_LINK, new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Message message = new Message();
message.what = TYPE_GET_VERSION_FAILED;
message.obj = e;
handler.sendMessage(message);
Log.i(BuildConfig.VERSION_NAME, "error" + e);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String json = response.body().string();
Message message = new Message();
message.what = TYPE_GET_VERSION_OK;
message.obj = StringUtils.substringBetween(json, "https://netdisk.link/YGOMobile_", ".apk/links");
handler.sendMessage(message);
}
});
}
private void findMcNews() { private void findMcNews() {
isMcNewsLoadException = false; isMcNewsLoadException = false;
tv_banner_loading.setVisibility(View.VISIBLE); tv_banner_loading.setVisibility(View.VISIBLE);
......
...@@ -90,8 +90,8 @@ import okhttp3.Callback; ...@@ -90,8 +90,8 @@ import okhttp3.Callback;
import okhttp3.Response; import okhttp3.Response;
public class SettingFragment extends PreferenceFragmentPlus { public class SettingFragment extends PreferenceFragmentPlus {
private static final int TYPE_GET_VERSION_OK = 0; private static final int TYPE_SETTING_GET_VERSION_OK = 0;
private static final int TYPE_GET_VERSION_FAILED = 1; private static final int TYPE_SETTING_GET_VERSION_FAILED = 1;
private AppsSettings mSettings; private AppsSettings mSettings;
public static String Version; public static String Version;
private boolean isInit = true; private boolean isInit = true;
...@@ -106,7 +106,7 @@ public class SettingFragment extends PreferenceFragmentPlus { ...@@ -106,7 +106,7 @@ public class SettingFragment extends PreferenceFragmentPlus {
public void handleMessage(Message msg) { public void handleMessage(Message msg) {
super.handleMessage(msg); super.handleMessage(msg);
switch (msg.what) { switch (msg.what) {
case TYPE_GET_VERSION_OK: case TYPE_SETTING_GET_VERSION_OK:
Version = msg.obj.toString(); Version = msg.obj.toString();
Log.i(BuildConfig.VERSION_NAME, Version); Log.i(BuildConfig.VERSION_NAME, Version);
if (!Version.equals(BuildConfig.VERSION_NAME)) { if (!Version.equals(BuildConfig.VERSION_NAME)) {
...@@ -124,7 +124,7 @@ public class SettingFragment extends PreferenceFragmentPlus { ...@@ -124,7 +124,7 @@ public class SettingFragment extends PreferenceFragmentPlus {
Toast.makeText(getContext(), R.string.Already_Lastest, Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), R.string.Already_Lastest, Toast.LENGTH_SHORT).show();
} }
break; break;
case TYPE_GET_VERSION_FAILED: case TYPE_SETTING_GET_VERSION_FAILED:
String error = msg.obj.toString(); String error = msg.obj.toString();
Toast.makeText(getContext(), getString(R.string.Checking_Update_Failed) + error, Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), getString(R.string.Checking_Update_Failed) + error, Toast.LENGTH_SHORT).show();
break; break;
...@@ -253,7 +253,25 @@ public class SettingFragment extends PreferenceFragmentPlus { ...@@ -253,7 +253,25 @@ public class SettingFragment extends PreferenceFragmentPlus {
joinQQGroup(groupkey); joinQQGroup(groupkey);
} }
if (PREF_CHECK_UPDATE.equals(key)) { if (PREF_CHECK_UPDATE.equals(key)) {
checkUpgrade(); OkhttpUtil.get(URL_YGO233_DOWNLOAD_LINK, new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Message message = new Message();
message.what = TYPE_SETTING_GET_VERSION_FAILED;
message.obj = e;
handler.sendMessage(message);
Log.i(BuildConfig.VERSION_NAME, "error" + e);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String json = response.body().string();
Message message = new Message();
message.what = TYPE_SETTING_GET_VERSION_OK;
message.obj = StringUtils.substringBetween(json, "https://netdisk.link/YGOMobile_", ".apk/links");
handler.sendMessage(message);
}
});
} }
if (PREF_DEL_EX.equals(key)) { if (PREF_DEL_EX.equals(key)) {
File[] ypks = new File(AppsSettings.get().getExpansionsPath().getAbsolutePath()).listFiles(); File[] ypks = new File(AppsSettings.get().getExpansionsPath().getAbsolutePath()).listFiles();
...@@ -588,28 +606,6 @@ public class SettingFragment extends PreferenceFragmentPlus { ...@@ -588,28 +606,6 @@ public class SettingFragment extends PreferenceFragmentPlus {
}); });
} }
public void checkUpgrade(){
OkhttpUtil.get(URL_YGO233_DOWNLOAD_LINK, new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Message message = new Message();
message.what = TYPE_GET_VERSION_FAILED;
message.obj = e;
handler.sendMessage(message);
Log.i(BuildConfig.VERSION_NAME, "error" + e);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String json = response.body().string();
Message message = new Message();
message.what = TYPE_GET_VERSION_OK;
message.obj = StringUtils.substringBetween(json, "https://netdisk.link/YGOMobile_", ".apk/links");
handler.sendMessage(message);
}
});
}
public boolean joinQQGroup(String key) { public boolean joinQQGroup(String key) {
Intent intent = new Intent(); Intent intent = new Intent();
intent.setData(Uri.parse("mqqopensdkapi://bizAgent/qm/qr?url=http%3A%2F%2Fqm.qq.com%2Fcgi-bin%2Fqm%2Fqr%3Ffrom%3Dapp%26p%3Dandroid%26k%3D" + key)); intent.setData(Uri.parse("mqqopensdkapi://bizAgent/qm/qr?url=http%3A%2F%2Fqm.qq.com%2Fcgi-bin%2Fqm%2Fqr%3Ffrom%3Dapp%26p%3Dandroid%26k%3D" + key));
......
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