Loading packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/FakeHomeStatusBarViewModel.kt +2 −4 Original line number Original line Diff line number Diff line Loading @@ -31,7 +31,7 @@ import kotlinx.coroutines.flow.MutableStateFlow class FakeHomeStatusBarViewModel( class FakeHomeStatusBarViewModel( override val operatorNameViewModel: StatusBarOperatorNameViewModel override val operatorNameViewModel: StatusBarOperatorNameViewModel ) : HomeStatusBarViewModel { ) : HomeStatusBarViewModel { private val areNotificationLightsOut = MutableStateFlow(false) override val areNotificationsLightsOut = MutableStateFlow(false) override val isTransitioningFromLockscreenToOccluded = MutableStateFlow(false) override val isTransitioningFromLockscreenToOccluded = MutableStateFlow(false) Loading Loading @@ -77,14 +77,12 @@ class FakeHomeStatusBarViewModel( override val iconBlockList: MutableStateFlow<List<String>> = MutableStateFlow(listOf()) override val iconBlockList: MutableStateFlow<List<String>> = MutableStateFlow(listOf()) override fun areNotificationsLightsOut(displayId: Int): Flow<Boolean> = areNotificationLightsOut val darkRegions = mutableListOf<Rect>() val darkRegions = mutableListOf<Rect>() var darkIconTint = Color.BLACK var darkIconTint = Color.BLACK var lightIconTint = Color.WHITE var lightIconTint = Color.WHITE override fun areaTint(displayId: Int): Flow<StatusBarTintColor> = override val areaTint: Flow<StatusBarTintColor> = MutableStateFlow( MutableStateFlow( StatusBarTintColor { viewBounds -> StatusBarTintColor { viewBounds -> if (DarkIconDispatcher.isInAreas(darkRegions, viewBounds)) { if (DarkIconDispatcher.isInAreas(darkRegions, viewBounds)) { Loading packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/HomeStatusBarViewModelImplTest.kt +12 −12 Original line number Original line Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.app.StatusBarManager.DISABLE_CLOCK import android.app.StatusBarManager.DISABLE_NONE import android.app.StatusBarManager.DISABLE_NONE import android.app.StatusBarManager.DISABLE_NOTIFICATION_ICONS import android.app.StatusBarManager.DISABLE_NOTIFICATION_ICONS import android.app.StatusBarManager.DISABLE_SYSTEM_INFO import android.app.StatusBarManager.DISABLE_SYSTEM_INFO import android.content.testableContext import android.graphics.Rect import android.graphics.Rect import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.EnableFlags import android.platform.test.annotations.EnableFlags Loading Loading @@ -59,7 +60,6 @@ import com.android.systemui.statusbar.chips.ui.model.OngoingActivityChipModel import com.android.systemui.statusbar.chips.ui.viewmodel.OngoingActivityChipsViewModelTest.Companion.assertIsScreenRecordChip import com.android.systemui.statusbar.chips.ui.viewmodel.OngoingActivityChipsViewModelTest.Companion.assertIsScreenRecordChip import com.android.systemui.statusbar.chips.ui.viewmodel.OngoingActivityChipsViewModelTest.Companion.assertIsShareToAppChip import com.android.systemui.statusbar.chips.ui.viewmodel.OngoingActivityChipsViewModelTest.Companion.assertIsShareToAppChip import com.android.systemui.statusbar.data.model.StatusBarMode import com.android.systemui.statusbar.data.model.StatusBarMode import com.android.systemui.statusbar.data.repository.FakeStatusBarModeRepository.Companion.DISPLAY_ID import com.android.systemui.statusbar.data.repository.fakeStatusBarModeRepository import com.android.systemui.statusbar.data.repository.fakeStatusBarModeRepository import com.android.systemui.statusbar.disableflags.data.repository.fakeDisableFlagsRepository import com.android.systemui.statusbar.disableflags.data.repository.fakeDisableFlagsRepository import com.android.systemui.statusbar.disableflags.shared.model.DisableFlagsModel import com.android.systemui.statusbar.disableflags.shared.model.DisableFlagsModel Loading Loading @@ -363,7 +363,7 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { activeNotificationListRepository.activeNotifications.value = activeNotificationListRepository.activeNotifications.value = activeNotificationsStore(testNotifications) activeNotificationsStore(testNotifications) val actual by collectLastValue(underTest.areNotificationsLightsOut(DISPLAY_ID)) val actual by collectLastValue(underTest.areNotificationsLightsOut) assertThat(actual).isTrue() assertThat(actual).isTrue() } } Loading @@ -377,7 +377,7 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { activeNotificationListRepository.activeNotifications.value = activeNotificationListRepository.activeNotifications.value = activeNotificationsStore(emptyList()) activeNotificationsStore(emptyList()) val actual by collectLastValue(underTest.areNotificationsLightsOut(DISPLAY_ID)) val actual by collectLastValue(underTest.areNotificationsLightsOut) assertThat(actual).isFalse() assertThat(actual).isFalse() } } Loading @@ -391,7 +391,7 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { activeNotificationListRepository.activeNotifications.value = activeNotificationListRepository.activeNotifications.value = activeNotificationsStore(emptyList()) activeNotificationsStore(emptyList()) val actual by collectLastValue(underTest.areNotificationsLightsOut(DISPLAY_ID)) val actual by collectLastValue(underTest.areNotificationsLightsOut) assertThat(actual).isFalse() assertThat(actual).isFalse() } } Loading @@ -405,7 +405,7 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { activeNotificationListRepository.activeNotifications.value = activeNotificationListRepository.activeNotifications.value = activeNotificationsStore(testNotifications) activeNotificationsStore(testNotifications) val actual by collectLastValue(underTest.areNotificationsLightsOut(DISPLAY_ID)) val actual by collectLastValue(underTest.areNotificationsLightsOut) assertThat(actual).isFalse() assertThat(actual).isFalse() } } Loading @@ -415,7 +415,7 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { fun areNotificationsLightsOut_requiresFlagEnabled() = fun areNotificationsLightsOut_requiresFlagEnabled() = kosmos.runTest { kosmos.runTest { assertLogsWtf { assertLogsWtf { val flow = underTest.areNotificationsLightsOut(DISPLAY_ID) val flow = underTest.areNotificationsLightsOut assertThat(flow).isEqualTo(emptyFlow<Boolean>()) assertThat(flow).isEqualTo(emptyFlow<Boolean>()) } } } } Loading Loading @@ -1005,11 +1005,11 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { @Test @Test fun areaTint_viewIsInDarkBounds_getsDarkTint() = fun areaTint_viewIsInDarkBounds_getsDarkTint() = kosmos.runTest { kosmos.runTest { val displayId = 321 val displayId = testableContext.displayId fakeDarkIconRepository.darkState(displayId).value = fakeDarkIconRepository.darkState(displayId).value = SysuiDarkIconDispatcher.DarkChange(listOf(Rect(0, 0, 5, 5)), 0f, 0xAABBCC) SysuiDarkIconDispatcher.DarkChange(listOf(Rect(0, 0, 5, 5)), 0f, 0xAABBCC) val areaTint by collectLastValue(underTest.areaTint(displayId)) val areaTint by collectLastValue(underTest.areaTint) val tint = areaTint?.tint(Rect(1, 1, 3, 3)) val tint = areaTint?.tint(Rect(1, 1, 3, 3)) Loading @@ -1019,11 +1019,11 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { @Test @Test fun areaTint_viewIsNotInDarkBounds_getsDefaultTint() = fun areaTint_viewIsNotInDarkBounds_getsDefaultTint() = kosmos.runTest { kosmos.runTest { val displayId = 321 val displayId = testableContext.displayId fakeDarkIconRepository.darkState(displayId).value = fakeDarkIconRepository.darkState(displayId).value = SysuiDarkIconDispatcher.DarkChange(listOf(Rect(0, 0, 5, 5)), 0f, 0xAABBCC) SysuiDarkIconDispatcher.DarkChange(listOf(Rect(0, 0, 5, 5)), 0f, 0xAABBCC) val areaTint by collectLastValue(underTest.areaTint(displayId)) val areaTint by collectLastValue(underTest.areaTint) val tint = areaTint?.tint(Rect(6, 6, 7, 7)) val tint = areaTint?.tint(Rect(6, 6, 7, 7)) Loading @@ -1033,11 +1033,11 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { @Test @Test fun areaTint_viewIsInDarkBounds_darkBoundsChange_viewUpdates() = fun areaTint_viewIsInDarkBounds_darkBoundsChange_viewUpdates() = kosmos.runTest { kosmos.runTest { val displayId = 321 val displayId = testableContext.displayId fakeDarkIconRepository.darkState(displayId).value = fakeDarkIconRepository.darkState(displayId).value = SysuiDarkIconDispatcher.DarkChange(listOf(Rect(0, 0, 5, 5)), 0f, 0xAABBCC) SysuiDarkIconDispatcher.DarkChange(listOf(Rect(0, 0, 5, 5)), 0f, 0xAABBCC) val areaTint by collectLastValue(underTest.areaTint(displayId)) val areaTint by collectLastValue(underTest.areaTint) var tint = areaTint?.tint(Rect(1, 1, 3, 3)) var tint = areaTint?.tint(Rect(1, 1, 3, 3)) Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java +7 −3 Original line number Original line Diff line number Diff line Loading @@ -81,6 +81,7 @@ import com.android.systemui.statusbar.phone.ui.StatusBarIconController; import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinder; import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinder; import com.android.systemui.statusbar.pipeline.shared.ui.binder.StatusBarVisibilityChangeListener; import com.android.systemui.statusbar.pipeline.shared.ui.binder.StatusBarVisibilityChangeListener; import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel; import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel; import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel.HomeStatusBarViewModelFactory; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.window.StatusBarWindowController; import com.android.systemui.statusbar.window.StatusBarWindowController; import com.android.systemui.statusbar.window.StatusBarWindowControllerStore; import com.android.systemui.statusbar.window.StatusBarWindowControllerStore; Loading Loading @@ -142,6 +143,8 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue private StatusBarVisibilityModel mLastModifiedVisibility = private StatusBarVisibilityModel mLastModifiedVisibility = StatusBarVisibilityModel.createDefaultModel(); StatusBarVisibilityModel.createDefaultModel(); private DarkIconManager mDarkIconManager; private DarkIconManager mDarkIconManager; private HomeStatusBarViewModel mHomeStatusBarViewModel; private final HomeStatusBarComponent.Factory mHomeStatusBarComponentFactory; private final HomeStatusBarComponent.Factory mHomeStatusBarComponentFactory; private final CommandQueue mCommandQueue; private final CommandQueue mCommandQueue; private final CollapsedStatusBarFragmentLogger mCollapsedStatusBarFragmentLogger; private final CollapsedStatusBarFragmentLogger mCollapsedStatusBarFragmentLogger; Loading @@ -151,8 +154,8 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue private final ShadeExpansionStateManager mShadeExpansionStateManager; private final ShadeExpansionStateManager mShadeExpansionStateManager; private final StatusBarIconController mStatusBarIconController; private final StatusBarIconController mStatusBarIconController; private final CarrierConfigTracker mCarrierConfigTracker; private final CarrierConfigTracker mCarrierConfigTracker; private final HomeStatusBarViewModel mHomeStatusBarViewModel; private final HomeStatusBarViewBinder mHomeStatusBarViewBinder; private final HomeStatusBarViewBinder mHomeStatusBarViewBinder; private final HomeStatusBarViewModelFactory mHomeStatusBarViewModelFactory; private final StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager; private final StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager; private final DarkIconManager.Factory mDarkIconManagerFactory; private final DarkIconManager.Factory mDarkIconManagerFactory; private final SecureSettings mSecureSettings; private final SecureSettings mSecureSettings; Loading Loading @@ -256,7 +259,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue ShadeExpansionStateManager shadeExpansionStateManager, ShadeExpansionStateManager shadeExpansionStateManager, StatusBarIconController statusBarIconController, StatusBarIconController statusBarIconController, DarkIconManager.Factory darkIconManagerFactory, DarkIconManager.Factory darkIconManagerFactory, HomeStatusBarViewModel homeStatusBarViewModel, HomeStatusBarViewModelFactory homeStatusBarViewModelFactory, HomeStatusBarViewBinder homeStatusBarViewBinder, HomeStatusBarViewBinder homeStatusBarViewBinder, StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager, StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager, KeyguardStateController keyguardStateController, KeyguardStateController keyguardStateController, Loading @@ -281,7 +284,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue mAnimationScheduler = animationScheduler; mAnimationScheduler = animationScheduler; mShadeExpansionStateManager = shadeExpansionStateManager; mShadeExpansionStateManager = shadeExpansionStateManager; mStatusBarIconController = statusBarIconController; mStatusBarIconController = statusBarIconController; mHomeStatusBarViewModel = homeStatusBarViewModel; mHomeStatusBarViewModelFactory = homeStatusBarViewModelFactory; mHomeStatusBarViewBinder = homeStatusBarViewBinder; mHomeStatusBarViewBinder = homeStatusBarViewBinder; mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager; mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager; mDarkIconManagerFactory = darkIconManagerFactory; mDarkIconManagerFactory = darkIconManagerFactory; Loading Loading @@ -410,6 +413,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue mCarrierConfigTracker.addCallback(mCarrierConfigCallback); mCarrierConfigTracker.addCallback(mCarrierConfigCallback); mCarrierConfigTracker.addDefaultDataSubscriptionChangedListener(mDefaultDataListener); mCarrierConfigTracker.addDefaultDataSubscriptionChangedListener(mDefaultDataListener); mHomeStatusBarViewModel = mHomeStatusBarViewModelFactory.create(displayId); mHomeStatusBarViewBinder.bind( mHomeStatusBarViewBinder.bind( view.getContext().getDisplayId(), view.getContext().getDisplayId(), mStatusBar, mStatusBar, Loading packages/SystemUI/src/com/android/systemui/statusbar/pipeline/dagger/StatusBarPipelineModule.kt +5 −3 Original line number Original line Diff line number Diff line Loading @@ -56,8 +56,8 @@ import com.android.systemui.statusbar.pipeline.shared.data.repository.Connectivi import com.android.systemui.statusbar.pipeline.shared.data.repository.ConnectivityRepositoryImpl import com.android.systemui.statusbar.pipeline.shared.data.repository.ConnectivityRepositoryImpl import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinder import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinder import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinderImpl import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinderImpl import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel.HomeStatusBarViewModelFactory import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModelImpl import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModelImpl.HomeStatusBarViewModelFactoryImpl import com.android.systemui.statusbar.pipeline.wifi.data.repository.RealWifiRepository import com.android.systemui.statusbar.pipeline.wifi.data.repository.RealWifiRepository import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepository import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepository import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositorySwitcher import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositorySwitcher Loading Loading @@ -148,7 +148,9 @@ abstract class StatusBarPipelineModule { abstract fun bindCarrierConfigStartable(impl: CarrierConfigCoreStartable): CoreStartable abstract fun bindCarrierConfigStartable(impl: CarrierConfigCoreStartable): CoreStartable @Binds @Binds abstract fun homeStatusBarViewModel(impl: HomeStatusBarViewModelImpl): HomeStatusBarViewModel abstract fun homeStatusBarViewModelFactory( impl: HomeStatusBarViewModelFactoryImpl ): HomeStatusBarViewModelFactory @Binds @Binds abstract fun homeStatusBarViewBinder(impl: HomeStatusBarViewBinderImpl): HomeStatusBarViewBinder abstract fun homeStatusBarViewBinder(impl: HomeStatusBarViewBinderImpl): HomeStatusBarViewBinder Loading packages/SystemUI/src/com/android/systemui/statusbar/pipeline/shared/ui/binder/HomeStatusBarViewBinder.kt +2 −3 Original line number Original line Diff line number Diff line Loading @@ -107,10 +107,9 @@ constructor( } } if (NotificationsLiveDataStoreRefactor.isEnabled) { if (NotificationsLiveDataStoreRefactor.isEnabled) { val displayId = view.display.displayId val lightsOutView: View = view.requireViewById(R.id.notification_lights_out) val lightsOutView: View = view.requireViewById(R.id.notification_lights_out) launch { launch { viewModel.areNotificationsLightsOut(displayId).collect { show -> viewModel.areNotificationsLightsOut.collect { show -> animateLightsOutView(lightsOutView, show) animateLightsOutView(lightsOutView, show) } } } } Loading Loading @@ -218,7 +217,7 @@ constructor( StatusBarOperatorNameViewBinder.bind( StatusBarOperatorNameViewBinder.bind( operatorNameView, operatorNameView, viewModel.operatorNameViewModel, viewModel.operatorNameViewModel, viewModel::areaTint, viewModel.areaTint, ) ) launch { launch { viewModel.shouldShowOperatorNameView.collect { viewModel.shouldShowOperatorNameView.collect { Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/FakeHomeStatusBarViewModel.kt +2 −4 Original line number Original line Diff line number Diff line Loading @@ -31,7 +31,7 @@ import kotlinx.coroutines.flow.MutableStateFlow class FakeHomeStatusBarViewModel( class FakeHomeStatusBarViewModel( override val operatorNameViewModel: StatusBarOperatorNameViewModel override val operatorNameViewModel: StatusBarOperatorNameViewModel ) : HomeStatusBarViewModel { ) : HomeStatusBarViewModel { private val areNotificationLightsOut = MutableStateFlow(false) override val areNotificationsLightsOut = MutableStateFlow(false) override val isTransitioningFromLockscreenToOccluded = MutableStateFlow(false) override val isTransitioningFromLockscreenToOccluded = MutableStateFlow(false) Loading Loading @@ -77,14 +77,12 @@ class FakeHomeStatusBarViewModel( override val iconBlockList: MutableStateFlow<List<String>> = MutableStateFlow(listOf()) override val iconBlockList: MutableStateFlow<List<String>> = MutableStateFlow(listOf()) override fun areNotificationsLightsOut(displayId: Int): Flow<Boolean> = areNotificationLightsOut val darkRegions = mutableListOf<Rect>() val darkRegions = mutableListOf<Rect>() var darkIconTint = Color.BLACK var darkIconTint = Color.BLACK var lightIconTint = Color.WHITE var lightIconTint = Color.WHITE override fun areaTint(displayId: Int): Flow<StatusBarTintColor> = override val areaTint: Flow<StatusBarTintColor> = MutableStateFlow( MutableStateFlow( StatusBarTintColor { viewBounds -> StatusBarTintColor { viewBounds -> if (DarkIconDispatcher.isInAreas(darkRegions, viewBounds)) { if (DarkIconDispatcher.isInAreas(darkRegions, viewBounds)) { Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/HomeStatusBarViewModelImplTest.kt +12 −12 Original line number Original line Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.app.StatusBarManager.DISABLE_CLOCK import android.app.StatusBarManager.DISABLE_NONE import android.app.StatusBarManager.DISABLE_NONE import android.app.StatusBarManager.DISABLE_NOTIFICATION_ICONS import android.app.StatusBarManager.DISABLE_NOTIFICATION_ICONS import android.app.StatusBarManager.DISABLE_SYSTEM_INFO import android.app.StatusBarManager.DISABLE_SYSTEM_INFO import android.content.testableContext import android.graphics.Rect import android.graphics.Rect import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.EnableFlags import android.platform.test.annotations.EnableFlags Loading Loading @@ -59,7 +60,6 @@ import com.android.systemui.statusbar.chips.ui.model.OngoingActivityChipModel import com.android.systemui.statusbar.chips.ui.viewmodel.OngoingActivityChipsViewModelTest.Companion.assertIsScreenRecordChip import com.android.systemui.statusbar.chips.ui.viewmodel.OngoingActivityChipsViewModelTest.Companion.assertIsScreenRecordChip import com.android.systemui.statusbar.chips.ui.viewmodel.OngoingActivityChipsViewModelTest.Companion.assertIsShareToAppChip import com.android.systemui.statusbar.chips.ui.viewmodel.OngoingActivityChipsViewModelTest.Companion.assertIsShareToAppChip import com.android.systemui.statusbar.data.model.StatusBarMode import com.android.systemui.statusbar.data.model.StatusBarMode import com.android.systemui.statusbar.data.repository.FakeStatusBarModeRepository.Companion.DISPLAY_ID import com.android.systemui.statusbar.data.repository.fakeStatusBarModeRepository import com.android.systemui.statusbar.data.repository.fakeStatusBarModeRepository import com.android.systemui.statusbar.disableflags.data.repository.fakeDisableFlagsRepository import com.android.systemui.statusbar.disableflags.data.repository.fakeDisableFlagsRepository import com.android.systemui.statusbar.disableflags.shared.model.DisableFlagsModel import com.android.systemui.statusbar.disableflags.shared.model.DisableFlagsModel Loading Loading @@ -363,7 +363,7 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { activeNotificationListRepository.activeNotifications.value = activeNotificationListRepository.activeNotifications.value = activeNotificationsStore(testNotifications) activeNotificationsStore(testNotifications) val actual by collectLastValue(underTest.areNotificationsLightsOut(DISPLAY_ID)) val actual by collectLastValue(underTest.areNotificationsLightsOut) assertThat(actual).isTrue() assertThat(actual).isTrue() } } Loading @@ -377,7 +377,7 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { activeNotificationListRepository.activeNotifications.value = activeNotificationListRepository.activeNotifications.value = activeNotificationsStore(emptyList()) activeNotificationsStore(emptyList()) val actual by collectLastValue(underTest.areNotificationsLightsOut(DISPLAY_ID)) val actual by collectLastValue(underTest.areNotificationsLightsOut) assertThat(actual).isFalse() assertThat(actual).isFalse() } } Loading @@ -391,7 +391,7 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { activeNotificationListRepository.activeNotifications.value = activeNotificationListRepository.activeNotifications.value = activeNotificationsStore(emptyList()) activeNotificationsStore(emptyList()) val actual by collectLastValue(underTest.areNotificationsLightsOut(DISPLAY_ID)) val actual by collectLastValue(underTest.areNotificationsLightsOut) assertThat(actual).isFalse() assertThat(actual).isFalse() } } Loading @@ -405,7 +405,7 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { activeNotificationListRepository.activeNotifications.value = activeNotificationListRepository.activeNotifications.value = activeNotificationsStore(testNotifications) activeNotificationsStore(testNotifications) val actual by collectLastValue(underTest.areNotificationsLightsOut(DISPLAY_ID)) val actual by collectLastValue(underTest.areNotificationsLightsOut) assertThat(actual).isFalse() assertThat(actual).isFalse() } } Loading @@ -415,7 +415,7 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { fun areNotificationsLightsOut_requiresFlagEnabled() = fun areNotificationsLightsOut_requiresFlagEnabled() = kosmos.runTest { kosmos.runTest { assertLogsWtf { assertLogsWtf { val flow = underTest.areNotificationsLightsOut(DISPLAY_ID) val flow = underTest.areNotificationsLightsOut assertThat(flow).isEqualTo(emptyFlow<Boolean>()) assertThat(flow).isEqualTo(emptyFlow<Boolean>()) } } } } Loading Loading @@ -1005,11 +1005,11 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { @Test @Test fun areaTint_viewIsInDarkBounds_getsDarkTint() = fun areaTint_viewIsInDarkBounds_getsDarkTint() = kosmos.runTest { kosmos.runTest { val displayId = 321 val displayId = testableContext.displayId fakeDarkIconRepository.darkState(displayId).value = fakeDarkIconRepository.darkState(displayId).value = SysuiDarkIconDispatcher.DarkChange(listOf(Rect(0, 0, 5, 5)), 0f, 0xAABBCC) SysuiDarkIconDispatcher.DarkChange(listOf(Rect(0, 0, 5, 5)), 0f, 0xAABBCC) val areaTint by collectLastValue(underTest.areaTint(displayId)) val areaTint by collectLastValue(underTest.areaTint) val tint = areaTint?.tint(Rect(1, 1, 3, 3)) val tint = areaTint?.tint(Rect(1, 1, 3, 3)) Loading @@ -1019,11 +1019,11 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { @Test @Test fun areaTint_viewIsNotInDarkBounds_getsDefaultTint() = fun areaTint_viewIsNotInDarkBounds_getsDefaultTint() = kosmos.runTest { kosmos.runTest { val displayId = 321 val displayId = testableContext.displayId fakeDarkIconRepository.darkState(displayId).value = fakeDarkIconRepository.darkState(displayId).value = SysuiDarkIconDispatcher.DarkChange(listOf(Rect(0, 0, 5, 5)), 0f, 0xAABBCC) SysuiDarkIconDispatcher.DarkChange(listOf(Rect(0, 0, 5, 5)), 0f, 0xAABBCC) val areaTint by collectLastValue(underTest.areaTint(displayId)) val areaTint by collectLastValue(underTest.areaTint) val tint = areaTint?.tint(Rect(6, 6, 7, 7)) val tint = areaTint?.tint(Rect(6, 6, 7, 7)) Loading @@ -1033,11 +1033,11 @@ class HomeStatusBarViewModelImplTest : SysuiTestCase() { @Test @Test fun areaTint_viewIsInDarkBounds_darkBoundsChange_viewUpdates() = fun areaTint_viewIsInDarkBounds_darkBoundsChange_viewUpdates() = kosmos.runTest { kosmos.runTest { val displayId = 321 val displayId = testableContext.displayId fakeDarkIconRepository.darkState(displayId).value = fakeDarkIconRepository.darkState(displayId).value = SysuiDarkIconDispatcher.DarkChange(listOf(Rect(0, 0, 5, 5)), 0f, 0xAABBCC) SysuiDarkIconDispatcher.DarkChange(listOf(Rect(0, 0, 5, 5)), 0f, 0xAABBCC) val areaTint by collectLastValue(underTest.areaTint(displayId)) val areaTint by collectLastValue(underTest.areaTint) var tint = areaTint?.tint(Rect(1, 1, 3, 3)) var tint = areaTint?.tint(Rect(1, 1, 3, 3)) Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java +7 −3 Original line number Original line Diff line number Diff line Loading @@ -81,6 +81,7 @@ import com.android.systemui.statusbar.phone.ui.StatusBarIconController; import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinder; import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinder; import com.android.systemui.statusbar.pipeline.shared.ui.binder.StatusBarVisibilityChangeListener; import com.android.systemui.statusbar.pipeline.shared.ui.binder.StatusBarVisibilityChangeListener; import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel; import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel; import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel.HomeStatusBarViewModelFactory; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.window.StatusBarWindowController; import com.android.systemui.statusbar.window.StatusBarWindowController; import com.android.systemui.statusbar.window.StatusBarWindowControllerStore; import com.android.systemui.statusbar.window.StatusBarWindowControllerStore; Loading Loading @@ -142,6 +143,8 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue private StatusBarVisibilityModel mLastModifiedVisibility = private StatusBarVisibilityModel mLastModifiedVisibility = StatusBarVisibilityModel.createDefaultModel(); StatusBarVisibilityModel.createDefaultModel(); private DarkIconManager mDarkIconManager; private DarkIconManager mDarkIconManager; private HomeStatusBarViewModel mHomeStatusBarViewModel; private final HomeStatusBarComponent.Factory mHomeStatusBarComponentFactory; private final HomeStatusBarComponent.Factory mHomeStatusBarComponentFactory; private final CommandQueue mCommandQueue; private final CommandQueue mCommandQueue; private final CollapsedStatusBarFragmentLogger mCollapsedStatusBarFragmentLogger; private final CollapsedStatusBarFragmentLogger mCollapsedStatusBarFragmentLogger; Loading @@ -151,8 +154,8 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue private final ShadeExpansionStateManager mShadeExpansionStateManager; private final ShadeExpansionStateManager mShadeExpansionStateManager; private final StatusBarIconController mStatusBarIconController; private final StatusBarIconController mStatusBarIconController; private final CarrierConfigTracker mCarrierConfigTracker; private final CarrierConfigTracker mCarrierConfigTracker; private final HomeStatusBarViewModel mHomeStatusBarViewModel; private final HomeStatusBarViewBinder mHomeStatusBarViewBinder; private final HomeStatusBarViewBinder mHomeStatusBarViewBinder; private final HomeStatusBarViewModelFactory mHomeStatusBarViewModelFactory; private final StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager; private final StatusBarHideIconsForBouncerManager mStatusBarHideIconsForBouncerManager; private final DarkIconManager.Factory mDarkIconManagerFactory; private final DarkIconManager.Factory mDarkIconManagerFactory; private final SecureSettings mSecureSettings; private final SecureSettings mSecureSettings; Loading Loading @@ -256,7 +259,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue ShadeExpansionStateManager shadeExpansionStateManager, ShadeExpansionStateManager shadeExpansionStateManager, StatusBarIconController statusBarIconController, StatusBarIconController statusBarIconController, DarkIconManager.Factory darkIconManagerFactory, DarkIconManager.Factory darkIconManagerFactory, HomeStatusBarViewModel homeStatusBarViewModel, HomeStatusBarViewModelFactory homeStatusBarViewModelFactory, HomeStatusBarViewBinder homeStatusBarViewBinder, HomeStatusBarViewBinder homeStatusBarViewBinder, StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager, StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager, KeyguardStateController keyguardStateController, KeyguardStateController keyguardStateController, Loading @@ -281,7 +284,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue mAnimationScheduler = animationScheduler; mAnimationScheduler = animationScheduler; mShadeExpansionStateManager = shadeExpansionStateManager; mShadeExpansionStateManager = shadeExpansionStateManager; mStatusBarIconController = statusBarIconController; mStatusBarIconController = statusBarIconController; mHomeStatusBarViewModel = homeStatusBarViewModel; mHomeStatusBarViewModelFactory = homeStatusBarViewModelFactory; mHomeStatusBarViewBinder = homeStatusBarViewBinder; mHomeStatusBarViewBinder = homeStatusBarViewBinder; mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager; mStatusBarHideIconsForBouncerManager = statusBarHideIconsForBouncerManager; mDarkIconManagerFactory = darkIconManagerFactory; mDarkIconManagerFactory = darkIconManagerFactory; Loading Loading @@ -410,6 +413,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue mCarrierConfigTracker.addCallback(mCarrierConfigCallback); mCarrierConfigTracker.addCallback(mCarrierConfigCallback); mCarrierConfigTracker.addDefaultDataSubscriptionChangedListener(mDefaultDataListener); mCarrierConfigTracker.addDefaultDataSubscriptionChangedListener(mDefaultDataListener); mHomeStatusBarViewModel = mHomeStatusBarViewModelFactory.create(displayId); mHomeStatusBarViewBinder.bind( mHomeStatusBarViewBinder.bind( view.getContext().getDisplayId(), view.getContext().getDisplayId(), mStatusBar, mStatusBar, Loading
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/dagger/StatusBarPipelineModule.kt +5 −3 Original line number Original line Diff line number Diff line Loading @@ -56,8 +56,8 @@ import com.android.systemui.statusbar.pipeline.shared.data.repository.Connectivi import com.android.systemui.statusbar.pipeline.shared.data.repository.ConnectivityRepositoryImpl import com.android.systemui.statusbar.pipeline.shared.data.repository.ConnectivityRepositoryImpl import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinder import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinder import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinderImpl import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinderImpl import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel.HomeStatusBarViewModelFactory import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModelImpl import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModelImpl.HomeStatusBarViewModelFactoryImpl import com.android.systemui.statusbar.pipeline.wifi.data.repository.RealWifiRepository import com.android.systemui.statusbar.pipeline.wifi.data.repository.RealWifiRepository import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepository import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepository import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositorySwitcher import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositorySwitcher Loading Loading @@ -148,7 +148,9 @@ abstract class StatusBarPipelineModule { abstract fun bindCarrierConfigStartable(impl: CarrierConfigCoreStartable): CoreStartable abstract fun bindCarrierConfigStartable(impl: CarrierConfigCoreStartable): CoreStartable @Binds @Binds abstract fun homeStatusBarViewModel(impl: HomeStatusBarViewModelImpl): HomeStatusBarViewModel abstract fun homeStatusBarViewModelFactory( impl: HomeStatusBarViewModelFactoryImpl ): HomeStatusBarViewModelFactory @Binds @Binds abstract fun homeStatusBarViewBinder(impl: HomeStatusBarViewBinderImpl): HomeStatusBarViewBinder abstract fun homeStatusBarViewBinder(impl: HomeStatusBarViewBinderImpl): HomeStatusBarViewBinder Loading
packages/SystemUI/src/com/android/systemui/statusbar/pipeline/shared/ui/binder/HomeStatusBarViewBinder.kt +2 −3 Original line number Original line Diff line number Diff line Loading @@ -107,10 +107,9 @@ constructor( } } if (NotificationsLiveDataStoreRefactor.isEnabled) { if (NotificationsLiveDataStoreRefactor.isEnabled) { val displayId = view.display.displayId val lightsOutView: View = view.requireViewById(R.id.notification_lights_out) val lightsOutView: View = view.requireViewById(R.id.notification_lights_out) launch { launch { viewModel.areNotificationsLightsOut(displayId).collect { show -> viewModel.areNotificationsLightsOut.collect { show -> animateLightsOutView(lightsOutView, show) animateLightsOutView(lightsOutView, show) } } } } Loading Loading @@ -218,7 +217,7 @@ constructor( StatusBarOperatorNameViewBinder.bind( StatusBarOperatorNameViewBinder.bind( operatorNameView, operatorNameView, viewModel.operatorNameViewModel, viewModel.operatorNameViewModel, viewModel::areaTint, viewModel.areaTint, ) ) launch { launch { viewModel.shouldShowOperatorNameView.collect { viewModel.shouldShowOperatorNameView.collect { Loading