tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit ab9b2328d7f8debf95a5b5635574cd1b08eecc4a
parent ab38a0d28b97a40990366f47ce0c9f1373945e04
Author: Moyin <madeyemi@mozilla.com>
Date:   Thu, 18 Dec 2025 16:18:30 +0000

Bug 2001183 - Update Toolbar preview position r=android-reviewers,RJ

Differential Revision: https://phabricator.services.mozilla.com/D276868

Diffstat:
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/ToolbarShortcutPreference.kt | 30++++++++++++++++++++++++++++++
Mmobile/android/fenix/app/src/main/res/layout/toolbar_expanded_shortcut_preview.xml | 1-
Mmobile/android/fenix/app/src/main/res/layout/toolbar_simple_shortcut_preview.xml | 1-
3 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/ToolbarShortcutPreference.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/ToolbarShortcutPreference.kt @@ -6,15 +6,20 @@ package org.mozilla.fenix.settings import android.content.Context import android.util.AttributeSet +import android.view.Gravity import android.view.View import android.widget.ImageView +import android.widget.LinearLayout import androidx.annotation.AttrRes import androidx.annotation.ColorInt +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.core.view.updateLayoutParams import androidx.preference.Preference import androidx.preference.PreferenceViewHolder import com.google.android.material.color.MaterialColors import org.mozilla.fenix.GleanMetrics.CustomizationSettings import org.mozilla.fenix.R +import org.mozilla.fenix.ext.isWideWindow import org.mozilla.fenix.utils.view.addToRadioGroup import com.google.android.material.R as materialR @@ -50,6 +55,8 @@ internal abstract class ToolbarShortcutPreference @JvmOverloads constructor( override fun onBindViewHolder(holder: PreferenceViewHolder) { super.onBindViewHolder(holder) + configureShortcutPreview(holder) + val selectedIcon = getSelectedIconImageView(holder) colorTertiary = holder.itemView.getMaterialColor(materialR.attr.colorTertiary) @@ -59,6 +66,29 @@ internal abstract class ToolbarShortcutPreference @JvmOverloads constructor( selectedIcon.setImageResource(getSelectedOption().icon) } + private fun configureShortcutPreview(holder: PreferenceViewHolder) { + val shortcutPreviewId = when (getToolbarType()) { + EXPANDED_TOOLBAR_TYPE -> R.id.toolbar_expanded_shortcut_preview + else -> R.id.toolbar_simple_shortcut_preview + } + val shortcutPreview = holder.itemView.findViewById<ConstraintLayout>(shortcutPreviewId) + + shortcutPreview?.updateLayoutParams<LinearLayout.LayoutParams> { + if (context.isWideWindow()) { + gravity = Gravity.NO_GRAVITY + marginStart = context.resources.getDimensionPixelSize(R.dimen.top_bar_alignment_margin_start) + marginEnd = 0 + } else { + gravity = Gravity.CENTER_HORIZONTAL + val horizontalMargin = context.resources.getDimensionPixelSize( + R.dimen.radiobutton_preference_margin_start, + ) + marginStart = horizontalMargin + marginEnd = horizontalMargin + } + } + } + private fun getSelectedOption(): ShortcutOption { val selectedKey = readSelectedKey() return options.firstOrNull { diff --git a/mobile/android/fenix/app/src/main/res/layout/toolbar_expanded_shortcut_preview.xml b/mobile/android/fenix/app/src/main/res/layout/toolbar_expanded_shortcut_preview.xml @@ -7,7 +7,6 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="@dimen/top_bar_alignment_margin_start" android:layout_marginTop="16dp" > <ImageView diff --git a/mobile/android/fenix/app/src/main/res/layout/toolbar_simple_shortcut_preview.xml b/mobile/android/fenix/app/src/main/res/layout/toolbar_simple_shortcut_preview.xml @@ -7,7 +7,6 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="@dimen/top_bar_alignment_margin_start" android:layout_marginTop="16dp" > <ImageView