diff options
| author | 2023-06-01 01:01:28 +0000 | |
|---|---|---|
| committer | 2023-06-01 01:01:28 +0000 | |
| commit | c58258e459c74de5223787990c3458735ce3861a (patch) | |
| tree | 94a18ed0ecdf77f9ce62312a78d6a9d1c996854a /java/src/com | |
| parent | c6627b764fe7ccf585c8bbac26d47ccc14ccf9bf (diff) | |
| parent | 664b0a3bcf346c720982f06bda091e4d444716a4 (diff) | |
Merge "Padding and color fixes to align with mocks" into udc-dev
Diffstat (limited to 'java/src/com')
5 files changed, 24 insertions, 24 deletions
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) + } } } |