Ver código fonte

开屏广告修改为每次都更新数据,之前的为缓存5个小时

zengjiebin 7 anos atrás
pai
commit
9f0e5605c0

+ 9 - 33
app/src/main/java/com/kfzs/duanduan/utils/ApkUtils.java

@@ -96,31 +96,10 @@ public class ApkUtils {
         final ApkFileInfo apkFileInfo = new ApkFileInfo();
         apkFileInfo.setPath(apkPath);
         Observable.just(apkFileInfo)
-                .filter(new Predicate<ApkFileInfo>() {
-                    @Override
-                    public boolean test(ApkFileInfo item){
-                        return !TextUtils.isEmpty(item.getPath());
-                    }
-                })
-                .filter(new Predicate<ApkFileInfo>() {
-                    @Override
-                    public boolean test(ApkFileInfo item) {
-                        return item.existsPath();
-                    }
-                })
-                .filter(new Predicate<ApkFileInfo>() {
-                    @Override
-                    public boolean test(ApkFileInfo item) {
-                        return !TextUtils.isEmpty(item.initPackageNameFromPath(context).getPackageName());
-                    }
-                })
-                .filter(new Predicate<ApkFileInfo>() {
-                    @Override
-                    public boolean test(ApkFileInfo item) {
-                        //已经安装且签名的md5相同,文件与安装应用的md5也相同,则过滤掉
-                        return !(item.checkInstall(context) && item.checkApkAndFileSignMd5() && item.checkApkAndFileMd5());
-                    }
-                })
+                .filter(item -> !TextUtils.isEmpty(item.getPath()))
+                .filter(ApkFileInfo::existsPath)
+                .filter(item -> !TextUtils.isEmpty(item.initPackageNameFromPath(context).getPackageName()))
+                .filter(item -> !(item.checkInstall(context) && item.checkApkAndFileSignMd5() && item.checkApkAndFileMd5()))//已经安装且签名的md5相同,文件与安装应用的md5也相同,则过滤掉
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new AbsObserver<ApkFileInfo>() {
@@ -150,14 +129,11 @@ public class ApkUtils {
                         } else {//签名不同,则提示卸载
                             ViewUtil.showMsgDialog(SheepApp.getInstance(), new DialogConfig()
                                     .setTitle("提示").setMsg("需要卸载当前应用才能继续安装,是否继续").setBtnLeftText("不用了")
-                                    .setBtnRightText("继续").setBtnRightOnClickListener(new View.OnClickListener() {
-                                        @Override
-                                        public void onClick(View view) {
-                                            //这里卸载后 没法继续,需要在接收卸载广播的地方进行安装操作
-                                            DataUtil.putAsString(DataKey.KEY_WILL_INSTALL_APK_PATH, item.getPath());
-                                            DataUtil.putAsString(DataKey.KEY_WILL_INSTALL_APK_PACKAGE_NAME, item.getPackageName());
-                                            uninstallApk(SheepApp.getInstance(), item.getPackageName());
-                                        }
+                                    .setBtnRightText("继续").setBtnRightOnClickListener(view -> {
+                                        //这里卸载后 没法继续,需要在接收卸载广播的地方进行安装操作
+                                        DataUtil.putAsString(DataKey.KEY_WILL_INSTALL_APK_PATH, item.getPath());
+                                        DataUtil.putAsString(DataKey.KEY_WILL_INSTALL_APK_PACKAGE_NAME, item.getPackageName());
+                                        uninstallApk(SheepApp.getInstance(), item.getPackageName());
                                     }));
                         }
                     }

+ 3 - 13
app/src/main/java/com/sheep/gamegroup/model/entity/ApkFileInfo.java

@@ -64,19 +64,9 @@ public class ApkFileInfo {
     private PackageInfo filePackageInfo;
     //检查文件与安装的应用是否m签名d5相同
     public boolean checkApkAndFileSignMd5() {
-        String appSignMd5 = ApkUtils.getApkSignMd5StrByPackageName(packageName, new Action1<PackageInfo>() {
-            @Override
-            public void call(PackageInfo packageInfo) {
-                appPackageInfo = packageInfo;
-            }
-        });
-
-        String fileSignMd5 = ApkUtils.getApkSignMd5StrByPath(path, new Action1<PackageInfo>() {
-            @Override
-            public void call(PackageInfo packageInfo) {
-                filePackageInfo = packageInfo;
-            }
-        });
+        String appSignMd5 = ApkUtils.getApkSignMd5StrByPackageName(packageName, packageInfo -> appPackageInfo = packageInfo);
+
+        String fileSignMd5 = ApkUtils.getApkSignMd5StrByPath(path, packageInfo -> filePackageInfo = packageInfo);
         isEqualsSignMd5 = TextUtils.equals(fileSignMd5, appSignMd5);
         return isEqualsSignMd5;
     }

+ 1 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -153,6 +153,7 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
                     if (SysAppUtil.isNewSmallSheep() || TestUtil.isDev()) {//新版本只显示引导页面,不展示弹窗和开屏广告
                         isLoadingData = false;
                         sendHandlerMessages(200);
+                        initAdvertisement(false);//只更新,不加载,下次加载上次的数据
                     } else {
                         Advertising cacheAdvertising = DataUtil.getInstance().getCacheResult(ApiKey.advertisements(1), Advertising.class);
                         if (cacheAdvertising != null) {