From 03a778d6df2c57a74eed90c659e6c6893bd29170 Mon Sep 17 00:00:00 2001 From: Andrey Epin Date: Wed, 10 May 2023 20:39:45 -0700 Subject: Kepp PreviewDataProvider instace over a configuration change Add a view model, PreviewViewModel, to retain a PreviewDataProvider instance. Tangentally, move ChooserActivity#isImageType method into MimeTypeClassifier (to avoid keep a link to the activity). Fix: 281929002 Test: manual testing, vierify through injected debug logging that the object is not re-created. Change-Id: I7be397089ca33e589a3ecbd6012929bfe3c5433a --- .../contentpreview/ChooserContentPreviewUiTest.kt | 16 ++++------------ .../contentpreview/PreviewDataProviderTest.kt | 5 +---- 2 files changed, 5 insertions(+), 16 deletions(-) (limited to 'java/tests') diff --git a/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt b/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt index 5a4b6c76..0bcd8423 100644 --- a/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt +++ b/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt @@ -16,7 +16,6 @@ package com.android.intentresolver.contentpreview -import android.content.ClipDescription import android.content.Intent import android.graphics.Bitmap import android.net.Uri @@ -37,9 +36,6 @@ import org.mockito.Mockito.verify class ChooserContentPreviewUiTest { private val lifecycle = mock() private val previewData = mock() - private val imageClassifier = MimeTypeClassifier { mimeType -> - mimeType != null && ClipDescription.compareMimeTypes(mimeType, "image/*") - } private val headlineGenerator = mock() private val imageLoader = object : ImageLoader { @@ -67,11 +63,10 @@ class ChooserContentPreviewUiTest { lifecycle, previewData, Intent(Intent.ACTION_VIEW), - imageClassifier, imageLoader, actionFactory, transitionCallback, - headlineGenerator + headlineGenerator, ) assertThat(testSubject.preferredContentPreview) .isEqualTo(ContentPreviewType.CONTENT_PREVIEW_TEXT) @@ -87,11 +82,10 @@ class ChooserContentPreviewUiTest { lifecycle, previewData, Intent(Intent.ACTION_SEND), - imageClassifier, imageLoader, actionFactory, transitionCallback, - headlineGenerator + headlineGenerator, ) assertThat(testSubject.preferredContentPreview) .isEqualTo(ContentPreviewType.CONTENT_PREVIEW_FILE) @@ -116,11 +110,10 @@ class ChooserContentPreviewUiTest { lifecycle, previewData, Intent(Intent.ACTION_SEND).apply { putExtra(Intent.EXTRA_TEXT, "Shared text") }, - imageClassifier, imageLoader, actionFactory, transitionCallback, - headlineGenerator + headlineGenerator, ) assertThat(testSubject.mContentPreviewUi) .isInstanceOf(FilesPlusTextContentPreviewUi::class.java) @@ -145,11 +138,10 @@ class ChooserContentPreviewUiTest { lifecycle, previewData, Intent(Intent.ACTION_SEND), - imageClassifier, imageLoader, actionFactory, transitionCallback, - headlineGenerator + headlineGenerator, ) assertThat(testSubject.preferredContentPreview) .isEqualTo(ContentPreviewType.CONTENT_PREVIEW_IMAGE) diff --git a/java/tests/src/com/android/intentresolver/contentpreview/PreviewDataProviderTest.kt b/java/tests/src/com/android/intentresolver/contentpreview/PreviewDataProviderTest.kt index 5be373b3..2c47efa5 100644 --- a/java/tests/src/com/android/intentresolver/contentpreview/PreviewDataProviderTest.kt +++ b/java/tests/src/com/android/intentresolver/contentpreview/PreviewDataProviderTest.kt @@ -16,7 +16,6 @@ package com.android.intentresolver.contentpreview -import android.content.ClipDescription import android.content.ContentInterface import android.content.Intent import android.database.MatrixCursor @@ -44,9 +43,7 @@ import org.mockito.Mockito.verify @OptIn(ExperimentalCoroutinesApi::class) class PreviewDataProviderTest { private val contentResolver = mock() - private val mimeTypeClassifier = MimeTypeClassifier { mimeType -> - mimeType != null && ClipDescription.compareMimeTypes(mimeType, "image/*") - } + private val mimeTypeClassifier = DefaultMimeTypeClassifier private val lifecycleOwner = TestLifecycleOwner() private val dispatcher = UnconfinedTestDispatcher() -- cgit v1.2.3-59-g8ed1b