Loading packages/SystemUI/src/com/android/systemui/statusbar/pipeline/shared/ui/binder/CollapsedStatusBarViewBinder.kt +49 −21 Original line number Diff line number Diff line Loading @@ -89,6 +89,16 @@ class CollapsedStatusBarViewBinderImpl @Inject constructor() : CollapsedStatusBa launch { viewModel.primaryOngoingActivityChip.collect { primaryChipModel -> OngoingActivityChipBinder.bind(primaryChipModel, primaryChipView) if (StatusBarSimpleFragment.isEnabled) { when (primaryChipModel) { is OngoingActivityChipModel.Shown -> primaryChipView.show(shouldAnimateChange = true) is OngoingActivityChipModel.Hidden -> primaryChipView.hide( shouldAnimateChange = primaryChipModel.shouldAnimate ) } } else { when (primaryChipModel) { is OngoingActivityChipModel.Shown -> listener.onOngoingActivityStatusChanged( Loading @@ -106,6 +116,7 @@ class CollapsedStatusBarViewBinderImpl @Inject constructor() : CollapsedStatusBa } } } } if (Flags.statusBarScreenSharingChips() && Flags.statusBarRonChips()) { val primaryChipView: View = Loading @@ -118,6 +129,13 @@ class CollapsedStatusBarViewBinderImpl @Inject constructor() : CollapsedStatusBa // TODO(b/364653005): Don't show the secondary chip if there isn't // enough space for it. OngoingActivityChipBinder.bind(chips.secondary, secondaryChipView) if (StatusBarSimpleFragment.isEnabled) { primaryChipView.adjustVisibility(chips.primary.toVisibilityModel()) secondaryChipView.adjustVisibility( chips.secondary.toVisibilityModel() ) } else { listener.onOngoingActivityStatusChanged( hasPrimaryOngoingActivity = chips.primary is OngoingActivityChipModel.Shown, Loading @@ -129,6 +147,7 @@ class CollapsedStatusBarViewBinderImpl @Inject constructor() : CollapsedStatusBa } } } } if (SceneContainerFlag.isEnabled) { launch { Loading Loading @@ -164,6 +183,15 @@ class CollapsedStatusBarViewBinderImpl @Inject constructor() : CollapsedStatusBa } } private fun OngoingActivityChipModel.toVisibilityModel(): CollapsedStatusBarViewModel.VisibilityModel { return CollapsedStatusBarViewModel.VisibilityModel( visibility = if (this is OngoingActivityChipModel.Shown) View.VISIBLE else View.GONE, // TODO(b/364653005): Figure out the animation story here. shouldAnimateChange = true, ) } private fun animateLightsOutView(view: View, visible: Boolean) { view.animate().cancel() Loading packages/SystemUI/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/CollapsedStatusBarViewModel.kt +1 −3 Original line number Diff line number Diff line Loading @@ -96,8 +96,6 @@ interface CollapsedStatusBarViewModel { val isNotificationIconContainerVisible: Flow<VisibilityModel> val isSystemInfoVisible: Flow<VisibilityModel> // TODO(b/364360986): Add isOngoingActivityChipVisible: Flow<VisibilityModel> /** * Apps can request a low profile mode [android.view.View.SYSTEM_UI_FLAG_LOW_PROFILE] where * status bar and navigation icons dim. In this mode, a notification dot appears where the Loading Loading @@ -211,7 +209,7 @@ constructor( isStatusBarAllowed && visibilityViaDisableFlags.areNotificationIconsAllowed VisibilityModel( showNotificationIconContainer.toVisibilityInt(), visibilityViaDisableFlags.animate visibilityViaDisableFlags.animate, ) } override val isSystemInfoVisible: Flow<VisibilityModel> = Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/shared/ui/binder/CollapsedStatusBarViewBinder.kt +49 −21 Original line number Diff line number Diff line Loading @@ -89,6 +89,16 @@ class CollapsedStatusBarViewBinderImpl @Inject constructor() : CollapsedStatusBa launch { viewModel.primaryOngoingActivityChip.collect { primaryChipModel -> OngoingActivityChipBinder.bind(primaryChipModel, primaryChipView) if (StatusBarSimpleFragment.isEnabled) { when (primaryChipModel) { is OngoingActivityChipModel.Shown -> primaryChipView.show(shouldAnimateChange = true) is OngoingActivityChipModel.Hidden -> primaryChipView.hide( shouldAnimateChange = primaryChipModel.shouldAnimate ) } } else { when (primaryChipModel) { is OngoingActivityChipModel.Shown -> listener.onOngoingActivityStatusChanged( Loading @@ -106,6 +116,7 @@ class CollapsedStatusBarViewBinderImpl @Inject constructor() : CollapsedStatusBa } } } } if (Flags.statusBarScreenSharingChips() && Flags.statusBarRonChips()) { val primaryChipView: View = Loading @@ -118,6 +129,13 @@ class CollapsedStatusBarViewBinderImpl @Inject constructor() : CollapsedStatusBa // TODO(b/364653005): Don't show the secondary chip if there isn't // enough space for it. OngoingActivityChipBinder.bind(chips.secondary, secondaryChipView) if (StatusBarSimpleFragment.isEnabled) { primaryChipView.adjustVisibility(chips.primary.toVisibilityModel()) secondaryChipView.adjustVisibility( chips.secondary.toVisibilityModel() ) } else { listener.onOngoingActivityStatusChanged( hasPrimaryOngoingActivity = chips.primary is OngoingActivityChipModel.Shown, Loading @@ -129,6 +147,7 @@ class CollapsedStatusBarViewBinderImpl @Inject constructor() : CollapsedStatusBa } } } } if (SceneContainerFlag.isEnabled) { launch { Loading Loading @@ -164,6 +183,15 @@ class CollapsedStatusBarViewBinderImpl @Inject constructor() : CollapsedStatusBa } } private fun OngoingActivityChipModel.toVisibilityModel(): CollapsedStatusBarViewModel.VisibilityModel { return CollapsedStatusBarViewModel.VisibilityModel( visibility = if (this is OngoingActivityChipModel.Shown) View.VISIBLE else View.GONE, // TODO(b/364653005): Figure out the animation story here. shouldAnimateChange = true, ) } private fun animateLightsOutView(view: View, visible: Boolean) { view.animate().cancel() Loading
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/CollapsedStatusBarViewModel.kt +1 −3 Original line number Diff line number Diff line Loading @@ -96,8 +96,6 @@ interface CollapsedStatusBarViewModel { val isNotificationIconContainerVisible: Flow<VisibilityModel> val isSystemInfoVisible: Flow<VisibilityModel> // TODO(b/364360986): Add isOngoingActivityChipVisible: Flow<VisibilityModel> /** * Apps can request a low profile mode [android.view.View.SYSTEM_UI_FLAG_LOW_PROFILE] where * status bar and navigation icons dim. In this mode, a notification dot appears where the Loading Loading @@ -211,7 +209,7 @@ constructor( isStatusBarAllowed && visibilityViaDisableFlags.areNotificationIconsAllowed VisibilityModel( showNotificationIconContainer.toVisibilityInt(), visibilityViaDisableFlags.animate visibilityViaDisableFlags.animate, ) } override val isSystemInfoVisible: Flow<VisibilityModel> = Loading