diff options
Diffstat (limited to 'java')
5 files changed, 94 insertions, 72 deletions
diff --git a/java/res/drawable/chooser_content_preview_rounded.xml b/java/res/drawable/chooser_content_preview_rounded.xml new file mode 100644 index 00000000..490a529a --- /dev/null +++ b/java/res/drawable/chooser_content_preview_rounded.xml @@ -0,0 +1,33 @@ +<?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. + --> + +<shape + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" + android:shape="rectangle"> + + <solid + android:color="?androidprv:attr/colorSurface" /> + + <corners android:radius="16dp" /> + + <padding + android:left="16dp" + android:top="12dp" + android:right="16dp" + android:bottom="12dp"/> +</shape> diff --git a/java/res/layout/chooser_grid_preview_text.xml b/java/res/layout/chooser_grid_preview_text.xml index f25eca9a..f521e31d 100644 --- a/java/res/layout/chooser_grid_preview_text.xml +++ b/java/res/layout/chooser_grid_preview_text.xml @@ -27,29 +27,59 @@ android:background="?android:attr/colorBackground"> <RelativeLayout - android:layout_width="@dimen/chooser_preview_width" + android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:orientation="horizontal" - android:paddingLeft="@dimen/chooser_edge_margin_normal" - android:paddingRight="@dimen/chooser_edge_margin_normal" + android:layout_marginLeft="@dimen/chooser_edge_margin_normal" + android:layout_marginRight="@dimen/chooser_edge_margin_normal" android:layout_marginBottom="@dimen/chooser_view_spacing" - android:id="@androidprv:id/content_preview_text_layout"> + android:padding="@dimen/chooser_edge_margin_normal" + android:minHeight="80dp" + android:background="@drawable/chooser_content_preview_rounded" + android:id="@+id/text_preview_layout"> + + <ImageView + android:id="@androidprv:id/content_preview_thumbnail" + android:layout_width="48dp" + android:layout_height="48dp" + android:layout_alignParentStart="true" + android:layout_alignParentTop="true" + android:layout_marginEnd="@dimen/chooser_edge_margin_normal" + android:adjustViewBounds="true" + android:layout_gravity="center_vertical" + android:gravity="center" + android:scaleType="centerCrop"/> + + <TextView + android:id="@androidprv:id/content_preview_title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_toEndOf="@androidprv:id/content_preview_thumbnail" + android:layout_alignParentTop="true" + android:layout_alignWithParentIfMissing="true" + android:ellipsize="end" + android:maxLines="1" + android:textAlignment="gravity" + android:textDirection="locale" + android:textStyle="bold" + android:textColor="?android:attr/textColorPrimary" + android:fontFamily="@androidprv:string/config_headlineFontFamily"/> <TextView android:id="@androidprv:id/content_preview_text" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_alignParentStart="true" - android:layout_centerVertical="true" + android:layout_toEndOf="@androidprv:id/content_preview_thumbnail" + android:layout_below="@androidprv:id/content_preview_title" + android:layout_alignWithParentIfMissing="true" android:ellipsize="end" android:fontFamily="@androidprv:string/config_headlineFontFamily" android:textColor="?android:attr/textColorPrimary" android:textAlignment="gravity" android:textDirection="locale" - android:maxLines="2" + android:maxLines="3" android:focusable="true"/> - </RelativeLayout> <TextView @@ -64,43 +94,5 @@ android:id="@+id/action_row_stub" android:layout_width="match_parent" android:layout_height="wrap_content" /> - - <!-- Required sub-layout so we can get the nice rounded corners--> - <!-- around this section --> - <LinearLayout - android:layout_width="@dimen/chooser_preview_width" - android:layout_height="wrap_content" - android:layout_gravity="center" - android:orientation="horizontal" - android:layout_marginLeft="@dimen/chooser_edge_margin_normal" - android:layout_marginRight="@dimen/chooser_edge_margin_normal" - android:layout_marginBottom="@dimen/chooser_view_spacing" - android:minHeight="80dp" - android:background="@androidprv:drawable/chooser_content_preview_rounded" - android:id="@androidprv:id/content_preview_title_layout"> - - <com.android.intentresolver.widget.RoundedRectImageView - android:id="@androidprv:id/content_preview_thumbnail" - android:layout_width="75dp" - android:layout_height="75dp" - android:layout_marginRight="16dp" - android:adjustViewBounds="true" - android:layout_gravity="center_vertical" - android:gravity="center" - android:scaleType="centerCrop"/> - - <TextView - android:id="@androidprv:id/content_preview_title" - android:layout_width="0dp" - android:layout_weight="1" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:ellipsize="end" - android:maxLines="2" - android:textAlignment="gravity" - android:textDirection="locale" - android:textAppearance="@android:style/TextAppearance.DeviceDefault.WindowTitle" - android:fontFamily="@androidprv:string/config_headlineFontFamily"/> - </LinearLayout> </LinearLayout> diff --git a/java/src/com/android/intentresolver/ChooserActivity.java b/java/src/com/android/intentresolver/ChooserActivity.java index 37a17e79..2a73c42a 100644 --- a/java/src/com/android/intentresolver/ChooserActivity.java +++ b/java/src/com/android/intentresolver/ChooserActivity.java @@ -652,8 +652,6 @@ public class ChooserActivity extends ResolverActivity implements parent = parent == null ? getWindow().getDecorView() : parent; - updateLayoutWidth(com.android.internal.R.id.content_preview_text_layout, width, parent); - updateLayoutWidth(com.android.internal.R.id.content_preview_title_layout, width, parent); updateLayoutWidth(com.android.internal.R.id.content_preview_file_layout, width, parent); } diff --git a/java/src/com/android/intentresolver/contentpreview/ContentPreviewUi.java b/java/src/com/android/intentresolver/contentpreview/ContentPreviewUi.java index 96f1c376..79444b4e 100644 --- a/java/src/com/android/intentresolver/contentpreview/ContentPreviewUi.java +++ b/java/src/com/android/intentresolver/contentpreview/ContentPreviewUi.java @@ -30,6 +30,7 @@ import android.view.View; import android.view.ViewGroup; import android.view.ViewStub; import android.view.animation.DecelerateInterpolator; +import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.LayoutRes; @@ -38,7 +39,6 @@ import com.android.intentresolver.R; import com.android.intentresolver.flags.FeatureFlagRepository; import com.android.intentresolver.flags.Flags; import com.android.intentresolver.widget.ActionRow; -import com.android.intentresolver.widget.RoundedRectImageView; import java.util.ArrayList; import java.util.List; @@ -99,7 +99,7 @@ abstract class ContentPreviewUi { return true; } - protected static void updateViewWithImage(RoundedRectImageView imageView, Bitmap image) { + protected static void updateViewWithImage(ImageView imageView, Bitmap image) { if (image == null) { imageView.setVisibility(View.GONE); return; diff --git a/java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java b/java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java index 7901e4cb..e143954e 100644 --- a/java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java +++ b/java/src/com/android/intentresolver/contentpreview/TextContentPreviewUi.java @@ -92,35 +92,34 @@ class TextContentPreviewUi extends ContentPreviewUi { if (mSharingText == null) { contentPreviewLayout - .findViewById(com.android.internal.R.id.content_preview_text_layout) + .findViewById(R.id.text_preview_layout) .setVisibility(View.GONE); - } else { - TextView textView = contentPreviewLayout.findViewById( - com.android.internal.R.id.content_preview_text); - textView.setText(mSharingText); + return contentPreviewLayout; } + TextView textView = contentPreviewLayout.findViewById( + com.android.internal.R.id.content_preview_text); + textView.setText(mSharingText); + + TextView previewTitleView = contentPreviewLayout.findViewById( + com.android.internal.R.id.content_preview_title); if (TextUtils.isEmpty(mPreviewTitle)) { - contentPreviewLayout - .findViewById(com.android.internal.R.id.content_preview_title_layout) - .setVisibility(View.GONE); + previewTitleView.setVisibility(View.GONE); } else { - TextView previewTitleView = contentPreviewLayout.findViewById( - com.android.internal.R.id.content_preview_title); previewTitleView.setText(mPreviewTitle); + } - ImageView previewThumbnailView = contentPreviewLayout.findViewById( - com.android.internal.R.id.content_preview_thumbnail); - if (!validForContentPreview(mPreviewThumbnail)) { - previewThumbnailView.setVisibility(View.GONE); - } else { - mImageLoader.loadImage( - mPreviewThumbnail, - (bitmap) -> updateViewWithImage( - contentPreviewLayout.findViewById( - com.android.internal.R.id.content_preview_thumbnail), - bitmap)); - } + ImageView previewThumbnailView = contentPreviewLayout.findViewById( + com.android.internal.R.id.content_preview_thumbnail); + if (!validForContentPreview(mPreviewThumbnail)) { + previewThumbnailView.setVisibility(View.GONE); + } else { + mImageLoader.loadImage( + mPreviewThumbnail, + (bitmap) -> updateViewWithImage( + contentPreviewLayout.findViewById( + com.android.internal.R.id.content_preview_thumbnail), + bitmap)); } return contentPreviewLayout; |