Przeglądaj źródła

修复上个版本部分手机无法弹出升级框的问题

zengjiebin 7 lat temu
rodzic
commit
32b543242d

+ 10 - 10
app/src/main/java/com/sheep/gamegroup/util/SysAppUtil.java

@@ -429,13 +429,13 @@ public class SysAppUtil {
      * 显示升级对话框
      * @param ignoreMd5 用户手动时传null;进入主要界面时不要传null,传保存的忽略md5值,为空字符串时传""
      */
-    public static void showVersionInfo(final String ignoreMd5) {
+    public static void showVersionInfo(Activity activity, final String ignoreMd5) {
         /**
          *游戏认证过来的不提示升级
          */
         if(!TextUtils.isEmpty(SheepApp.getInstance().getGamePackgeName()))
             return;
-        showVersionInfo(ignoreMd5, null);
+        showVersionInfo(activity, ignoreMd5, null);
     }
 
     /**
@@ -443,7 +443,7 @@ public class SysAppUtil {
      * @param ignoreMd5 用户手动时传null;进入主要界面时不要传null,传保存的忽略md5值,为空字符串时传""
      * @param action1 动作完成后的回调
      */
-    public static void showVersionInfo(final String ignoreMd5, final Action1<Integer> action1) {
+    public static void showVersionInfo(Activity activity, final String ignoreMd5, final Action1<Integer> action1) {
         if(!ConfigUtil.getInstance().isUpgrade()) {
             if(action1 != null)
                 action1.call(0);
@@ -460,13 +460,13 @@ public class SysAppUtil {
         }
 //        checkUpdateNewVersion(ignoreMd5, action1);
         if(TestUtil.isSheep()) {
-            checkUpdateNewVersion(ignoreMd5, action1);
+            checkUpdateNewVersion(activity, ignoreMd5, action1);
         } else if(!TestUtil.isDev()) {
             TestUtil.checkUpdateFromJenkins(ignoreMd5, action1);
         }
     }
     //通过接口检查更新
-    public static void checkUpdateNewVersion(final String ignoreMd5, final Action1<Integer> action1) {
+    public static void checkUpdateNewVersion(Activity activity, final String ignoreMd5, final Action1<Integer> action1) {
         SheepApp.getInstance().getNetComponent().getApiService().getNewVersion(SheepApp.getInstance().getConnectAddress().getVersionType())
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
@@ -474,7 +474,7 @@ public class SysAppUtil {
                     @Override
                     public void onNext(BaseMessage baseMessage) {
                         Version version = baseMessage.getData(Version.class);
-                        loadVersion(ignoreMd5, action1, version);
+                        loadVersion(activity, ignoreMd5, action1, version);
                     }
 
                     @Override
@@ -488,7 +488,7 @@ public class SysAppUtil {
                 });
     }
 
-    private static void loadVersion(final String ignoreMd5, final Action1<Integer> action1, final Version version) {
+    private static void loadVersion(Activity activity, final String ignoreMd5, final Action1<Integer> action1, final Version version) {
         if(version == null){
             if(ignoreMd5 == null)
                 G.showToast("当前版本为最新版本,无需更新");
@@ -537,11 +537,11 @@ public class SysAppUtil {
             if(action1 != null)
                 action1.call(0);
         } else {//有新版本
-            showUpgradeByVersion(version, action1);
+            showUpgradeByVersion(activity, version, action1);
         }
     }
 
-    public static void showUpgradeByVersion(Version version, Action1<Integer> action1) {
+    public static void showUpgradeByVersion(Activity activity, Version version, Action1<Integer> action1) {
         if(!TextUtils.isEmpty(version.getAddress()))
             ACache.get(SheepApp.getInstance()).put("version_url", version.getAddress());
         final String fileName = version.getMd5_address()+".apk";
@@ -616,7 +616,7 @@ public class SysAppUtil {
                     UPGRADE_DIALOG_BT.onEvent("action", ((TextView) view).getText());
             });
         }
-        dialog = ViewUtil.showUpgradeDialog(SheepApp.getInstance(), dialogConfig);
+        dialog = ViewUtil.showUpgradeDialog(activity, dialogConfig);
         dialog.setOnDismissListener(dialogInterface -> {
             if (action1 != null)
                 action1.call(0);

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/util/TestUtil.java

@@ -684,7 +684,7 @@ public class TestUtil {
                     @Override
                     public void onNext(BaseMessage baseMessage) {
                         Version version = baseMessage.getData(Version.class);
-                        SysAppUtil.showUpgradeByVersion(version, null);
+                        SysAppUtil.showUpgradeByVersion(SheepApp.getInstance().getCurrentActivity(), version, null);
                     }
 
                     @Override
@@ -935,7 +935,7 @@ public class TestUtil {
         OkHttpUtils.get().url("http://10.8.210.20:8080/jenkins/job/android_small_sheep").build().execute(new StringCallback() {
             @Override
             public void onError(Call call, Exception e, int id) {
-                SysAppUtil.checkUpdateNewVersion(ignoreMd5, action1);
+                SysAppUtil.checkUpdateNewVersion(SheepApp.getInstance().getCurrentActivity(), ignoreMd5, action1);
             }
 
             @Override

+ 3 - 4
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -474,7 +474,9 @@ public class SheepApp extends MultiDexApplication {
 
         @Override
         public void onActivityCreated(final Activity activity, Bundle savedInstanceState) {
-            if (YmConfig.isAvf(activity)) {
+            if (/*activity instanceof SplashAct || */activity instanceof LoginAct) {
+                SysAppUtil.showVersionInfo(activity, SpUtils.getIgnoreMd5());
+            } else if (YmConfig.isAvf(activity)) {
                 YmConfig.showTipDialog(activity, YmConfig.TYPE_ADD_VIEW);
             }
 
@@ -488,9 +490,6 @@ public class SheepApp extends MultiDexApplication {
                 LogUtil.println("SheepApp onActivityCreated", activity.getClass().getSimpleName(), mActivityCount);
                 if (!UMConfigUtils.isNotNeedAct(activity))
                     UMConfigUtils.Event.SHEEP_CREATED.onEvent();
-
-                //检查升级
-                SysAppUtil.showVersionInfo(SpUtils.getIgnoreMd5());
             }
         }