From 8a447de9e360df5e3c1ad7e3defcc84c4d9f4594 Mon Sep 17 00:00:00 2001 From: Steve Elliott Date: Wed, 7 Feb 2024 18:45:25 -0500 Subject: Shareousel content preview ui + view-model Domain is mostly stubbed, coming in later CLs. Bug: 302691505 Flag: ACONFIG android.service.chooser.chooser_payload_toggling DEVELOPMENT Test: N/A - code isn't live Change-Id: Id9041f1e842007aef64653e8f96357d90bb7a657 --- .../intentresolver/TestContentPreviewViewModel.kt | 23 +++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'tests/shared/src') diff --git a/tests/shared/src/com/android/intentresolver/TestContentPreviewViewModel.kt b/tests/shared/src/com/android/intentresolver/TestContentPreviewViewModel.kt index 888fc161..998c0802 100644 --- a/tests/shared/src/com/android/intentresolver/TestContentPreviewViewModel.kt +++ b/tests/shared/src/com/android/intentresolver/TestContentPreviewViewModel.kt @@ -22,19 +22,22 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewmodel.CreationExtras import com.android.intentresolver.contentpreview.BasePreviewViewModel import com.android.intentresolver.contentpreview.ImageLoader +import com.android.intentresolver.contentpreview.PayloadToggleInteractor import com.android.intentresolver.contentpreview.PreviewDataProvider /** A test content preview model that supports image loader override. */ class TestContentPreviewViewModel( private val viewModel: BasePreviewViewModel, - private val imageLoader: ImageLoader? = null, + private val imageLoaderDelegate: ImageLoader?, ) : BasePreviewViewModel() { - override fun createOrReuseProvider( - targetIntent: Intent - ): PreviewDataProvider = viewModel.createOrReuseProvider(targetIntent) + override fun createOrReuseProvider(targetIntent: Intent): PreviewDataProvider = + viewModel.createOrReuseProvider(targetIntent) - override fun createOrReuseImageLoader(): ImageLoader = - imageLoader ?: viewModel.createOrReuseImageLoader() + override val imageLoader: ImageLoader + get() = imageLoaderDelegate ?: viewModel.imageLoader + + override val payloadToggleInteractor: PayloadToggleInteractor? + get() = viewModel.payloadToggleInteractor companion object { fun wrap( @@ -47,10 +50,12 @@ class TestContentPreviewViewModel( modelClass: Class, extras: CreationExtras ): T { + val wrapped = factory.create(modelClass, extras) as BasePreviewViewModel return TestContentPreviewViewModel( - factory.create(modelClass, extras) as BasePreviewViewModel, - imageLoader, - ) as T + wrapped, + imageLoader ?: wrapped.imageLoader, + ) + as T } } } -- cgit v1.2.3-59-g8ed1b