Loading packages/SystemUI/aconfig/systemui.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,13 @@ flag { bug: "375010573" } flag { name: "notifications_redesign_guts" namespace: "systemui" description: "Notifications Redesign: Update the look of the notification guts (that appear on long press). This includes using the new cache for app icons." bug: "394822197" } flag { name: "notification_row_content_binder_refactor" namespace: "systemui" Loading packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.kt +12 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,10 @@ import com.android.systemui.statusbar.notification.collection.provider.HighPrior import com.android.systemui.statusbar.notification.domain.interactor.activeNotificationsInteractor import com.android.systemui.statusbar.notification.headsup.HeadsUpManager import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier import com.android.systemui.statusbar.notification.row.icon.AppIconProvider import com.android.systemui.statusbar.notification.row.icon.NotificationIconStyleProvider import com.android.systemui.statusbar.notification.row.icon.appIconProvider import com.android.systemui.statusbar.notification.row.icon.notificationIconStyleProvider import com.android.systemui.statusbar.notification.stack.NotificationListContainer import com.android.systemui.statusbar.policy.DeviceProvisionedController import com.android.systemui.testKosmos Loading Loading @@ -203,6 +207,8 @@ class NotificationGutsManagerTest(flags: FlagsParameterization) : SysuiTestCase( accessibilityManager, highPriorityProvider, iNotificationManager, kosmos.appIconProvider, kosmos.notificationIconStyleProvider, userManager, peopleSpaceWidgetManager, launcherApps, Loading Loading @@ -512,6 +518,8 @@ class NotificationGutsManagerTest(flags: FlagsParameterization) : SysuiTestCase( .bindNotification( any<PackageManager>(), any<INotificationManager>(), any<AppIconProvider>(), any<NotificationIconStyleProvider>(), eq(onUserInteractionCallback), eq(channelEditorDialogController), eq(statusBarNotification.packageName), Loading Loading @@ -550,6 +558,8 @@ class NotificationGutsManagerTest(flags: FlagsParameterization) : SysuiTestCase( .bindNotification( any<PackageManager>(), any<INotificationManager>(), any<AppIconProvider>(), any<NotificationIconStyleProvider>(), eq(onUserInteractionCallback), eq(channelEditorDialogController), eq(statusBarNotification.packageName), Loading Loading @@ -586,6 +596,8 @@ class NotificationGutsManagerTest(flags: FlagsParameterization) : SysuiTestCase( .bindNotification( any<PackageManager>(), any<INotificationManager>(), any<AppIconProvider>(), any<NotificationIconStyleProvider>(), eq(onUserInteractionCallback), eq(channelEditorDialogController), eq(statusBarNotification.packageName), Loading packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/NotificationInfoTest.kt +8 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,10 @@ import com.android.systemui.statusbar.RankingBuilder import com.android.systemui.statusbar.notification.AssistantFeedbackController import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder import com.android.systemui.statusbar.notification.row.icon.AppIconProvider import com.android.systemui.statusbar.notification.row.icon.NotificationIconStyleProvider import com.android.systemui.statusbar.notification.row.icon.appIconProvider import com.android.systemui.statusbar.notification.row.icon.notificationIconStyleProvider import com.android.telecom.telecomManager import com.google.common.truth.Truth.assertThat import java.util.concurrent.CountDownLatch Loading Loading @@ -862,6 +866,8 @@ class NotificationInfoTest : SysuiTestCase() { private fun bindNotification( pm: PackageManager = this.mockPackageManager, iNotificationManager: INotificationManager = this.mockINotificationManager, appIconProvider: AppIconProvider = kosmos.appIconProvider, iconStyleProvider: NotificationIconStyleProvider = kosmos.notificationIconStyleProvider, onUserInteractionCallback: OnUserInteractionCallback = this.onUserInteractionCallback, channelEditorDialogController: ChannelEditorDialogController = this.channelEditorDialogController, Loading @@ -882,6 +888,8 @@ class NotificationInfoTest : SysuiTestCase() { underTest.bindNotification( pm, iNotificationManager, appIconProvider, iconStyleProvider, onUserInteractionCallback, channelEditorDialogController, pkg, Loading packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/PromotedNotificationInfoTest.java +8 −3 Original line number Diff line number Diff line Loading @@ -48,6 +48,8 @@ import com.android.systemui.res.R; import com.android.systemui.statusbar.notification.AssistantFeedbackController; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder; import com.android.systemui.statusbar.notification.row.icon.AppIconProvider; import com.android.systemui.statusbar.notification.row.icon.NotificationIconStyleProvider; import org.junit.Before; import org.junit.Rule; Loading @@ -57,8 +59,6 @@ import org.mockito.Mock; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; import java.util.concurrent.CountDownLatch; @SmallTest @RunWith(AndroidJUnit4.class) @TestableLooper.RunWithLooper Loading @@ -82,6 +82,10 @@ public class PromotedNotificationInfoTest extends SysuiTestCase { @Mock private INotificationManager mMockINotificationManager; @Mock private AppIconProvider mMockAppIconProvider; @Mock private NotificationIconStyleProvider mMockIconStyleProvider; @Mock private PackageManager mMockPackageManager; @Mock private OnUserInteractionCallback mOnUserInteractionCallback; Loading Loading @@ -127,10 +131,11 @@ public class PromotedNotificationInfoTest extends SysuiTestCase { public void testBindNotification_setsOnClickListenerForFeedback() throws Exception { // Bind the notification to the Info object final CountDownLatch latch = new CountDownLatch(1); mInfo.bindNotification( mMockPackageManager, mMockINotificationManager, mMockAppIconProvider, mMockIconStyleProvider, mOnUserInteractionCallback, mChannelEditorDialogController, TEST_PACKAGE_NAME, Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java +10 −11 Original line number Diff line number Diff line Loading @@ -18,22 +18,13 @@ package com.android.systemui.statusbar.notification.row; import static android.app.AppOpsManager.OP_CAMERA; import static android.app.AppOpsManager.OP_RECORD_AUDIO; import static android.app.AppOpsManager.OP_SYSTEM_ALERT_WINDOW; import static android.service.notification.Adjustment.KEY_SUMMARIZATION; import static android.service.notification.Adjustment.KEY_TYPE; import static android.service.notification.NotificationAssistantService.ACTION_NOTIFICATION_ASSISTANT_FEEDBACK_SETTINGS; import static android.service.notification.NotificationAssistantService.EXTRA_NOTIFICATION_ADJUSTMENT; import static android.service.notification.NotificationAssistantService.EXTRA_NOTIFICATION_KEY; import android.annotation.FlaggedApi; import android.app.INotificationManager; import android.app.NotificationChannel; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.LauncherApps; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.ShortcutManager; import android.net.Uri; import android.os.Bundle; Loading @@ -41,7 +32,6 @@ import android.os.Handler; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; import android.service.notification.NotificationAssistantService; import android.service.notification.StatusBarNotification; import android.util.ArraySet; import android.util.IconDrawableFactory; Loading Loading @@ -81,13 +71,14 @@ import com.android.systemui.statusbar.notification.collection.provider.HighPrior import com.android.systemui.statusbar.notification.collection.render.NotifGutsViewListener; import com.android.systemui.statusbar.notification.collection.render.NotifGutsViewManager; import com.android.systemui.statusbar.notification.headsup.HeadsUpManager; import com.android.systemui.statusbar.notification.row.icon.AppIconProvider; import com.android.systemui.statusbar.notification.row.icon.NotificationIconStyleProvider; import com.android.systemui.statusbar.notification.stack.NotificationListContainer; import com.android.systemui.statusbar.phone.CentralSurfaces; import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.util.kotlin.JavaAdapter; import com.android.systemui.wmshell.BubblesManager; import java.util.List; import java.util.Optional; import javax.inject.Inject; Loading Loading @@ -131,6 +122,8 @@ public class NotificationGutsManager implements NotifGutsViewManager, CoreStarta private final Optional<BubblesManager> mBubblesManagerOptional; private Runnable mOpenRunnable; private final INotificationManager mNotificationManager; private final AppIconProvider mAppIconProvider; private final NotificationIconStyleProvider mIconStyleProvider; private final PeopleSpaceWidgetManager mPeopleSpaceWidgetManager; private final UserManager mUserManager; Loading @@ -154,6 +147,8 @@ public class NotificationGutsManager implements NotifGutsViewManager, CoreStarta AccessibilityManager accessibilityManager, HighPriorityProvider highPriorityProvider, INotificationManager notificationManager, AppIconProvider appIconProvider, NotificationIconStyleProvider iconStyleProvider, UserManager userManager, PeopleSpaceWidgetManager peopleSpaceWidgetManager, LauncherApps launcherApps, Loading @@ -180,6 +175,8 @@ public class NotificationGutsManager implements NotifGutsViewManager, CoreStarta mAccessibilityManager = accessibilityManager; mHighPriorityProvider = highPriorityProvider; mNotificationManager = notificationManager; mAppIconProvider = appIconProvider; mIconStyleProvider = iconStyleProvider; mUserManager = userManager; mPeopleSpaceWidgetManager = peopleSpaceWidgetManager; mLauncherApps = launcherApps; Loading Loading @@ -427,6 +424,8 @@ public class NotificationGutsManager implements NotifGutsViewManager, CoreStarta notificationInfoView.bindNotification( pmUser, mNotificationManager, mAppIconProvider, mIconStyleProvider, mOnUserInteractionCallback, mChannelEditorDialogController, packageName, Loading Loading
packages/SystemUI/aconfig/systemui.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,13 @@ flag { bug: "375010573" } flag { name: "notifications_redesign_guts" namespace: "systemui" description: "Notifications Redesign: Update the look of the notification guts (that appear on long press). This includes using the new cache for app icons." bug: "394822197" } flag { name: "notification_row_content_binder_refactor" namespace: "systemui" Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.kt +12 −0 Original line number Diff line number Diff line Loading @@ -71,6 +71,10 @@ import com.android.systemui.statusbar.notification.collection.provider.HighPrior import com.android.systemui.statusbar.notification.domain.interactor.activeNotificationsInteractor import com.android.systemui.statusbar.notification.headsup.HeadsUpManager import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier import com.android.systemui.statusbar.notification.row.icon.AppIconProvider import com.android.systemui.statusbar.notification.row.icon.NotificationIconStyleProvider import com.android.systemui.statusbar.notification.row.icon.appIconProvider import com.android.systemui.statusbar.notification.row.icon.notificationIconStyleProvider import com.android.systemui.statusbar.notification.stack.NotificationListContainer import com.android.systemui.statusbar.policy.DeviceProvisionedController import com.android.systemui.testKosmos Loading Loading @@ -203,6 +207,8 @@ class NotificationGutsManagerTest(flags: FlagsParameterization) : SysuiTestCase( accessibilityManager, highPriorityProvider, iNotificationManager, kosmos.appIconProvider, kosmos.notificationIconStyleProvider, userManager, peopleSpaceWidgetManager, launcherApps, Loading Loading @@ -512,6 +518,8 @@ class NotificationGutsManagerTest(flags: FlagsParameterization) : SysuiTestCase( .bindNotification( any<PackageManager>(), any<INotificationManager>(), any<AppIconProvider>(), any<NotificationIconStyleProvider>(), eq(onUserInteractionCallback), eq(channelEditorDialogController), eq(statusBarNotification.packageName), Loading Loading @@ -550,6 +558,8 @@ class NotificationGutsManagerTest(flags: FlagsParameterization) : SysuiTestCase( .bindNotification( any<PackageManager>(), any<INotificationManager>(), any<AppIconProvider>(), any<NotificationIconStyleProvider>(), eq(onUserInteractionCallback), eq(channelEditorDialogController), eq(statusBarNotification.packageName), Loading Loading @@ -586,6 +596,8 @@ class NotificationGutsManagerTest(flags: FlagsParameterization) : SysuiTestCase( .bindNotification( any<PackageManager>(), any<INotificationManager>(), any<AppIconProvider>(), any<NotificationIconStyleProvider>(), eq(onUserInteractionCallback), eq(channelEditorDialogController), eq(statusBarNotification.packageName), Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/NotificationInfoTest.kt +8 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,10 @@ import com.android.systemui.statusbar.RankingBuilder import com.android.systemui.statusbar.notification.AssistantFeedbackController import com.android.systemui.statusbar.notification.collection.NotificationEntry import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder import com.android.systemui.statusbar.notification.row.icon.AppIconProvider import com.android.systemui.statusbar.notification.row.icon.NotificationIconStyleProvider import com.android.systemui.statusbar.notification.row.icon.appIconProvider import com.android.systemui.statusbar.notification.row.icon.notificationIconStyleProvider import com.android.telecom.telecomManager import com.google.common.truth.Truth.assertThat import java.util.concurrent.CountDownLatch Loading Loading @@ -862,6 +866,8 @@ class NotificationInfoTest : SysuiTestCase() { private fun bindNotification( pm: PackageManager = this.mockPackageManager, iNotificationManager: INotificationManager = this.mockINotificationManager, appIconProvider: AppIconProvider = kosmos.appIconProvider, iconStyleProvider: NotificationIconStyleProvider = kosmos.notificationIconStyleProvider, onUserInteractionCallback: OnUserInteractionCallback = this.onUserInteractionCallback, channelEditorDialogController: ChannelEditorDialogController = this.channelEditorDialogController, Loading @@ -882,6 +888,8 @@ class NotificationInfoTest : SysuiTestCase() { underTest.bindNotification( pm, iNotificationManager, appIconProvider, iconStyleProvider, onUserInteractionCallback, channelEditorDialogController, pkg, Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/PromotedNotificationInfoTest.java +8 −3 Original line number Diff line number Diff line Loading @@ -48,6 +48,8 @@ import com.android.systemui.res.R; import com.android.systemui.statusbar.notification.AssistantFeedbackController; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder; import com.android.systemui.statusbar.notification.row.icon.AppIconProvider; import com.android.systemui.statusbar.notification.row.icon.NotificationIconStyleProvider; import org.junit.Before; import org.junit.Rule; Loading @@ -57,8 +59,6 @@ import org.mockito.Mock; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; import java.util.concurrent.CountDownLatch; @SmallTest @RunWith(AndroidJUnit4.class) @TestableLooper.RunWithLooper Loading @@ -82,6 +82,10 @@ public class PromotedNotificationInfoTest extends SysuiTestCase { @Mock private INotificationManager mMockINotificationManager; @Mock private AppIconProvider mMockAppIconProvider; @Mock private NotificationIconStyleProvider mMockIconStyleProvider; @Mock private PackageManager mMockPackageManager; @Mock private OnUserInteractionCallback mOnUserInteractionCallback; Loading Loading @@ -127,10 +131,11 @@ public class PromotedNotificationInfoTest extends SysuiTestCase { public void testBindNotification_setsOnClickListenerForFeedback() throws Exception { // Bind the notification to the Info object final CountDownLatch latch = new CountDownLatch(1); mInfo.bindNotification( mMockPackageManager, mMockINotificationManager, mMockAppIconProvider, mMockIconStyleProvider, mOnUserInteractionCallback, mChannelEditorDialogController, TEST_PACKAGE_NAME, Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java +10 −11 Original line number Diff line number Diff line Loading @@ -18,22 +18,13 @@ package com.android.systemui.statusbar.notification.row; import static android.app.AppOpsManager.OP_CAMERA; import static android.app.AppOpsManager.OP_RECORD_AUDIO; import static android.app.AppOpsManager.OP_SYSTEM_ALERT_WINDOW; import static android.service.notification.Adjustment.KEY_SUMMARIZATION; import static android.service.notification.Adjustment.KEY_TYPE; import static android.service.notification.NotificationAssistantService.ACTION_NOTIFICATION_ASSISTANT_FEEDBACK_SETTINGS; import static android.service.notification.NotificationAssistantService.EXTRA_NOTIFICATION_ADJUSTMENT; import static android.service.notification.NotificationAssistantService.EXTRA_NOTIFICATION_KEY; import android.annotation.FlaggedApi; import android.app.INotificationManager; import android.app.NotificationChannel; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.LauncherApps; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.ShortcutManager; import android.net.Uri; import android.os.Bundle; Loading @@ -41,7 +32,6 @@ import android.os.Handler; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; import android.service.notification.NotificationAssistantService; import android.service.notification.StatusBarNotification; import android.util.ArraySet; import android.util.IconDrawableFactory; Loading Loading @@ -81,13 +71,14 @@ import com.android.systemui.statusbar.notification.collection.provider.HighPrior import com.android.systemui.statusbar.notification.collection.render.NotifGutsViewListener; import com.android.systemui.statusbar.notification.collection.render.NotifGutsViewManager; import com.android.systemui.statusbar.notification.headsup.HeadsUpManager; import com.android.systemui.statusbar.notification.row.icon.AppIconProvider; import com.android.systemui.statusbar.notification.row.icon.NotificationIconStyleProvider; import com.android.systemui.statusbar.notification.stack.NotificationListContainer; import com.android.systemui.statusbar.phone.CentralSurfaces; import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.util.kotlin.JavaAdapter; import com.android.systemui.wmshell.BubblesManager; import java.util.List; import java.util.Optional; import javax.inject.Inject; Loading Loading @@ -131,6 +122,8 @@ public class NotificationGutsManager implements NotifGutsViewManager, CoreStarta private final Optional<BubblesManager> mBubblesManagerOptional; private Runnable mOpenRunnable; private final INotificationManager mNotificationManager; private final AppIconProvider mAppIconProvider; private final NotificationIconStyleProvider mIconStyleProvider; private final PeopleSpaceWidgetManager mPeopleSpaceWidgetManager; private final UserManager mUserManager; Loading @@ -154,6 +147,8 @@ public class NotificationGutsManager implements NotifGutsViewManager, CoreStarta AccessibilityManager accessibilityManager, HighPriorityProvider highPriorityProvider, INotificationManager notificationManager, AppIconProvider appIconProvider, NotificationIconStyleProvider iconStyleProvider, UserManager userManager, PeopleSpaceWidgetManager peopleSpaceWidgetManager, LauncherApps launcherApps, Loading @@ -180,6 +175,8 @@ public class NotificationGutsManager implements NotifGutsViewManager, CoreStarta mAccessibilityManager = accessibilityManager; mHighPriorityProvider = highPriorityProvider; mNotificationManager = notificationManager; mAppIconProvider = appIconProvider; mIconStyleProvider = iconStyleProvider; mUserManager = userManager; mPeopleSpaceWidgetManager = peopleSpaceWidgetManager; mLauncherApps = launcherApps; Loading Loading @@ -427,6 +424,8 @@ public class NotificationGutsManager implements NotifGutsViewManager, CoreStarta notificationInfoView.bindNotification( pmUser, mNotificationManager, mAppIconProvider, mIconStyleProvider, mOnUserInteractionCallback, mChannelEditorDialogController, packageName, Loading