diff options
Diffstat (limited to 'app/src/main/java/moe/yuuta/workmode/access/WorkModeAccessor.kt')
-rw-r--r-- | app/src/main/java/moe/yuuta/workmode/access/WorkModeAccessor.kt | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/app/src/main/java/moe/yuuta/workmode/access/WorkModeAccessor.kt b/app/src/main/java/moe/yuuta/workmode/access/WorkModeAccessor.kt index af60701..7bfe2f4 100644 --- a/app/src/main/java/moe/yuuta/workmode/access/WorkModeAccessor.kt +++ b/app/src/main/java/moe/yuuta/workmode/access/WorkModeAccessor.kt @@ -5,6 +5,7 @@ import android.content.ComponentName import android.content.Context import android.content.Intent import android.content.pm.ApplicationInfo +import android.content.pm.PackageManager import android.os.Bundle import android.os.PersistableBundle import android.os.UserHandle @@ -87,7 +88,7 @@ class WorkModeAccessor { return result } - private fun _getInstalledApplicationsAcrossUser(pmAccess: AccessLayerUtil, hostInfo: HostInfo, flags: Int): MutableList<TransferableSuspendedApp> { + private fun _getInstalledApplicationsAcrossUser(pmAccess: AccessLayerUtil, hostInfo: HostInfo, @PackageManager.ApplicationInfoFlags flags: Int): MutableList<TransferableSuspendedApp> { val originalApplicationInfo = mutableMapOf<TransferableSuspendedApp, ApplicationInfo>() val packages = if (hostInfo.userId == UserHandle.USER_OWNER) { @@ -110,7 +111,7 @@ class WorkModeAccessor { for (userId in packagesWithUserIds.keys) { // Create a hostContext to "enter" the target user without overriding "getUserId()" or // access hidden api a lot. - val appsInUser = pmAccess.getInstalledApplicationsAsUser(0, userId) + val appsInUser = pmAccess.getInstalledApplicationsAsUser(flags, userId) val firstApp = appsInUser[0] val targetContext = mSystemContext.createPackageContextAsUser(firstApp.packageName, 0, @@ -230,7 +231,7 @@ class WorkModeAccessor { // We use these two lists to determine whatever an app is suspended // It it is suspended but not appears in systemSuspendedList, we know that // it is suspended by other apps, like D**ital Wellbeing, we can just override it. - val systemAllAppList = _getInstalledApplicationsAcrossUser(pmAccess, hostInfo, 0) + val systemAllAppList = _getInstalledApplicationsAcrossUser(pmAccess, hostInfo, PackageManager.MATCH_DISABLED_COMPONENTS) val systemSuspendedList = _getPackagesSuspendedByWorkMode(pmAccess, systemAllAppList) val listMode = when (rawListMode) { 1 -> ListMode.BLACKLIST |