diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt | 2 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt b/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt index eacdab6e537d..06a1eeac425d 100644 --- a/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt +++ b/packages/SystemUI/src/com/android/systemui/media/MediaDataManager.kt @@ -889,7 +889,7 @@ class MediaDataManager( dismissIntent = target .baseAction .extras - .getParcelable(EXTRAS_SMARTSPACE_DISMISS_INTENT_KEY) as Intent + .getParcelable(EXTRAS_SMARTSPACE_DISMISS_INTENT_KEY) as Intent? } packageName(target)?.let { return SmartspaceMediaData(target.smartspaceTargetId, isActive, true, it, diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt index 47c5545ab587..d864aaeadee3 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/MediaDataManagerTest.kt @@ -405,6 +405,26 @@ class MediaDataManagerTest : SysuiTestCase() { } @Test + fun testOnSmartspaceMediaDataLoaded_hasNullIntent_callsListener() { + val recommendationExtras = Bundle().apply { + putString("package_name", PACKAGE_NAME) + putParcelable("dismiss_intent", null) + } + whenever(mediaSmartspaceBaseAction.extras).thenReturn(recommendationExtras) + whenever(mediaSmartspaceTarget.baseAction).thenReturn(mediaSmartspaceBaseAction) + whenever(mediaSmartspaceTarget.iconGrid).thenReturn(listOf()) + + smartspaceMediaDataProvider.onTargetsAvailable(listOf(mediaSmartspaceTarget)) + + verify(listener).onSmartspaceMediaDataLoaded( + eq(KEY_MEDIA_SMARTSPACE), + eq(EMPTY_SMARTSPACE_MEDIA_DATA + .copy(targetId = KEY_MEDIA_SMARTSPACE, isActive = true, + isValid = false, dismissIntent = null)), + eq(false)) + } + + @Test fun testOnSmartspaceMediaDataLoaded_hasNoneMediaTarget_notCallsListener() { smartspaceMediaDataProvider.onTargetsAvailable(listOf()) verify(listener, never()) |