Revert "Change notifications service to listen to generic pofile availability intents"

This reverts commit c3e73936f0f0d4e55d587b336c61bc65c0ae6052.

Reason for revert: broke main

Bug: 306410754
Change-Id: I94f1381a4e8201d6ad87ff51eb87e673fb60d541
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java
index 710e59d..f32f1c2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java
@@ -21,7 +21,6 @@
 import static android.os.UserHandle.USER_NULL;
 import static android.provider.Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS;
 import static android.provider.Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS;
-import static android.os.Flags.allowPrivateProfile;
 
 import static com.android.systemui.DejankUtils.whitelistIpcs;
 
@@ -80,7 +79,6 @@
 import java.util.Collection;
 import java.util.List;
 import java.util.concurrent.Executor;
-import java.util.Objects;
 
 import javax.inject.Inject;
 
@@ -179,50 +177,57 @@
         @Override
         public void onReceive(Context context, Intent intent) {
             String action = intent.getAction();
-            if (Objects.equals(action, Intent.ACTION_USER_REMOVED)) {
-                int removedUserId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1);
-                if (removedUserId != -1) {
-                    for (UserChangedListener listener : mListeners) {
-                        listener.onUserRemoved(removedUserId);
+            switch (action) {
+                case Intent.ACTION_USER_REMOVED:
+                    int removedUserId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1);
+                    if (removedUserId != -1) {
+                        for (UserChangedListener listener : mListeners) {
+                            listener.onUserRemoved(removedUserId);
+                        }
                     }
-                }
-                updateCurrentProfilesCache();
-            } else if (Objects.equals(action, Intent.ACTION_USER_ADDED)){
-                updateCurrentProfilesCache();
-                if (mFeatureFlags.isEnabled(Flags.NOTIF_LS_BACKGROUND_THREAD)) {
-                    final int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, USER_NULL);
-                    mBackgroundHandler.post(() -> {
-                        initValuesForUser(userId);
-                    });
-                }
-            } else if (profileAvailabilityActions(action)) {
-                updateCurrentProfilesCache();
-            } else if (Objects.equals(action, Intent.ACTION_USER_UNLOCKED)) {
-                // Start the overview connection to the launcher service
-                // Connect if user hasn't connected yet
-                if (mOverviewProxyServiceLazy.get().getProxy() == null) {
-                    mOverviewProxyServiceLazy.get().startConnectionToCurrentUser();
-                }
-            } else if (Objects.equals(action, NOTIFICATION_UNLOCKED_BY_WORK_CHALLENGE_ACTION)) {
-                final IntentSender intentSender = intent.getParcelableExtra(
-                        Intent.EXTRA_INTENT);
-                final String notificationKey = intent.getStringExtra(Intent.EXTRA_INDEX);
-                if (intentSender != null) {
-                    try {
-                        ActivityOptions options = ActivityOptions.makeBasic();
-                        options.setPendingIntentBackgroundActivityStartMode(
-                                ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED);
-                        mContext.startIntentSender(intentSender, null, 0, 0, 0,
-                                options.toBundle());
-                    } catch (IntentSender.SendIntentException e) {
-                        /* ignore */
+                    updateCurrentProfilesCache();
+                    break;
+                case Intent.ACTION_USER_ADDED:
+                    updateCurrentProfilesCache();
+                    if (mFeatureFlags.isEnabled(Flags.NOTIF_LS_BACKGROUND_THREAD)) {
+                        final int userId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, USER_NULL);
+                        mBackgroundHandler.post(() -> {
+                            initValuesForUser(userId);
+                        });
                     }
-                }
-                if (notificationKey != null) {
-                    final NotificationVisibility nv = mVisibilityProviderLazy.get()
-                            .obtain(notificationKey, true);
-                    mClickNotifier.onNotificationClick(notificationKey, nv);
-                }
+                    break;
+                case Intent.ACTION_MANAGED_PROFILE_AVAILABLE:
+                case Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE:
+                    updateCurrentProfilesCache();
+                    break;
+                case Intent.ACTION_USER_UNLOCKED:
+                    // Start the overview connection to the launcher service
+                    // Connect if user hasn't connected yet
+                    if (mOverviewProxyServiceLazy.get().getProxy() == null) {
+                        mOverviewProxyServiceLazy.get().startConnectionToCurrentUser();
+                    }
+                    break;
+                case NOTIFICATION_UNLOCKED_BY_WORK_CHALLENGE_ACTION:
+                    final IntentSender intentSender = intent.getParcelableExtra(
+                            Intent.EXTRA_INTENT);
+                    final String notificationKey = intent.getStringExtra(Intent.EXTRA_INDEX);
+                    if (intentSender != null) {
+                        try {
+                            ActivityOptions options = ActivityOptions.makeBasic();
+                            options.setPendingIntentBackgroundActivityStartMode(
+                                    ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED);
+                            mContext.startIntentSender(intentSender, null, 0, 0, 0,
+                                    options.toBundle());
+                        } catch (IntentSender.SendIntentException e) {
+                            /* ignore */
+                        }
+                    }
+                    if (notificationKey != null) {
+                        final NotificationVisibility nv = mVisibilityProviderLazy.get()
+                                .obtain(notificationKey, true);
+                        mClickNotifier.onNotificationClick(notificationKey, nv);
+                    }
+                    break;
             }
         }
     };
