From e33c4ebbbdca0ce083f4fdd06dd2c4fcc0cd30fe Mon Sep 17 00:00:00 2001 From: 1 Date: Thu, 20 Apr 2023 19:54:58 +0000 Subject: Reduce preview height on landscape phones. On landscape phones: - Hide all image previews except in the image+text case where it's now much smaller. - Increase max width for custom actions. - Hide text title - Remove minimum height for text preview container. Bug: 267522604 Test: Manual tests on tablets and phones in both rotations. Test: atest IntentResolverUnitTests Change-Id: I7ad8d0b94f7133b36ce0d60640a31f7ef6d8cd7d --- java/res/layout/chooser_action_view.xml | 2 +- .../res/layout/chooser_grid_preview_files_text.xml | 4 ++-- java/res/layout/chooser_grid_preview_text.xml | 1 - java/res/values-h480dp/bools.xml | 1 + java/res/values-h480dp/dimens.xml | 3 ++- java/res/values/bools.xml | 5 +++-- java/res/values/dimens.xml | 5 +++-- .../contentpreview/TextContentPreviewUi.java | 7 +++++-- .../contentpreview/UnifiedContentPreviewUi.java | 22 ++++++++++++++-------- 9 files changed, 31 insertions(+), 19 deletions(-) (limited to 'java') diff --git a/java/res/layout/chooser_action_view.xml b/java/res/layout/chooser_action_view.xml index 724274a6..a5436ed5 100644 --- a/java/res/layout/chooser_action_view.xml +++ b/java/res/layout/chooser_action_view.xml @@ -19,7 +19,7 @@ android:drawablePadding="8dp" android:textColor="?android:attr/textColorPrimary" android:textSize="12sp" - android:maxWidth="80dp" + android:maxWidth="@dimen/chooser_action_max_width" android:clickable="true" android:drawableTint="?android:attr/textColorPrimary" android:drawableTintMode="src_in" diff --git a/java/res/layout/chooser_grid_preview_files_text.xml b/java/res/layout/chooser_grid_preview_files_text.xml index d46da2c0..2b5586cb 100644 --- a/java/res/layout/chooser_grid_preview_files_text.xml +++ b/java/res/layout/chooser_grid_preview_files_text.xml @@ -38,8 +38,8 @@ diff --git a/java/res/layout/chooser_grid_preview_text.xml b/java/res/layout/chooser_grid_preview_text.xml index e22cfbd2..ca4604c0 100644 --- a/java/res/layout/chooser_grid_preview_text.xml +++ b/java/res/layout/chooser_grid_preview_text.xml @@ -37,7 +37,6 @@ android:layout_marginRight="@dimen/chooser_edge_margin_normal" android:layout_marginBottom="@dimen/chooser_view_spacing" android:padding="@dimen/chooser_edge_margin_normal" - android:minHeight="80dp" android:background="@drawable/chooser_content_preview_rounded" android:id="@+id/text_preview_layout"> diff --git a/java/res/values-h480dp/bools.xml b/java/res/values-h480dp/bools.xml index 761de1ea..749f7e8c 100644 --- a/java/res/values-h480dp/bools.xml +++ b/java/res/values-h480dp/bools.xml @@ -17,4 +17,5 @@ false + false diff --git a/java/res/values-h480dp/dimens.xml b/java/res/values-h480dp/dimens.xml index 41a5a980..3bfa3083 100644 --- a/java/res/values-h480dp/dimens.xml +++ b/java/res/values-h480dp/dimens.xml @@ -21,7 +21,8 @@ @dimen/resolver_edge_margin 8dp - 192dp -1px 18dp + 80dp + 100dp diff --git a/java/res/values/bools.xml b/java/res/values/bools.xml index fb7c747b..38d97d8e 100644 --- a/java/res/values/bools.xml +++ b/java/res/values/bools.xml @@ -15,7 +15,8 @@ --> - + true + true diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml index cd1ae1ca..e0a3b2c6 100644 --- a/java/res/values/dimens.xml +++ b/java/res/values/dimens.xml @@ -49,14 +49,15 @@ 48dp 8dp 4dp - + 192dp 22dp 0dp 412dp - 64dp 8dp + 120dp + 32dp diff --git a/java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java b/java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java index 746da49e..3f662ce3 100644 --- a/java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java +++ b/java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java @@ -77,6 +77,9 @@ class TextContentPreviewUi extends ContentPreviewUi { ViewGroup contentPreviewLayout = (ViewGroup) layoutInflater.inflate( R.layout.chooser_grid_preview_text, parent, false); + boolean minimalPreview = + parent.getContext().getResources().getBoolean(R.bool.minimal_preview); + final ActionRow actionRow = contentPreviewLayout.findViewById(com.android.internal.R.id.chooser_action_row); actionRow.setActions( @@ -97,7 +100,7 @@ class TextContentPreviewUi extends ContentPreviewUi { TextView previewTitleView = contentPreviewLayout.findViewById( com.android.internal.R.id.content_preview_title); - if (TextUtils.isEmpty(mPreviewTitle)) { + if (TextUtils.isEmpty(mPreviewTitle) || minimalPreview) { previewTitleView.setVisibility(View.GONE); } else { previewTitleView.setText(mPreviewTitle); @@ -105,7 +108,7 @@ class TextContentPreviewUi extends ContentPreviewUi { ImageView previewThumbnailView = contentPreviewLayout.findViewById( com.android.internal.R.id.content_preview_thumbnail); - if (!validForContentPreview(mPreviewThumbnail)) { + if (!validForContentPreview(mPreviewThumbnail) || minimalPreview) { previewThumbnailView.setVisibility(View.GONE); } else { mImageLoader.loadImage( diff --git a/java/src/com/android/intentresolver/contentpreview/UnifiedContentPreviewUi.java b/java/src/com/android/intentresolver/contentpreview/UnifiedContentPreviewUi.java index f52d233d..737e30fc 100644 --- a/java/src/com/android/intentresolver/contentpreview/UnifiedContentPreviewUi.java +++ b/java/src/com/android/intentresolver/contentpreview/UnifiedContentPreviewUi.java @@ -81,7 +81,7 @@ class UnifiedContentPreviewUi extends ContentPreviewUi { R.layout.chooser_grid_preview_image, parent, false); ScrollableImagePreviewView imagePreview = contentPreviewLayout.findViewById(R.id.scrollable_image_preview); - imagePreview.setOnNoPreviewCallback(() -> imagePreview.setVisibility(View.GONE)); + boolean showImages = !parent.getContext().getResources().getBoolean(R.bool.minimal_preview); final ActionRow actionRow = contentPreviewLayout.findViewById(com.android.internal.R.id.chooser_action_row); @@ -100,8 +100,6 @@ class UnifiedContentPreviewUi extends ContentPreviewUi { return contentPreviewLayout; } - imagePreview.setTransitionElementStatusCallback(mTransitionElementStatusCallback); - List previews = new ArrayList<>(); boolean allImages = !mFiles.isEmpty(); boolean allVideos = !mFiles.isEmpty(); @@ -111,16 +109,24 @@ class UnifiedContentPreviewUi extends ContentPreviewUi { allImages = allImages && previewType == ScrollableImagePreviewView.PreviewType.Image; allVideos = allVideos && previewType == ScrollableImagePreviewView.PreviewType.Video; - if (fileInfo.getPreviewUri() != null) { + if (showImages && fileInfo.getPreviewUri() != null) { previews.add(new ScrollableImagePreviewView.Preview( previewType, fileInfo.getPreviewUri())); } } - imagePreview.setPreviews( - previews, - mFiles.size() - previews.size(), - mImageLoader); + + if (showImages) { + imagePreview.setOnNoPreviewCallback(() -> imagePreview.setVisibility(View.GONE)); + imagePreview.setTransitionElementStatusCallback(mTransitionElementStatusCallback); + imagePreview.setPreviews( + previews, + mFiles.size() - previews.size(), + mImageLoader); + } else { + imagePreview.setVisibility(View.GONE); + mTransitionElementStatusCallback.onAllTransitionElementsReady(); + } if (allImages) { displayHeadline( -- cgit v1.2.3-59-g8ed1b