diff options
15 files changed, 81 insertions, 86 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/containeddrawable/ContainedDrawable.kt b/packages/SystemUI/src/com/android/systemui/containeddrawable/ContainedDrawable.kt deleted file mode 100644 index d6a059da3afa..000000000000 --- a/packages/SystemUI/src/com/android/systemui/containeddrawable/ContainedDrawable.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (C) 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package com.android.systemui.containeddrawable - -import android.graphics.drawable.Drawable -import androidx.annotation.DrawableRes - -/** Convenience container for [Drawable] or a way to load it later. */ -sealed class ContainedDrawable { - data class WithDrawable(val drawable: Drawable) : ContainedDrawable() - data class WithResource(@DrawableRes val resourceId: Int) : ContainedDrawable() -} diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractor.kt index 95acc0b8564e..01cd3e28472e 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractor.kt @@ -104,7 +104,6 @@ constructor( KeyguardQuickAffordanceModel.Visible( configKey = configs[index]::class, icon = visibleState.icon, - contentDescriptionResourceId = visibleState.contentDescriptionResourceId, ) } else { KeyguardQuickAffordanceModel.Hidden diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/model/KeyguardQuickAffordanceModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/model/KeyguardQuickAffordanceModel.kt index eff146984176..eb6bb92dd912 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/model/KeyguardQuickAffordanceModel.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/model/KeyguardQuickAffordanceModel.kt @@ -17,8 +17,7 @@ package com.android.systemui.keyguard.domain.model -import androidx.annotation.StringRes -import com.android.systemui.containeddrawable.ContainedDrawable +import com.android.systemui.common.shared.model.Icon import com.android.systemui.keyguard.domain.quickaffordance.KeyguardQuickAffordanceConfig import kotlin.reflect.KClass @@ -35,11 +34,6 @@ sealed class KeyguardQuickAffordanceModel { /** Identifier for the affordance this is modeling. */ val configKey: KClass<out KeyguardQuickAffordanceConfig>, /** An icon for the affordance. */ - val icon: ContainedDrawable, - /** - * Resource ID for a string to use for the accessibility content description text of the - * affordance. - */ - @StringRes val contentDescriptionResourceId: Int, + val icon: Icon, ) : KeyguardQuickAffordanceModel() } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/HomeControlsKeyguardQuickAffordanceConfig.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/HomeControlsKeyguardQuickAffordanceConfig.kt index ac2c9b1d7ff2..89604f054f9b 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/HomeControlsKeyguardQuickAffordanceConfig.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/HomeControlsKeyguardQuickAffordanceConfig.kt @@ -23,7 +23,8 @@ import androidx.annotation.DrawableRes import com.android.systemui.animation.ActivityLaunchAnimator import com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLogging import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow -import com.android.systemui.containeddrawable.ContainedDrawable +import com.android.systemui.common.shared.model.ContentDescription +import com.android.systemui.common.shared.model.Icon import com.android.systemui.controls.ControlsServiceInfo import com.android.systemui.controls.controller.StructureInfo import com.android.systemui.controls.dagger.ControlsComponent @@ -122,8 +123,14 @@ constructor( visibility == ControlsComponent.Visibility.AVAILABLE ) { KeyguardQuickAffordanceConfig.State.Visible( - icon = ContainedDrawable.WithResource(iconResourceId), - contentDescriptionResourceId = component.getTileTitleId(), + icon = + Icon.Resource( + res = iconResourceId, + contentDescription = + ContentDescription.Resource( + res = component.getTileTitleId(), + ), + ), ) } else { KeyguardQuickAffordanceConfig.State.Hidden diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/KeyguardQuickAffordanceConfig.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/KeyguardQuickAffordanceConfig.kt index 8fb952c217bd..8e1c6b76079f 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/KeyguardQuickAffordanceConfig.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/KeyguardQuickAffordanceConfig.kt @@ -18,9 +18,8 @@ package com.android.systemui.keyguard.domain.quickaffordance import android.content.Intent -import androidx.annotation.StringRes import com.android.systemui.animation.ActivityLaunchAnimator -import com.android.systemui.containeddrawable.ContainedDrawable +import com.android.systemui.common.shared.model.Icon import kotlinx.coroutines.flow.Flow /** Defines interface that can act as data source for a single quick affordance model. */ @@ -44,12 +43,7 @@ interface KeyguardQuickAffordanceConfig { /** An affordance is visible. */ data class Visible( /** An icon for the affordance. */ - val icon: ContainedDrawable, - /** - * Resource ID for a string to use for the accessibility content description text of the - * affordance. - */ - @StringRes val contentDescriptionResourceId: Int, + val icon: Icon, ) : State() } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfig.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfig.kt index c8e5e4aebea0..d97deaf3b69e 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfig.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfig.kt @@ -21,7 +21,8 @@ import com.android.systemui.R import com.android.systemui.animation.ActivityLaunchAnimator import com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLogging import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow -import com.android.systemui.containeddrawable.ContainedDrawable +import com.android.systemui.common.shared.model.ContentDescription +import com.android.systemui.common.shared.model.Icon import com.android.systemui.dagger.SysUISingleton import com.android.systemui.qrcodescanner.controller.QRCodeScannerController import javax.inject.Inject @@ -76,8 +77,14 @@ constructor( private fun state(): KeyguardQuickAffordanceConfig.State { return if (controller.isEnabledForLockScreenButton) { KeyguardQuickAffordanceConfig.State.Visible( - icon = ContainedDrawable.WithResource(R.drawable.ic_qr_code_scanner), - contentDescriptionResourceId = R.string.accessibility_qr_code_scanner_button, + icon = + Icon.Resource( + res = R.drawable.ic_qr_code_scanner, + contentDescription = + ContentDescription.Resource( + res = R.string.accessibility_qr_code_scanner_button, + ), + ), ) } else { KeyguardQuickAffordanceConfig.State.Hidden diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfig.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfig.kt index 885af3343533..9196b0920bb4 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfig.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfig.kt @@ -26,7 +26,8 @@ import com.android.systemui.R import com.android.systemui.animation.ActivityLaunchAnimator import com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLogging import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow -import com.android.systemui.containeddrawable.ContainedDrawable +import com.android.systemui.common.shared.model.ContentDescription +import com.android.systemui.common.shared.model.Icon import com.android.systemui.dagger.SysUISingleton import com.android.systemui.plugins.ActivityStarter import com.android.systemui.wallet.controller.QuickAccessWalletController @@ -100,8 +101,14 @@ constructor( ): KeyguardQuickAffordanceConfig.State { return if (isFeatureEnabled && hasCard && tileIcon != null) { KeyguardQuickAffordanceConfig.State.Visible( - icon = ContainedDrawable.WithDrawable(tileIcon), - contentDescriptionResourceId = R.string.accessibility_wallet_button, + icon = + Icon.Loaded( + drawable = tileIcon, + contentDescription = + ContentDescription.Resource( + res = R.string.accessibility_wallet_button, + ), + ), ) } else { KeyguardQuickAffordanceConfig.State.Hidden diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt index c4e3d4e4c1b5..65b85c0355db 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt @@ -31,7 +31,7 @@ import com.android.settingslib.Utils import com.android.systemui.R import com.android.systemui.animation.ActivityLaunchAnimator import com.android.systemui.animation.Interpolators -import com.android.systemui.containeddrawable.ContainedDrawable +import com.android.systemui.common.ui.binder.IconViewBinder import com.android.systemui.keyguard.ui.viewmodel.KeyguardBottomAreaViewModel import com.android.systemui.keyguard.ui.viewmodel.KeyguardQuickAffordanceViewModel import com.android.systemui.lifecycle.repeatWhenAttached @@ -236,10 +236,7 @@ object KeyguardBottomAreaViewBinder { } } - when (viewModel.icon) { - is ContainedDrawable.WithDrawable -> view.setImageDrawable(viewModel.icon.drawable) - is ContainedDrawable.WithResource -> view.setImageResource(viewModel.icon.resourceId) - } + IconViewBinder.bind(viewModel.icon, view) view.drawable.setTint( Utils.getColorAttrDefaultColor( @@ -250,7 +247,6 @@ object KeyguardBottomAreaViewBinder { view.backgroundTintList = Utils.getColorAttr(view.context, com.android.internal.R.attr.colorSurface) - view.contentDescription = view.context.getString(viewModel.contentDescriptionResourceId) view.isClickable = viewModel.isClickable if (viewModel.isClickable) { view.setOnClickListener(OnClickListener(viewModel, falsingManager)) diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBottomAreaViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBottomAreaViewModel.kt index e3ebac60febb..970ee4c541d7 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBottomAreaViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBottomAreaViewModel.kt @@ -116,7 +116,6 @@ constructor( isVisible = true, animateReveal = animateReveal, icon = icon, - contentDescriptionResourceId = contentDescriptionResourceId, onClicked = { parameters -> quickAffordanceInteractor.onQuickAffordanceClicked( configKey = parameters.configKey, diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardQuickAffordanceViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardQuickAffordanceViewModel.kt index b1de27d262cf..0971f13e58dd 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardQuickAffordanceViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardQuickAffordanceViewModel.kt @@ -16,9 +16,8 @@ package com.android.systemui.keyguard.ui.viewmodel -import androidx.annotation.StringRes import com.android.systemui.animation.ActivityLaunchAnimator -import com.android.systemui.containeddrawable.ContainedDrawable +import com.android.systemui.common.shared.model.Icon import com.android.systemui.keyguard.domain.quickaffordance.KeyguardQuickAffordanceConfig import kotlin.reflect.KClass @@ -28,8 +27,7 @@ data class KeyguardQuickAffordanceViewModel( val isVisible: Boolean = false, /** Whether to animate the transition of the quick affordance from invisible to visible. */ val animateReveal: Boolean = false, - val icon: ContainedDrawable = ContainedDrawable.WithResource(0), - @StringRes val contentDescriptionResourceId: Int = 0, + val icon: Icon = Icon.Resource(res = 0, contentDescription = null), val onClicked: (OnClickedParameters) -> Unit = {}, val isClickable: Boolean = false, ) { diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfigTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfigTest.kt index d4fba4126127..329c4db0a75c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfigTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfigTest.kt @@ -138,7 +138,7 @@ class QrCodeScannerKeyguardQuickAffordanceConfigTest : SysuiTestCase() { assertThat(latest).isInstanceOf(KeyguardQuickAffordanceConfig.State.Visible::class.java) val visibleState = latest as KeyguardQuickAffordanceConfig.State.Visible assertThat(visibleState.icon).isNotNull() - assertThat(visibleState.contentDescriptionResourceId).isNotNull() + assertThat(visibleState.icon.contentDescription).isNotNull() } companion object { diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfigTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfigTest.kt index 5a3a78e9cb04..0a4478f27448 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfigTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfigTest.kt @@ -21,9 +21,11 @@ import android.graphics.drawable.Drawable import android.service.quickaccesswallet.GetWalletCardsResponse import android.service.quickaccesswallet.QuickAccessWalletClient import androidx.test.filters.SmallTest +import com.android.systemui.R import com.android.systemui.SysuiTestCase import com.android.systemui.animation.ActivityLaunchAnimator -import com.android.systemui.containeddrawable.ContainedDrawable +import com.android.systemui.common.shared.model.ContentDescription +import com.android.systemui.common.shared.model.Icon import com.android.systemui.plugins.ActivityStarter import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.mock @@ -69,8 +71,16 @@ class QuickAccessWalletKeyguardQuickAffordanceConfigTest : SysuiTestCase() { val job = underTest.state.onEach { latest = it }.launchIn(this) val visibleModel = latest as KeyguardQuickAffordanceConfig.State.Visible - assertThat(visibleModel.icon).isEqualTo(ContainedDrawable.WithDrawable(ICON)) - assertThat(visibleModel.contentDescriptionResourceId).isNotNull() + assertThat(visibleModel.icon) + .isEqualTo( + Icon.Loaded( + drawable = ICON, + contentDescription = + ContentDescription.Resource( + res = R.string.accessibility_wallet_button, + ), + ) + ) job.cancel() } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/usecase/KeyguardQuickAffordanceInteractorParameterizedTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/usecase/KeyguardQuickAffordanceInteractorParameterizedTest.kt index c5e828eadf9b..b6d7559dbcbb 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/usecase/KeyguardQuickAffordanceInteractorParameterizedTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/usecase/KeyguardQuickAffordanceInteractorParameterizedTest.kt @@ -21,7 +21,8 @@ import androidx.test.filters.SmallTest import com.android.internal.widget.LockPatternUtils import com.android.systemui.SysuiTestCase import com.android.systemui.animation.ActivityLaunchAnimator -import com.android.systemui.containeddrawable.ContainedDrawable +import com.android.systemui.common.shared.model.ContentDescription +import com.android.systemui.common.shared.model.Icon import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor import com.android.systemui.keyguard.domain.interactor.KeyguardQuickAffordanceInteractor @@ -34,6 +35,7 @@ import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.mock +import com.android.systemui.util.mockito.whenever import kotlinx.coroutines.test.runBlockingTest import org.junit.Before import org.junit.Test @@ -46,7 +48,6 @@ import org.mockito.ArgumentMatchers.same import org.mockito.Mock import org.mockito.Mockito.verify import org.mockito.Mockito.verifyZeroInteractions -import org.mockito.Mockito.`when` as whenever import org.mockito.MockitoAnnotations @SmallTest @@ -55,7 +56,15 @@ class KeyguardQuickAffordanceInteractorParameterizedTest : SysuiTestCase() { companion object { private val INTENT = Intent("some.intent.action") - private val DRAWABLE = mock<ContainedDrawable>() + private val DRAWABLE = + mock<Icon> { + whenever(this.contentDescription) + .thenReturn( + ContentDescription.Resource( + res = CONTENT_DESCRIPTION_RESOURCE_ID, + ) + ) + } private const val CONTENT_DESCRIPTION_RESOURCE_ID = 1337 @Parameters( @@ -236,7 +245,6 @@ class KeyguardQuickAffordanceInteractorParameterizedTest : SysuiTestCase() { state = KeyguardQuickAffordanceConfig.State.Visible( icon = DRAWABLE, - contentDescriptionResourceId = CONTENT_DESCRIPTION_RESOURCE_ID, ) ) homeControls.onClickedResult = diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/usecase/KeyguardQuickAffordanceInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/usecase/KeyguardQuickAffordanceInteractorTest.kt index 19d841222a01..1dd919aba88d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/usecase/KeyguardQuickAffordanceInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/usecase/KeyguardQuickAffordanceInteractorTest.kt @@ -19,7 +19,8 @@ package com.android.systemui.keyguard.domain.usecase import androidx.test.filters.SmallTest import com.android.internal.widget.LockPatternUtils import com.android.systemui.SysuiTestCase -import com.android.systemui.containeddrawable.ContainedDrawable +import com.android.systemui.common.shared.model.ContentDescription +import com.android.systemui.common.shared.model.Icon import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor import com.android.systemui.keyguard.domain.interactor.KeyguardQuickAffordanceInteractor @@ -32,6 +33,7 @@ import com.android.systemui.plugins.ActivityStarter import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.systemui.util.mockito.mock +import com.android.systemui.util.mockito.whenever import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach @@ -101,7 +103,6 @@ class KeyguardQuickAffordanceInteractorTest : SysuiTestCase() { homeControls.setState( KeyguardQuickAffordanceConfig.State.Visible( icon = ICON, - contentDescriptionResourceId = CONTENT_DESCRIPTION_RESOURCE_ID, ) ) @@ -120,8 +121,8 @@ class KeyguardQuickAffordanceInteractorTest : SysuiTestCase() { val visibleModel = latest as KeyguardQuickAffordanceModel.Visible assertThat(visibleModel.configKey).isEqualTo(configKey) assertThat(visibleModel.icon).isEqualTo(ICON) - assertThat(visibleModel.contentDescriptionResourceId) - .isEqualTo(CONTENT_DESCRIPTION_RESOURCE_ID) + assertThat(visibleModel.icon.contentDescription) + .isEqualTo(ContentDescription.Resource(res = CONTENT_DESCRIPTION_RESOURCE_ID)) job.cancel() } @@ -131,7 +132,6 @@ class KeyguardQuickAffordanceInteractorTest : SysuiTestCase() { quickAccessWallet.setState( KeyguardQuickAffordanceConfig.State.Visible( icon = ICON, - contentDescriptionResourceId = CONTENT_DESCRIPTION_RESOURCE_ID, ) ) @@ -150,8 +150,8 @@ class KeyguardQuickAffordanceInteractorTest : SysuiTestCase() { val visibleModel = latest as KeyguardQuickAffordanceModel.Visible assertThat(visibleModel.configKey).isEqualTo(configKey) assertThat(visibleModel.icon).isEqualTo(ICON) - assertThat(visibleModel.contentDescriptionResourceId) - .isEqualTo(CONTENT_DESCRIPTION_RESOURCE_ID) + assertThat(visibleModel.icon.contentDescription) + .isEqualTo(ContentDescription.Resource(res = CONTENT_DESCRIPTION_RESOURCE_ID)) job.cancel() } @@ -161,7 +161,6 @@ class KeyguardQuickAffordanceInteractorTest : SysuiTestCase() { homeControls.setState( KeyguardQuickAffordanceConfig.State.Visible( icon = ICON, - contentDescriptionResourceId = CONTENT_DESCRIPTION_RESOURCE_ID, ) ) @@ -182,7 +181,6 @@ class KeyguardQuickAffordanceInteractorTest : SysuiTestCase() { homeControls.setState( KeyguardQuickAffordanceConfig.State.Visible( icon = ICON, - contentDescriptionResourceId = CONTENT_DESCRIPTION_RESOURCE_ID, ) ) @@ -197,7 +195,14 @@ class KeyguardQuickAffordanceInteractorTest : SysuiTestCase() { } companion object { - private val ICON: ContainedDrawable = mock() + private val ICON: Icon = mock { + whenever(this.contentDescription) + .thenReturn( + ContentDescription.Resource( + res = CONTENT_DESCRIPTION_RESOURCE_ID, + ) + ) + } private const val CONTENT_DESCRIPTION_RESOURCE_ID = 1337 } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBottomAreaViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBottomAreaViewModelTest.kt index c612091382db..96544e7b7da6 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBottomAreaViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardBottomAreaViewModelTest.kt @@ -21,7 +21,7 @@ import androidx.test.filters.SmallTest import com.android.internal.widget.LockPatternUtils import com.android.systemui.SysuiTestCase import com.android.systemui.animation.ActivityLaunchAnimator -import com.android.systemui.containeddrawable.ContainedDrawable +import com.android.systemui.common.shared.model.Icon import com.android.systemui.doze.util.BurnInHelperWrapper import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository import com.android.systemui.keyguard.domain.interactor.KeyguardBottomAreaInteractor @@ -505,7 +505,6 @@ class KeyguardBottomAreaViewModelTest : SysuiTestCase() { } KeyguardQuickAffordanceConfig.State.Visible( icon = testConfig.icon ?: error("Icon is unexpectedly null!"), - contentDescriptionResourceId = CONTENT_DESCRIPTION_RESOURCE_ID, ) } else { KeyguardQuickAffordanceConfig.State.Hidden @@ -543,7 +542,7 @@ class KeyguardBottomAreaViewModelTest : SysuiTestCase() { private data class TestConfig( val isVisible: Boolean, val isClickable: Boolean = false, - val icon: ContainedDrawable? = null, + val icon: Icon? = null, val canShowWhileLocked: Boolean = false, val intent: Intent? = null, ) { @@ -555,6 +554,5 @@ class KeyguardBottomAreaViewModelTest : SysuiTestCase() { companion object { private const val DEFAULT_BURN_IN_OFFSET = 5 private const val RETURNED_BURN_IN_OFFSET = 3 - private const val CONTENT_DESCRIPTION_RESOURCE_ID = 1337 } } |