@@ -398,10 +403,6 @@
         filter.addAction(Intent.ACTION_USER_UNLOCKED);
         filter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABLE);
         filter.addAction(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE);
-        if (allowPrivateProfile()){
-            filter.addAction(Intent.ACTION_PROFILE_AVAILABLE);
-            filter.addAction(Intent.ACTION_PROFILE_UNAVAILABLE);
-        }
         mBroadcastDispatcher.registerReceiver(mBaseBroadcastReceiver, filter,
                 null /* executor */, UserHandle.ALL);
 
@@ -813,14 +814,6 @@
         }
     }
 
-    private boolean profileAvailabilityActions(String action){
-        return allowPrivateProfile()?
-                Objects.equals(action,Intent.ACTION_PROFILE_AVAILABLE)||
-                        Objects.equals(action,Intent.ACTION_PROFILE_UNAVAILABLE):
-                Objects.equals(action,Intent.ACTION_MANAGED_PROFILE_AVAILABLE)||
-                        Objects.equals(action,Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE);
-    }
-
     @Override
     public void dump(PrintWriter pw, String[] args) {
         pw.println("NotificationLockscreenUserManager state:");
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java
index 43adc69..a5f5fc7 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java
@@ -22,18 +22,14 @@
 import static android.app.admin.DevicePolicyManager.ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED;
 import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS;
 import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS;
-import static android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE;
 import static android.os.UserHandle.USER_ALL;
 import static android.provider.Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS;
 import static android.provider.Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS;
 
-import static junit.framework.Assert.assertEquals;
 import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertNotNull;
 import static junit.framework.Assert.assertTrue;
 
-import static org.junit.Assume.assumeFalse;
-import static org.junit.Assume.assumeTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
@@ -103,7 +99,6 @@
 @RunWith(AndroidTestingRunner.class)
 @TestableLooper.RunWithLooper
 public class NotificationLockscreenUserManagerTest extends SysuiTestCase {
-    private static final int TEST_PROFILE_USERHANDLE = 12;
     @Mock
     private NotificationPresenter mPresenter;
     @Mock
@@ -706,60 +701,6 @@
         assertFalse(mLockscreenUserManager.userAllowsPrivateNotificationsInPublic(newUserId));
     }
 
-    @Test
-    public void testProfileAvailabilityIntent() {
-        mSetFlagsRule.enableFlags(FLAG_ALLOW_PRIVATE_PROFILE);
-        mLockscreenUserManager.mCurrentProfiles.clear();
-        assertEquals(0, mLockscreenUserManager.mCurrentProfiles.size());
-        mLockscreenUserManager.mCurrentProfiles.append(0, mock(UserInfo.class));
-        simulateProfileAvailabilityActions(Intent.ACTION_PROFILE_AVAILABLE);
-        assertEquals(2, mLockscreenUserManager.mCurrentProfiles.size());
-    }
-
-    @Test
-    public void testProfileUnAvailabilityIntent() {
-        mSetFlagsRule.enableFlags(FLAG_ALLOW_PRIVATE_PROFILE);
-        mLockscreenUserManager.mCurrentProfiles.clear();
-        assertEquals(0, mLockscreenUserManager.mCurrentProfiles.size());
-        mLockscreenUserManager.mCurrentProfiles.append(0, mock(UserInfo.class));
-        simulateProfileAvailabilityActions(Intent.ACTION_PROFILE_UNAVAILABLE);
-        assertEquals(2, mLockscreenUserManager.mCurrentProfiles.size());
-    }
-
-    @Test
-    public void testManagedProfileAvailabilityIntent() {
-        mSetFlagsRule.disableFlags(FLAG_ALLOW_PRIVATE_PROFILE);
-        mLockscreenUserManager.mCurrentProfiles.clear();
-        mLockscreenUserManager.mCurrentManagedProfiles.clear();
-        assertEquals(0, mLockscreenUserManager.mCurrentProfiles.size());
-        assertEquals(0, mLockscreenUserManager.mCurrentManagedProfiles.size());
-        mLockscreenUserManager.mCurrentProfiles.append(0, mock(UserInfo.class));
-        simulateProfileAvailabilityActions(Intent.ACTION_MANAGED_PROFILE_AVAILABLE);
-        assertEquals(2, mLockscreenUserManager.mCurrentProfiles.size());
-        assertEquals(1, mLockscreenUserManager.mCurrentManagedProfiles.size());
-    }
-
-    @Test
-    public void testManagedProfileUnAvailabilityIntent() {
-        mSetFlagsRule.disableFlags(FLAG_ALLOW_PRIVATE_PROFILE);
-        mLockscreenUserManager.mCurrentProfiles.clear();
-        mLockscreenUserManager.mCurrentManagedProfiles.clear();
-        assertEquals(0, mLockscreenUserManager.mCurrentProfiles.size());
-        assertEquals(0, mLockscreenUserManager.mCurrentManagedProfiles.size());
-        mLockscreenUserManager.mCurrentProfiles.append(0, mock(UserInfo.class));
-        simulateProfileAvailabilityActions(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE);
-        assertEquals(2, mLockscreenUserManager.mCurrentProfiles.size());
-        assertEquals(1, mLockscreenUserManager.mCurrentManagedProfiles.size());
-    }
-
-    private void simulateProfileAvailabilityActions(String intentAction) {
-        BroadcastReceiver broadcastReceiver =
-                mLockscreenUserManager.getBaseBroadcastReceiverForTest();
-        final Intent intent = new Intent(intentAction);
-        intent.putExtra(Intent.EXTRA_USER_HANDLE, TEST_PROFILE_USERHANDLE);
-        broadcastReceiver.onReceive(mContext, intent);
-    }
-
     private class TestNotificationLockscreenUserManager
             extends NotificationLockscreenUserManagerImpl {
         public TestNotificationLockscreenUserManager(Context context) {
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index 0b6f1b3..837b761 100755
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -71,7 +71,6 @@
 import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE;
 import static android.content.pm.PackageManager.PERMISSION_GRANTED;
 import static android.media.AudioAttributes.USAGE_NOTIFICATION_RINGTONE;
-import static android.os.Flags.allowPrivateProfile;
 import static android.os.IServiceManager.DUMP_FLAG_PRIORITY_CRITICAL;
 import static android.os.IServiceManager.DUMP_FLAG_PRIORITY_NORMAL;
 import static android.os.PowerWhitelistManager.REASON_NOTIFICATION_SERVICE;
@@ -1932,8 +1931,7 @@
                     cancelAllNotificationsInt(MY_UID, MY_PID, null, null, 0, 0, userHandle,
                             REASON_USER_STOPPED);
                 }
-            } else if (
-                    isProfileUnavailable(action)) {
+            } else if (action.equals(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE)) {
                 int userHandle = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1);
                 if (userHandle >= 0 && !mDpm.isKeepProfilesRunningEnabled()) {
                     cancelAllNotificationsInt(MY_UID, MY_PID, null, null, 0, 0, userHandle,
@@ -1984,12 +1982,6 @@
                 }
             }
         }
