[fenix] Issue https://github.com/mozilla-mobile/fenix/issues/19002: Correct naming of pager viewholders

pull/600/head
Jonathan Almeida 3 years ago committed by Jonathan Almeida
parent cf9a9dd6dc
commit 8cc83017b2

@ -16,10 +16,10 @@ import org.mozilla.fenix.sync.SyncedTabsAdapter
import org.mozilla.fenix.tabstray.browser.BrowserTabsAdapter import org.mozilla.fenix.tabstray.browser.BrowserTabsAdapter
import org.mozilla.fenix.tabstray.browser.BrowserTrayInteractor import org.mozilla.fenix.tabstray.browser.BrowserTrayInteractor
import org.mozilla.fenix.tabstray.syncedtabs.TabClickDelegate import org.mozilla.fenix.tabstray.syncedtabs.TabClickDelegate
import org.mozilla.fenix.tabstray.viewholders.AbstractTrayViewHolder import org.mozilla.fenix.tabstray.viewholders.AbstractPageViewHolder
import org.mozilla.fenix.tabstray.viewholders.NormalBrowserTabViewHolder import org.mozilla.fenix.tabstray.viewholders.NormalBrowserPageViewHolder
import org.mozilla.fenix.tabstray.viewholders.PrivateBrowserTabViewHolder import org.mozilla.fenix.tabstray.viewholders.PrivateBrowserPageViewHolder
import org.mozilla.fenix.tabstray.viewholders.SyncedTabViewHolder import org.mozilla.fenix.tabstray.viewholders.SyncedTabsPageViewHolder
class TrayPagerAdapter( class TrayPagerAdapter(
private val context: Context, private val context: Context,
@ -28,36 +28,36 @@ class TrayPagerAdapter(
private val navInteractor: NavigationInteractor, private val navInteractor: NavigationInteractor,
private val interactor: TabsTrayInteractor, private val interactor: TabsTrayInteractor,
private val browserStore: BrowserStore private val browserStore: BrowserStore
) : RecyclerView.Adapter<AbstractTrayViewHolder>() { ) : RecyclerView.Adapter<AbstractPageViewHolder>() {
private val normalAdapter by lazy { BrowserTabsAdapter(context, browserInteractor, store) } private val normalAdapter by lazy { BrowserTabsAdapter(context, browserInteractor, store) }
private val privateAdapter by lazy { BrowserTabsAdapter(context, browserInteractor, store) } private val privateAdapter by lazy { BrowserTabsAdapter(context, browserInteractor, store) }
private val syncedTabsAdapter by lazy { SyncedTabsAdapter(TabClickDelegate(navInteractor)) } private val syncedTabsAdapter by lazy { SyncedTabsAdapter(TabClickDelegate(navInteractor)) }
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AbstractTrayViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AbstractPageViewHolder {
val itemView = LayoutInflater.from(parent.context).inflate(viewType, parent, false) val itemView = LayoutInflater.from(parent.context).inflate(viewType, parent, false)
val selectedTab = browserStore.state.selectedTab val selectedTab = browserStore.state.selectedTab
return when (viewType) { return when (viewType) {
NormalBrowserTabViewHolder.LAYOUT_ID -> { NormalBrowserPageViewHolder.LAYOUT_ID -> {
NormalBrowserTabViewHolder( NormalBrowserPageViewHolder(
itemView, itemView,
store, store,
interactor, interactor,
browserStore.state.normalTabs.indexOf(selectedTab) browserStore.state.normalTabs.indexOf(selectedTab)
) )
} }
PrivateBrowserTabViewHolder.LAYOUT_ID -> { PrivateBrowserPageViewHolder.LAYOUT_ID -> {
PrivateBrowserTabViewHolder( PrivateBrowserPageViewHolder(
itemView, itemView,
store, store,
interactor, interactor,
browserStore.state.privateTabs.indexOf(selectedTab) browserStore.state.privateTabs.indexOf(selectedTab)
) )
} }
SyncedTabViewHolder.LAYOUT_ID -> { SyncedTabsPageViewHolder.LAYOUT_ID -> {
SyncedTabViewHolder( SyncedTabsPageViewHolder(
itemView, itemView,
store store
) )
@ -66,7 +66,7 @@ class TrayPagerAdapter(
} }
} }
override fun onBindViewHolder(viewHolder: AbstractTrayViewHolder, position: Int) { override fun onBindViewHolder(viewHolder: AbstractPageViewHolder, position: Int) {
val adapter = when (position) { val adapter = when (position) {
POSITION_NORMAL_TABS -> normalAdapter POSITION_NORMAL_TABS -> normalAdapter
POSITION_PRIVATE_TABS -> privateAdapter POSITION_PRIVATE_TABS -> privateAdapter
@ -78,9 +78,9 @@ class TrayPagerAdapter(
override fun getItemViewType(position: Int): Int { override fun getItemViewType(position: Int): Int {
return when (position) { return when (position) {
POSITION_NORMAL_TABS -> NormalBrowserTabViewHolder.LAYOUT_ID POSITION_NORMAL_TABS -> NormalBrowserPageViewHolder.LAYOUT_ID
POSITION_PRIVATE_TABS -> PrivateBrowserTabViewHolder.LAYOUT_ID POSITION_PRIVATE_TABS -> PrivateBrowserPageViewHolder.LAYOUT_ID
POSITION_SYNCED_TABS -> SyncedTabViewHolder.LAYOUT_ID POSITION_SYNCED_TABS -> SyncedTabsPageViewHolder.LAYOUT_ID
else -> throw IllegalStateException("Unknown position.") else -> throw IllegalStateException("Unknown position.")
} }
} }

@ -18,12 +18,12 @@ import org.mozilla.fenix.tabstray.browser.BrowserTrayList
/** /**
* A shared view holder for browser tabs tray list. * A shared view holder for browser tabs tray list.
*/ */
abstract class BaseBrowserTabViewHolder( abstract class AbstractBrowserPageViewHolder(
containerView: View, containerView: View,
tabsTrayStore: TabsTrayStore, tabsTrayStore: TabsTrayStore,
interactor: TabsTrayInteractor, interactor: TabsTrayInteractor,
private val currentTabIndex: Int private val currentTabIndex: Int
) : AbstractTrayViewHolder(containerView) { ) : AbstractPageViewHolder(containerView) {
protected val trayList: BrowserTrayList = itemView.findViewById(R.id.tray_list_item) protected val trayList: BrowserTrayList = itemView.findViewById(R.id.tray_list_item)
private val emptyList: TextView = itemView.findViewById(R.id.tab_tray_empty_view) private val emptyList: TextView = itemView.findViewById(R.id.tab_tray_empty_view)

@ -12,7 +12,7 @@ import org.mozilla.fenix.tabstray.TrayPagerAdapter
/** /**
* An abstract [RecyclerView.ViewHolder] for [TrayPagerAdapter] items. * An abstract [RecyclerView.ViewHolder] for [TrayPagerAdapter] items.
*/ */
abstract class AbstractTrayViewHolder constructor( abstract class AbstractPageViewHolder constructor(
override val containerView: View override val containerView: View
) : RecyclerView.ViewHolder(containerView), LayoutContainer { ) : RecyclerView.ViewHolder(containerView), LayoutContainer {

@ -17,12 +17,12 @@ import org.mozilla.fenix.tabstray.browser.BrowserTabsAdapter
/** /**
* View holder for the normal tabs tray list. * View holder for the normal tabs tray list.
*/ */
class NormalBrowserTabViewHolder( class NormalBrowserPageViewHolder(
containerView: View, containerView: View,
private val store: TabsTrayStore, private val store: TabsTrayStore,
interactor: TabsTrayInteractor, interactor: TabsTrayInteractor,
currentTabIndex: Int currentTabIndex: Int
) : BaseBrowserTabViewHolder( ) : AbstractBrowserPageViewHolder(
containerView, containerView,
store, store,
interactor, interactor,

@ -13,12 +13,12 @@ import org.mozilla.fenix.tabstray.browser.BrowserTrayList.BrowserTabType.PRIVATE
/** /**
* View holder for the private tabs tray list. * View holder for the private tabs tray list.
*/ */
class PrivateBrowserTabViewHolder( class PrivateBrowserPageViewHolder(
containerView: View, containerView: View,
store: TabsTrayStore, store: TabsTrayStore,
interactor: TabsTrayInteractor, interactor: TabsTrayInteractor,
currentTabIndex: Int currentTabIndex: Int
) : BaseBrowserTabViewHolder( ) : AbstractBrowserPageViewHolder(
containerView, containerView,
store, store,
interactor, interactor,

@ -10,10 +10,10 @@ import kotlinx.android.synthetic.main.component_sync_tabs_tray_layout.*
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.tabstray.TabsTrayStore import org.mozilla.fenix.tabstray.TabsTrayStore
class SyncedTabViewHolder( class SyncedTabsPageViewHolder(
containerView: View, containerView: View,
private val tabsTrayStore: TabsTrayStore private val tabsTrayStore: TabsTrayStore
) : AbstractTrayViewHolder(containerView) { ) : AbstractPageViewHolder(containerView) {
override fun bind( override fun bind(
adapter: RecyclerView.Adapter<out RecyclerView.ViewHolder>, adapter: RecyclerView.Adapter<out RecyclerView.ViewHolder>,

@ -15,7 +15,7 @@ import org.junit.Assert.assertEquals
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mozilla.fenix.helpers.FenixRobolectricTestRunner import org.mozilla.fenix.helpers.FenixRobolectricTestRunner
import org.mozilla.fenix.tabstray.viewholders.SyncedTabViewHolder import org.mozilla.fenix.tabstray.viewholders.SyncedTabsPageViewHolder
@RunWith(FenixRobolectricTestRunner::class) @RunWith(FenixRobolectricTestRunner::class)
class TabsTouchHelperTest { class TabsTouchHelperTest {
@ -24,7 +24,7 @@ class TabsTouchHelperTest {
fun `movement flags remain unchanged if onSwipeToDelete is true`() { fun `movement flags remain unchanged if onSwipeToDelete is true`() {
val recyclerView = RecyclerView(testContext) val recyclerView = RecyclerView(testContext)
val layout = FrameLayout(testContext) val layout = FrameLayout(testContext)
val viewHolder = SyncedTabViewHolder(layout, mockk()) val viewHolder = SyncedTabsPageViewHolder(layout, mockk())
val callback = TouchCallback(mockk(), { true }, mockk()) val callback = TouchCallback(mockk(), { true }, mockk())
assertEquals(0, callback.getDragDirs(recyclerView, viewHolder)) assertEquals(0, callback.getDragDirs(recyclerView, viewHolder))
@ -43,7 +43,7 @@ class TabsTouchHelperTest {
fun `movement flags remain unchanged if onSwipeToDelete is false`() { fun `movement flags remain unchanged if onSwipeToDelete is false`() {
val recyclerView = RecyclerView(testContext) val recyclerView = RecyclerView(testContext)
val layout = FrameLayout(testContext) val layout = FrameLayout(testContext)
val viewHolder = SyncedTabViewHolder(layout, mockk()) val viewHolder = SyncedTabsPageViewHolder(layout, mockk())
val callback = TouchCallback(mockk(), { false }, mockk()) val callback = TouchCallback(mockk(), { false }, mockk())
assertEquals(0, callback.getDragDirs(recyclerView, viewHolder)) assertEquals(0, callback.getDragDirs(recyclerView, viewHolder))

@ -25,7 +25,7 @@ import org.mozilla.fenix.tabstray.browser.BrowserTrayInteractor
import org.mozilla.fenix.tabstray.browser.createTab import org.mozilla.fenix.tabstray.browser.createTab
@RunWith(FenixRobolectricTestRunner::class) @RunWith(FenixRobolectricTestRunner::class)
class BaseBrowserTabViewHolderTest { class AbstractBrowserPageViewHolderTest {
val store: TabsTrayStore = TabsTrayStore() val store: TabsTrayStore = TabsTrayStore()
val interactor = mockk<TabsTrayInteractor>(relaxed = true) val interactor = mockk<TabsTrayInteractor>(relaxed = true)
val browserTrayInteractor = mockk<BrowserTrayInteractor>(relaxed = true) val browserTrayInteractor = mockk<BrowserTrayInteractor>(relaxed = true)
@ -35,7 +35,7 @@ class BaseBrowserTabViewHolderTest {
fun `WHEN tabs inserted THEN show tray`() { fun `WHEN tabs inserted THEN show tray`() {
val itemView = val itemView =
LayoutInflater.from(testContext).inflate(R.layout.normal_browser_tray_list, null) LayoutInflater.from(testContext).inflate(R.layout.normal_browser_tray_list, null)
val viewHolder = NormalBrowserTabViewHolder(itemView, store, interactor, 5) val viewHolder = NormalBrowserPageViewHolder(itemView, store, interactor, 5)
val trayList: BrowserTrayList = itemView.findViewById(R.id.tray_list_item) val trayList: BrowserTrayList = itemView.findViewById(R.id.tray_list_item)
val emptyList: TextView = itemView.findViewById(R.id.tab_tray_empty_view) val emptyList: TextView = itemView.findViewById(R.id.tab_tray_empty_view)
@ -59,7 +59,7 @@ class BaseBrowserTabViewHolderTest {
fun `WHEN no tabs THEN show empty view`() { fun `WHEN no tabs THEN show empty view`() {
val itemView = val itemView =
LayoutInflater.from(testContext).inflate(R.layout.normal_browser_tray_list, null) LayoutInflater.from(testContext).inflate(R.layout.normal_browser_tray_list, null)
val viewHolder = NormalBrowserTabViewHolder(itemView, store, interactor, 5) val viewHolder = NormalBrowserPageViewHolder(itemView, store, interactor, 5)
val trayList: BrowserTrayList = itemView.findViewById(R.id.tray_list_item) val trayList: BrowserTrayList = itemView.findViewById(R.id.tray_list_item)
val emptyList: TextView = itemView.findViewById(R.id.tab_tray_empty_view) val emptyList: TextView = itemView.findViewById(R.id.tab_tray_empty_view)
Loading…
Cancel
Save