diff options
| author | 2022-08-08 18:33:22 -0500 | |
|---|---|---|
| committer | 2022-08-09 15:25:15 +0000 | |
| commit | 7173943e6380c58c707c5dbf7fca674ab7d62f12 (patch) | |
| tree | 9704f934ea5fea9cd407fe5fd5625b3f5c4ba0aa | |
| parent | bd614b00a0afadea10fb106789a7a02a43e767ff (diff) | |
Fix reactivated media card when recommendation is invalid
Recently active media should show whenever we get an active
recommendation card, even if it is invalid. This was not happening and the
media card would only be visible if the recommendation card was valid.
This adds a condition to hasActiveMediaOrRecommendation that checks
whether a card was reactivated, so that MediaHosts calling it get the
correct visibility.
Fixes: 241150583
Test: manual (steps in bug)
Test: atest MediaDataFilterTest
Change-Id: I5347367bc86a9ca499a47b3ef310e9e5774d79c5
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/media/MediaDataFilter.kt | 8 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/media/MediaDataFilterTest.kt | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaDataFilter.kt b/packages/SystemUI/src/com/android/systemui/media/MediaDataFilter.kt index 81efdf591b41..e0c8d66cb6fd 100644 --- a/packages/SystemUI/src/com/android/systemui/media/MediaDataFilter.kt +++ b/packages/SystemUI/src/com/android/systemui/media/MediaDataFilter.kt @@ -266,11 +266,11 @@ class MediaDataFilter @Inject constructor( } /** - * Are there any media notifications active, including the recommendation? + * Are there any active media entries, including the recommendation? */ - fun hasActiveMediaOrRecommendation() = - userEntries.any { it.value.active } || - (smartspaceMediaData.isActive && smartspaceMediaData.isValid()) + fun hasActiveMediaOrRecommendation() = userEntries.any { it.value.active } || + (smartspaceMediaData.isActive && + (smartspaceMediaData.isValid() || reactivatedKey != null)) /** * Are there any media entries we should display? diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataFilterTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataFilterTest.kt index 6a532d74967f..6468fe1a81d7 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataFilterTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataFilterTest.kt @@ -17,9 +17,9 @@ package com.android.systemui.media import android.app.smartspace.SmartspaceAction -import androidx.test.filters.SmallTest import android.testing.AndroidTestingRunner import android.testing.TestableLooper +import androidx.test.filters.SmallTest import com.android.internal.logging.InstanceId import com.android.systemui.SysuiTestCase import com.android.systemui.broadcast.BroadcastDispatcher @@ -29,18 +29,18 @@ import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.eq import com.android.systemui.util.time.FakeSystemClock import com.google.common.truth.Truth.assertThat +import java.util.concurrent.Executor import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.anyBoolean import org.mockito.ArgumentMatchers.anyInt import org.mockito.Mock -import org.mockito.Mockito.`when` import org.mockito.Mockito.never import org.mockito.Mockito.reset import org.mockito.Mockito.verify +import org.mockito.Mockito.`when` import org.mockito.MockitoAnnotations -import java.util.concurrent.Executor private const val KEY = "TEST_KEY" private const val KEY_ALT = "TEST_KEY_2" @@ -433,7 +433,7 @@ class MediaDataFilterTest : SysuiTestCase() { val dataCurrentAndActive = dataCurrent.copy(active = true) verify(listener).onMediaDataLoaded(eq(KEY), eq(KEY), eq(dataCurrentAndActive), eq(true), eq(100), eq(true)) - assertThat(mediaDataFilter.hasActiveMediaOrRecommendation()).isFalse() + assertThat(mediaDataFilter.hasActiveMediaOrRecommendation()).isTrue() // Smartspace update shouldn't be propagated for the empty rec list. verify(listener, never()).onSmartspaceMediaDataLoaded(any(), any(), anyBoolean()) verify(logger, never()).logRecommendationAdded(any(), any()) |