diff --git a/app/src/main/java/com/gh/common/util/HomePluggableHelper.kt b/app/src/main/java/com/gh/common/util/HomePluggableHelper.kt index 1f8d6e43ec..c2e75b8477 100644 --- a/app/src/main/java/com/gh/common/util/HomePluggableHelper.kt +++ b/app/src/main/java/com/gh/common/util/HomePluggableHelper.kt @@ -1,6 +1,5 @@ package com.gh.common.util -import android.database.sqlite.SQLiteFullException import com.gh.gamecenter.entity.GameEntity import com.gh.gamecenter.entity.HomePluggableFilterEntity import com.gh.gamecenter.room.AppDatabase @@ -48,7 +47,7 @@ object HomePluggableHelper { } mHomePluggableFilterDao.addData(filterList) } - } catch (e: SQLiteFullException) { + } catch (e: Exception) { e.printStackTrace() toastInInternalRelease("数据库/磁盘已满,插件筛选失败") } diff --git a/app/src/main/java/com/gh/common/util/PackageUtils.java b/app/src/main/java/com/gh/common/util/PackageUtils.java index 059bd43654..a6bd0e39ab 100644 --- a/app/src/main/java/com/gh/common/util/PackageUtils.java +++ b/app/src/main/java/com/gh/common/util/PackageUtils.java @@ -556,6 +556,13 @@ public class PackageUtils { if (!pm.isScreenOn()) return false; } + // 上面的判断逻辑可能还是不够用,还是有少部分 + // Not allowed to start service Intent: app is in background 错误 + // 这里补充个自有的规则 + if (!HaloApp.getInstance().isRunningForeground) { + return false; + } + String packageName = context.getApplicationContext().getPackageName(); for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) { // The name of the process that this object is associated with. diff --git a/app/src/main/java/com/gh/download/DownloadManager.java b/app/src/main/java/com/gh/download/DownloadManager.java index 96d624e4d4..eaff6de73d 100644 --- a/app/src/main/java/com/gh/download/DownloadManager.java +++ b/app/src/main/java/com/gh/download/DownloadManager.java @@ -485,10 +485,15 @@ public class DownloadManager implements DownloadStatusListener { * @param packageName 包名 * @return null表示下载列表中不存在该任务,否则返回下载任务 */ + @Nullable public DownloadEntity getDownloadEntityByPackageName(String packageName) { if (mDownloadDao == null) return null; - for (DownloadEntity downloadEntity : mDownloadDao.getAll()) { + List downloadList = mDownloadDao.getAll(); + + if (downloadList == null) return null; + + for (DownloadEntity downloadEntity : downloadList) { if (packageName.equals(downloadEntity.getPackageName())) { return downloadEntity; } diff --git a/app/src/main/java/com/gh/gamecenter/packagehelper/PackageRepository.kt b/app/src/main/java/com/gh/gamecenter/packagehelper/PackageRepository.kt index 3386083e82..85d7f81493 100644 --- a/app/src/main/java/com/gh/gamecenter/packagehelper/PackageRepository.kt +++ b/app/src/main/java/com/gh/gamecenter/packagehelper/PackageRepository.kt @@ -147,6 +147,8 @@ object PackageRepository { e.printStackTrace() } LoghubUtils.log(wrapperObject, "halo-api-device-installed", true) + + SPUtils.setLong(LAST_UPLOAD_APPLIST_TIME, System.currentTimeMillis() / 1000); } }