Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java +11 −4 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.systemui.statusbar.phone; package com.android.systemui.statusbar.phone; import android.annotation.Nullable; import android.annotation.Nullable; import android.app.NotificationChannel; import android.service.notification.StatusBarNotification; import android.service.notification.StatusBarNotification; import android.util.ArraySet; import android.util.ArraySet; import android.util.Log; import android.util.Log; Loading @@ -28,6 +27,7 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener; import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener; import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener; Loading @@ -42,6 +42,8 @@ import java.util.Objects; import javax.inject.Inject; import javax.inject.Inject; import javax.inject.Singleton; import javax.inject.Singleton; import dagger.Lazy; /** /** * A class to handle notifications and their corresponding groups. * A class to handle notifications and their corresponding groups. */ */ Loading @@ -51,6 +53,7 @@ public class NotificationGroupManager implements OnHeadsUpChangedListener, State private static final String TAG = "NotificationGroupManager"; private static final String TAG = "NotificationGroupManager"; private final HashMap<String, NotificationGroup> mGroupMap = new HashMap<>(); private final HashMap<String, NotificationGroup> mGroupMap = new HashMap<>(); private final ArraySet<OnGroupChangeListener> mListeners = new ArraySet<>(); private final ArraySet<OnGroupChangeListener> mListeners = new ArraySet<>(); private final Lazy<PeopleNotificationIdentifier> mPeopleNotificationIdentifier; private int mBarState = -1; private int mBarState = -1; private HashMap<String, StatusBarNotification> mIsolatedEntries = new HashMap<>(); private HashMap<String, StatusBarNotification> mIsolatedEntries = new HashMap<>(); private HeadsUpManager mHeadsUpManager; private HeadsUpManager mHeadsUpManager; Loading @@ -58,8 +61,11 @@ public class NotificationGroupManager implements OnHeadsUpChangedListener, State @Nullable private BubbleController mBubbleController = null; @Nullable private BubbleController mBubbleController = null; @Inject @Inject public NotificationGroupManager(StatusBarStateController statusBarStateController) { public NotificationGroupManager( StatusBarStateController statusBarStateController, Lazy<PeopleNotificationIdentifier> peopleNotificationIdentifier) { statusBarStateController.addCallback(this); statusBarStateController.addCallback(this); mPeopleNotificationIdentifier = peopleNotificationIdentifier; } } private BubbleController getBubbleController() { private BubbleController getBubbleController() { Loading Loading @@ -536,8 +542,9 @@ public class NotificationGroupManager implements OnHeadsUpChangedListener, State if (!sbn.isGroup() || sbn.getNotification().isGroupSummary()) { if (!sbn.isGroup() || sbn.getNotification().isGroupSummary()) { return false; return false; } } NotificationChannel channel = entry.getChannel(); int peopleNotificationType = mPeopleNotificationIdentifier.get().getPeopleNotificationType( if (channel != null && channel.isImportantConversation()) { entry.getSbn(), entry.getRanking()); if (peopleNotificationType == PeopleNotificationIdentifier.TYPE_IMPORTANT_PERSON) { return true; return true; } } if (mHeadsUpManager != null && !mHeadsUpManager.isAlerting(entry.getKey())) { if (mHeadsUpManager != null && !mHeadsUpManager.isAlerting(entry.getKey())) { Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationFilterTest.java +4 −1 Original line number Original line Diff line number Diff line Loading @@ -45,6 +45,7 @@ import com.android.systemui.statusbar.NotificationLockscreenUserManager; import com.android.systemui.statusbar.notification.NotificationEntryManager.KeyguardEnvironment; import com.android.systemui.statusbar.notification.NotificationEntryManager.KeyguardEnvironment; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder; import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder; import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.row.NotificationTestHelper; import com.android.systemui.statusbar.notification.row.NotificationTestHelper; import com.android.systemui.statusbar.phone.NotificationGroupManager; import com.android.systemui.statusbar.phone.NotificationGroupManager; Loading Loading @@ -93,7 +94,9 @@ public class NotificationFilterTest extends SysuiTestCase { .thenReturn(PackageManager.PERMISSION_GRANTED); .thenReturn(PackageManager.PERMISSION_GRANTED); mDependency.injectTestDependency(ForegroundServiceController.class, mFsc); mDependency.injectTestDependency(ForegroundServiceController.class, mFsc); mDependency.injectTestDependency(NotificationGroupManager.class, mDependency.injectTestDependency(NotificationGroupManager.class, new NotificationGroupManager(mock(StatusBarStateController.class))); new NotificationGroupManager( mock(StatusBarStateController.class), () -> mock(PeopleNotificationIdentifier.class))); mDependency.injectMockDependency(ShadeController.class); mDependency.injectMockDependency(ShadeController.class); mDependency.injectMockDependency(NotificationLockscreenUserManager.class); mDependency.injectMockDependency(NotificationLockscreenUserManager.class); mDependency.injectTestDependency(KeyguardEnvironment.class, mEnvironment); mDependency.injectTestDependency(KeyguardEnvironment.class, mEnvironment); Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationTestHelper.java +3 −1 Original line number Original line Diff line number Diff line Loading @@ -115,7 +115,9 @@ public class NotificationTestHelper { dependency.injectMockDependency(BubbleController.class); dependency.injectMockDependency(BubbleController.class); dependency.injectMockDependency(NotificationShadeWindowController.class); dependency.injectMockDependency(NotificationShadeWindowController.class); mStatusBarStateController = mock(StatusBarStateController.class); mStatusBarStateController = mock(StatusBarStateController.class); mGroupManager = new NotificationGroupManager(mStatusBarStateController); mGroupManager = new NotificationGroupManager( mStatusBarStateController, () -> mock(PeopleNotificationIdentifier.class)); mHeadsUpManager = new HeadsUpManagerPhone(mContext, mStatusBarStateController, mHeadsUpManager = new HeadsUpManagerPhone(mContext, mStatusBarStateController, mock(KeyguardBypassController.class), mock(NotificationGroupManager.class), mock(KeyguardBypassController.class), mock(NotificationGroupManager.class), mock(ConfigurationControllerImpl.class)); mock(ConfigurationControllerImpl.class)); Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationGroupAlertTransferHelperTest.java +4 −1 Original line number Original line Diff line number Diff line Loading @@ -42,6 +42,7 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.notification.NotificationEntryListener; import com.android.systemui.statusbar.notification.NotificationEntryListener; import com.android.systemui.statusbar.notification.NotificationEntryManager; import com.android.systemui.statusbar.notification.NotificationEntryManager; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier; import com.android.systemui.statusbar.notification.row.NotifBindPipeline.BindCallback; import com.android.systemui.statusbar.notification.row.NotifBindPipeline.BindCallback; import com.android.systemui.statusbar.notification.row.RowContentBindParams; import com.android.systemui.statusbar.notification.row.RowContentBindParams; import com.android.systemui.statusbar.notification.row.RowContentBindStage; import com.android.systemui.statusbar.notification.row.RowContentBindStage; Loading Loading @@ -87,7 +88,9 @@ public class NotificationGroupAlertTransferHelperTest extends SysuiTestCase { when(mNotificationEntryManager.getPendingNotificationsIterator()) when(mNotificationEntryManager.getPendingNotificationsIterator()) .thenReturn(mPendingEntries.values()); .thenReturn(mPendingEntries.values()); mGroupManager = new NotificationGroupManager(mock(StatusBarStateController.class)); mGroupManager = new NotificationGroupManager( mock(StatusBarStateController.class), () -> mock(PeopleNotificationIdentifier.class)); mDependency.injectTestDependency(NotificationGroupManager.class, mGroupManager); mDependency.injectTestDependency(NotificationGroupManager.class, mGroupManager); mGroupManager.setHeadsUpManager(mHeadsUpManager); mGroupManager.setHeadsUpManager(mHeadsUpManager); Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationGroupManagerTest.java +4 −1 Original line number Original line Diff line number Diff line Loading @@ -33,6 +33,7 @@ import com.android.systemui.SysuiTestCase; import com.android.systemui.bubbles.BubbleController; import com.android.systemui.bubbles.BubbleController; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.HeadsUpManager; import org.junit.Before; import org.junit.Before; Loading Loading @@ -63,7 +64,9 @@ public class NotificationGroupManagerTest extends SysuiTestCase { } } private void initializeGroupManager() { private void initializeGroupManager() { mGroupManager = new NotificationGroupManager(mock(StatusBarStateController.class)); mGroupManager = new NotificationGroupManager( mock(StatusBarStateController.class), () -> mock(PeopleNotificationIdentifier.class)); mGroupManager.setHeadsUpManager(mHeadsUpManager); mGroupManager.setHeadsUpManager(mHeadsUpManager); } } Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java +11 −4 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,6 @@ package com.android.systemui.statusbar.phone; package com.android.systemui.statusbar.phone; import android.annotation.Nullable; import android.annotation.Nullable; import android.app.NotificationChannel; import android.service.notification.StatusBarNotification; import android.service.notification.StatusBarNotification; import android.util.ArraySet; import android.util.ArraySet; import android.util.Log; import android.util.Log; Loading @@ -28,6 +27,7 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener; import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener; import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener; Loading @@ -42,6 +42,8 @@ import java.util.Objects; import javax.inject.Inject; import javax.inject.Inject; import javax.inject.Singleton; import javax.inject.Singleton; import dagger.Lazy; /** /** * A class to handle notifications and their corresponding groups. * A class to handle notifications and their corresponding groups. */ */ Loading @@ -51,6 +53,7 @@ public class NotificationGroupManager implements OnHeadsUpChangedListener, State private static final String TAG = "NotificationGroupManager"; private static final String TAG = "NotificationGroupManager"; private final HashMap<String, NotificationGroup> mGroupMap = new HashMap<>(); private final HashMap<String, NotificationGroup> mGroupMap = new HashMap<>(); private final ArraySet<OnGroupChangeListener> mListeners = new ArraySet<>(); private final ArraySet<OnGroupChangeListener> mListeners = new ArraySet<>(); private final Lazy<PeopleNotificationIdentifier> mPeopleNotificationIdentifier; private int mBarState = -1; private int mBarState = -1; private HashMap<String, StatusBarNotification> mIsolatedEntries = new HashMap<>(); private HashMap<String, StatusBarNotification> mIsolatedEntries = new HashMap<>(); private HeadsUpManager mHeadsUpManager; private HeadsUpManager mHeadsUpManager; Loading @@ -58,8 +61,11 @@ public class NotificationGroupManager implements OnHeadsUpChangedListener, State @Nullable private BubbleController mBubbleController = null; @Nullable private BubbleController mBubbleController = null; @Inject @Inject public NotificationGroupManager(StatusBarStateController statusBarStateController) { public NotificationGroupManager( StatusBarStateController statusBarStateController, Lazy<PeopleNotificationIdentifier> peopleNotificationIdentifier) { statusBarStateController.addCallback(this); statusBarStateController.addCallback(this); mPeopleNotificationIdentifier = peopleNotificationIdentifier; } } private BubbleController getBubbleController() { private BubbleController getBubbleController() { Loading Loading @@ -536,8 +542,9 @@ public class NotificationGroupManager implements OnHeadsUpChangedListener, State if (!sbn.isGroup() || sbn.getNotification().isGroupSummary()) { if (!sbn.isGroup() || sbn.getNotification().isGroupSummary()) { return false; return false; } } NotificationChannel channel = entry.getChannel(); int peopleNotificationType = mPeopleNotificationIdentifier.get().getPeopleNotificationType( if (channel != null && channel.isImportantConversation()) { entry.getSbn(), entry.getRanking()); if (peopleNotificationType == PeopleNotificationIdentifier.TYPE_IMPORTANT_PERSON) { return true; return true; } } if (mHeadsUpManager != null && !mHeadsUpManager.isAlerting(entry.getKey())) { if (mHeadsUpManager != null && !mHeadsUpManager.isAlerting(entry.getKey())) { Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationFilterTest.java +4 −1 Original line number Original line Diff line number Diff line Loading @@ -45,6 +45,7 @@ import com.android.systemui.statusbar.NotificationLockscreenUserManager; import com.android.systemui.statusbar.notification.NotificationEntryManager.KeyguardEnvironment; import com.android.systemui.statusbar.notification.NotificationEntryManager.KeyguardEnvironment; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder; import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder; import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.row.NotificationTestHelper; import com.android.systemui.statusbar.notification.row.NotificationTestHelper; import com.android.systemui.statusbar.phone.NotificationGroupManager; import com.android.systemui.statusbar.phone.NotificationGroupManager; Loading Loading @@ -93,7 +94,9 @@ public class NotificationFilterTest extends SysuiTestCase { .thenReturn(PackageManager.PERMISSION_GRANTED); .thenReturn(PackageManager.PERMISSION_GRANTED); mDependency.injectTestDependency(ForegroundServiceController.class, mFsc); mDependency.injectTestDependency(ForegroundServiceController.class, mFsc); mDependency.injectTestDependency(NotificationGroupManager.class, mDependency.injectTestDependency(NotificationGroupManager.class, new NotificationGroupManager(mock(StatusBarStateController.class))); new NotificationGroupManager( mock(StatusBarStateController.class), () -> mock(PeopleNotificationIdentifier.class))); mDependency.injectMockDependency(ShadeController.class); mDependency.injectMockDependency(ShadeController.class); mDependency.injectMockDependency(NotificationLockscreenUserManager.class); mDependency.injectMockDependency(NotificationLockscreenUserManager.class); mDependency.injectTestDependency(KeyguardEnvironment.class, mEnvironment); mDependency.injectTestDependency(KeyguardEnvironment.class, mEnvironment); Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationTestHelper.java +3 −1 Original line number Original line Diff line number Diff line Loading @@ -115,7 +115,9 @@ public class NotificationTestHelper { dependency.injectMockDependency(BubbleController.class); dependency.injectMockDependency(BubbleController.class); dependency.injectMockDependency(NotificationShadeWindowController.class); dependency.injectMockDependency(NotificationShadeWindowController.class); mStatusBarStateController = mock(StatusBarStateController.class); mStatusBarStateController = mock(StatusBarStateController.class); mGroupManager = new NotificationGroupManager(mStatusBarStateController); mGroupManager = new NotificationGroupManager( mStatusBarStateController, () -> mock(PeopleNotificationIdentifier.class)); mHeadsUpManager = new HeadsUpManagerPhone(mContext, mStatusBarStateController, mHeadsUpManager = new HeadsUpManagerPhone(mContext, mStatusBarStateController, mock(KeyguardBypassController.class), mock(NotificationGroupManager.class), mock(KeyguardBypassController.class), mock(NotificationGroupManager.class), mock(ConfigurationControllerImpl.class)); mock(ConfigurationControllerImpl.class)); Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationGroupAlertTransferHelperTest.java +4 −1 Original line number Original line Diff line number Diff line Loading @@ -42,6 +42,7 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.notification.NotificationEntryListener; import com.android.systemui.statusbar.notification.NotificationEntryListener; import com.android.systemui.statusbar.notification.NotificationEntryManager; import com.android.systemui.statusbar.notification.NotificationEntryManager; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier; import com.android.systemui.statusbar.notification.row.NotifBindPipeline.BindCallback; import com.android.systemui.statusbar.notification.row.NotifBindPipeline.BindCallback; import com.android.systemui.statusbar.notification.row.RowContentBindParams; import com.android.systemui.statusbar.notification.row.RowContentBindParams; import com.android.systemui.statusbar.notification.row.RowContentBindStage; import com.android.systemui.statusbar.notification.row.RowContentBindStage; Loading Loading @@ -87,7 +88,9 @@ public class NotificationGroupAlertTransferHelperTest extends SysuiTestCase { when(mNotificationEntryManager.getPendingNotificationsIterator()) when(mNotificationEntryManager.getPendingNotificationsIterator()) .thenReturn(mPendingEntries.values()); .thenReturn(mPendingEntries.values()); mGroupManager = new NotificationGroupManager(mock(StatusBarStateController.class)); mGroupManager = new NotificationGroupManager( mock(StatusBarStateController.class), () -> mock(PeopleNotificationIdentifier.class)); mDependency.injectTestDependency(NotificationGroupManager.class, mGroupManager); mDependency.injectTestDependency(NotificationGroupManager.class, mGroupManager); mGroupManager.setHeadsUpManager(mHeadsUpManager); mGroupManager.setHeadsUpManager(mHeadsUpManager); Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationGroupManagerTest.java +4 −1 Original line number Original line Diff line number Diff line Loading @@ -33,6 +33,7 @@ import com.android.systemui.SysuiTestCase; import com.android.systemui.bubbles.BubbleController; import com.android.systemui.bubbles.BubbleController; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.HeadsUpManager; import org.junit.Before; import org.junit.Before; Loading Loading @@ -63,7 +64,9 @@ public class NotificationGroupManagerTest extends SysuiTestCase { } } private void initializeGroupManager() { private void initializeGroupManager() { mGroupManager = new NotificationGroupManager(mock(StatusBarStateController.class)); mGroupManager = new NotificationGroupManager( mock(StatusBarStateController.class), () -> mock(PeopleNotificationIdentifier.class)); mGroupManager.setHeadsUpManager(mHeadsUpManager); mGroupManager.setHeadsUpManager(mHeadsUpManager); } } Loading