From 0bbc75819721974301e435cd096a013a031563bd Mon Sep 17 00:00:00 2001 From: Yi Jiang Date: Fri, 16 Oct 2020 15:25:08 -0700 Subject: [PATCH] Updates screen attention preference at onStart(). Screen attention preference needs to be refreshed at onStart() so that it get updated immediately once the camera permission is revoked/granted for the screen attention feature. Bug: 171019472 Test: manual + atest AdaptiveSleepPreferenceControllerTest Change-Id: If9ac68c022f10ffefde61b035bbf38ee14c02180 --- .../display/AdaptiveSleepPreferenceController.java | 9 ++++++++- .../android/settings/display/ScreenTimeoutSettings.java | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/display/AdaptiveSleepPreferenceController.java b/src/com/android/settings/display/AdaptiveSleepPreferenceController.java index dfe6826195e..c0c5e63bfa4 100644 --- a/src/com/android/settings/display/AdaptiveSleepPreferenceController.java +++ b/src/com/android/settings/display/AdaptiveSleepPreferenceController.java @@ -75,6 +75,14 @@ public class AdaptiveSleepPreferenceController { * Adds the controlled preference to the provided preference screen. */ public void addToScreen(PreferenceScreen screen) { + updatePreference(); + screen.addPreference(mPreference); + } + + /** + * Updates the appearance of the preference. + */ + public void updatePreference() { final EnforcedAdmin enforcedAdmin = mRestrictionUtils.checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_CONFIG_SCREEN_TIMEOUT); if (enforcedAdmin != null) { @@ -82,7 +90,6 @@ public class AdaptiveSleepPreferenceController { } else { mPreference.setEnabled(hasSufficientPermission(mPackageManager)); } - screen.addPreference(mPreference); } @VisibleForTesting diff --git a/src/com/android/settings/display/ScreenTimeoutSettings.java b/src/com/android/settings/display/ScreenTimeoutSettings.java index 35c2cc0cfe2..676acf9671f 100644 --- a/src/com/android/settings/display/ScreenTimeoutSettings.java +++ b/src/com/android/settings/display/ScreenTimeoutSettings.java @@ -104,6 +104,7 @@ public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements public void onStart() { super.onStart(); mAdaptiveSleepPermissionController.updateVisibility(); + mAdaptiveSleepController.updatePreference(); } @Override