diff options
| author | 2023-03-13 17:35:48 +0000 | |
|---|---|---|
| committer | 2023-03-13 17:35:48 +0000 | |
| commit | 60eb33e4f04ca0331afb04872b4d4ed634c97f6b (patch) | |
| tree | d9e2fb679a5c7cd5d0b7b28bb26e93316ad656ab | |
| parent | 1169a57b9edab1316bd20b255200e5d4ddc8e53c (diff) | |
| parent | 4f4d7d3a08b82c92cc94face345e7f950349cb1f (diff) | |
Merge "Check for block location change when configuration changes" into tm-qpr-dev am: 4f4d7d3a08
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21961697
Change-Id: I1e26d6eb310f82132040d2f66495029c78602c4d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2 files changed, 54 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaHierarchyManager.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaHierarchyManager.kt index 7fc7bdb872c9..e10d74db6333 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaHierarchyManager.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaHierarchyManager.kt @@ -639,7 +639,9 @@ constructor( ) = traceSection("MediaHierarchyManager#updateDesiredLocation") { val desiredLocation = calculateLocation() - if (desiredLocation != this.desiredLocation || forceStateUpdate) { + if ( + desiredLocation != this.desiredLocation || forceStateUpdate && !blockLocationChanges + ) { if (this.desiredLocation >= 0 && desiredLocation != this.desiredLocation) { // Only update previous location when it actually changes previousLocation = this.desiredLocation diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaHierarchyManagerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaHierarchyManagerTest.kt index a5795184b493..feb429d2f0d4 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaHierarchyManagerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaHierarchyManagerTest.kt @@ -180,6 +180,57 @@ class MediaHierarchyManagerTest : SysuiTestCase() { } @Test + fun testBlockedWhenConfigurationChangesAndScreenOff() { + // Let's set it onto QS: + mediaHierarchyManager.qsExpansion = 1.0f + verify(mediaCarouselController) + .onDesiredLocationChanged( + ArgumentMatchers.anyInt(), + any(MediaHostState::class.java), + anyBoolean(), + anyLong(), + anyLong() + ) + val observer = wakefullnessObserver.value + assertNotNull("lifecycle observer wasn't registered", observer) + observer.onStartedGoingToSleep() + clearInvocations(mediaCarouselController) + configurationController.notifyConfigurationChanged() + verify(mediaCarouselController, times(0)) + .onDesiredLocationChanged( + ArgumentMatchers.anyInt(), + any(MediaHostState::class.java), + anyBoolean(), + anyLong(), + anyLong() + ) + } + + @Test + fun testAllowedWhenConfigurationChanges() { + // Let's set it onto QS: + mediaHierarchyManager.qsExpansion = 1.0f + verify(mediaCarouselController) + .onDesiredLocationChanged( + ArgumentMatchers.anyInt(), + any(MediaHostState::class.java), + anyBoolean(), + anyLong(), + anyLong() + ) + clearInvocations(mediaCarouselController) + configurationController.notifyConfigurationChanged() + verify(mediaCarouselController) + .onDesiredLocationChanged( + ArgumentMatchers.anyInt(), + any(MediaHostState::class.java), + anyBoolean(), + anyLong(), + anyLong() + ) + } + + @Test fun testAllowedWhenNotTurningOff() { // Let's set it onto QS: mediaHierarchyManager.qsExpansion = 1.0f |