From 6926cb1e1360775f2def5c578c4bad68f2d6d476 Mon Sep 17 00:00:00 2001 From: Wenbo Jie Date: Fri, 14 Mar 2025 03:54:32 +0000 Subject: [DocsUI M3] No literal dimension numbers in the code Dimension related view setters like setStrokeWidth are only dealing with pixel numbers, not dp numbers, so we shouldn't use any number literal in the code. Instead, we should define the dimension as a number resource and use getDimensionPixelSize() to get its pixel value in the code before calling these setter methods. Bug: 402617801 Test: m DocumentsUIGoogle && manual inspection Flag: com.android.documentsui.flags.use_material3 Change-Id: Ifbbfd2b006985841ff9a581a485e924d1bf1976b --- .../values/dimens.xml | 3 +++ src/com/android/documentsui/dirlist/DocumentHolder.java | 2 -- .../android/documentsui/dirlist/GridDocumentHolder.java | 10 ++++++++-- .../android/documentsui/dirlist/ListDocumentHolder.java | 14 ++++++++++++-- .../android/documentsui/queries/SearchChipViewManager.java | 5 ++++- 5 files changed, 27 insertions(+), 7 deletions(-) diff --git a/res/flag(com.android.documentsui.flags.use_material3)/values/dimens.xml b/res/flag(com.android.documentsui.flags.use_material3)/values/dimens.xml index b912c5d6c..bc296b611 100644 --- a/res/flag(com.android.documentsui.flags.use_material3)/values/dimens.xml +++ b/res/flag(com.android.documentsui.flags.use_material3)/values/dimens.xml @@ -36,6 +36,7 @@ 20dp 24dp 40dp + 2dp 30dp 4dp @@ -70,6 +71,7 @@ 80dp 80dp 12dp + 2dp 64dp 64dp @dimen/space_small_1 @@ -175,6 +177,7 @@ 8dp @dimen/space_extra_small_4 + 1dp @dimen/space_small_4 @dimen/space_small_4 0dp diff --git a/src/com/android/documentsui/dirlist/DocumentHolder.java b/src/com/android/documentsui/dirlist/DocumentHolder.java index 8e5f50636..957975c4b 100644 --- a/src/com/android/documentsui/dirlist/DocumentHolder.java +++ b/src/com/android/documentsui/dirlist/DocumentHolder.java @@ -58,8 +58,6 @@ public abstract class DocumentHolder static final float DISABLED_ALPHA = isUseMaterial3FlagEnabled() ? 0.6f : 0.3f; - static final int THUMBNAIL_STROKE_WIDTH = isUseMaterial3FlagEnabled() ? 2 : 0; - protected final Context mContext; protected @Nullable String mModelId; diff --git a/src/com/android/documentsui/dirlist/GridDocumentHolder.java b/src/com/android/documentsui/dirlist/GridDocumentHolder.java index f2802ff66..9523c331c 100644 --- a/src/com/android/documentsui/dirlist/GridDocumentHolder.java +++ b/src/com/android/documentsui/dirlist/GridDocumentHolder.java @@ -79,6 +79,8 @@ final class GridDocumentHolder extends DocumentHolder { // Non-null only when useMaterial3 flag is ON. private final @Nullable MaterialCardView mIconWrapper; + // It will be 0 when use_material flag is OFF. + private final int mThumbnailStrokeWidth; GridDocumentHolder(Context context, ViewGroup parent, IconHelper iconHelper, ConfigStore configStore) { @@ -90,12 +92,16 @@ final class GridDocumentHolder extends DocumentHolder { mIconLayout = null; mIconMimeSm = null; mIconCheck = null; + mThumbnailStrokeWidth = + context.getResources() + .getDimensionPixelSize(R.dimen.grid_item_thumbnail_border_width); } else { mBullet = null; mIconWrapper = null; mIconLayout = itemView.findViewById(R.id.icon); mIconMimeSm = (ImageView) itemView.findViewById(R.id.icon_mime_sm); mIconCheck = (ImageView) itemView.findViewById(R.id.icon_check); + mThumbnailStrokeWidth = 0; } mTitle = (TextView) itemView.findViewById(android.R.id.title); @@ -157,7 +163,7 @@ final class GridDocumentHolder extends DocumentHolder { if (selected) { mIconWrapper.setStrokeWidth(0); } else if (mIconThumb.getDrawable() != null) { - mIconWrapper.setStrokeWidth(THUMBNAIL_STROKE_WIDTH); + mIconWrapper.setStrokeWidth(mThumbnailStrokeWidth); } } } @@ -258,7 +264,7 @@ final class GridDocumentHolder extends DocumentHolder { // Show stroke when thumbnail is loaded. if (mIconWrapper != null) { mIconWrapper.setStrokeWidth( - thumbnailLoaded ? THUMBNAIL_STROKE_WIDTH : 0); + thumbnailLoaded ? mThumbnailStrokeWidth : 0); } }); } else { diff --git a/src/com/android/documentsui/dirlist/ListDocumentHolder.java b/src/com/android/documentsui/dirlist/ListDocumentHolder.java index 0d0f79919..24b7e3ae5 100644 --- a/src/com/android/documentsui/dirlist/ListDocumentHolder.java +++ b/src/com/android/documentsui/dirlist/ListDocumentHolder.java @@ -78,6 +78,8 @@ final class ListDocumentHolder extends DocumentHolder { private final ImageView mIconBadge; private final View mIconLayout; final View mPreviewIcon; + // It will be 0 when use_material flag is OFF. + private final int mThumbnailStrokeWidth; private final IconHelper mIconHelper; private final Lookup mFileTypeLookup; @@ -103,6 +105,13 @@ final class ListDocumentHolder extends DocumentHolder { // Warning: mDetails view doesn't exists in layout-sw720dp-land layout mDetails = (LinearLayout) itemView.findViewById(R.id.line2); mPreviewIcon = itemView.findViewById(R.id.preview_icon); + if (isUseMaterial3FlagEnabled()) { + mThumbnailStrokeWidth = + context.getResources() + .getDimensionPixelSize(R.dimen.list_item_thumbnail_border_width); + } else { + mThumbnailStrokeWidth = 0; + } mIconHelper = iconHelper; mFileTypeLookup = fileTypeLookup; @@ -152,7 +161,7 @@ final class ListDocumentHolder extends DocumentHolder { if (selected) { mIconWrapper.setStrokeWidth(0); } else if (mIconThumb.getDrawable() != null) { - mIconWrapper.setStrokeWidth(2); + mIconWrapper.setStrokeWidth(mThumbnailStrokeWidth); } } } @@ -271,7 +280,8 @@ final class ListDocumentHolder extends DocumentHolder { thumbnailLoaded -> { // Show stroke when thumbnail is loaded. if (isUseMaterial3FlagEnabled() && mIconWrapper != null) { - mIconWrapper.setStrokeWidth(thumbnailLoaded ? THUMBNAIL_STROKE_WIDTH : 0); + mIconWrapper.setStrokeWidth( + thumbnailLoaded ? mThumbnailStrokeWidth : 0); } }); diff --git a/src/com/android/documentsui/queries/SearchChipViewManager.java b/src/com/android/documentsui/queries/SearchChipViewManager.java index f673b7408..c2403dd03 100644 --- a/src/com/android/documentsui/queries/SearchChipViewManager.java +++ b/src/com/android/documentsui/queries/SearchChipViewManager.java @@ -387,7 +387,10 @@ public class SearchChipViewManager { .getDimensionPixelSize(R.dimen.focus_ring_width); chip.setChipStrokeWidth(focusRingWidth); } else { - chip.setChipStrokeWidth(1f); + final int strokeWidth = mChipGroup + .getResources() + .getDimensionPixelSize(R.dimen.search_chip_inactive_stroke_width); + chip.setChipStrokeWidth(strokeWidth); } } -- cgit v1.2.3-59-g8ed1b