summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
author Andrey Epin <ayepin@google.com> 2023-01-31 14:09:01 -0800
committer Andrey Epin <ayepin@google.com> 2023-02-03 14:34:42 -0800
commit150f8b476d622b592ce9192aed2e106076f2f67e (patch)
tree463a6c4e3b34c0af1c7d61f1cb40a12e0f452da1 /java/src
parent3a9ca304f41a13c42f13f8f26eb9a714de24a267 (diff)
Enable scrollable image preview view
Enable scrollable image preview view under a feature flag. Bug: 262280076 Test: manual test Test: atest IntentResolverUnitTests with the both flag values Change-Id: I86050f1e9193412d15fb35a162a0405cf8287401
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/intentresolver/ChooserContentPreviewUi.java17
-rw-r--r--java/src/com/android/intentresolver/flags/Flags.kt6
-rw-r--r--java/src/com/android/intentresolver/widget/ChooserImagePreviewView.kt3
3 files changed, 23 insertions, 3 deletions
diff --git a/java/src/com/android/intentresolver/ChooserContentPreviewUi.java b/java/src/com/android/intentresolver/ChooserContentPreviewUi.java
index 553a36c6..9bef3553 100644
--- a/java/src/com/android/intentresolver/ChooserContentPreviewUi.java
+++ b/java/src/com/android/intentresolver/ChooserContentPreviewUi.java
@@ -363,8 +363,7 @@ public final class ChooserContentPreviewUi {
@LayoutRes int actionRowLayout) {
ViewGroup contentPreviewLayout = (ViewGroup) layoutInflater.inflate(
R.layout.chooser_grid_preview_image, parent, false);
- ImagePreviewView imagePreview = contentPreviewLayout.findViewById(
- com.android.internal.R.id.content_preview_image_area);
+ ImagePreviewView imagePreview = inflateImagePreviewView(contentPreviewLayout);
final ActionRow actionRow = inflateActionRow(contentPreviewLayout, actionRowLayout);
if (actionRow != null) {
@@ -431,6 +430,20 @@ public final class ChooserContentPreviewUi {
return actions;
}
+ private ImagePreviewView inflateImagePreviewView(ViewGroup previewLayout) {
+ ViewStub stub = previewLayout.findViewById(R.id.image_preview_stub);
+ if (stub != null) {
+ int layoutId =
+ mFeatureFlagRepository.isEnabled(Flags.SHARESHEET_SCROLLABLE_IMAGE_PREVIEW)
+ ? R.layout.scrollable_image_preview_view
+ : R.layout.chooser_image_preview_view;
+ stub.setLayoutResource(layoutId);
+ stub.inflate();
+ }
+ return previewLayout.findViewById(
+ com.android.internal.R.id.content_preview_image_area);
+ }
+
private static ViewGroup displayFileContentPreview(
Intent targetIntent,
Resources resources,
diff --git a/java/src/com/android/intentresolver/flags/Flags.kt b/java/src/com/android/intentresolver/flags/Flags.kt
index 92ee5115..027eb56c 100644
--- a/java/src/com/android/intentresolver/flags/Flags.kt
+++ b/java/src/com/android/intentresolver/flags/Flags.kt
@@ -35,6 +35,12 @@ object Flags {
id = 1503, name = "sharesheet_image_text_preview"
)
+ // TODO(b/267355521) Tracking Bug
+ @JvmField
+ val SHARESHEET_SCROLLABLE_IMAGE_PREVIEW = unreleasedFlag(
+ 1504, "sharesheet_scrollable_image_preview"
+ )
+
private fun unreleasedFlag(id: Int, name: String, teamfood: Boolean = false) =
UnreleasedFlag(id, name, "systemui", teamfood)
}
diff --git a/java/src/com/android/intentresolver/widget/ChooserImagePreviewView.kt b/java/src/com/android/intentresolver/widget/ChooserImagePreviewView.kt
index bf10bfaa..ca94a95d 100644
--- a/java/src/com/android/intentresolver/widget/ChooserImagePreviewView.kt
+++ b/java/src/com/android/intentresolver/widget/ChooserImagePreviewView.kt
@@ -57,7 +57,8 @@ class ChooserImagePreviewView : RelativeLayout, ImagePreviewView {
private var transitionStatusElementCallback: TransitionElementStatusCallback? = null
override fun onFinishInflate() {
- LayoutInflater.from(context).inflate(R.layout.image_preview_view, this, true)
+ LayoutInflater.from(context)
+ .inflate(R.layout.chooser_image_preview_view_internals, this, true)
mainImage = requireViewById(IntR.id.content_preview_image_1_large)
secondLargeImage = requireViewById(IntR.id.content_preview_image_2_large)
secondSmallImage = requireViewById(IntR.id.content_preview_image_2_small)