diff options
| author | 2020-09-29 19:54:59 +0000 | |
|---|---|---|
| committer | 2020-09-29 19:54:59 +0000 | |
| commit | ebd7cae4b9fed9db6f8cb5c69349114ccdf8e3b7 (patch) | |
| tree | 0846b025ec9e0dd28871dacf88d9fbdc23502214 | |
| parent | 5ac4e92912cd6cf279c2d08310546c4f063a0c54 (diff) | |
| parent | a537d5edd8877be86f2703970da9e8dd253bf8aa (diff) | |
Merge "Update global configuration's forceBoldText in ActivityTaskManagerService"
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityTaskManagerService.java | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index bd5ab1b298ee..0402140c6fc1 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java @@ -666,7 +666,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { */ CompatModePackages mCompatModePackages; - private FontScaleSettingObserver mFontScaleSettingObserver; + private SettingObserver mSettingsObserver; WindowOrganizerController mWindowOrganizerController; TaskOrganizerController mTaskOrganizerController; @@ -676,16 +676,19 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { private int mDeviceOwnerUid = Process.INVALID_UID; - private final class FontScaleSettingObserver extends ContentObserver { + private final class SettingObserver extends ContentObserver { private final Uri mFontScaleUri = Settings.System.getUriFor(FONT_SCALE); private final Uri mHideErrorDialogsUri = Settings.Global.getUriFor(HIDE_ERROR_DIALOGS); + private final Uri mForceBoldTextUri = Settings.Secure.getUriFor( + Settings.Secure.FORCE_BOLD_TEXT); - public FontScaleSettingObserver() { + SettingObserver() { super(mH); final ContentResolver resolver = mContext.getContentResolver(); resolver.registerContentObserver(mFontScaleUri, false, this, UserHandle.USER_ALL); resolver.registerContentObserver(mHideErrorDialogsUri, false, this, UserHandle.USER_ALL); + resolver.registerContentObserver(mForceBoldTextUri, false, this, UserHandle.USER_ALL); } @Override @@ -698,6 +701,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { synchronized (mGlobalLock) { updateShouldShowDialogsLocked(getGlobalConfiguration()); } + } else if (mForceBoldTextUri.equals(uri)) { + updateForceBoldTextIfNeeded(userId); } } } @@ -757,7 +762,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { } public void installSystemProviders() { - mFontScaleSettingObserver = new FontScaleSettingObserver(); + mSettingsObserver = new SettingObserver(); } public void retrieveSettings(ContentResolver resolver) { @@ -5362,6 +5367,20 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { } } + private void updateForceBoldTextIfNeeded(@UserIdInt int userId) { + final int forceBoldTextConfig = Settings.Secure.getIntForUser(mContext.getContentResolver(), + Settings.Secure.FORCE_BOLD_TEXT, Configuration.FORCE_BOLD_TEXT_UNDEFINED, userId); + synchronized (mGlobalLock) { + if (getGlobalConfiguration().forceBoldText == forceBoldTextConfig) { + return; + } + final Configuration configuration = + mWindowManager.computeNewConfiguration(DEFAULT_DISPLAY); + configuration.forceBoldText = forceBoldTextConfig; + updatePersistentConfiguration(configuration, userId); + } + } + // Actually is sleeping or shutting down or whatever else in the future // is an inactive state. boolean isSleepingOrShuttingDownLocked() { |