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 --- .../contentpreview/TextContentPreviewUi.java | 7 +++++-- .../contentpreview/UnifiedContentPreviewUi.java | 22 ++++++++++++++-------- 2 files changed, 19 insertions(+), 10 deletions(-) (limited to 'java/src') 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