From 35c782693074f5b5b3c9a314360a61386ca7ce58 Mon Sep 17 00:00:00 2001 From: 1 Date: Thu, 20 Apr 2023 18:41:27 +0000 Subject: Simplify resource definition for landscape phones. Previously had to define several values twice. Not use values/ for the landscape phone values and values-h480dp/ for values for any device config taller than 480dp (basically not a landscape phone). Bug: 267522604 Test: Verifying no visual behavior change in either rotation on tablets and phones. Test: atest IntentResolverUnitTests Change-Id: I8afdb13b7d4a7949ddbaf0f6eabc37d2b3e38a46 --- java/res/values-h480dp/bools.xml | 20 ++++++++++++++++++++ java/res/values-h480dp/dimens.xml | 6 +++++- java/res/values-h480dp/integers.xml | 19 +++++++++++++++++++ java/res/values-land/bools.xml | 20 -------------------- java/res/values-land/dimens.xml | 27 --------------------------- java/res/values-land/integers.xml | 19 ------------------- java/res/values-sw600dp/bools.xml | 20 -------------------- java/res/values-sw600dp/dimens.xml | 5 ----- java/res/values-sw600dp/integers.xml | 19 ------------------- java/res/values/bools.xml | 4 +++- java/res/values/dimens.xml | 10 +++++++--- java/res/values/integers.xml | 6 ++++-- 12 files changed, 58 insertions(+), 117 deletions(-) create mode 100644 java/res/values-h480dp/bools.xml create mode 100644 java/res/values-h480dp/integers.xml delete mode 100644 java/res/values-land/bools.xml delete mode 100644 java/res/values-land/dimens.xml delete mode 100644 java/res/values-land/integers.xml delete mode 100644 java/res/values-sw600dp/bools.xml delete mode 100644 java/res/values-sw600dp/integers.xml (limited to 'java') diff --git a/java/res/values-h480dp/bools.xml b/java/res/values-h480dp/bools.xml new file mode 100644 index 00000000..761de1ea --- /dev/null +++ b/java/res/values-h480dp/bools.xml @@ -0,0 +1,20 @@ + + + + + false + diff --git a/java/res/values-h480dp/dimens.xml b/java/res/values-h480dp/dimens.xml index 9cdc8899..41a5a980 100644 --- a/java/res/values-h480dp/dimens.xml +++ b/java/res/values-h480dp/dimens.xml @@ -20,4 +20,8 @@ 48dp @dimen/resolver_edge_margin 8dp - \ No newline at end of file + + 192dp + -1px + 18dp + diff --git a/java/res/values-h480dp/integers.xml b/java/res/values-h480dp/integers.xml new file mode 100644 index 00000000..c1693057 --- /dev/null +++ b/java/res/values-h480dp/integers.xml @@ -0,0 +1,19 @@ + + + + 3 + diff --git a/java/res/values-land/bools.xml b/java/res/values-land/bools.xml deleted file mode 100644 index 761de1ea..00000000 --- a/java/res/values-land/bools.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - false - diff --git a/java/res/values-land/dimens.xml b/java/res/values-land/dimens.xml deleted file mode 100644 index e3169efd..00000000 --- a/java/res/values-land/dimens.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - 412dp - 64dp - 8dp - 1 - true - diff --git a/java/res/values-land/integers.xml b/java/res/values-land/integers.xml deleted file mode 100644 index 2e310d87..00000000 --- a/java/res/values-land/integers.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - 1 - diff --git a/java/res/values-sw600dp/bools.xml b/java/res/values-sw600dp/bools.xml deleted file mode 100644 index 761de1ea..00000000 --- a/java/res/values-sw600dp/bools.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - false - diff --git a/java/res/values-sw600dp/dimens.xml b/java/res/values-sw600dp/dimens.xml index 6cd29747..fc8ac066 100644 --- a/java/res/values-sw600dp/dimens.xml +++ b/java/res/values-sw600dp/dimens.xml @@ -18,10 +18,5 @@ */ --> - 624dp - 192dp - 18dp - 3 - false diff --git a/java/res/values-sw600dp/integers.xml b/java/res/values-sw600dp/integers.xml deleted file mode 100644 index c1693057..00000000 --- a/java/res/values-sw600dp/integers.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - 3 - diff --git a/java/res/values/bools.xml b/java/res/values/bools.xml index 641620d7..fb7c747b 100644 --- a/java/res/values/bools.xml +++ b/java/res/values/bools.xml @@ -15,5 +15,7 @@ --> - false + + true diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml index 947351d8..cd1ae1ca 100644 --- a/java/res/values/dimens.xml +++ b/java/res/values/dimens.xml @@ -21,16 +21,13 @@ 28dp 14dp 25dp - 18dp 8dp 24dp 12dp 20sp 1dp 120dp - 192dp 200dp - -1px 4dp 288dp 72dp @@ -55,4 +52,11 @@ 22dp 0dp + + + 412dp + 64dp + 8dp + diff --git a/java/res/values/integers.xml b/java/res/values/integers.xml index c1693057..6d57e43e 100644 --- a/java/res/values/integers.xml +++ b/java/res/values/integers.xml @@ -14,6 +14,8 @@ ~ limitations under the License. --> - - 3 + + + 1 -- cgit v1.2.3-59-g8ed1b 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