diff options
| author | 2023-06-01 01:01:28 +0000 | |
|---|---|---|
| committer | 2023-06-01 01:01:28 +0000 | |
| commit | c58258e459c74de5223787990c3458735ce3861a (patch) | |
| tree | 94a18ed0ecdf77f9ce62312a78d6a9d1c996854a /java | |
| parent | c6627b764fe7ccf585c8bbac26d47ccc14ccf9bf (diff) | |
| parent | 664b0a3bcf346c720982f06bda091e4d444716a4 (diff) | |
Merge "Padding and color fixes to align with mocks" into udc-dev
Diffstat (limited to 'java')
18 files changed, 53 insertions, 112 deletions
diff --git a/java/res/drawable/chooser_content_preview_rounded.xml b/java/res/drawable/chooser_content_preview_rounded.xml index 3d6145bc..a1b204bd 100644 --- a/java/res/drawable/chooser_content_preview_rounded.xml +++ b/java/res/drawable/chooser_content_preview_rounded.xml @@ -21,13 +21,7 @@ android:shape="rectangle"> <solid - android:color="?androidprv:attr/materialColorSurfaceBright" /> + android:color="?androidprv:attr/materialColorSurfaceContainerHigh" /> <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_action_row.xml b/java/res/layout/chooser_action_row.xml index 4a3df79e..55d6adf7 100644 --- a/java/res/layout/chooser_action_row.xml +++ b/java/res/layout/chooser_action_row.xml @@ -16,27 +16,21 @@ <merge xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto"> - - <View - android:id="@+id/actions_top_divider" - android:layout_width="match_parent" - android:layout_height="2dp" - android:background="?androidprv:attr/materialColorSurfaceContainerHighest" - /> + xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"> <com.android.intentresolver.widget.ScrollableActionRow android:id="@androidprv:id/chooser_action_row" - android:layout_width="wrap_content" + android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" - app:horizontalActions="@bool/horizontal_actions" android:gravity="center"/> <View android:layout_width="match_parent" - android:layout_height="2dp" + android:layout_height="1dp" + android:layout_marginTop="8dp" + android:layout_marginHorizontal="@dimen/chooser_edge_margin_normal" + android:layout_marginBottom="10dp" android:background="?androidprv:attr/materialColorSurfaceContainerHighest" /> </merge> diff --git a/java/res/layout/chooser_action_view.xml b/java/res/layout/chooser_action_view.xml index bb418ebd..ba9134cc 100644 --- a/java/res/layout/chooser_action_view.xml +++ b/java/res/layout/chooser_action_view.xml @@ -18,8 +18,8 @@ xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" style="?android:attr/borderlessButtonStyle" android:background="@drawable/chooser_action_button_bg" - android:paddingVertical="6dp" - android:paddingHorizontal="8dp" + android:paddingBottom="8dp" + android:paddingHorizontal="@dimen/chooser_edge_margin_normal_half" android:clickable="true" android:drawablePadding="6dp" android:drawableTint="?androidprv:attr/materialColorOnSurface" diff --git a/java/res/layout/chooser_grid_preview_file.xml b/java/res/layout/chooser_grid_preview_file.xml index 660e54a2..6978f934 100644 --- a/java/res/layout/chooser_grid_preview_file.xml +++ b/java/res/layout/chooser_grid_preview_file.xml @@ -24,7 +24,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" - android:paddingBottom="@dimen/chooser_view_spacing" android:background="?androidprv:attr/materialColorSurfaceContainer"> <include layout="@layout/chooser_headline_row"/> @@ -34,7 +33,7 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginHorizontal="@dimen/chooser_edge_margin_normal" - android:layout_marginBottom="@dimen/chooser_view_spacing" + android:layout_marginBottom="8dp" android:padding="@dimen/chooser_edge_margin_normal" android:background="@drawable/chooser_content_preview_rounded" android:id="@androidprv:id/content_preview_file_layout"> diff --git a/java/res/layout/chooser_grid_preview_files_text.xml b/java/res/layout/chooser_grid_preview_files_text.xml index 75713ae5..c64d7ddd 100644 --- a/java/res/layout/chooser_grid_preview_files_text.xml +++ b/java/res/layout/chooser_grid_preview_files_text.xml @@ -32,9 +32,9 @@ android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_horizontal" - android:layout_marginBottom="@dimen/chooser_view_spacing" + android:layout_marginBottom="8dp" android:layout_marginHorizontal="@dimen/chooser_edge_margin_normal" - android:paddingHorizontal="@dimen/chooser_edge_margin_normal_half" + android:padding="@dimen/chooser_edge_margin_normal_half" android:background="@drawable/chooser_content_preview_rounded"> <com.android.intentresolver.widget.RoundedRectImageView @@ -52,7 +52,6 @@ android:layout_weight="1" android:layout_gravity="center_vertical" android:layout_marginStart="@dimen/chooser_edge_margin_normal_half" - android:layout_marginEnd="@dimen/chooser_edge_margin_normal_half" android:maxLines="@integer/text_preview_lines" android:ellipsize="end" android:linksClickable="false" diff --git a/java/res/layout/chooser_grid_preview_image.xml b/java/res/layout/chooser_grid_preview_image.xml index 1384d0a4..4a832324 100644 --- a/java/res/layout/chooser_grid_preview_image.xml +++ b/java/res/layout/chooser_grid_preview_image.xml @@ -33,10 +33,9 @@ android:layout_width="wrap_content" android:layout_height="@dimen/chooser_preview_image_height_tall" android:layout_gravity="center_horizontal" - android:layout_marginBottom="@dimen/chooser_view_spacing" - android:layout_marginHorizontal="@dimen/chooser_edge_margin_normal_half" + android:layout_marginBottom="8dp" app:itemInnerSpacing="3dp" - app:itemOuterSpacing="@dimen/chooser_edge_margin_normal_half"/> + app:itemOuterSpacing="@dimen/chooser_edge_margin_normal"/> <include layout="@layout/chooser_action_row"/> </LinearLayout> diff --git a/java/res/layout/chooser_grid_preview_text.xml b/java/res/layout/chooser_grid_preview_text.xml index 96496a30..df906cce 100644 --- a/java/res/layout/chooser_grid_preview_text.xml +++ b/java/res/layout/chooser_grid_preview_text.xml @@ -33,10 +33,11 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" - android:layout_marginLeft="@dimen/chooser_edge_margin_normal" - android:layout_marginRight="@dimen/chooser_edge_margin_normal" - android:layout_marginBottom="@dimen/chooser_view_spacing" - android:padding="@dimen/chooser_edge_margin_normal_half" + android:layout_marginHorizontal="@dimen/chooser_edge_margin_normal" + android:layout_marginBottom="8dp" + android:paddingVertical="@dimen/chooser_edge_margin_normal_half" + android:paddingStart="@dimen/chooser_edge_margin_normal_half" + android:paddingEnd="0dp" android:background="@drawable/chooser_content_preview_rounded" android:id="@+id/text_preview_layout"> @@ -91,20 +92,21 @@ <FrameLayout android:id="@+id/copy" - android:layout_width="wrap_content" - android:layout_height="wrap_content" + android:layout_width="48dp" + android:layout_height="48dp" + style="?android:attr/borderlessButtonStyle" app:layout_constraintStart_toEndOf="@androidprv:id/content_preview_text" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="1" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" - android:layout_margin="8dp" - android:padding="8dp" + android:layout_marginHorizontal="4dp" android:contentDescription="@android:string/copy" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_gravity="center" android:tint="?androidprv:attr/materialColorOnSurfaceVariant" android:src="@androidprv:drawable/ic_menu_copy_material" /> diff --git a/java/res/layout/chooser_headline_row.xml b/java/res/layout/chooser_headline_row.xml index e1668d25..62781847 100644 --- a/java/res/layout/chooser_headline_row.xml +++ b/java/res/layout/chooser_headline_row.xml @@ -22,7 +22,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingHorizontal="@dimen/chooser_edge_margin_normal" - android:layout_marginBottom="16dp" + android:layout_marginBottom="@dimen/chooser_view_spacing" > <TextView android:id="@+id/headline" diff --git a/java/res/values-h480dp/bools.xml b/java/res/values-h480dp/bools.xml deleted file mode 100644 index 761de1ea..00000000 --- a/java/res/values-h480dp/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-h480dp/dimens.xml b/java/res/values-h480dp/dimens.xml index 9e714943..4d948fe9 100644 --- a/java/res/values-h480dp/dimens.xml +++ b/java/res/values-h480dp/dimens.xml @@ -22,7 +22,6 @@ <dimen name="resolver_button_bar_spacing">8dp</dimen> <dimen name="chooser_preview_width">-1px</dimen> - <dimen name="chooser_view_spacing">18dp</dimen> <dimen name="chooser_preview_image_height_tall">192dp</dimen> <dimen name="grid_padding_top">10dp</dimen> <dimen name="width_text_image_preview_size">56dp</dimen> diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index c96221ec..67acb3ae 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -51,8 +51,4 @@ <attr name="itemOuterSpacing" format="dimension" /> <attr name="maxWidthHint" format="dimension" /> </declare-styleable> - - <declare-styleable name="ScrollableActionRow"> - <attr name="horizontalActions" format="boolean" /> - </declare-styleable> </resources> diff --git a/java/res/values/bools.xml b/java/res/values/bools.xml deleted file mode 100644 index fb6db549..00000000 --- a/java/res/values/bools.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2011 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> - <!-- 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> -</resources> diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml index 69cc4984..ec9ff6b0 100644 --- a/java/res/values/dimens.xml +++ b/java/res/values/dimens.xml @@ -25,8 +25,8 @@ <dimen name="chooser_corner_radius_small">14dp</dimen> <dimen name="chooser_row_text_option_translate">25dp</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_edge_margin_normal">16dp</dimen> + <dimen name="chooser_edge_margin_normal_half">8dp</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> @@ -55,12 +55,12 @@ <dimen name="chooser_action_view_icon_size">22dp</dimen> <dimen name="chooser_action_margin">0dp</dimen> <dimen name="modify_share_text_toggle_max_width">150dp</dimen> + <dimen name="chooser_view_spacing">16dp</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_preview_image_height_tall">64dp</dimen> + <dimen name="chooser_preview_image_height_tall">46dp</dimen> <dimen name="grid_padding_top">6dp</dimen> <dimen name="width_text_image_preview_size">46dp</dimen> <!-- END SECTION --> diff --git a/java/src/com/android/intentresolver/contentpreview/FileContentPreviewUi.java b/java/src/com/android/intentresolver/contentpreview/FileContentPreviewUi.java index 8d3e62aa..20758189 100644 --- a/java/src/com/android/intentresolver/contentpreview/FileContentPreviewUi.java +++ b/java/src/com/android/intentresolver/contentpreview/FileContentPreviewUi.java @@ -109,9 +109,6 @@ class FileContentPreviewUi extends ContentPreviewUi { mContentPreview.findViewById(com.android.internal.R.id.chooser_action_row); List<ActionRow.Action> actions = mActionFactory.createCustomActions(); actionRow.setActions(actions); - if (actions.isEmpty()) { - mContentPreview.findViewById(R.id.actions_top_divider).setVisibility(View.GONE); - } return mContentPreview; } diff --git a/java/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUi.java b/java/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUi.java index 61ca44e0..e4677d90 100644 --- a/java/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUi.java +++ b/java/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUi.java @@ -125,10 +125,6 @@ class FilesPlusTextContentPreviewUi extends ContentPreviewUi { List<ActionRow.Action> actions = mActionFactory.createCustomActions(); actionRow.setActions(actions); - if (actions.isEmpty()) { - mContentPreviewView.findViewById(R.id.actions_top_divider).setVisibility(View.GONE); - } - if (mIsMetadataUpdated) { updateUiWithMetadata(mContentPreviewView); } else if (!mIsSingleImage) { diff --git a/java/src/com/android/intentresolver/contentpreview/UnifiedContentPreviewUi.java b/java/src/com/android/intentresolver/contentpreview/UnifiedContentPreviewUi.java index eb3e8e72..6385f2b6 100644 --- a/java/src/com/android/intentresolver/contentpreview/UnifiedContentPreviewUi.java +++ b/java/src/com/android/intentresolver/contentpreview/UnifiedContentPreviewUi.java @@ -93,9 +93,6 @@ class UnifiedContentPreviewUi extends ContentPreviewUi { mContentPreviewView.findViewById(com.android.internal.R.id.chooser_action_row); List<ActionRow.Action> actions = mActionFactory.createCustomActions(); actionRow.setActions(actions); - if (actions.isEmpty()) { - mContentPreviewView.findViewById(R.id.actions_top_divider).setVisibility(View.GONE); - } ScrollableImagePreviewView imagePreview = mContentPreviewView.requireViewById(R.id.scrollable_image_preview); diff --git a/java/src/com/android/intentresolver/widget/ScrollableActionRow.kt b/java/src/com/android/intentresolver/widget/ScrollableActionRow.kt index 3a79ef56..2b64ca30 100644 --- a/java/src/com/android/intentresolver/widget/ScrollableActionRow.kt +++ b/java/src/com/android/intentresolver/widget/ScrollableActionRow.kt @@ -24,6 +24,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView +import androidx.core.view.ViewCompat import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.android.intentresolver.R @@ -39,23 +40,16 @@ class ScrollableActionRow : RecyclerView, ActionRow { layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) adapter = Adapter(context) - context - .obtainStyledAttributes(attrs, R.styleable.ScrollableActionRow, defStyleAttr, 0) - .use { a -> - horizontalActions = - a.getBoolean(R.styleable.ScrollableActionRow_horizontalActions, false) - } - addItemDecoration( MarginDecoration( context.resources.getDimensionPixelSize(R.dimen.chooser_action_horizontal_margin), + context.resources.getDimensionPixelSize(R.dimen.chooser_edge_margin_normal) ) ) } private val actionsAdapter get() = adapter as Adapter - private val horizontalActions: Boolean override fun setActions(actions: List<ActionRow.Action>) { actionsAdapter.setActions(actions) @@ -131,10 +125,20 @@ class ScrollableActionRow : RecyclerView, ActionRow { } } - private class MarginDecoration(private val margin: Int) : RecyclerView.ItemDecoration() { + private class MarginDecoration(private val innerMargin: Int, private val outerMargin: Int) : + ItemDecoration() { override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: State) { - outRect.left = margin - outRect.right = margin + val index = parent.getChildAdapterPosition(view) + val startMargin = if (index == 0) outerMargin else innerMargin + val endMargin = if (index == state.itemCount - 1) outerMargin else innerMargin + + if (ViewCompat.getLayoutDirection(parent) == ViewCompat.LAYOUT_DIRECTION_RTL) { + outRect.right = startMargin + outRect.left = endMargin + } else { + outRect.left = startMargin + outRect.right = endMargin + } } } } diff --git a/java/src/com/android/intentresolver/widget/ScrollableImagePreviewView.kt b/java/src/com/android/intentresolver/widget/ScrollableImagePreviewView.kt index 9c948bd9..583a2887 100644 --- a/java/src/com/android/intentresolver/widget/ScrollableImagePreviewView.kt +++ b/java/src/com/android/intentresolver/widget/ScrollableImagePreviewView.kt @@ -30,6 +30,7 @@ import android.widget.ImageView import android.widget.TextView import androidx.annotation.VisibleForTesting import androidx.constraintlayout.widget.ConstraintLayout +import androidx.core.view.ViewCompat import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.android.intentresolver.R @@ -470,9 +471,14 @@ class ScrollableImagePreviewView : RecyclerView, ImagePreviewView { override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: State) { val itemCount = parent.adapter?.itemCount ?: return val pos = parent.getChildAdapterPosition(view) - var leftMargin = if (pos == 0) outerSpacing else innerSpacing - var rightMargin = if (pos == itemCount - 1) outerSpacing else 0 - outRect.set(leftMargin, 0, rightMargin, 0) + var startMargin = if (pos == 0) outerSpacing else innerSpacing + var endMargin = if (pos == itemCount - 1) outerSpacing else 0 + + if (ViewCompat.getLayoutDirection(parent) == ViewCompat.LAYOUT_DIRECTION_RTL) { + outRect.set(endMargin, 0, startMargin, 0) + } else { + outRect.set(startMargin, 0, endMargin, 0) + } } } |