Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0751493a authored by Matías Hernández's avatar Matías Hernández
Browse files

Inline several zen-related bugfix flags

Bug: 323163267
Bug: 366203070
Bug: 379722187
Test: presubmit
Flag: EXEMPT Removing flags
Change-Id: Id6eaa0032c7c3a2c3f85fb801ec8d54502b4896d
parent b4ce5172
Loading
Loading
Loading
Loading
+0 −20
Original line number Diff line number Diff line
@@ -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"
+2 −4
Original line number Diff line number Diff line
@@ -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) {
+5 −35
Original line number Diff line number Diff line
@@ -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
@@ -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);
+3 −7
Original line number Diff line number Diff line
@@ -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
+6 −13
Original line number Diff line number Diff line
@@ -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);
        }
@@ -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