Loading core/java/android/app/notification.aconfig +0 −20 Original line number Diff line number Diff line Loading @@ -82,26 +82,6 @@ flag { } } flag { name: "modes_hsum" namespace: "systemui" description: "Fixes for modes (and DND/Zen in general) with HSUM or secondary users" bug: "366203070" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "modes_multiuser" namespace: "systemui" description: "Fixes for modes (and DND/Zen in general) when callers are not the current user" bug: "323163267" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "modes_cleanup_implicit" namespace: "systemui" Loading services/core/java/com/android/server/notification/ConditionProviders.java +2 −4 Original line number Diff line number Diff line Loading @@ -174,12 +174,10 @@ public class ConditionProviders extends ManagedServices { @Override public void onUserSwitched(int user) { super.onUserSwitched(user); if (android.app.Flags.modesHsum()) { for (int i = 0; i < mSystemConditionProviders.size(); i++) { mSystemConditionProviders.valueAt(i).onUserSwitched(UserHandle.of(user)); } } } @Override protected void onServiceAdded(ManagedServiceInfo info) { Loading services/core/java/com/android/server/notification/EventConditionProvider.java +5 −35 Original line number Diff line number Diff line Loading @@ -117,22 +117,14 @@ public class EventConditionProvider extends SystemConditionProviderService { mContext.registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (android.app.Flags.modesHsum()) { // Possibly the intent signals a profile added on a different user, but it // doesn't matter (except for a bit of wasted work here). We will reload // trackers for that user when we switch. reloadTrackers(mCurrentUser); } else { reloadTrackers(); } } }, filter); if (android.app.Flags.modesHsum()) { reloadTrackers(UserHandle.SYSTEM); } else { reloadTrackers(); } } @Override Loading Loading @@ -209,28 +201,6 @@ public class EventConditionProvider extends SystemConditionProviderService { evaluateSubscriptions(); } @Deprecated // Remove when inlining MODES_HSUM private void reloadTrackers() { if (DEBUG) Slog.d(TAG, "reloadTrackers"); if (android.app.Flags.modesHsum()) { Slog.wtf(TAG, "Shouldn't call reloadTrackers() without user in MODES_HSUM", new Exception()); } for (int i = 0; i < mTrackers.size(); i++) { mTrackers.valueAt(i).setCallback(null); } mTrackers.clear(); for (UserHandle user : UserManager.get(mContext).getUserProfiles()) { final Context context = user.isSystem() ? mContext : getContextForUser(mContext, user); if (context == null) { Slog.w(TAG, "Unable to create context for user " + user.getIdentifier()); continue; } mTrackers.put(user.getIdentifier(), new CalendarTracker(mContext, context)); } evaluateSubscriptions(); } private void evaluateSubscriptions() { if (!mWorker.hasCallbacks(mEvaluateSubscriptionsW)) { mWorker.post(mEvaluateSubscriptionsW); Loading services/core/java/com/android/server/notification/NotificationManagerService.java +3 −7 Original line number Diff line number Diff line Loading @@ -6345,15 +6345,11 @@ public class NotificationManagerService extends SystemService { * associated to the binder call. */ private UserHandle getCallingZenUser() { if (android.app.Flags.modesMultiuser()) { if (isCallerSystemOrSystemUiOrShell()) { return UserHandle.CURRENT; } else { return Binder.getCallingUserHandle(); } } else { return UserHandle.CURRENT; } } @ZenModeConfig.ConfigOrigin Loading services/core/java/com/android/server/notification/ScheduleConditionProvider.java +6 −13 Original line number Diff line number Diff line Loading @@ -262,13 +262,8 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { filter.addAction(Intent.ACTION_TIMEZONE_CHANGED); filter.addAction(ACTION_EVALUATE); filter.addAction(AlarmManager.ACTION_NEXT_ALARM_CLOCK_CHANGED); if (android.app.Flags.modesHsum()) { registerReceiverForAllUsers(mReceiver, filter, /* broadcastPermission= */ null, /* scheduler= */ null); } else { registerReceiver(mReceiver, filter, Context.RECEIVER_EXPORTED_UNAUDITED); } } else { unregisterReceiver(mReceiver); } Loading Loading @@ -346,13 +341,11 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { @Override public void onReceive(Context context, Intent intent) { if (DEBUG) Slog.d(TAG, "onReceive " + intent.getAction()); if (android.app.Flags.modesHsum()) { if (AlarmManager.ACTION_NEXT_ALARM_CLOCK_CHANGED.equals(intent.getAction()) && getSendingUserId() != ActivityManager.getCurrentUser()) { // A different user changed their next alarm. return; } } if (Intent.ACTION_TIMEZONE_CHANGED.equals(intent.getAction())) { synchronized (mSubscriptions) { Loading Loading
core/java/android/app/notification.aconfig +0 −20 Original line number Diff line number Diff line Loading @@ -82,26 +82,6 @@ flag { } } flag { name: "modes_hsum" namespace: "systemui" description: "Fixes for modes (and DND/Zen in general) with HSUM or secondary users" bug: "366203070" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "modes_multiuser" namespace: "systemui" description: "Fixes for modes (and DND/Zen in general) when callers are not the current user" bug: "323163267" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "modes_cleanup_implicit" namespace: "systemui" Loading
services/core/java/com/android/server/notification/ConditionProviders.java +2 −4 Original line number Diff line number Diff line Loading @@ -174,12 +174,10 @@ public class ConditionProviders extends ManagedServices { @Override public void onUserSwitched(int user) { super.onUserSwitched(user); if (android.app.Flags.modesHsum()) { for (int i = 0; i < mSystemConditionProviders.size(); i++) { mSystemConditionProviders.valueAt(i).onUserSwitched(UserHandle.of(user)); } } } @Override protected void onServiceAdded(ManagedServiceInfo info) { Loading
services/core/java/com/android/server/notification/EventConditionProvider.java +5 −35 Original line number Diff line number Diff line Loading @@ -117,22 +117,14 @@ public class EventConditionProvider extends SystemConditionProviderService { mContext.registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (android.app.Flags.modesHsum()) { // Possibly the intent signals a profile added on a different user, but it // doesn't matter (except for a bit of wasted work here). We will reload // trackers for that user when we switch. reloadTrackers(mCurrentUser); } else { reloadTrackers(); } } }, filter); if (android.app.Flags.modesHsum()) { reloadTrackers(UserHandle.SYSTEM); } else { reloadTrackers(); } } @Override Loading Loading @@ -209,28 +201,6 @@ public class EventConditionProvider extends SystemConditionProviderService { evaluateSubscriptions(); } @Deprecated // Remove when inlining MODES_HSUM private void reloadTrackers() { if (DEBUG) Slog.d(TAG, "reloadTrackers"); if (android.app.Flags.modesHsum()) { Slog.wtf(TAG, "Shouldn't call reloadTrackers() without user in MODES_HSUM", new Exception()); } for (int i = 0; i < mTrackers.size(); i++) { mTrackers.valueAt(i).setCallback(null); } mTrackers.clear(); for (UserHandle user : UserManager.get(mContext).getUserProfiles()) { final Context context = user.isSystem() ? mContext : getContextForUser(mContext, user); if (context == null) { Slog.w(TAG, "Unable to create context for user " + user.getIdentifier()); continue; } mTrackers.put(user.getIdentifier(), new CalendarTracker(mContext, context)); } evaluateSubscriptions(); } private void evaluateSubscriptions() { if (!mWorker.hasCallbacks(mEvaluateSubscriptionsW)) { mWorker.post(mEvaluateSubscriptionsW); Loading
services/core/java/com/android/server/notification/NotificationManagerService.java +3 −7 Original line number Diff line number Diff line Loading @@ -6345,15 +6345,11 @@ public class NotificationManagerService extends SystemService { * associated to the binder call. */ private UserHandle getCallingZenUser() { if (android.app.Flags.modesMultiuser()) { if (isCallerSystemOrSystemUiOrShell()) { return UserHandle.CURRENT; } else { return Binder.getCallingUserHandle(); } } else { return UserHandle.CURRENT; } } @ZenModeConfig.ConfigOrigin Loading
services/core/java/com/android/server/notification/ScheduleConditionProvider.java +6 −13 Original line number Diff line number Diff line Loading @@ -262,13 +262,8 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { filter.addAction(Intent.ACTION_TIMEZONE_CHANGED); filter.addAction(ACTION_EVALUATE); filter.addAction(AlarmManager.ACTION_NEXT_ALARM_CLOCK_CHANGED); if (android.app.Flags.modesHsum()) { registerReceiverForAllUsers(mReceiver, filter, /* broadcastPermission= */ null, /* scheduler= */ null); } else { registerReceiver(mReceiver, filter, Context.RECEIVER_EXPORTED_UNAUDITED); } } else { unregisterReceiver(mReceiver); } Loading Loading @@ -346,13 +341,11 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { @Override public void onReceive(Context context, Intent intent) { if (DEBUG) Slog.d(TAG, "onReceive " + intent.getAction()); if (android.app.Flags.modesHsum()) { if (AlarmManager.ACTION_NEXT_ALARM_CLOCK_CHANGED.equals(intent.getAction()) && getSendingUserId() != ActivityManager.getCurrentUser()) { // A different user changed their next alarm. return; } } if (Intent.ACTION_TIMEZONE_CHANGED.equals(intent.getAction())) { synchronized (mSubscriptions) { Loading