-
-        private boolean isProfileUnavailable(String action) {
-            return allowPrivateProfile() ?
-                    action.equals(Intent.ACTION_PROFILE_UNAVAILABLE) :
-                    action.equals(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE);
-        }
     };
 
     private final class SettingsObserver extends ContentObserver {
@@ -2560,9 +2552,6 @@
         filter.addAction(Intent.ACTION_USER_REMOVED);
         filter.addAction(Intent.ACTION_USER_UNLOCKED);
         filter.addAction(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE);
-        if (allowPrivateProfile()){
-            filter.addAction(Intent.ACTION_PROFILE_UNAVAILABLE);
-        }
         getContext().registerReceiverAsUser(mIntentReceiver, UserHandle.ALL, filter, null, null);
 
         IntentFilter pkgFilter = new IntentFilter();
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
index a568a3c..3d4b4a6 100755
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
@@ -71,7 +71,6 @@
 import static android.os.UserManager.USER_TYPE_FULL_SECONDARY;
 import static android.os.UserManager.USER_TYPE_PROFILE_CLONE;
 import static android.os.UserManager.USER_TYPE_PROFILE_MANAGED;
-import static android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE;
 import static android.service.notification.Adjustment.KEY_IMPORTANCE;
 import static android.service.notification.Adjustment.KEY_USER_SENTIMENT;
 import static android.service.notification.NotificationListenerService.FLAG_FILTER_TYPE_ALERTING;
@@ -208,7 +207,6 @@
 import android.os.UserManager;
 import android.os.WorkSource;
 import android.permission.PermissionManager;
-import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.DeviceConfig;
 import android.provider.MediaStore;
 import android.provider.Settings;
@@ -320,7 +318,6 @@
     private static final int UID_HEADLESS = 1_000_000;
     private static final int TOAST_DURATION = 2_000;
     private static final int SECONDARY_DISPLAY_ID = 42;
-    private static final int TEST_PROFILE_USERHANDLE = 12;
 
     private final int mUid = Binder.getCallingUid();
     private final @UserIdInt int mUserId = UserHandle.getUserId(mUid);
@@ -448,7 +445,7 @@
     TestableNotificationManagerService.StrongAuthTrackerFake mStrongAuthTracker;
 
     TestableFlagResolver mTestFlagResolver = new TestableFlagResolver();
-    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     private InstanceIdSequence mNotificationInstanceIdSequence = new InstanceIdSequenceFake(
             1 << 30);
     @Mock
@@ -829,12 +826,6 @@
         mPackageIntentReceiver.onReceive(getContext(), intent);
     }
 
