summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Sally Yuen <sallyyuen@google.com> 2020-09-29 19:54:59 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-09-29 19:54:59 +0000
commitebd7cae4b9fed9db6f8cb5c69349114ccdf8e3b7 (patch)
tree0846b025ec9e0dd28871dacf88d9fbdc23502214
parent5ac4e92912cd6cf279c2d08310546c4f063a0c54 (diff)
parenta537d5edd8877be86f2703970da9e8dd253bf8aa (diff)
Merge "Update global configuration's forceBoldText in ActivityTaskManagerService"
-rw-r--r--services/core/java/com/android/server/wm/ActivityTaskManagerService.java27
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() {