diff options
| author | 2023-06-02 15:58:28 +0000 | |
|---|---|---|
| committer | 2023-06-02 15:58:28 +0000 | |
| commit | 2ec00dd65a38cc4668bdb58e3d047fb75588da14 (patch) | |
| tree | 476ec51ce0c8b99456aca0a47f8102dee6b5ab0a /java | |
| parent | b3545d7c4c9220df9f39f3694a92e2ec32b526cb (diff) | |
| parent | 40562cc4a8d0693a51a057119d1f3d4821105a81 (diff) | |
Always use file or image preview UI when sending files am: 8764dfb8c1 am: 40562cc4a8
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/IntentResolver/+/23521228
Change-Id: I82d31b8ee0e7a27082afe72d399474e229911804
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'java')
3 files changed, 9 insertions, 15 deletions
diff --git a/java/src/com/android/intentresolver/contentpreview/MimeTypeClassifier.java b/java/src/com/android/intentresolver/contentpreview/MimeTypeClassifier.java index c86b0fe2..0c333b68 100644 --- a/java/src/com/android/intentresolver/contentpreview/MimeTypeClassifier.java +++ b/java/src/com/android/intentresolver/contentpreview/MimeTypeClassifier.java @@ -33,11 +33,4 @@ public interface MimeTypeClassifier { default boolean isVideoType(@Nullable String mimeType) { return (mimeType != null) && ClipDescription.compareMimeTypes(mimeType, "video/*"); } - - /** - * @return whether the specified {@code mimeType} is classified as "text" type - */ - default boolean isTextType(@Nullable String mimeType) { - return (mimeType != null) && ClipDescription.compareMimeTypes(mimeType, "text/*"); - } } diff --git a/java/src/com/android/intentresolver/contentpreview/PreviewDataProvider.kt b/java/src/com/android/intentresolver/contentpreview/PreviewDataProvider.kt index ae705369..8ab3a272 100644 --- a/java/src/com/android/intentresolver/contentpreview/PreviewDataProvider.kt +++ b/java/src/com/android/intentresolver/contentpreview/PreviewDataProvider.kt @@ -104,11 +104,7 @@ constructor( * that broadly covers all data being shared, such as '*' when sending an image * and text. We therefore should inspect each item for the preferred type, in order: * IMAGE, FILE, TEXT. */ - if ( - !targetIntent.isSend || - typeClassifier.isTextType(targetIntent.type) || - records.isEmpty() - ) { + if (!targetIntent.isSend || records.isEmpty()) { CONTENT_PREVIEW_TEXT } else { runBlocking(dispatcher) { diff --git a/java/tests/src/com/android/intentresolver/contentpreview/PreviewDataProviderTest.kt b/java/tests/src/com/android/intentresolver/contentpreview/PreviewDataProviderTest.kt index 2c47efa5..145b89ad 100644 --- a/java/tests/src/com/android/intentresolver/contentpreview/PreviewDataProviderTest.kt +++ b/java/tests/src/com/android/intentresolver/contentpreview/PreviewDataProviderTest.kt @@ -71,16 +71,21 @@ class PreviewDataProviderTest { } @Test - fun test_sendIntentWithTextMimeType_resolvesToTextPreviewUiSynchronously() { + fun test_sendSingleTextFileWithoutPreview_resolvesToFilePreviewUi() { + val uri = Uri.parse("content://org.pkg.app/notes.txt") val targetIntent = Intent(Intent.ACTION_SEND) .apply { + putExtra(Intent.EXTRA_STREAM, uri) type = "text/plain" } + whenever(contentResolver.getType(uri)).thenReturn("text/plain") val testSubject = PreviewDataProvider(targetIntent, contentResolver, mimeTypeClassifier, dispatcher) - assertThat(testSubject.previewType).isEqualTo(ContentPreviewType.CONTENT_PREVIEW_TEXT) - verify(contentResolver, never()).getType(any()) + assertThat(testSubject.previewType).isEqualTo(ContentPreviewType.CONTENT_PREVIEW_FILE) + assertThat(testSubject.uriCount).isEqualTo(1) + assertThat(testSubject.firstFileInfo?.uri).isEqualTo(uri) + verify(contentResolver, times(1)).getType(any()) } @Test |