diff options
| author | 2023-10-26 09:00:40 -0700 | |
|---|---|---|
| committer | 2023-10-26 09:09:46 -0700 | |
| commit | 475d1d0fd9f042dcdc085e2ba095e8164dfd1c15 (patch) | |
| tree | 90d1e5783589e3f9d2bacd94dcdf6ec772c03ed1 /java/tests | |
| parent | 6e1337987eb2c062ba2cc7959333a3e6355afaee (diff) | |
Use CoroutineScope as a depenency instead of Lifecycle
In content preview classes, Lifecycele was used as coroutine provider.
This change makes CoroutineScope as a depenedency for all those classes.
Test: atest IntentResolverUnitTests
Change-Id: I2d9f07a54d9bb5b56b20c19a821e4626c86da472
Diffstat (limited to 'java/tests')
4 files changed, 26 insertions, 32 deletions
diff --git a/java/tests/src/com/android/intentresolver/TestPreviewImageLoader.kt b/java/tests/src/com/android/intentresolver/TestPreviewImageLoader.kt index bf87ed8a..9c4d6187 100644 --- a/java/tests/src/com/android/intentresolver/TestPreviewImageLoader.kt +++ b/java/tests/src/com/android/intentresolver/TestPreviewImageLoader.kt @@ -18,12 +18,12 @@ package com.android.intentresolver import android.graphics.Bitmap import android.net.Uri -import androidx.lifecycle.Lifecycle import com.android.intentresolver.contentpreview.ImageLoader import java.util.function.Consumer +import kotlinx.coroutines.CoroutineScope internal class TestPreviewImageLoader(private val bitmaps: Map<Uri, Bitmap>) : ImageLoader { - override fun loadImage(callerLifecycle: Lifecycle, uri: Uri, callback: Consumer<Bitmap?>) { + override fun loadImage(callerScope: CoroutineScope, uri: Uri, callback: Consumer<Bitmap?>) { callback.accept(bitmaps[uri]) } diff --git a/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt b/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt index dab1a956..55cde497 100644 --- a/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt +++ b/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt @@ -17,10 +17,8 @@ package com.android.intentresolver.contentpreview import android.content.Intent -import android.graphics.Bitmap import android.net.Uri -import androidx.lifecycle.Lifecycle -import androidx.lifecycle.testing.TestLifecycleOwner +import com.android.intentresolver.TestPreviewImageLoader import com.android.intentresolver.contentpreview.ChooserContentPreviewUi.ActionFactory import com.android.intentresolver.mock import com.android.intentresolver.whenever @@ -28,28 +26,20 @@ import com.android.intentresolver.widget.ActionRow import com.android.intentresolver.widget.ImagePreviewView import com.google.common.truth.Truth.assertThat import java.util.function.Consumer +import kotlin.coroutines.EmptyCoroutineContext import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.test.TestScope +import kotlinx.coroutines.test.UnconfinedTestDispatcher import org.junit.Test import org.mockito.Mockito.never import org.mockito.Mockito.times import org.mockito.Mockito.verify class ChooserContentPreviewUiTest { - private val lifecycleOwner = TestLifecycleOwner() + private val testScope = TestScope(EmptyCoroutineContext + UnconfinedTestDispatcher()) private val previewData = mock<PreviewDataProvider>() private val headlineGenerator = mock<HeadlineGenerator>() - private val imageLoader = - object : ImageLoader { - override fun loadImage( - callerLifecycle: Lifecycle, - uri: Uri, - callback: Consumer<Bitmap?>, - ) { - callback.accept(null) - } - override fun prePopulate(uris: List<Uri>) = Unit - override suspend fun invoke(uri: Uri, caching: Boolean): Bitmap? = null - } + private val imageLoader = TestPreviewImageLoader(emptyMap()) private val actionFactory = object : ActionFactory { override fun getCopyButtonRunnable(): Runnable? = null @@ -65,7 +55,7 @@ class ChooserContentPreviewUiTest { whenever(previewData.previewType).thenReturn(ContentPreviewType.CONTENT_PREVIEW_TEXT) val testSubject = ChooserContentPreviewUi( - lifecycleOwner.lifecycle, + testScope, previewData, Intent(Intent.ACTION_VIEW), imageLoader, @@ -84,7 +74,7 @@ class ChooserContentPreviewUiTest { whenever(previewData.previewType).thenReturn(ContentPreviewType.CONTENT_PREVIEW_FILE) val testSubject = ChooserContentPreviewUi( - lifecycleOwner.lifecycle, + testScope, previewData, Intent(Intent.ACTION_SEND), imageLoader, @@ -108,7 +98,7 @@ class ChooserContentPreviewUiTest { whenever(previewData.imagePreviewFileInfoFlow).thenReturn(MutableSharedFlow()) val testSubject = ChooserContentPreviewUi( - lifecycleOwner.lifecycle, + testScope, previewData, Intent(Intent.ACTION_SEND).apply { putExtra(Intent.EXTRA_TEXT, "Shared text") }, imageLoader, @@ -132,7 +122,7 @@ class ChooserContentPreviewUiTest { whenever(previewData.imagePreviewFileInfoFlow).thenReturn(MutableSharedFlow()) val testSubject = ChooserContentPreviewUi( - lifecycleOwner.lifecycle, + testScope, previewData, Intent(Intent.ACTION_SEND), imageLoader, diff --git a/java/tests/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUiTest.kt b/java/tests/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUiTest.kt index 0976dbf1..7cc0b4b2 100644 --- a/java/tests/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUiTest.kt +++ b/java/tests/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUiTest.kt @@ -21,7 +21,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView -import androidx.lifecycle.testing.TestLifecycleOwner import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation import com.android.intentresolver.R @@ -31,6 +30,9 @@ import com.android.intentresolver.widget.ActionRow import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertWithMessage import java.util.function.Consumer +import kotlin.coroutines.EmptyCoroutineContext +import kotlinx.coroutines.test.TestScope +import kotlinx.coroutines.test.UnconfinedTestDispatcher import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mockito.anyInt @@ -45,7 +47,7 @@ private const val SHARED_TEXT = "Some text to share" @RunWith(AndroidJUnit4::class) class FilesPlusTextContentPreviewUiTest { - private val lifecycleOwner = TestLifecycleOwner() + private val testScope = TestScope(EmptyCoroutineContext + UnconfinedTestDispatcher()) private val actionFactory = object : ChooserContentPreviewUi.ActionFactory { override fun getEditButtonRunnable(): Runnable? = null @@ -63,7 +65,7 @@ class FilesPlusTextContentPreviewUiTest { } private val context - get() = getInstrumentation().getContext() + get() = getInstrumentation().context @Test fun test_displayImagesPlusTextWithoutUriMetadata_showImagesHeadline() { @@ -252,7 +254,7 @@ class FilesPlusTextContentPreviewUiTest { val sharedFileCount = 2 val testSubject = FilesPlusTextContentPreviewUi( - lifecycleOwner.lifecycle, + testScope, /*isSingleImage=*/ false, sharedFileCount, SHARED_TEXT, @@ -284,7 +286,7 @@ class FilesPlusTextContentPreviewUiTest { val sharedFileCount = 2 val testSubject = FilesPlusTextContentPreviewUi( - lifecycleOwner.lifecycle, + testScope, /*isSingleImage=*/ false, sharedFileCount, SHARED_TEXT, @@ -332,7 +334,7 @@ class FilesPlusTextContentPreviewUiTest { ): ViewGroup? { val testSubject = FilesPlusTextContentPreviewUi( - lifecycleOwner.lifecycle, + testScope, /*isSingleImage=*/ false, sharedFileCount, SHARED_TEXT, @@ -361,7 +363,7 @@ class FilesPlusTextContentPreviewUiTest { ): Pair<ViewGroup?, View> { val testSubject = FilesPlusTextContentPreviewUi( - lifecycleOwner.lifecycle, + testScope, /*isSingleImage=*/ false, sharedFileCount, SHARED_TEXT, diff --git a/java/tests/src/com/android/intentresolver/contentpreview/TextContentPreviewUiTest.kt b/java/tests/src/com/android/intentresolver/contentpreview/TextContentPreviewUiTest.kt index b91ed436..35362401 100644 --- a/java/tests/src/com/android/intentresolver/contentpreview/TextContentPreviewUiTest.kt +++ b/java/tests/src/com/android/intentresolver/contentpreview/TextContentPreviewUiTest.kt @@ -20,7 +20,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView -import androidx.lifecycle.testing.TestLifecycleOwner import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.platform.app.InstrumentationRegistry import com.android.intentresolver.R @@ -29,6 +28,9 @@ import com.android.intentresolver.whenever import com.android.intentresolver.widget.ActionRow import com.google.common.truth.Truth.assertThat import java.util.function.Consumer +import kotlin.coroutines.EmptyCoroutineContext +import kotlinx.coroutines.test.TestScope +import kotlinx.coroutines.test.UnconfinedTestDispatcher import org.junit.Test import org.junit.runner.RunWith @@ -36,7 +38,7 @@ import org.junit.runner.RunWith class TextContentPreviewUiTest { private val text = "Shared Text" private val title = "Preview Title" - private val lifecycleOwner = TestLifecycleOwner() + private val testScope = TestScope(EmptyCoroutineContext + UnconfinedTestDispatcher()) private val actionFactory = object : ChooserContentPreviewUi.ActionFactory { override fun getEditButtonRunnable(): Runnable? = null @@ -54,7 +56,7 @@ class TextContentPreviewUiTest { private val testSubject = TextContentPreviewUi( - lifecycleOwner.lifecycle, + testScope, text, title, /*previewThumbnail=*/ null, |