From 0832c0ebd629db0bed2d14eba7e53c7436f554c8 Mon Sep 17 00:00:00 2001 From: Mugurell Date: Mon, 12 May 2025 10:40:31 +0000 Subject: [PATCH] Bug 1962168 - part 2 - Rename the AC TabCounter to TabCounterView r=android-reviewers,Roger This will free the name for the composable version. Needed as a separate commit to distinguish the changes, otherwise it will be like the composable code modified the View code. Differential Revision: https://phabricator.services.mozilla.com/D247461 --- .../compose/browser/toolbar/ui/TabCounter.kt | 4 ++-- .../tabs/toolbar/TabCounterToolbarButton.kt | 8 ++++---- .../toolbar/TabCounterToolbarButtonTest.kt | 20 +++++++++---------- .../ui/tabcounter/lint-baseline.xml | 4 ++-- .../ui/tabcounter/TabCounterMenu.kt | 2 +- .../{TabCounter.kt => TabCounterView.kt} | 6 +++--- .../tabcounter/src/main/res/values/attrs.xml | 2 +- .../ui/tabcounter/TabCounterTest.kt | 4 ++-- .../config/detekt-baseline.xml | 8 ++++---- .../samples/toolbar/ToolbarActivity.kt | 4 ++-- .../toolbar/navbar/ToolbarTabCounterButton.kt | 4 ++-- .../fenix/home/toolbar/TabCounterView.kt | 6 +++--- .../fragment_home_toolbar_view_layout.xml | 2 +- .../app/src/main/res/layout/tab_preview.xml | 4 ++-- .../fenix/home/toolbar/TabCounterViewTest.kt | 6 +++--- 15 files changed, 42 insertions(+), 42 deletions(-) rename mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/{TabCounter.kt => TabCounterView.kt} (98%) diff --git a/mobile/android/android-components/components/compose/browser-toolbar/src/main/java/mozilla/components/compose/browser/toolbar/ui/TabCounter.kt b/mobile/android/android-components/components/compose/browser-toolbar/src/main/java/mozilla/components/compose/browser/toolbar/ui/TabCounter.kt index 3d915557076e..79a310f3643b 100644 --- a/mobile/android/android-components/components/compose/browser-toolbar/src/main/java/mozilla/components/compose/browser/toolbar/ui/TabCounter.kt +++ b/mobile/android/android-components/components/compose/browser-toolbar/src/main/java/mozilla/components/compose/browser/toolbar/ui/TabCounter.kt @@ -33,7 +33,7 @@ import mozilla.components.compose.browser.toolbar.store.BrowserToolbarInteractio import mozilla.components.compose.browser.toolbar.store.BrowserToolbarInteraction.BrowserToolbarMenu import mozilla.components.compose.browser.toolbar.store.BrowserToolbarInteraction.CombinedEventAndMenu import mozilla.components.support.ktx.android.util.dpToPx -import mozilla.components.ui.tabcounter.TabCounter +import mozilla.components.ui.tabcounter.TabCounterView // Interim composable for a tab counter button that supports showing a menu on long press. // With this being implemented as an AndroidView the menu can be shown as low to the bottom of the screen as needed. @@ -122,7 +122,7 @@ private fun TabCounterView( AndroidView( factory = { _ -> - TabCounter(context).apply { + TabCounterView(context).apply { val minimumSize = BUTTON_DIMENSIONS_DP.dpToPx(context.resources.displayMetrics) layoutParams = ViewGroup.LayoutParams(minimumSize, minimumSize) } diff --git a/mobile/android/android-components/components/feature/tabs/src/main/java/mozilla/components/feature/tabs/toolbar/TabCounterToolbarButton.kt b/mobile/android/android-components/components/feature/tabs/src/main/java/mozilla/components/feature/tabs/toolbar/TabCounterToolbarButton.kt index 786e854ba78e..dbcb77027a50 100644 --- a/mobile/android/android-components/components/feature/tabs/src/main/java/mozilla/components/feature/tabs/toolbar/TabCounterToolbarButton.kt +++ b/mobile/android/android-components/components/feature/tabs/src/main/java/mozilla/components/feature/tabs/toolbar/TabCounterToolbarButton.kt @@ -22,12 +22,12 @@ import mozilla.components.support.base.facts.Action import mozilla.components.support.base.facts.Fact import mozilla.components.support.base.facts.collect import mozilla.components.support.ktx.android.content.res.resolveAttribute -import mozilla.components.ui.tabcounter.TabCounter import mozilla.components.ui.tabcounter.TabCounterMenu +import mozilla.components.ui.tabcounter.TabCounterView import java.lang.ref.WeakReference /** - * A [Toolbar.Action] implementation that shows a [TabCounter]. + * A [Toolbar.Action] implementation that shows a [TabCounterView]. */ open class TabCounterToolbarButton( private val lifecycleOwner: LifecycleOwner, @@ -40,7 +40,7 @@ open class TabCounterToolbarButton( override val weight: () -> Int = { -1 }, ) : Toolbar.Action { - private var reference = WeakReference(null) + private var reference = WeakReference(null) override fun createView(parent: ViewGroup): View { store.flowScoped(lifecycleOwner) { flow -> @@ -51,7 +51,7 @@ open class TabCounterToolbarButton( } } - val tabCounter = TabCounter(parent.context).apply { + val tabCounter = TabCounterView(parent.context).apply { reference = WeakReference(this) setOnClickListener { showTabs.invoke() diff --git a/mobile/android/android-components/components/feature/tabs/src/test/java/mozilla/components/feature/tabs/toolbar/TabCounterToolbarButtonTest.kt b/mobile/android/android-components/components/feature/tabs/src/test/java/mozilla/components/feature/tabs/toolbar/TabCounterToolbarButtonTest.kt index 113f00811749..32ebbfa43602 100644 --- a/mobile/android/android-components/components/feature/tabs/src/test/java/mozilla/components/feature/tabs/toolbar/TabCounterToolbarButtonTest.kt +++ b/mobile/android/android-components/components/feature/tabs/src/test/java/mozilla/components/feature/tabs/toolbar/TabCounterToolbarButtonTest.kt @@ -26,8 +26,8 @@ import mozilla.components.support.test.robolectric.testContext import mozilla.components.support.test.rule.MainCoroutineRule import mozilla.components.support.test.whenever import mozilla.components.ui.tabcounter.R -import mozilla.components.ui.tabcounter.TabCounter import mozilla.components.ui.tabcounter.TabCounterMenu +import mozilla.components.ui.tabcounter.TabCounterView import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertTrue @@ -76,7 +76,7 @@ class TabCounterToolbarButtonTest { ), ) - val view = button.createView(LinearLayout(testContext) as ViewGroup) as TabCounter + val view = button.createView(LinearLayout(testContext) as ViewGroup) as TabCounterView val counterText: TextView = view.findViewById(R.id.counter_text) assertEquals("0", counterText.text) } @@ -94,7 +94,7 @@ class TabCounterToolbarButtonTest { ), ) - val view = button.createView(LinearLayout(testContext) as ViewGroup) as TabCounter + val view = button.createView(LinearLayout(testContext) as ViewGroup) as TabCounterView val counterMask: View = view.findViewById(R.id.counter_mask) assertFalse(counterMask.isVisible) } @@ -114,7 +114,7 @@ class TabCounterToolbarButtonTest { ), ) - val view = button.createView(LinearLayout(testContext) as ViewGroup) as TabCounter + val view = button.createView(LinearLayout(testContext) as ViewGroup) as TabCounterView val counterMask: View = view.findViewById(R.id.counter_mask) assertTrue(counterMask.isVisible) } @@ -133,7 +133,7 @@ class TabCounterToolbarButtonTest { ) whenever(button.updateCount(anyInt())).then { } - button.createView(LinearLayout(testContext) as ViewGroup) as TabCounter + button.createView(LinearLayout(testContext) as ViewGroup) as TabCounterView store.dispatch( TabListAction.AddTabAction(createTab("https://www.mozilla.org")), @@ -156,7 +156,7 @@ class TabCounterToolbarButtonTest { ) whenever(button.updateCount(anyInt())).then { } - button.createView(LinearLayout(testContext) as ViewGroup) as TabCounter + button.createView(LinearLayout(testContext) as ViewGroup) as TabCounterView store.dispatch( TabListAction.RestoreAction( @@ -188,7 +188,7 @@ class TabCounterToolbarButtonTest { ) whenever(button.updateCount(anyInt())).then { } - button.createView(LinearLayout(testContext) as ViewGroup) as TabCounter + button.createView(LinearLayout(testContext) as ViewGroup) as TabCounterView store.dispatch(TabListAction.RemoveTabAction(tab.id)).joinBlocking() verify(button).updateCount(eq(0)) @@ -210,7 +210,7 @@ class TabCounterToolbarButtonTest { whenever(button.updateCount(anyInt())).then { } whenever(button.isPrivate(store)).then { true } - button.createView(LinearLayout(testContext) as ViewGroup) as TabCounter + button.createView(LinearLayout(testContext) as ViewGroup) as TabCounterView store.dispatch( TabListAction.AddTabAction(createTab("https://www.mozilla.org", private = true)), @@ -236,7 +236,7 @@ class TabCounterToolbarButtonTest { whenever(button.updateCount(anyInt())).then { } whenever(button.isPrivate(store)).then { true } - button.createView(LinearLayout(testContext) as ViewGroup) as TabCounter + button.createView(LinearLayout(testContext) as ViewGroup) as TabCounterView store.dispatch(TabListAction.RemoveTabAction(tab.id)).joinBlocking() verify(button).updateCount(eq(0)) @@ -261,7 +261,7 @@ class TabCounterToolbarButtonTest { val parent = spy(LinearLayout(testContext)) doReturn(true).`when`(parent).isAttachedToWindow - val view = button.createView(parent) as TabCounter + val view = button.createView(parent) as TabCounterView view.performClick() assertTrue(callbackInvoked) } diff --git a/mobile/android/android-components/components/ui/tabcounter/lint-baseline.xml b/mobile/android/android-components/components/ui/tabcounter/lint-baseline.xml index d84f8eadf238..48e35fb1bf9c 100644 --- a/mobile/android/android-components/components/ui/tabcounter/lint-baseline.xml +++ b/mobile/android/android-components/components/ui/tabcounter/lint-baseline.xml @@ -7,7 +7,7 @@ errorLine1=" ) ?: ContextCompat.getColorStateList(context, R.color.mozac_ui_tabcounter_default_tint)" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -18,7 +18,7 @@ errorLine1=" false -> ContextCompat.getDrawable(context, drawableRes)" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounterMenu.kt b/mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounterMenu.kt index 4f0329a85be2..83c36774075d 100644 --- a/mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounterMenu.kt +++ b/mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounterMenu.kt @@ -14,7 +14,7 @@ import mozilla.components.concept.menu.candidate.TextStyle import mozilla.components.ui.icons.R as iconsR /** - * The menu that is shown when clicking on the [TabCounter] + * The menu that is shown when clicking on the [TabCounterView] * * @param context the context. * @param onItemTapped behavior for when an item in the menu is tapped. diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounter.kt b/mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounterView.kt similarity index 98% rename from mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounter.kt rename to mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounterView.kt index d1ca4619b716..7983f3946f2d 100644 --- a/mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounter.kt +++ b/mobile/android/android-components/components/ui/tabcounter/src/main/java/mozilla/components/ui/tabcounter/TabCounterView.kt @@ -23,7 +23,7 @@ import mozilla.components.support.utils.DrawableUtils import mozilla.components.ui.tabcounter.databinding.MozacUiTabcounterLayoutBinding import java.text.NumberFormat -class TabCounter @JvmOverloads constructor( +class TabCounterView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyle: Int = 0, @@ -46,9 +46,9 @@ class TabCounter @JvmOverloads constructor( setCount(internalCount) - context.obtainStyledAttributes(attrs, R.styleable.TabCounter, defStyle, 0).apply { + context.obtainStyledAttributes(attrs, R.styleable.TabCounterView, defStyle, 0).apply { counterColor = getColorStateList( - R.styleable.TabCounter_tabCounterTintColor, + R.styleable.TabCounterView_tabCounterTintColor, ) ?: ContextCompat.getColorStateList(context, R.color.mozac_ui_tabcounter_default_tint) counterColor?.let { diff --git a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/attrs.xml b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/attrs.xml index 70195f21987f..46bb680f9e65 100644 --- a/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/attrs.xml +++ b/mobile/android/android-components/components/ui/tabcounter/src/main/res/values/attrs.xml @@ -4,7 +4,7 @@ - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> - + diff --git a/mobile/android/android-components/components/ui/tabcounter/src/test/java/mozilla/components/ui/tabcounter/TabCounterTest.kt b/mobile/android/android-components/components/ui/tabcounter/src/test/java/mozilla/components/ui/tabcounter/TabCounterTest.kt index 96693a128825..b6dc61a84ee2 100644 --- a/mobile/android/android-components/components/ui/tabcounter/src/test/java/mozilla/components/ui/tabcounter/TabCounterTest.kt +++ b/mobile/android/android-components/components/ui/tabcounter/src/test/java/mozilla/components/ui/tabcounter/TabCounterTest.kt @@ -24,12 +24,12 @@ import org.junit.runner.RunWith @RunWith(AndroidJUnit4::class) class TabCounterTest { - private lateinit var tabCounter: TabCounter + private lateinit var tabCounter: TabCounterView private lateinit var binding: MozacUiTabcounterLayoutBinding @Before fun setUp() { - tabCounter = TabCounter(testContext) + tabCounter = TabCounterView(testContext) binding = MozacUiTabcounterLayoutBinding.inflate(LayoutInflater.from(testContext), tabCounter) } diff --git a/mobile/android/android-components/config/detekt-baseline.xml b/mobile/android/android-components/config/detekt-baseline.xml index 8f36a0c120e4..931b105a29d4 100644 --- a/mobile/android/android-components/config/detekt-baseline.xml +++ b/mobile/android/android-components/config/detekt-baseline.xml @@ -291,8 +291,8 @@ UndocumentedPublicClass:SystemEngineView.kt$SystemEngineView$Companion UndocumentedPublicClass:SystemEngineView.kt$SystemEngineView$ImageHandler : Handler UndocumentedPublicClass:SystemPermissionRequest.kt$SystemPermissionRequest$Companion - UndocumentedPublicClass:TabCounter.kt$TabCounter : RelativeLayout - UndocumentedPublicClass:TabCounter.kt$TabCounter$Companion + UndocumentedPublicClass:TabCounterView.kt$TabCounterView : RelativeLayout + UndocumentedPublicClass:TabCounterView.kt$TabCounterView$Companion UndocumentedPublicClass:TabThumbnailView.kt$TabThumbnailView : AppCompatImageView UndocumentedPublicClass:TabViewHolder.kt$DefaultTabViewHolder$Companion UndocumentedPublicClass:TabsAdapter.kt$TabsAdapter$Companion @@ -470,8 +470,8 @@ UndocumentedPublicFunction:SystemEngineSession.kt$SystemEngineSession.WebSetting$operator fun getValue(thisRef: Any?, property: KProperty<*>): T UndocumentedPublicFunction:SystemEngineSession.kt$SystemEngineSession.WebSetting$operator fun setValue(thisRef: Any?, property: KProperty<*>, value: T) UndocumentedPublicFunction:SystemEngineSessionState.kt$SystemEngineSessionState.Companion$fun fromJSON(json: JSONObject): SystemEngineSessionState - UndocumentedPublicFunction:TabCounter.kt$TabCounter$fun setCount(count: Int) - UndocumentedPublicFunction:TabCounter.kt$TabCounter$fun setCountWithAnimation(count: Int) + UndocumentedPublicFunction:TabCounterView.kt$TabCounterView$fun setCount(count: Int) + UndocumentedPublicFunction:TabCounterView.kt$TabCounterView$fun setCountWithAnimation(count: Int) UndocumentedPublicFunction:TabsTrayPresenter.kt$TabsTrayPresenter$fun start() UndocumentedPublicFunction:TabsTrayPresenter.kt$TabsTrayPresenter$fun stop() UndocumentedPublicFunction:ThreadUtils.kt$ThreadUtils$fun assertOnUiThread() diff --git a/mobile/android/android-components/samples/toolbar/src/main/java/org/mozilla/samples/toolbar/ToolbarActivity.kt b/mobile/android/android-components/samples/toolbar/src/main/java/org/mozilla/samples/toolbar/ToolbarActivity.kt index 01a6b09ce1ca..76c6ea1cce83 100644 --- a/mobile/android/android-components/samples/toolbar/src/main/java/org/mozilla/samples/toolbar/ToolbarActivity.kt +++ b/mobile/android/android-components/samples/toolbar/src/main/java/org/mozilla/samples/toolbar/ToolbarActivity.kt @@ -60,7 +60,7 @@ import mozilla.components.support.ktx.android.content.res.resolveAttribute import mozilla.components.support.ktx.android.view.hideKeyboard import mozilla.components.support.ktx.android.view.setupPersistentInsets import mozilla.components.support.ktx.util.URLStringUtils -import mozilla.components.ui.tabcounter.TabCounter +import mozilla.components.ui.tabcounter.TabCounterView import org.mozilla.samples.toolbar.compose.BrowserToolbar import org.mozilla.samples.toolbar.databinding.ActivityToolbarBinding import org.mozilla.samples.toolbar.middleware.BrowserToolbarMiddleware @@ -328,7 +328,7 @@ class ToolbarActivity : AppCompatActivity() { } private class FakeTabCounterToolbarButton : Toolbar.Action { - override fun createView(parent: ViewGroup): View = TabCounter(parent.context).apply { + override fun createView(parent: ViewGroup): View = TabCounterView(parent.context).apply { setCount(2) setBackgroundResource( parent.context.theme.resolveAttribute(android.R.attr.selectableItemBackgroundBorderless), diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/navbar/ToolbarTabCounterButton.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/navbar/ToolbarTabCounterButton.kt index 171508837575..141e58259c48 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/navbar/ToolbarTabCounterButton.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/navbar/ToolbarTabCounterButton.kt @@ -19,8 +19,8 @@ import androidx.compose.ui.unit.LayoutDirection import androidx.compose.ui.unit.dp import androidx.compose.ui.viewinterop.AndroidView import mozilla.components.compose.base.annotation.LightDarkPreview -import mozilla.components.ui.tabcounter.TabCounter import mozilla.components.ui.tabcounter.TabCounterMenu +import mozilla.components.ui.tabcounter.TabCounterView import org.mozilla.fenix.R import org.mozilla.fenix.theme.FirefoxTheme import org.mozilla.fenix.theme.Theme @@ -52,7 +52,7 @@ fun ToolbarTabCounterButton( val isRtl = LocalLayoutDirection.current == LayoutDirection.Rtl AndroidView( factory = { context -> - TabCounter(context).apply { + TabCounterView(context).apply { setOnClickListener { onClick() } diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/toolbar/TabCounterView.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/toolbar/TabCounterView.kt index 59c2a70d52d1..ce0f43975afe 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/toolbar/TabCounterView.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/toolbar/TabCounterView.kt @@ -10,8 +10,8 @@ import androidx.navigation.NavController import mozilla.components.browser.state.selector.normalTabs import mozilla.components.browser.state.selector.privateTabs import mozilla.components.browser.state.state.BrowserState -import mozilla.components.ui.tabcounter.TabCounter import mozilla.components.ui.tabcounter.TabCounterMenu +import mozilla.components.ui.tabcounter.TabCounterView import mozilla.telemetry.glean.private.NoExtras import org.mozilla.fenix.GleanMetrics.StartOnHome import org.mozilla.fenix.NavGraphDirections @@ -28,14 +28,14 @@ import org.mozilla.fenix.tabstray.Page * @param context An Android [Context]. * @param browsingModeManager [BrowsingModeManager] used for fetching the current browsing mode. * @param navController [NavController] used for navigation. - * @param tabCounter The [TabCounter] that will be setup with event handlers. + * @param tabCounter The [TabCounterView] that will be setup with event handlers. * @param showLongPressMenu Whether a popup menu should be shown when long pressing on this or not. */ class TabCounterView( private val context: Context, private val browsingModeManager: BrowsingModeManager, private val navController: NavController, - private val tabCounter: TabCounter, + private val tabCounter: TabCounterView, private val showLongPressMenu: Boolean, ) { diff --git a/mobile/android/fenix/app/src/main/res/layout/fragment_home_toolbar_view_layout.xml b/mobile/android/fenix/app/src/main/res/layout/fragment_home_toolbar_view_layout.xml index 7d04cbed11b9..a87d73bfe392 100644 --- a/mobile/android/fenix/app/src/main/res/layout/fragment_home_toolbar_view_layout.xml +++ b/mobile/android/fenix/app/src/main/res/layout/fragment_home_toolbar_view_layout.xml @@ -73,7 +73,7 @@ app:barrierDirection="start" app:constraint_referenced_ids="tab_button" /> - - - Unit private lateinit var tabCounterView: TabCounterView - private lateinit var tabCounter: TabCounter + private lateinit var tabCounter: MozacTabCounter @Before fun setup() { @@ -53,7 +53,7 @@ class TabCounterViewTest { settings = mockk(relaxed = true) modeDidChange = mockk(relaxed = true) - tabCounter = spyk(TabCounter(testContext)) + tabCounter = spyk(MozacTabCounter(testContext)) browsingModeManager = DefaultBrowsingModeManager( initialMode = BrowsingMode.Normal,