From b7da89247526ddc66ab3ec25e380ce27bac561b8 Mon Sep 17 00:00:00 2001 From: chenjuntao Date: Thu, 16 Mar 2023 17:53:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=95=85=E7=8E=A9=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E5=AE=89=E8=A3=85=E5=90=8E=E8=87=AA=E5=8A=A8=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E6=B8=B8=E6=88=8F=E2=80=940310=E6=B5=8B=E8=AF=95(=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=88=9D=E5=A7=8B=E5=8C=96=E6=97=B6=E5=BA=8F=E9=97=AE?= =?UTF-8?q?=E9=A2=98)=20https://jira.shanqu.cc/browse/GHZS-1587?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/gh/common/constant/Config.java | 2 +- app/src/main/java/com/gh/vspace/VHelper.kt | 16 +++++++++------- .../main/java/com/halo/assistant/HaloApp.java | 8 ++++---- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/gh/common/constant/Config.java b/app/src/main/java/com/gh/common/constant/Config.java index 3b38eb8b18..4bb1c72c89 100644 --- a/app/src/main/java/com/gh/common/constant/Config.java +++ b/app/src/main/java/com/gh/common/constant/Config.java @@ -218,7 +218,7 @@ public class Config { PackageHelper.initList(); // 初始化畅玩相关的东西 - VHelper.init(HaloApp.getInstance(), false); + VHelper.init(HaloApp.getInstance()); } @Nullable diff --git a/app/src/main/java/com/gh/vspace/VHelper.kt b/app/src/main/java/com/gh/vspace/VHelper.kt index 3e66b0ce02..1032724bcd 100644 --- a/app/src/main/java/com/gh/vspace/VHelper.kt +++ b/app/src/main/java/com/gh/vspace/VHelper.kt @@ -13,6 +13,7 @@ import androidx.annotation.WorkerThread import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.Observer import com.gh.common.constant.Config import com.gh.common.exposure.ExposureUtils import com.gh.common.history.HistoryHelper @@ -101,6 +102,12 @@ object VHelper { val vGameLiveData by lazy { mVGameDao.getAllLiveData() } + private val mVGameObserver by lazy { + Observer> { + mVGameSnapshotList = ArrayList(it) + } + } + private val mPackageObserver by lazy { PackageObserver.PackageChangeListener { val vaConfig = Config.getVSettingEntity()?.va ?: return@PackageChangeListener @@ -141,11 +148,10 @@ object VHelper { /** * 初始化 - * @param observeDatabaseChanges 是否启用数据库变动监听 */ @SuppressLint("CheckResult") @JvmStatic - fun init(context: Context, observeDatabaseChanges: Boolean) { + fun init(context: Context) { if (isVGameOn()) { if (!mIsInitialized) { mIsInitialized = true @@ -164,11 +170,7 @@ object VHelper { PackageObserver.registerPackageChangeChangeListener(mPackageObserver) } - if (observeDatabaseChanges) { - vGameLiveData.observeForever { - mVGameSnapshotList = ArrayList(it) - } - } + vGameLiveData.observeForever(mVGameObserver) } } diff --git a/app/src/main/java/com/halo/assistant/HaloApp.java b/app/src/main/java/com/halo/assistant/HaloApp.java index ec35cf3506..f854ef2d6d 100644 --- a/app/src/main/java/com/halo/assistant/HaloApp.java +++ b/app/src/main/java/com/halo/assistant/HaloApp.java @@ -273,9 +273,6 @@ public class HaloApp extends MultiDexApplication { // 获取 settings 配置 ExtensionsKt.doOnMainProcessOnly(this, com.gh.common.constant.Config::getGhzsSettings); - // 初始化畅玩相关数据 - ExtensionsKt.doOnMainProcessOnly(this, this::retrieveVGameInfoIfNeeded); - String localTemporaryDeviceId = SPUtils.getString(Constants.SP_TEMPORARY_DEVICE_ID); if (!TextUtils.isEmpty(localTemporaryDeviceId)) { HaloApp.getInstance().setLocalTemporaryDeviceId(localTemporaryDeviceId); @@ -311,6 +308,9 @@ public class HaloApp extends MultiDexApplication { // 注册回调以用于做各种统计 ProcessLifecycleOwner.get().getLifecycle().addObserver(new ProcessorLifeCycleOwner()); + // 初始化畅玩相关数据 + ExtensionsKt.doOnMainProcessOnly(this, this::retrieveVGameInfoIfNeeded); + // 开发环境不要强制捕获相关异常,这些异常通常是需要处理的 if (!BuildConfig.DEBUG) { RxJavaPlugins.setErrorHandler(throwable -> { @@ -470,7 +470,7 @@ public class HaloApp extends MultiDexApplication { } private void retrieveVGameInfoIfNeeded() { - VHelper.init(this, true); + VHelper.init(this); } public boolean isReinstallTheSameVersion() {