diff options
| -rw-r--r-- | java/res/layout/chooser_action_view.xml | 2 | ||||
| -rw-r--r-- | java/res/layout/chooser_grid_preview_files_text.xml | 4 | ||||
| -rw-r--r-- | java/res/layout/chooser_grid_preview_text.xml | 1 | ||||
| -rw-r--r-- | java/res/values-h480dp/bools.xml (renamed from java/res/values-land/bools.xml) | 1 | ||||
| -rw-r--r-- | java/res/values-h480dp/dimens.xml | 7 | ||||
| -rw-r--r-- | java/res/values-h480dp/integers.xml (renamed from java/res/values-sw600dp/integers.xml) | 0 | ||||
| -rw-r--r-- | java/res/values-land/dimens.xml | 27 | ||||
| -rw-r--r-- | java/res/values-land/integers.xml | 19 | ||||
| -rw-r--r-- | java/res/values-sw600dp/bools.xml | 20 | ||||
| -rw-r--r-- | java/res/values-sw600dp/dimens.xml | 5 | ||||
| -rw-r--r-- | java/res/values/bools.xml | 5 | ||||
| -rw-r--r-- | java/res/values/dimens.xml | 13 | ||||
| -rw-r--r-- | java/res/values/integers.xml | 6 | ||||
| -rw-r--r-- | java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java | 7 | ||||
| -rw-r--r-- | java/src/com/android/intentresolver/contentpreview/UnifiedContentPreviewUi.java | 22 |
15 files changed, 46 insertions, 93 deletions
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 @@ <com.android.intentresolver.widget.RoundedRectImageView android:id="@+id/image_view" - android:layout_width="100dp" - android:layout_height="100dp" + android:layout_width="@dimen/width_text_image_preview_size" + android:layout_height="@dimen/width_text_image_preview_size" android:scaleType="centerCrop" app:radius="@dimen/chooser_corner_radius_small" /> 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-land/bools.xml b/java/res/values-h480dp/bools.xml index 761de1ea..749f7e8c 100644 --- a/java/res/values-land/bools.xml +++ b/java/res/values-h480dp/bools.xml @@ -17,4 +17,5 @@ <resources> <bool name="horizontal_actions">false</bool> + <bool name="minimal_preview">false</bool> </resources> diff --git a/java/res/values-h480dp/dimens.xml b/java/res/values-h480dp/dimens.xml index 9cdc8899..3bfa3083 100644 --- a/java/res/values-h480dp/dimens.xml +++ b/java/res/values-h480dp/dimens.xml @@ -20,4 +20,9 @@ <dimen name="resolver_empty_state_container_padding_bottom">48dp</dimen> <dimen name="resolver_title_padding_bottom">@dimen/resolver_edge_margin</dimen> <dimen name="resolver_button_bar_spacing">8dp</dimen> -</resources>
\ No newline at end of file + + <dimen name="chooser_preview_width">-1px</dimen> + <dimen name="chooser_view_spacing">18dp</dimen> + <dimen name="chooser_action_max_width">80dp</dimen> + <dimen name="width_text_image_preview_size">100dp</dimen> +</resources> diff --git a/java/res/values-sw600dp/integers.xml b/java/res/values-h480dp/integers.xml index c1693057..c1693057 100644 --- a/java/res/values-sw600dp/integers.xml +++ b/java/res/values-h480dp/integers.xml 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 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** -** Copyright 2010, The Android Open Source Project -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ ---> - -<resources> - <dimen name="chooser_preview_width">412dp</dimen> - <dimen name="chooser_preview_image_height_tall">64dp</dimen> - <dimen name="chooser_view_spacing">8dp</dimen> - <integer name="text_preview_lines">1</integer> - <bool name="horizontal_actions">true</bool> -</resources> 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 @@ -<!-- - ~ Copyright (C) 2023 The Android Open Source Project - ~ - ~ Licensed under the Apache License, Version 2.0 (the "License"); - ~ you may not use this file except in compliance with the License. - ~ You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> - -<resources xmlns:android="http://schemas.android.com/apk/res/android"> - <integer name="text_preview_lines">1</integer> -</resources> 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 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - ~ Copyright (C) 2023 The Android Open Source Project - ~ - ~ Licensed under the Apache License, Version 2.0 (the "License"); - ~ you may not use this file except in compliance with the License. - ~ You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> - -<resources> - <bool name="horizontal_actions">false</bool> -</resources> 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 @@ */ --> <resources> - <dimen name="chooser_width">624dp</dimen> - <dimen name="chooser_preview_image_height_tall">192dp</dimen> - <dimen name="chooser_view_spacing">18dp</dimen> - <integer name="text_preview_lines">3</integer> - <bool name="horizontal_actions">false</bool> </resources> diff --git a/java/res/values/bools.xml b/java/res/values/bools.xml index 641620d7..38d97d8e 100644 --- a/java/res/values/bools.xml +++ b/java/res/values/bools.xml @@ -15,5 +15,8 @@ --> <resources> - <bool name="horizontal_actions">false</bool> + <!-- Note that these values are for landscape phones, the values for all screens taller than + 480dp are set in values-h480dp/bools.xml --> + <bool name="horizontal_actions">true</bool> + <bool name="minimal_preview">true</bool> </resources> diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml index 947351d8..e0a3b2c6 100644 --- a/java/res/values/dimens.xml +++ b/java/res/values/dimens.xml @@ -21,16 +21,13 @@ <dimen name="chooser_corner_radius">28dp</dimen> <dimen name="chooser_corner_radius_small">14dp</dimen> <dimen name="chooser_row_text_option_translate">25dp</dimen> - <dimen name="chooser_view_spacing">18dp</dimen> <dimen name="chooser_edge_margin_thin">8dp</dimen> <dimen name="chooser_edge_margin_normal">24dp</dimen> <dimen name="chooser_edge_margin_normal_half">12dp</dimen> <dimen name="chooser_preview_image_font_size">20sp</dimen> <dimen name="chooser_preview_image_border">1dp</dimen> <dimen name="chooser_preview_image_width">120dp</dimen> - <dimen name="chooser_preview_image_height_tall">192dp</dimen> <dimen name="chooser_preview_image_max_dimen">200dp</dimen> - <dimen name="chooser_preview_width">-1px</dimen> <dimen name="chooser_header_scroll_elevation">4dp</dimen> <dimen name="chooser_max_collapsed_height">288dp</dimen> <dimen name="chooser_direct_share_label_placeholder_max_width">72dp</dimen> @@ -52,7 +49,15 @@ <dimen name="resolver_empty_state_container_padding_top">48dp</dimen> <dimen name="resolver_empty_state_container_padding_bottom">8dp</dimen> <dimen name="resolver_profile_tab_margin">4dp</dimen> - + <dimen name="chooser_preview_image_height_tall">192dp</dimen> <dimen name="chooser_action_view_icon_size">22dp</dimen> <dimen name="chooser_action_margin">0dp</dimen> + + <!-- Note that the values in this section are for landscape phones. For screen configs taller + than 480dp, the values are set in values-h480dp/dimens.xml --> + <dimen name="chooser_preview_width">412dp</dimen> + <dimen name="chooser_view_spacing">8dp</dimen> + <dimen name="chooser_action_max_width">120dp</dimen> + <dimen name="width_text_image_preview_size">32dp</dimen> + <!-- END SECTION --> </resources> 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. --> -<resources xmlns:android="http://schemas.android.com/apk/res/android"> - <integer name="text_preview_lines">3</integer> +<resources> + <!-- Note that this is the value for landscape phones, the value for all screens taller than + 480dp is set in values-h480dp/integers.xml --> + <integer name="text_preview_lines">1</integer> </resources> diff --git a/java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java b/java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java index 6bf9a1cc..a3a42efc 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 6f1be116..ada344de 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<ScrollableImagePreviewView.Preview> 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( |