Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/shelf/ui/viewbinder/NotificationShelfViewBinder.kt +4 −1 Original line number Original line Diff line number Diff line Loading @@ -33,6 +33,7 @@ import com.android.systemui.statusbar.notification.row.ExpandableViewController import com.android.systemui.statusbar.notification.shelf.ui.viewmodel.NotificationShelfViewModel import com.android.systemui.statusbar.notification.shelf.ui.viewmodel.NotificationShelfViewModel import com.android.systemui.statusbar.notification.stack.AmbientState import com.android.systemui.statusbar.notification.stack.AmbientState import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController import com.android.systemui.statusbar.phone.NotificationIconAreaController import com.android.systemui.statusbar.phone.NotificationIconContainer import com.android.systemui.statusbar.phone.NotificationIconContainer import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent.CentralSurfacesScope import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent.CentralSurfacesScope import com.android.systemui.util.kotlin.getValue import com.android.systemui.util.kotlin.getValue Loading @@ -58,6 +59,7 @@ constructor( private val a11yManager: AccessibilityManager, private val a11yManager: AccessibilityManager, private val falsingManager: FalsingManager, private val falsingManager: FalsingManager, hostControllerLazy: Lazy<NotificationStackScrollLayoutController>, hostControllerLazy: Lazy<NotificationStackScrollLayoutController>, private val notificationIconAreaController: NotificationIconAreaController, ) : NotificationShelfController { ) : NotificationShelfController { private val hostController: NotificationStackScrollLayoutController by hostControllerLazy private val hostController: NotificationStackScrollLayoutController by hostControllerLazy Loading Loading @@ -87,13 +89,14 @@ constructor( hostController.setOnNotificationRemovedListener { child, _ -> hostController.setOnNotificationRemovedListener { child, _ -> view.requestRoundnessResetFor(child) view.requestRoundnessResetFor(child) } } notificationIconAreaController.setShelfIcons(shelf.shelfIcons) } } override val intrinsicHeight: Int override val intrinsicHeight: Int get() = shelf.intrinsicHeight get() = shelf.intrinsicHeight override val shelfIcons: NotificationIconContainer override val shelfIcons: NotificationIconContainer get() = shelf.shelfIcons get() = unsupported override fun canModifyColorOfNotifications(): Boolean = unsupported override fun canModifyColorOfNotifications(): Boolean = unsupported Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java +3 −1 Original line number Original line Diff line number Diff line Loading @@ -1253,7 +1253,9 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { // TODO: Deal with the ugliness that comes from having some of the status bar broken out // TODO: Deal with the ugliness that comes from having some of the status bar broken out // into fragments, but the rest here, it leaves some awkward lifecycle and whatnot. // into fragments, but the rest here, it leaves some awkward lifecycle and whatnot. if (!mFeatureFlags.isEnabled(Flags.NOTIFICATION_SHELF_REFACTOR)) { mNotificationIconAreaController.setupShelf(mNotificationShelfController); mNotificationIconAreaController.setupShelf(mNotificationShelfController); } mShadeExpansionStateManager.addExpansionListener(mWakeUpCoordinator); mShadeExpansionStateManager.addExpansionListener(mWakeUpCoordinator); // Allow plugins to reference DarkIconDispatcher and StatusBarStateController // Allow plugins to reference DarkIconDispatcher and StatusBarStateController Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java +12 −1 Original line number Original line Diff line number Diff line Loading @@ -23,6 +23,7 @@ import com.android.systemui.animation.Interpolators; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.demomode.DemoMode; import com.android.systemui.demomode.DemoMode; import com.android.systemui.demomode.DemoModeController; import com.android.systemui.demomode.DemoModeController; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController; Loading Loading @@ -92,6 +93,8 @@ public class NotificationIconAreaController implements private final DemoModeController mDemoModeController; private final DemoModeController mDemoModeController; private final FeatureFlags mFeatureFlags; private int mAodIconAppearTranslation; private int mAodIconAppearTranslation; private boolean mAnimationsEnabled; private boolean mAnimationsEnabled; Loading Loading @@ -122,11 +125,12 @@ public class NotificationIconAreaController implements Optional<Bubbles> bubblesOptional, Optional<Bubbles> bubblesOptional, DemoModeController demoModeController, DemoModeController demoModeController, DarkIconDispatcher darkIconDispatcher, DarkIconDispatcher darkIconDispatcher, StatusBarWindowController statusBarWindowController, FeatureFlags featureFlags, StatusBarWindowController statusBarWindowController, ScreenOffAnimationController screenOffAnimationController) { ScreenOffAnimationController screenOffAnimationController) { mContrastColorUtil = ContrastColorUtil.getInstance(context); mContrastColorUtil = ContrastColorUtil.getInstance(context); mContext = context; mContext = context; mStatusBarStateController = statusBarStateController; mStatusBarStateController = statusBarStateController; mFeatureFlags = featureFlags; mStatusBarStateController.addCallback(this); mStatusBarStateController.addCallback(this); mMediaManager = notificationMediaManager; mMediaManager = notificationMediaManager; mDozeParameters = dozeParameters; mDozeParameters = dozeParameters; Loading Loading @@ -192,9 +196,16 @@ public class NotificationIconAreaController implements } } public void setupShelf(NotificationShelfController notificationShelfController) { public void setupShelf(NotificationShelfController notificationShelfController) { NotificationShelfController.assertRefactorFlagDisabled(mFeatureFlags); mShelfIcons = notificationShelfController.getShelfIcons(); mShelfIcons = notificationShelfController.getShelfIcons(); } } public void setShelfIcons(NotificationIconContainer icons) { if (NotificationShelfController.checkRefactorFlagEnabled(mFeatureFlags)) { mShelfIcons = icons; } } public void onDensityOrFontScaleChanged(Context context) { public void onDensityOrFontScaleChanged(Context context) { updateIconLayoutParams(context); updateIconLayoutParams(context); } } Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerTest.java +4 −0 Original line number Original line Diff line number Diff line Loading @@ -27,6 +27,7 @@ import androidx.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; import com.android.systemui.SysuiTestCase; import com.android.systemui.demomode.DemoModeController; import com.android.systemui.demomode.DemoModeController; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.NotificationListener; import com.android.systemui.statusbar.NotificationListener; Loading Loading @@ -75,6 +76,8 @@ public class NotificationIconAreaControllerTest extends SysuiTestCase { @Mock private DemoModeController mDemoModeController; @Mock private DemoModeController mDemoModeController; @Mock @Mock private NotificationIconContainer mAodIcons; private NotificationIconContainer mAodIcons; @Mock private FeatureFlags mFeatureFlags; @Before @Before public void setup() { public void setup() { Loading @@ -91,6 +94,7 @@ public class NotificationIconAreaControllerTest extends SysuiTestCase { Optional.of(mBubbles), Optional.of(mBubbles), mDemoModeController, mDemoModeController, mDarkIconDispatcher, mDarkIconDispatcher, mFeatureFlags, mStatusBarWindowController, mStatusBarWindowController, mScreenOffAnimationController); mScreenOffAnimationController); } } Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/shelf/ui/viewbinder/NotificationShelfViewBinder.kt +4 −1 Original line number Original line Diff line number Diff line Loading @@ -33,6 +33,7 @@ import com.android.systemui.statusbar.notification.row.ExpandableViewController import com.android.systemui.statusbar.notification.shelf.ui.viewmodel.NotificationShelfViewModel import com.android.systemui.statusbar.notification.shelf.ui.viewmodel.NotificationShelfViewModel import com.android.systemui.statusbar.notification.stack.AmbientState import com.android.systemui.statusbar.notification.stack.AmbientState import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController import com.android.systemui.statusbar.phone.NotificationIconAreaController import com.android.systemui.statusbar.phone.NotificationIconContainer import com.android.systemui.statusbar.phone.NotificationIconContainer import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent.CentralSurfacesScope import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent.CentralSurfacesScope import com.android.systemui.util.kotlin.getValue import com.android.systemui.util.kotlin.getValue Loading @@ -58,6 +59,7 @@ constructor( private val a11yManager: AccessibilityManager, private val a11yManager: AccessibilityManager, private val falsingManager: FalsingManager, private val falsingManager: FalsingManager, hostControllerLazy: Lazy<NotificationStackScrollLayoutController>, hostControllerLazy: Lazy<NotificationStackScrollLayoutController>, private val notificationIconAreaController: NotificationIconAreaController, ) : NotificationShelfController { ) : NotificationShelfController { private val hostController: NotificationStackScrollLayoutController by hostControllerLazy private val hostController: NotificationStackScrollLayoutController by hostControllerLazy Loading Loading @@ -87,13 +89,14 @@ constructor( hostController.setOnNotificationRemovedListener { child, _ -> hostController.setOnNotificationRemovedListener { child, _ -> view.requestRoundnessResetFor(child) view.requestRoundnessResetFor(child) } } notificationIconAreaController.setShelfIcons(shelf.shelfIcons) } } override val intrinsicHeight: Int override val intrinsicHeight: Int get() = shelf.intrinsicHeight get() = shelf.intrinsicHeight override val shelfIcons: NotificationIconContainer override val shelfIcons: NotificationIconContainer get() = shelf.shelfIcons get() = unsupported override fun canModifyColorOfNotifications(): Boolean = unsupported override fun canModifyColorOfNotifications(): Boolean = unsupported Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java +3 −1 Original line number Original line Diff line number Diff line Loading @@ -1253,7 +1253,9 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { // TODO: Deal with the ugliness that comes from having some of the status bar broken out // TODO: Deal with the ugliness that comes from having some of the status bar broken out // into fragments, but the rest here, it leaves some awkward lifecycle and whatnot. // into fragments, but the rest here, it leaves some awkward lifecycle and whatnot. if (!mFeatureFlags.isEnabled(Flags.NOTIFICATION_SHELF_REFACTOR)) { mNotificationIconAreaController.setupShelf(mNotificationShelfController); mNotificationIconAreaController.setupShelf(mNotificationShelfController); } mShadeExpansionStateManager.addExpansionListener(mWakeUpCoordinator); mShadeExpansionStateManager.addExpansionListener(mWakeUpCoordinator); // Allow plugins to reference DarkIconDispatcher and StatusBarStateController // Allow plugins to reference DarkIconDispatcher and StatusBarStateController Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java +12 −1 Original line number Original line Diff line number Diff line Loading @@ -23,6 +23,7 @@ import com.android.systemui.animation.Interpolators; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.demomode.DemoMode; import com.android.systemui.demomode.DemoMode; import com.android.systemui.demomode.DemoModeController; import com.android.systemui.demomode.DemoModeController; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController; Loading Loading @@ -92,6 +93,8 @@ public class NotificationIconAreaController implements private final DemoModeController mDemoModeController; private final DemoModeController mDemoModeController; private final FeatureFlags mFeatureFlags; private int mAodIconAppearTranslation; private int mAodIconAppearTranslation; private boolean mAnimationsEnabled; private boolean mAnimationsEnabled; Loading Loading @@ -122,11 +125,12 @@ public class NotificationIconAreaController implements Optional<Bubbles> bubblesOptional, Optional<Bubbles> bubblesOptional, DemoModeController demoModeController, DemoModeController demoModeController, DarkIconDispatcher darkIconDispatcher, DarkIconDispatcher darkIconDispatcher, StatusBarWindowController statusBarWindowController, FeatureFlags featureFlags, StatusBarWindowController statusBarWindowController, ScreenOffAnimationController screenOffAnimationController) { ScreenOffAnimationController screenOffAnimationController) { mContrastColorUtil = ContrastColorUtil.getInstance(context); mContrastColorUtil = ContrastColorUtil.getInstance(context); mContext = context; mContext = context; mStatusBarStateController = statusBarStateController; mStatusBarStateController = statusBarStateController; mFeatureFlags = featureFlags; mStatusBarStateController.addCallback(this); mStatusBarStateController.addCallback(this); mMediaManager = notificationMediaManager; mMediaManager = notificationMediaManager; mDozeParameters = dozeParameters; mDozeParameters = dozeParameters; Loading Loading @@ -192,9 +196,16 @@ public class NotificationIconAreaController implements } } public void setupShelf(NotificationShelfController notificationShelfController) { public void setupShelf(NotificationShelfController notificationShelfController) { NotificationShelfController.assertRefactorFlagDisabled(mFeatureFlags); mShelfIcons = notificationShelfController.getShelfIcons(); mShelfIcons = notificationShelfController.getShelfIcons(); } } public void setShelfIcons(NotificationIconContainer icons) { if (NotificationShelfController.checkRefactorFlagEnabled(mFeatureFlags)) { mShelfIcons = icons; } } public void onDensityOrFontScaleChanged(Context context) { public void onDensityOrFontScaleChanged(Context context) { updateIconLayoutParams(context); updateIconLayoutParams(context); } } Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerTest.java +4 −0 Original line number Original line Diff line number Diff line Loading @@ -27,6 +27,7 @@ import androidx.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; import com.android.systemui.SysuiTestCase; import com.android.systemui.demomode.DemoModeController; import com.android.systemui.demomode.DemoModeController; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.DarkIconDispatcher; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.NotificationListener; import com.android.systemui.statusbar.NotificationListener; Loading Loading @@ -75,6 +76,8 @@ public class NotificationIconAreaControllerTest extends SysuiTestCase { @Mock private DemoModeController mDemoModeController; @Mock private DemoModeController mDemoModeController; @Mock @Mock private NotificationIconContainer mAodIcons; private NotificationIconContainer mAodIcons; @Mock private FeatureFlags mFeatureFlags; @Before @Before public void setup() { public void setup() { Loading @@ -91,6 +94,7 @@ public class NotificationIconAreaControllerTest extends SysuiTestCase { Optional.of(mBubbles), Optional.of(mBubbles), mDemoModeController, mDemoModeController, mDarkIconDispatcher, mDarkIconDispatcher, mFeatureFlags, mStatusBarWindowController, mStatusBarWindowController, mScreenOffAnimationController); mScreenOffAnimationController); } } Loading