Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/row/BigPictureIconManager.kt +0 −5 Original line number Diff line number Diff line Loading @@ -117,11 +117,6 @@ constructor( @WorkerThread override fun updateIcon(drawableConsumer: NotificationDrawableConsumer, icon: Icon?): Runnable { if (this.drawableConsumer != null && this.drawableConsumer != drawableConsumer) { Log.wtf(TAG, "A consumer is already set for this iconManager.") return Runnable {} } this.drawableConsumer = drawableConsumer this.lastLoadingJob?.cancel() Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/BigPictureIconManagerTest.kt +31 −5 Original line number Diff line number Diff line Loading @@ -143,18 +143,44 @@ class BigPictureIconManagerTest : SysuiTestCase() { } @Test fun onIconUpdated_consumerAlreadySet_nothingHappens() = fun onIconUpdated_consumerAlreadySet_newConsumerIsUpdatedWithPlaceholder() = testScope.runTest { // GIVEN a consumer is set val otherConsumer: NotificationDrawableConsumer = mock() iconManager.updateIcon(mockConsumer, supportedIcon).run() clearInvocations(mockConsumer) // WHEN a new consumer is set iconManager.updateIcon(otherConsumer, unsupportedIcon).run() val newConsumer: NotificationDrawableConsumer = mock() iconManager.updateIcon(newConsumer, supportedIcon).run() // THEN nothing happens verifyZeroInteractions(mockConsumer, otherConsumer) // THEN the new consumer is updated verify(newConsumer).setImageDrawable(drawableCaptor.capture()) assertIsPlaceHolder(drawableCaptor.value) assertSize(drawableCaptor.value) // AND nothing happens on the old consumer verifyZeroInteractions(mockConsumer) } @Test fun onIconUpdated_consumerAlreadySet_newConsumerIsUpdatedWithFullImage() = testScope.runTest { // GIVEN a consumer is set iconManager.updateIcon(mockConsumer, supportedIcon).run() // AND an icon is loaded iconManager.onViewShown(true) runCurrent() clearInvocations(mockConsumer) // WHEN a new consumer is set val newConsumer: NotificationDrawableConsumer = mock() iconManager.updateIcon(newConsumer, supportedIcon).run() // THEN the new consumer is updated verify(newConsumer).setImageDrawable(drawableCaptor.capture()) assertIsFullImage(drawableCaptor.value) assertSize(drawableCaptor.value) // AND nothing happens on the old consumer verifyZeroInteractions(mockConsumer) } @Test Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/row/BigPictureIconManager.kt +0 −5 Original line number Diff line number Diff line Loading @@ -117,11 +117,6 @@ constructor( @WorkerThread override fun updateIcon(drawableConsumer: NotificationDrawableConsumer, icon: Icon?): Runnable { if (this.drawableConsumer != null && this.drawableConsumer != drawableConsumer) { Log.wtf(TAG, "A consumer is already set for this iconManager.") return Runnable {} } this.drawableConsumer = drawableConsumer this.lastLoadingJob?.cancel() Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/BigPictureIconManagerTest.kt +31 −5 Original line number Diff line number Diff line Loading @@ -143,18 +143,44 @@ class BigPictureIconManagerTest : SysuiTestCase() { } @Test fun onIconUpdated_consumerAlreadySet_nothingHappens() = fun onIconUpdated_consumerAlreadySet_newConsumerIsUpdatedWithPlaceholder() = testScope.runTest { // GIVEN a consumer is set val otherConsumer: NotificationDrawableConsumer = mock() iconManager.updateIcon(mockConsumer, supportedIcon).run() clearInvocations(mockConsumer) // WHEN a new consumer is set iconManager.updateIcon(otherConsumer, unsupportedIcon).run() val newConsumer: NotificationDrawableConsumer = mock() iconManager.updateIcon(newConsumer, supportedIcon).run() // THEN nothing happens verifyZeroInteractions(mockConsumer, otherConsumer) // THEN the new consumer is updated verify(newConsumer).setImageDrawable(drawableCaptor.capture()) assertIsPlaceHolder(drawableCaptor.value) assertSize(drawableCaptor.value) // AND nothing happens on the old consumer verifyZeroInteractions(mockConsumer) } @Test fun onIconUpdated_consumerAlreadySet_newConsumerIsUpdatedWithFullImage() = testScope.runTest { // GIVEN a consumer is set iconManager.updateIcon(mockConsumer, supportedIcon).run() // AND an icon is loaded iconManager.onViewShown(true) runCurrent() clearInvocations(mockConsumer) // WHEN a new consumer is set val newConsumer: NotificationDrawableConsumer = mock() iconManager.updateIcon(newConsumer, supportedIcon).run() // THEN the new consumer is updated verify(newConsumer).setImageDrawable(drawableCaptor.capture()) assertIsFullImage(drawableCaptor.value) assertSize(drawableCaptor.value) // AND nothing happens on the old consumer verifyZeroInteractions(mockConsumer) } @Test Loading