diff options
| author | 2023-03-22 16:50:36 +0000 | |
|---|---|---|
| committer | 2023-03-22 16:50:36 +0000 | |
| commit | 01ff5bf4921baea7fedf797358755a9c9111016e (patch) | |
| tree | a214143f6d91ce97e3cae4f62325ced8ef25b604 /java/tests/src | |
| parent | 5844bf66dbc81ab3b37a396def5f4b562d7e6176 (diff) | |
| parent | f016e5ff5b3d4d1b515aff469e9e0c18531d0de5 (diff) | |
Merge "Revert "Revert "Add headline to sharesheet.""" into udc-dev
Diffstat (limited to 'java/tests/src')
3 files changed, 111 insertions, 11 deletions
diff --git a/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java b/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java index 7837a39d..6744d625 100644 --- a/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java +++ b/java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java @@ -26,6 +26,7 @@ import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist; import static androidx.test.espresso.assertion.ViewAssertions.matches; import static androidx.test.espresso.matcher.ViewMatchers.hasSibling; import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed; +import static androidx.test.espresso.matcher.ViewMatchers.withEffectiveVisibility; import static androidx.test.espresso.matcher.ViewMatchers.withId; import static androidx.test.espresso.matcher.ViewMatchers.withText; @@ -98,6 +99,7 @@ import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.test.espresso.contrib.RecyclerViewActions; import androidx.test.espresso.matcher.BoundedDiagnosingMatcher; +import androidx.test.espresso.matcher.ViewMatchers; import androidx.test.platform.app.InstrumentationRegistry; import androidx.test.rule.ActivityTestRule; @@ -1074,6 +1076,43 @@ public class UnbundledChooserActivityTest { } @Test + @RequireFeatureFlags( + flags = { Flags.SHARESHEET_IMAGE_AND_TEXT_PREVIEW_NAME }, + values = { true }) + public void testNoTextPreviewWhenTextIsSharedWithMultipleImages() { + final Uri uri = Uri.parse("android.resource://com.android.frameworks.coretests/" + + R.drawable.test320x240); + final String sharedText = "text-" + System.currentTimeMillis(); + + ArrayList<Uri> uris = new ArrayList<>(); + uris.add(uri); + uris.add(uri); + + Intent sendIntent = createSendUriIntentWithPreview(uris); + sendIntent.putExtra(Intent.EXTRA_TEXT, sharedText); + ChooserActivityOverrideData.getInstance().previewThumbnail = createBitmap(); + ChooserActivityOverrideData.getInstance().isImageType = true; + + List<ResolvedComponentInfo> resolvedComponentInfos = createResolvedComponentsForTest(2); + + when( + ChooserActivityOverrideData + .getInstance() + .resolverListController + .getResolversForIntentAsUser( + Mockito.anyBoolean(), + Mockito.anyBoolean(), + Mockito.anyBoolean(), + Mockito.isA(List.class), + Mockito.any(UserHandle.class))) + .thenReturn(resolvedComponentInfos); + mActivityRule.launchActivity(Intent.createChooser(sendIntent, null)); + waitForIdle(); + onView(withId(com.android.internal.R.id.content_preview_text)) + .check(matches(withEffectiveVisibility(ViewMatchers.Visibility.GONE))); + } + + @Test public void testOnCreateLogging() { Intent sendIntent = createSendTextIntent(); sendIntent.setType(TEST_MIME_TYPE); diff --git a/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt b/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt index 58b8a21d..82bf94c4 100644 --- a/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt +++ b/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt @@ -44,6 +44,7 @@ class ChooserContentPreviewUiTest { private val imageClassifier = MimeTypeClassifier { mimeType -> mimeType != null && ClipDescription.compareMimeTypes(mimeType, "image/*") } + private val headlineGenerator = mock<HeadlineGenerator>() private val imageLoader = object : ImageLoader { override fun loadImage(uri: Uri, callback: Consumer<Bitmap?>) { callback.accept(null) @@ -76,7 +77,8 @@ class ChooserContentPreviewUiTest { imageLoader, actionFactory, transitionCallback, - featureFlagRepository + featureFlagRepository, + headlineGenerator ) assertThat(testSubject.preferredContentPreview) .isEqualTo(ContentPreviewType.CONTENT_PREVIEW_TEXT) @@ -96,7 +98,8 @@ class ChooserContentPreviewUiTest { imageLoader, actionFactory, transitionCallback, - featureFlagRepository + featureFlagRepository, + headlineGenerator ) assertThat(testSubject.preferredContentPreview) .isEqualTo(ContentPreviewType.CONTENT_PREVIEW_TEXT) @@ -117,7 +120,8 @@ class ChooserContentPreviewUiTest { imageLoader, actionFactory, transitionCallback, - featureFlagRepository + featureFlagRepository, + headlineGenerator ) assertThat(testSubject.preferredContentPreview) .isEqualTo(ContentPreviewType.CONTENT_PREVIEW_IMAGE) @@ -138,7 +142,8 @@ class ChooserContentPreviewUiTest { imageLoader, actionFactory, transitionCallback, - featureFlagRepository + featureFlagRepository, + headlineGenerator ) assertThat(testSubject.preferredContentPreview) .isEqualTo(ContentPreviewType.CONTENT_PREVIEW_FILE) @@ -160,7 +165,8 @@ class ChooserContentPreviewUiTest { imageLoader, actionFactory, transitionCallback, - featureFlagRepository + featureFlagRepository, + headlineGenerator ) assertThat(testSubject.preferredContentPreview) .isEqualTo(ContentPreviewType.CONTENT_PREVIEW_FILE) @@ -185,7 +191,8 @@ class ChooserContentPreviewUiTest { imageLoader, actionFactory, transitionCallback, - featureFlagRepository + featureFlagRepository, + headlineGenerator ) assertThat(testSubject.preferredContentPreview) .isEqualTo(ContentPreviewType.CONTENT_PREVIEW_FILE) @@ -208,7 +215,8 @@ class ChooserContentPreviewUiTest { imageLoader, actionFactory, transitionCallback, - featureFlagRepository + featureFlagRepository, + headlineGenerator ) assertThat(testSubject.preferredContentPreview) .isEqualTo(ContentPreviewType.CONTENT_PREVIEW_IMAGE) @@ -237,7 +245,8 @@ class ChooserContentPreviewUiTest { imageLoader, actionFactory, transitionCallback, - featureFlagRepository + featureFlagRepository, + headlineGenerator ) assertThat(testSubject.preferredContentPreview) .isEqualTo(ContentPreviewType.CONTENT_PREVIEW_IMAGE) @@ -266,7 +275,8 @@ class ChooserContentPreviewUiTest { imageLoader, actionFactory, transitionCallback, - featureFlagRepository + featureFlagRepository, + headlineGenerator ) assertThat(testSubject.preferredContentPreview) .isEqualTo(ContentPreviewType.CONTENT_PREVIEW_IMAGE) @@ -297,7 +307,8 @@ class ChooserContentPreviewUiTest { imageLoader, actionFactory, transitionCallback, - featureFlagRepository + featureFlagRepository, + headlineGenerator ) assertThat(testSubject.preferredContentPreview) .isEqualTo(ContentPreviewType.CONTENT_PREVIEW_IMAGE) @@ -326,7 +337,8 @@ class ChooserContentPreviewUiTest { imageLoader, actionFactory, transitionCallback, - featureFlagRepository + featureFlagRepository, + headlineGenerator ) assertThat(testSubject.preferredContentPreview) .isEqualTo(ContentPreviewType.CONTENT_PREVIEW_FILE) diff --git a/java/tests/src/com/android/intentresolver/contentpreview/HeadlineGeneratorImplTest.kt b/java/tests/src/com/android/intentresolver/contentpreview/HeadlineGeneratorImplTest.kt new file mode 100644 index 00000000..9becce99 --- /dev/null +++ b/java/tests/src/com/android/intentresolver/contentpreview/HeadlineGeneratorImplTest.kt @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.intentresolver.contentpreview + +import androidx.test.ext.junit.runners.AndroidJUnit4 +import androidx.test.platform.app.InstrumentationRegistry +import org.junit.Test +import org.junit.runner.RunWith +import com.google.common.truth.Truth.assertThat + +@RunWith(AndroidJUnit4::class) +class HeadlineGeneratorImplTest { + @Test + fun testHeadlineGeneration() { + val generator = HeadlineGeneratorImpl( + InstrumentationRegistry.getInstrumentation().getTargetContext()) + val str = "Some sting" + val url = "http://www.google.com" + + assertThat(generator.getTextHeadline(str)).isEqualTo("Sharing text") + assertThat(generator.getTextHeadline(url)).isEqualTo("Sharing link") + + assertThat(generator.getImageWithTextHeadline(str)).isEqualTo("Sharing image with text") + assertThat(generator.getImageWithTextHeadline(url)).isEqualTo("Sharing image with link") + + assertThat(generator.getImagesHeadline(1)).isEqualTo("Sharing image") + assertThat(generator.getImagesHeadline(4)).isEqualTo("Sharing 4 images") + + assertThat(generator.getVideosHeadline(1)).isEqualTo("Sharing video") + assertThat(generator.getVideosHeadline(4)).isEqualTo("Sharing 4 videos") + + assertThat(generator.getItemsHeadline(1)).isEqualTo("Sharing 1 item") + assertThat(generator.getItemsHeadline(4)).isEqualTo("Sharing 4 items") + } +} |