diff --git a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java index d5f844eb0e..e5bf711ce9 100644 --- a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java @@ -185,7 +185,6 @@ public class SplashScreenActivity extends BaseActivity { @Override public void onSuccess(String s) { Utils.log("Gid", s); -// Utils.toast(SplashScreenActivity.this, "光环ID -> " + s); mSharedPreferences.edit().putString(Constants.DEVICE_KEY, s).apply(); HaloApp.getInstance().setGid(s); @@ -204,32 +203,31 @@ public class SplashScreenActivity extends BaseActivity { if (hasFocus && isFirst) { isFirst = false; - // 第一次启动,把package.txt文件内容加载进数据库 - FilterManager filterManager = new FilterManager(getApplicationContext()); - if (!mSharedPreferences.getBoolean("isLoadFilterV2d4", false)) { - filterManager.loadFilter(); - } - // 获取过滤包 - filterManager.getFilterFromServer(0); + HaloApp.getInstance().getMainExecutor().execute(() -> { + // 第一次启动,把package.txt文件内容加载进数据库 + FilterManager filterManager = new FilterManager(getApplicationContext()); + if (!mSharedPreferences.getBoolean("isLoadFilterV2d4", false)) { + filterManager.loadFilter(); + } + // 获取过滤包 + filterManager.getFilterFromServer(0); - // 更新过滤表,获取自动刷新的cd,获取版本对应表 - String time = mSharedPreferences.getString("refresh_time", null); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); - String today = format.format(new Date()); - if (!today.equals(time)) { - // 获取版本代码、名称 - PlatformUtils.getInstance(getApplicationContext()).getPlatform(); - TagUtils.getInstance(getApplicationContext()).getTag(); - } + // 更新过滤表,获取自动刷新的cd,获取版本对应表 + String time = mSharedPreferences.getString("refresh_time", null); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); + String today = format.format(new Date()); + if (!today.equals(time)) { + // 获取版本代码、名称 + PlatformUtils.getInstance(getApplicationContext()).getPlatform(); + TagUtils.getInstance(getApplicationContext()).getTag(); + } - // 更新本地时间 - DeviceTokenUtils.syncServerTime(this); + // 更新本地时间 + DeviceTokenUtils.syncServerTime(this); -// // 上传数据---基于上报信息涉及用户权限 防止由于未授予权限导致的闪退 移动MainActivity上报 -// DataCollectionManager.getInstance(getApplicationContext()).upload(); - - // 解决助手奔溃后导致的下载状态保留问题 - DownloadManager.getInstance(this).checkAll(); + // 解决助手奔溃后导致的下载状态保留问题 + DownloadManager.getInstance(this).checkAll(); + }); // 检查权限 if (EasyPermissions.hasPermissions(this, mPermissions)) { diff --git a/app/src/main/java/com/halo/assistant/HaloApp.java b/app/src/main/java/com/halo/assistant/HaloApp.java index 7eb75e612b..c3a214eea1 100644 --- a/app/src/main/java/com/halo/assistant/HaloApp.java +++ b/app/src/main/java/com/halo/assistant/HaloApp.java @@ -36,10 +36,6 @@ import java.util.concurrent.Executors; public class HaloApp extends TinkerAppLike { - public HaloApp(Application application, int tinkerFlags, boolean tinkerLoadVerifyFlag, long applicationStartElapsedTime, long applicationStartMillisTime, Intent tinkerResultIntent) { - super(application, tinkerFlags, tinkerLoadVerifyFlag, applicationStartElapsedTime, applicationStartMillisTime, tinkerResultIntent); - } - private Executor mMainExecutor = Executors.newCachedThreadPool(); private static HaloApp mInstance; private static ArrayMap sObjectMap = new ArrayMap<>(); @@ -47,6 +43,10 @@ public class HaloApp extends TinkerAppLike { private String mGid; private HttpProxyCacheServer mProxy; + public HaloApp(Application application, int tinkerFlags, boolean tinkerLoadVerifyFlag, long applicationStartElapsedTime, long applicationStartMillisTime, Intent tinkerResultIntent) { + super(application, tinkerFlags, tinkerLoadVerifyFlag, applicationStartElapsedTime, applicationStartMillisTime, tinkerResultIntent); + } + // 全局视频静音标记 public boolean isMute = true; @@ -96,28 +96,36 @@ public class HaloApp extends TinkerAppLike { mInstance = this; - mChannel = ChannelReaderUtil.getChannel(getApplication()); - if (TextUtils.isEmpty(mChannel)) { - //默认用Android Studio run时并没有写入channel magic number到apk包里面,所以需要fallback - mChannel = "GH_TEST"; - } - Log.e("CHANNEL_ID", mChannel); + mMainExecutor.execute(() -> { + mChannel = ChannelReaderUtil.getChannel(getApplication()); + if (TextUtils.isEmpty(mChannel)) { + //默认用Android Studio run时并没有写入channel magic number到apk包里面,所以需要fallback + mChannel = "GH_TEST"; + } + Log.e("CHANNEL_ID", mChannel); - // DataUtils是根据debug/release自动编译对应的文件的 - DataUtils.init(getApplication(), mChannel); + // DataUtils是根据debug/release自动编译对应的文件的 + DataUtils.init(getApplication(), mChannel); - // 注册回调以用于做各种统计 - registerActivityLifecycleCallbacks(new GHActivityLifecycleCallbacksImpl()); + // 注册回调以用于做各种统计 + registerActivityLifecycleCallbacks(new GHActivityLifecycleCallbacksImpl()); - //初始化Fresco - Fresco.initialize(getApplication()); + //初始化Fresco + Fresco.initialize(getApplication()); - ExposureManager.init(getApplication()); + ExposureManager.init(getApplication()); - GidHelper.getInstance().init(getApplication()); + GidHelper.getInstance().init(getApplication()); - PackageHelper.refreshLocalPackageList(); - PackageHelper.initExcludePackageName(); + PackageHelper.refreshLocalPackageList(); + PackageHelper.initExcludePackageName(); + + try { + PushManager.init(mChannel); + } catch (Exception e) { + e.printStackTrace(); + } + }); initReceiver(); initLocalBroadcast(); @@ -125,18 +133,12 @@ public class HaloApp extends TinkerAppLike { initConnectivityChangesReceiver(); initPackageChangesReceiver(); - try { - PushManager.init(mChannel); - } catch (Exception e) { - e.printStackTrace(); - } - // 启用EventBus3.0加速功能 多次调用会报异常 - try { +// try { // EventBus.builder().addIndex(new EventBusIndex()).installDefaultEventBus(); - } catch (Exception e) { - e.printStackTrace(); - } +// } catch (Exception e) { +// e.printStackTrace(); +// } } // 3.5 开始将 targetSdk 升级至 26,原来写在 Manifest 的部分 receiver 由于系统限制需要换成在运行时注册