Loading src/com/android/permissioncontroller/permission/data/AutoRevokedPackagesLiveData.kt +8 −2 Original line number Diff line number Diff line Loading @@ -19,8 +19,11 @@ package com.android.permissioncontroller.permission.data import android.content.pm.PackageManager.FLAG_PERMISSION_AUTO_REVOKED import android.os.UserHandle import com.android.permissioncontroller.PermissionControllerApplication import com.android.permissioncontroller.permission.data.AutoRevokedPackagesLiveData.addSource import com.android.permissioncontroller.permission.data.PackagePermissionsLiveData.Companion.NON_RUNTIME_NORMAL_PERMS import com.android.permissioncontroller.permission.data.UnusedAutoRevokedPackagesLiveData.addSource import com.android.permissioncontroller.permission.service.getUnusedThresholdMs import com.android.permissioncontroller.permission.service.isInAutoRevokeDogfood import com.android.permissioncontroller.permission.utils.KotlinUtils /** Loading Loading @@ -192,8 +195,11 @@ object UnusedAutoRevokedPackagesLiveData for ((user, stats) in usageStatsLiveData.value!!) { for (stat in stats) { val userPackage = stat.packageName to user if (userPackage in autoRevokedPackages && (now - stat.lastTimeVisible) < unusedThreshold) { // TODO eugenesusla: temporarily showing packages regardless of // usage recency for troubleshooting val isOldEnoughToShow = (now - stat.lastTimeVisible) >= unusedThreshold || isInAutoRevokeDogfood(PermissionControllerApplication.get()) if (userPackage in autoRevokedPackages && !isOldEnoughToShow) { unusedPackages.remove(userPackage) } } Loading src/com/android/permissioncontroller/permission/service/AutoRevokePermissions.kt +8 −1 Original line number Diff line number Diff line Loading @@ -163,6 +163,10 @@ fun isAutoRevokeEnabled(context: Context): Boolean { getUnusedThresholdMs(context) != Long.MAX_VALUE } fun isInAutoRevokeDogfood(context: Context): Boolean { return TeamfoodSettings.get(context)?.enabledForPreRApps ?: false } /** * @return dump of auto revoke service as a proto */ Loading Loading @@ -271,7 +275,10 @@ private suspend fun revokePermissionsOnUnusedApps( lastTimeVisible = Math.max(lastTimeVisible, packageInfo.firstInstallTime) // Limit by first boot time // TODO eugenesusla: temporarily disabled for dogfooders for troubleshooting if (!isInAutoRevokeDogfood(context)) { lastTimeVisible = Math.max(lastTimeVisible, firstBootTime) } // Handle cross-profile apps if (context.isPackageCrossProfile(pkgName)) { Loading Loading
src/com/android/permissioncontroller/permission/data/AutoRevokedPackagesLiveData.kt +8 −2 Original line number Diff line number Diff line Loading @@ -19,8 +19,11 @@ package com.android.permissioncontroller.permission.data import android.content.pm.PackageManager.FLAG_PERMISSION_AUTO_REVOKED import android.os.UserHandle import com.android.permissioncontroller.PermissionControllerApplication import com.android.permissioncontroller.permission.data.AutoRevokedPackagesLiveData.addSource import com.android.permissioncontroller.permission.data.PackagePermissionsLiveData.Companion.NON_RUNTIME_NORMAL_PERMS import com.android.permissioncontroller.permission.data.UnusedAutoRevokedPackagesLiveData.addSource import com.android.permissioncontroller.permission.service.getUnusedThresholdMs import com.android.permissioncontroller.permission.service.isInAutoRevokeDogfood import com.android.permissioncontroller.permission.utils.KotlinUtils /** Loading Loading @@ -192,8 +195,11 @@ object UnusedAutoRevokedPackagesLiveData for ((user, stats) in usageStatsLiveData.value!!) { for (stat in stats) { val userPackage = stat.packageName to user if (userPackage in autoRevokedPackages && (now - stat.lastTimeVisible) < unusedThreshold) { // TODO eugenesusla: temporarily showing packages regardless of // usage recency for troubleshooting val isOldEnoughToShow = (now - stat.lastTimeVisible) >= unusedThreshold || isInAutoRevokeDogfood(PermissionControllerApplication.get()) if (userPackage in autoRevokedPackages && !isOldEnoughToShow) { unusedPackages.remove(userPackage) } } Loading
src/com/android/permissioncontroller/permission/service/AutoRevokePermissions.kt +8 −1 Original line number Diff line number Diff line Loading @@ -163,6 +163,10 @@ fun isAutoRevokeEnabled(context: Context): Boolean { getUnusedThresholdMs(context) != Long.MAX_VALUE } fun isInAutoRevokeDogfood(context: Context): Boolean { return TeamfoodSettings.get(context)?.enabledForPreRApps ?: false } /** * @return dump of auto revoke service as a proto */ Loading Loading @@ -271,7 +275,10 @@ private suspend fun revokePermissionsOnUnusedApps( lastTimeVisible = Math.max(lastTimeVisible, packageInfo.firstInstallTime) // Limit by first boot time // TODO eugenesusla: temporarily disabled for dogfooders for troubleshooting if (!isInAutoRevokeDogfood(context)) { lastTimeVisible = Math.max(lastTimeVisible, firstBootTime) } // Handle cross-profile apps if (context.isPackageCrossProfile(pkgName)) { Loading