diff options
| author | 2023-06-02 15:05:50 +0000 | |
|---|---|---|
| committer | 2023-06-02 15:05:50 +0000 | |
| commit | 2b3cc3aa5a4cd0015c8427f91c71ea9dac83b917 (patch) | |
| tree | a687a172eea2ac170f85f7a4ea0584bb9192ad44 /java | |
| parent | 952eb30e173cebb4cfd83add55f2908956baffd7 (diff) | |
| parent | 8764dfb8c1720b6bc1f8e2fbe400477cb125b9af (diff) | |
Always use file or image preview UI when sending files am: 8764dfb8c1
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/IntentResolver/+/23521228
Change-Id: Ib286c1250ce7c2c08204bc82f729009cf99741e6
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 |