summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Steve Elliott <steell@google.com> 2022-08-23 15:01:14 -0400
committer Steve Elliott <steell@google.com> 2022-08-29 12:18:42 -0400
commit28ea00f4abed69d6a428e4f7360dcb720f7dabce (patch)
treefad6ddfa5aab4365f7651e3634dd7bcd99b7d181
parent3292a30a1ceb387c467b7ded0680510c4ae2a659 (diff)
Delete unused code from NotifLockscreenUserManager
Bug: 200269355 Test: atest SystemUITests Change-Id: I8d0546eab8f66ad76636c1212c15cda386f522da
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java17
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java77
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java108
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/DynamicPrivacyControllerTest.java3
4 files changed, 4 insertions, 201 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java
index d1bc14fa52cf..d90824351c70 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java
@@ -50,12 +50,6 @@ public interface NotificationLockscreenUserManager {
void addUserChangedListener(UserChangedListener listener);
/**
- * Registers a [KeyguardNotificationSuppressor] that will be consulted during
- * {@link #shouldShowOnKeyguard(NotificationEntry)}
- */
- void addKeyguardNotificationSuppressor(KeyguardNotificationSuppressor suppressor);
-
- /**
* Removes a listener previously registered with
* {@link #addUserChangedListener(UserChangedListener)}
*/
@@ -63,14 +57,8 @@ public interface NotificationLockscreenUserManager {
SparseArray<UserInfo> getCurrentProfiles();
- void setLockscreenPublicMode(boolean isProfilePublic, int userId);
-
boolean shouldShowLockscreenNotifications();
- boolean shouldHideNotifications(int userId);
- boolean shouldHideNotifications(String key);
- boolean shouldShowOnKeyguard(NotificationEntry entry);
-
boolean isAnyProfilePublicMode();
void updatePublicMode();
@@ -108,11 +96,6 @@ public interface NotificationLockscreenUserManager {
default void onUserRemoved(int userId) {}
}
- /** Used to hide notifications on the lockscreen */
- interface KeyguardNotificationSuppressor {
- boolean shouldSuppressOnKeyguard(NotificationEntry entry);
- }
-
/**
* Notified when any state pertaining to Notifications has changed; any methods pertaining to
* notifications should be re-queried.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java
index f4ca7edb146d..ae5a2c3fe9e2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java
@@ -15,17 +15,13 @@
*/
package com.android.systemui.statusbar;
-import static android.app.Notification.VISIBILITY_SECRET;
import static android.app.admin.DevicePolicyManager.ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED;
import static com.android.systemui.DejankUtils.whitelistIpcs;
-import static com.android.systemui.statusbar.notification.stack.NotificationPriorityBucketKt.BUCKET_MEDIA_CONTROLS;
-import static com.android.systemui.statusbar.notification.stack.NotificationPriorityBucketKt.BUCKET_SILENT;
import android.app.ActivityManager;
import android.app.KeyguardManager;
import android.app.Notification;
-import android.app.NotificationManager;
import android.app.admin.DevicePolicyManager;
import android.content.BroadcastReceiver;
import android.content.Context;
@@ -42,9 +38,10 @@ import android.util.Log;
import android.util.SparseArray;
import android.util.SparseBooleanArray;
+import androidx.annotation.VisibleForTesting;
+
import com.android.internal.statusbar.NotificationVisibility;
import com.android.internal.widget.LockPatternUtils;
-import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.Dependency;
import com.android.systemui.Dumpable;
import com.android.systemui.broadcast.BroadcastDispatcher;
@@ -110,7 +107,6 @@ public class NotificationLockscreenUserManagerImpl implements
private LockPatternUtils mLockPatternUtils;
protected KeyguardManager mKeyguardManager;
private int mState = StatusBarState.SHADE;
- private List<KeyguardNotificationSuppressor> mKeyguardSuppressors = new ArrayList<>();
private final ListenerSet<NotificationStateChangedListener> mNotifStateChangedListeners =
new ListenerSet<>();
@@ -344,67 +340,6 @@ public class NotificationLockscreenUserManagerImpl implements
}
}
- /**
- * Returns true if notifications are temporarily disabled for this user for security reasons,
- * regardless of the normal settings for that user.
- */
- private boolean shouldTemporarilyHideNotifications(int userId) {
- if (userId == UserHandle.USER_ALL) {
- userId = mCurrentUserId;
- }
- boolean inLockdown = Dependency.get(KeyguardUpdateMonitor.class).isUserInLockdown(userId);
- mUsersInLockdownLatestResult.put(userId, inLockdown);
- return inLockdown;
- }
-
- /**
- * Returns true if we're on a secure lockscreen and the user wants to hide notification data.
- * If so, notifications should be hidden.
- */
- public boolean shouldHideNotifications(int userId) {
- boolean hide = isLockscreenPublicMode(userId) && !userAllowsNotificationsInPublic(userId)
- || (userId != mCurrentUserId && shouldHideNotifications(mCurrentUserId))
- || shouldTemporarilyHideNotifications(userId);
- mShouldHideNotifsLatestResult.put(userId, hide);
- return hide;
- }
-
- /**
- * Returns true if we're on a secure lockscreen and the user wants to hide notifications via
- * package-specific override.
- */
- public boolean shouldHideNotifications(String key) {
- if (mCommonNotifCollectionLazy.get() == null) {
- Log.wtf(TAG, "mCommonNotifCollectionLazy was null!", new Throwable());
- return true;
- }
- NotificationEntry visibleEntry = mCommonNotifCollectionLazy.get().getEntry(key);
- return isLockscreenPublicMode(mCurrentUserId) && visibleEntry != null
- && visibleEntry.getRanking().getLockscreenVisibilityOverride() == VISIBILITY_SECRET;
- }
-
- public boolean shouldShowOnKeyguard(NotificationEntry entry) {
- if (mCommonNotifCollectionLazy.get() == null) {
- Log.wtf(TAG, "mCommonNotifCollectionLazy was null!", new Throwable());
- return false;
- }
- for (int i = 0; i < mKeyguardSuppressors.size(); i++) {
- if (mKeyguardSuppressors.get(i).shouldSuppressOnKeyguard(entry)) {
- return false;
- }
- }
- boolean exceedsPriorityThreshold;
- if (mHideSilentNotificationsOnLockscreen) {
- exceedsPriorityThreshold =
- entry.getBucket() == BUCKET_MEDIA_CONTROLS
- || (entry.getBucket() != BUCKET_SILENT
- && entry.getImportance() >= NotificationManager.IMPORTANCE_DEFAULT);
- } else {
- exceedsPriorityThreshold = !entry.getRanking().isAmbient();
- }
- return mShowLockscreenNotifications && exceedsPriorityThreshold;
- }
-
private void setShowLockscreenNotifications(boolean show) {
mShowLockscreenNotifications = show;
}
@@ -491,7 +426,8 @@ public class NotificationLockscreenUserManagerImpl implements
/**
* Save the current "public" (locked and secure) state of the lockscreen.
*/
- public void setLockscreenPublicMode(boolean publicMode, int userId) {
+ @VisibleForTesting
+ void setLockscreenPublicMode(boolean publicMode, int userId) {
mLockscreenPublicMode.put(userId, publicMode);
}
@@ -674,11 +610,6 @@ public class NotificationLockscreenUserManagerImpl implements
}
@Override
- public void addKeyguardNotificationSuppressor(KeyguardNotificationSuppressor suppressor) {
- mKeyguardSuppressors.add(suppressor);
- }
-
- @Override
public void removeUserChangedListener(UserChangedListener listener) {
mListeners.remove(listener);
}
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 dd2b66765fae..3cc4ee14b45f 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerTest.java
@@ -16,15 +16,8 @@
package com.android.systemui.statusbar;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
import static android.content.Intent.ACTION_USER_SWITCHED;
-import static com.android.systemui.statusbar.notification.stack.NotificationPriorityBucketKt.BUCKET_ALERTING;
-import static com.android.systemui.statusbar.notification.stack.NotificationPriorityBucketKt.BUCKET_MEDIA_CONTROLS;
-import static com.android.systemui.statusbar.notification.stack.NotificationPriorityBucketKt.BUCKET_PEOPLE;
-import static com.android.systemui.statusbar.notification.stack.NotificationPriorityBucketKt.BUCKET_SILENT;
-
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertTrue;
@@ -60,7 +53,6 @@ import com.android.systemui.SysuiTestCase;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
-import com.android.systemui.statusbar.NotificationLockscreenUserManager.KeyguardNotificationSuppressor;
import com.android.systemui.statusbar.NotificationLockscreenUserManager.NotificationStateChangedListener;
import com.android.systemui.statusbar.notification.NotificationEntryManager;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
@@ -359,93 +351,6 @@ public class NotificationLockscreenUserManagerTest extends SysuiTestCase {
verify(listener, never()).onNotificationStateChanged();
}
- @Test
- public void testShowSilentNotifications_settingSaysShow() {
- mSettings.putInt(Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
- mSettings.putInt(Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, 1);
- mLockscreenUserManager.getLockscreenSettingsObserverForTest().onChange(false);
-
- NotificationEntry entry = new NotificationEntryBuilder()
- .setImportance(IMPORTANCE_LOW)
- .build();
- entry.setBucket(BUCKET_SILENT);
-
- assertTrue(mLockscreenUserManager.shouldShowOnKeyguard(entry));
- }
-
- @Test
- public void testShowSilentNotifications_settingSaysHide() {
- mSettings.putInt(Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
- mSettings.putInt(Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, 0);
- mLockscreenUserManager.getLockscreenSettingsObserverForTest().onChange(false);
-
- final Notification notification = mock(Notification.class);
- when(notification.isForegroundService()).thenReturn(true);
- NotificationEntry entry = new NotificationEntryBuilder()
- .setImportance(IMPORTANCE_LOW)
- .setNotification(notification)
- .build();
- entry.setBucket(BUCKET_SILENT);
- assertFalse(mLockscreenUserManager.shouldShowOnKeyguard(entry));
- }
-
- @Test
- public void testShowSilentNotificationsPeopleBucket_settingSaysHide() {
- mSettings.putInt(Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
- mSettings.putInt(Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, 0);
- mLockscreenUserManager.getLockscreenSettingsObserverForTest().onChange(false);
-
- final Notification notification = mock(Notification.class);
- when(notification.isForegroundService()).thenReturn(true);
- NotificationEntry entry = new NotificationEntryBuilder()
- .setImportance(IMPORTANCE_LOW)
- .setNotification(notification)
- .build();
- entry.setBucket(BUCKET_PEOPLE);
- assertFalse(mLockscreenUserManager.shouldShowOnKeyguard(entry));
- }
-
- @Test
- public void testShowSilentNotificationsMediaBucket_settingSaysHide() {
- mSettings.putInt(Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
- mSettings.putInt(Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, 0);
- mLockscreenUserManager.getLockscreenSettingsObserverForTest().onChange(false);
-
- final Notification notification = mock(Notification.class);
- when(notification.isForegroundService()).thenReturn(true);
- NotificationEntry entry = new NotificationEntryBuilder()
- .setImportance(IMPORTANCE_LOW)
- .setNotification(notification)
- .build();
- entry.setBucket(BUCKET_MEDIA_CONTROLS);
- // always show media controls, even if they're silent
- assertTrue(mLockscreenUserManager.shouldShowOnKeyguard(entry));
- }
-
- @Test
- public void testKeyguardNotificationSuppressors() {
- // GIVEN a notification that should be shown on the lockscreen
- mSettings.putInt(Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
- mLockscreenUserManager.getLockscreenSettingsObserverForTest().onChange(false);
- final NotificationEntry entry = new NotificationEntryBuilder()
- .setImportance(IMPORTANCE_HIGH)
- .build();
- entry.setBucket(BUCKET_ALERTING);
-
- // WHEN a suppressor is added that filters out all entries
- FakeKeyguardSuppressor suppressor = new FakeKeyguardSuppressor();
- mLockscreenUserManager.addKeyguardNotificationSuppressor(suppressor);
-
- // THEN it's filtered out
- assertFalse(mLockscreenUserManager.shouldShowOnKeyguard(entry));
-
- // WHEN the suppressor no longer filters out entries
- suppressor.setShouldSuppress(false);
-
- // THEN it's no longer filtered out
- assertTrue(mLockscreenUserManager.shouldShowOnKeyguard(entry));
- }
-
private class TestNotificationLockscreenUserManager
extends NotificationLockscreenUserManagerImpl {
public TestNotificationLockscreenUserManager(Context context) {
@@ -478,17 +383,4 @@ public class NotificationLockscreenUserManagerTest extends SysuiTestCase {
return mSettingsObserver;
}
}
-
- private static class FakeKeyguardSuppressor implements KeyguardNotificationSuppressor {
- private boolean mShouldSuppress = true;
-
- @Override
- public boolean shouldSuppressOnKeyguard(NotificationEntry entry) {
- return mShouldSuppress;
- }
-
- public void setShouldSuppress(boolean shouldSuppress) {
- mShouldSuppress = shouldSuppress;
- }
- }
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/DynamicPrivacyControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/DynamicPrivacyControllerTest.java
index 3fc0c8176f2f..b719c7f9e54e 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/DynamicPrivacyControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/DynamicPrivacyControllerTest.java
@@ -18,7 +18,6 @@ package com.android.systemui.statusbar.notification;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.reset;
@@ -128,8 +127,6 @@ public class DynamicPrivacyControllerTest extends SysuiTestCase {
@Test
public void testNotNotifiedWithoutNotifications() {
when(mKeyguardStateController.canDismissLockScreen()).thenReturn(true);
- when(mLockScreenUserManager.shouldHideNotifications(anyInt())).thenReturn(
- true);
mDynamicPrivacyController.onUnlockedChanged();
verifyNoMoreInteractions(mListener);
}