-    private void simulateProfileAvailabilityActions(String intentAction) {
-        final Intent intent = new Intent(intentAction);
-        intent.putExtra(Intent.EXTRA_USER_HANDLE, TEST_PROFILE_USERHANDLE);
-        mUserSwitchIntentReceiver.onReceive(mContext, intent);
-    }
-
     private ArrayMap<Boolean, ArrayList<ComponentName>> generateResetComponentValues() {
         ArrayMap<Boolean, ArrayList<ComponentName>> changed = new ArrayMap<>();
         changed.put(true, new ArrayList<>());
@@ -12692,23 +12683,6 @@
         verify(service, times(1)).setDNDMigrationDone(user.id);
     }
 
-    @Test
-    public void testProfileUnavailableIntent() throws RemoteException {
-        mSetFlagsRule.enableFlags(FLAG_ALLOW_PRIVATE_PROFILE);
-        simulateProfileAvailabilityActions(Intent.ACTION_PROFILE_UNAVAILABLE);
-        verify(mWorkerHandler).post(any(Runnable.class));
-        verify(mSnoozeHelper).clearData(anyInt());
-    }
-
-
-    @Test
-    public void testManagedProfileUnavailableIntent() throws RemoteException {
-        mSetFlagsRule.disableFlags(FLAG_ALLOW_PRIVATE_PROFILE);
-        simulateProfileAvailabilityActions(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE);
-        verify(mWorkerHandler).post(any(Runnable.class));
-        verify(mSnoozeHelper).clearData(anyInt());
-    }
-
     private NotificationRecord createAndPostNotification(Notification.Builder nb, String testName)
             throws RemoteException {
         StatusBarNotification sbn = new StatusBarNotification(PKG, PKG, 1, testName, mUid, 0,