summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kim <markvk@google.com>2023-12-12 14:52:28 +0000
committerMark Kim <markvk@google.com>2023-12-12 18:10:12 +0000
commitf1dd128c45c0995f1b48ae817ac760f6405e54ea (patch)
tree13f10478fcb035902dc509975c1f3e89c0452738
parent11df0d4c17b0ff24a0650e2a9a4803ff2edeba31 (diff)
downloadSettings-f1dd128c45c0995f1b48ae817ac760f6405e54ea.tar.gz
Make stable enableability of AppPermissionPreference, HibernationSwitchPreference buttons when app is archived
Test: n/a Bug: 315770669 Change-Id: I0b4a1f8a2d3bbe9c6e8b59b5b1e16c606d26e8ed
-rw-r--r--src/com/android/settings/spa/app/appinfo/AppPermissionSummary.kt6
-rw-r--r--src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt4
2 files changed, 9 insertions, 1 deletions
diff --git a/src/com/android/settings/spa/app/appinfo/AppPermissionSummary.kt b/src/com/android/settings/spa/app/appinfo/AppPermissionSummary.kt
index f6e603a3e56..91c3887dd0b 100644
--- a/src/com/android/settings/spa/app/appinfo/AppPermissionSummary.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppPermissionSummary.kt
@@ -55,7 +55,11 @@ class AppPermissionSummaryLiveData(
override fun onActive() {
userPackageManager.addOnPermissionsChangeListener(onPermissionsChangedListener)
- update()
+ if (app.isArchived) {
+ postValue(noPermissionRequestedState())
+ } else {
+ update()
+ }
}
override fun onInactive() {
diff --git a/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt b/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt
index 78a5bd719b3..324fa061c43 100644
--- a/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt
@@ -93,6 +93,10 @@ private class HibernationSwitchPresenter(context: Context, private val app: Appl
DeviceConfig.getBoolean(NAMESPACE_APP_HIBERNATION, PROPERTY_APP_HIBERNATION_ENABLED, true)
val isEligibleFlow = flow {
+ if (app.isArchived) {
+ emit(false)
+ return@flow
+ }
val eligibility = getEligibility()
emit(
eligibility != HIBERNATION_ELIGIBILITY_EXEMPT_BY_SYSTEM &&