Loading packages/SystemUI/aconfig/systemui.aconfig +10 −0 Original line number Diff line number Diff line Loading @@ -469,3 +469,13 @@ flag { purpose: PURPOSE_BUGFIX } } flag { name: "register_zen_mode_content_observer_background" namespace: "systemui" description: "Decide whether to register zen mode content observers in the background thread." bug: "324515627" metadata { purpose: PURPOSE_BUGFIX } } packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java +15 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.systemui.statusbar.policy; import static com.android.systemui.Flags.registerZenModeContentObserverBackground; import android.app.AlarmManager; import android.app.Flags; import android.app.NotificationManager; Loading Loading @@ -45,6 +47,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.Dumpable; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dump.DumpManager; import com.android.systemui.settings.UserTracker; Loading Loading @@ -104,6 +107,7 @@ public class ZenModeControllerImpl implements ZenModeController, Dumpable { public ZenModeControllerImpl( Context context, @Main Handler handler, @Background Handler bgHandler, BroadcastDispatcher broadcastDispatcher, DumpManager dumpManager, GlobalSettings globalSettings, Loading Loading @@ -134,9 +138,18 @@ public class ZenModeControllerImpl implements ZenModeController, Dumpable { } }; mNoMan = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); if (registerZenModeContentObserverBackground()) { bgHandler.post(() -> { globalSettings.registerContentObserver(Global.ZEN_MODE, modeContentObserver); globalSettings.registerContentObserver(Global.ZEN_MODE_CONFIG_ETAG, configContentObserver); }); } else { globalSettings.registerContentObserver(Global.ZEN_MODE, modeContentObserver); globalSettings.registerContentObserver(Global.ZEN_MODE_CONFIG_ETAG, configContentObserver); } updateZenMode(getModeSettingValueFromProvider()); globalSettings.registerContentObserver(Global.ZEN_MODE_CONFIG_ETAG, configContentObserver); updateZenModeConfig(); updateConsolidatedNotificationPolicy(); mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/ZenModeControllerImplTest.java +1 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ public class ZenModeControllerImplTest extends SysuiTestCase { mController = new ZenModeControllerImpl( mContext, Handler.createAsync(TestableLooper.get(this).getLooper()), Handler.createAsync(TestableLooper.get(this).getLooper()), mBroadcastDispatcher, mDumpManager, mGlobalSettings, Loading Loading
packages/SystemUI/aconfig/systemui.aconfig +10 −0 Original line number Diff line number Diff line Loading @@ -469,3 +469,13 @@ flag { purpose: PURPOSE_BUGFIX } } flag { name: "register_zen_mode_content_observer_background" namespace: "systemui" description: "Decide whether to register zen mode content observers in the background thread." bug: "324515627" metadata { purpose: PURPOSE_BUGFIX } }
packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java +15 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.systemui.statusbar.policy; import static com.android.systemui.Flags.registerZenModeContentObserverBackground; import android.app.AlarmManager; import android.app.Flags; import android.app.NotificationManager; Loading Loading @@ -45,6 +47,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.Dumpable; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dump.DumpManager; import com.android.systemui.settings.UserTracker; Loading Loading @@ -104,6 +107,7 @@ public class ZenModeControllerImpl implements ZenModeController, Dumpable { public ZenModeControllerImpl( Context context, @Main Handler handler, @Background Handler bgHandler, BroadcastDispatcher broadcastDispatcher, DumpManager dumpManager, GlobalSettings globalSettings, Loading Loading @@ -134,9 +138,18 @@ public class ZenModeControllerImpl implements ZenModeController, Dumpable { } }; mNoMan = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); if (registerZenModeContentObserverBackground()) { bgHandler.post(() -> { globalSettings.registerContentObserver(Global.ZEN_MODE, modeContentObserver); globalSettings.registerContentObserver(Global.ZEN_MODE_CONFIG_ETAG, configContentObserver); }); } else { globalSettings.registerContentObserver(Global.ZEN_MODE, modeContentObserver); globalSettings.registerContentObserver(Global.ZEN_MODE_CONFIG_ETAG, configContentObserver); } updateZenMode(getModeSettingValueFromProvider()); globalSettings.registerContentObserver(Global.ZEN_MODE_CONFIG_ETAG, configContentObserver); updateZenModeConfig(); updateConsolidatedNotificationPolicy(); mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/ZenModeControllerImplTest.java +1 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ public class ZenModeControllerImplTest extends SysuiTestCase { mController = new ZenModeControllerImpl( mContext, Handler.createAsync(TestableLooper.get(this).getLooper()), Handler.createAsync(TestableLooper.get(this).getLooper()), mBroadcastDispatcher, mDumpManager, mGlobalSettings, Loading