summaryrefslogtreecommitdiff
path: root/java/tests/src
diff options
context:
space:
mode:
author Matt Casey <mrcasey@google.com> 2023-03-22 16:50:36 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-03-22 16:50:36 +0000
commit01ff5bf4921baea7fedf797358755a9c9111016e (patch)
treea214143f6d91ce97e3cae4f62325ced8ef25b604 /java/tests/src
parent5844bf66dbc81ab3b37a396def5f4b562d7e6176 (diff)
parentf016e5ff5b3d4d1b515aff469e9e0c18531d0de5 (diff)
Merge "Revert "Revert "Add headline to sharesheet.""" into udc-dev
Diffstat (limited to 'java/tests/src')
-rw-r--r--java/tests/src/com/android/intentresolver/UnbundledChooserActivityTest.java39
-rw-r--r--java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt34
-rw-r--r--java/tests/src/com/android/intentresolver/contentpreview/HeadlineGeneratorImplTest.kt49
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")
+ }
+}