summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2023-02-04 00:40:45 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-02-04 00:40:45 +0000
commitfab640cece177bbd96e8af0bd284dbf54d274086 (patch)
tree5045e05ed9076a80f23fe8e8810d7ec4a0a6e554 /java/src
parentc0866ee7a38ab012e95629fcf10d1404103cf49b (diff)
parent3d094b80389b2386b9f724217ef593dc64a3ca8b (diff)
Merge "Enable scrollable image preview view" into tm-qpr-dev am: 3d094b8038
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/IntentResolver/+/21161337 Change-Id: Ic1c9d4120560e77529555fb4b453a8ff7c3da675 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
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 db00a751..9c206265 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", teamfood = true
)
+ // 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)