diff options
author | 2025-03-14 03:54:32 +0000 | |
---|---|---|
committer | 2025-03-14 03:55:00 +0000 | |
commit | 6926cb1e1360775f2def5c578c4bad68f2d6d476 (patch) | |
tree | a686b462bdc26e4e7694c4184d339425039142ad | |
parent | 165058c81c7d402cf6580e57f5efb7dd009e941d (diff) |
[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
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 @@ <dimen name="check_icon_size">20dp</dimen> <dimen name="zoom_icon_size">24dp</dimen> <dimen name="list_item_thumbnail_size">40dp</dimen> + <dimen name="list_item_thumbnail_border_width">2dp</dimen> <dimen name="grid_item_icon_size">30dp</dimen> <!-- TODO(b/379776735): remove this after use_material3 flag is launched. --> <dimen name="progress_bar_height">4dp</dimen> @@ -70,6 +71,7 @@ <dimen name="grid_item_thumbnail_width">80dp</dimen> <dimen name="grid_item_thumbnail_height">80dp</dimen> <dimen name="grid_item_thumbnail_radius">12dp</dimen> + <dimen name="grid_item_thumbnail_border_width">2dp</dimen> <dimen name="grid_item_icon_width">64dp</dimen> <dimen name="grid_item_icon_height">64dp</dimen> <dimen name="grid_item_layout_margin">@dimen/space_small_1</dimen> @@ -175,6 +177,7 @@ <dimen name="search_chip_radius">8dp</dimen> <dimen name="search_chip_group_padding_vertical">@dimen/space_extra_small_4</dimen> + <dimen name="search_chip_inactive_stroke_width">1dp</dimen> <dimen name="main_container_padding_start">@dimen/space_small_4</dimen> <dimen name="main_container_padding_end">@dimen/space_small_4</dimen> <dimen name="main_container_padding_top">0dp</dimen> 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<String, String> 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); } } |