diff --git a/app/src/main/java/org/mozilla/fenix/tabstray/browser/InactiveTabViewHolder.kt b/app/src/main/java/org/mozilla/fenix/tabstray/browser/InactiveTabViewHolder.kt index f4346a26ce..e2167c8f88 100644 --- a/app/src/main/java/org/mozilla/fenix/tabstray/browser/InactiveTabViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/tabstray/browser/InactiveTabViewHolder.kt @@ -5,7 +5,6 @@ package org.mozilla.fenix.tabstray.browser import android.view.View -import androidx.annotation.StringRes import androidx.core.view.updatePadding import androidx.recyclerview.widget.RecyclerView import mozilla.components.browser.toolbar.MAX_URI_LENGTH @@ -20,10 +19,6 @@ import org.mozilla.fenix.ext.loadIntoView import org.mozilla.fenix.ext.toShortUrl import org.mozilla.fenix.home.topsites.dpToPx import org.mozilla.fenix.tabstray.TabsTrayInteractor -import org.mozilla.fenix.tabstray.browser.AutoCloseInterval.Manual -import org.mozilla.fenix.tabstray.browser.AutoCloseInterval.OneDay -import org.mozilla.fenix.tabstray.browser.AutoCloseInterval.OneMonth -import org.mozilla.fenix.tabstray.browser.AutoCloseInterval.OneWeek sealed class InactiveTabViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { @@ -135,27 +130,8 @@ sealed class InactiveTabViewHolder(itemView: View) : RecyclerView.ViewHolder(ite class FooterHolder(itemView: View) : InactiveTabViewHolder(itemView) { - val binding = InactiveFooterItemBinding.bind(itemView) - - fun bind(interval: AutoCloseInterval) { - val context = itemView.context - val stringRes = when (interval) { - Manual, OneDay -> { - binding.inactiveDescription.visibility = View.GONE - binding.topDivider.visibility = View.GONE - null - } - OneWeek -> { - context.getString(interval.description) - } - OneMonth -> { - context.getString(interval.description) - } - } - if (stringRes != null) { - binding.inactiveDescription.text = - context.getString(R.string.inactive_tabs_description, stringRes) - } + init { + InactiveFooterItemBinding.bind(itemView) } companion object { @@ -163,10 +139,3 @@ sealed class InactiveTabViewHolder(itemView: View) : RecyclerView.ViewHolder(ite } } } - -enum class AutoCloseInterval(@StringRes val description: Int) { - Manual(0), - OneDay(0), - OneWeek(R.string.inactive_tabs_7_days), - OneMonth(R.string.inactive_tabs_30_days) -} diff --git a/app/src/main/java/org/mozilla/fenix/tabstray/browser/InactiveTabsAdapter.kt b/app/src/main/java/org/mozilla/fenix/tabstray/browser/InactiveTabsAdapter.kt index 8eb1fe01df..6c62cc4b3d 100644 --- a/app/src/main/java/org/mozilla/fenix/tabstray/browser/InactiveTabsAdapter.kt +++ b/app/src/main/java/org/mozilla/fenix/tabstray/browser/InactiveTabsAdapter.kt @@ -19,7 +19,6 @@ import org.mozilla.fenix.tabstray.browser.InactiveTabViewHolder.AutoCloseDialogH import org.mozilla.fenix.tabstray.browser.InactiveTabViewHolder.FooterHolder import org.mozilla.fenix.tabstray.browser.InactiveTabViewHolder.HeaderHolder import org.mozilla.fenix.tabstray.browser.InactiveTabViewHolder.TabViewHolder -import org.mozilla.fenix.tabstray.ext.autoCloseInterval import org.mozilla.fenix.utils.Settings import mozilla.components.support.base.observer.Observable as ComponentObservable @@ -73,11 +72,8 @@ class InactiveTabsAdapter( val item = getItem(position) as Item.Tab holder.bind(item.tab) } - is FooterHolder -> { - val item = getItem(position) as Item.Footer - holder.bind(item.interval) - } - is HeaderHolder, is AutoCloseDialogHolder -> { + + is FooterHolder, is HeaderHolder, is AutoCloseDialogHolder -> { // do nothing. } } @@ -112,7 +108,7 @@ class InactiveTabsAdapter( } val items = tabs.list.map { Item.Tab(it) } - val footer = Item.Footer(context.autoCloseInterval) + val footer = Item.Footer val headerItems = if (settings.shouldShowInactiveTabsAutoCloseDialog(items.size)) { listOf(Item.Header, Item.AutoCloseMessage) } else { @@ -162,6 +158,6 @@ class InactiveTabsAdapter( * A footer for the inactive tab section. This may be seen only * when at least one inactive tab is present. */ - data class Footer(val interval: AutoCloseInterval) : Item() + object Footer : Item() } } diff --git a/app/src/main/java/org/mozilla/fenix/tabstray/ext/Context.kt b/app/src/main/java/org/mozilla/fenix/tabstray/ext/Context.kt index 92ad59cbfb..e8082ac6e7 100644 --- a/app/src/main/java/org/mozilla/fenix/tabstray/ext/Context.kt +++ b/app/src/main/java/org/mozilla/fenix/tabstray/ext/Context.kt @@ -6,7 +6,6 @@ package org.mozilla.fenix.tabstray.ext import android.content.Context import org.mozilla.fenix.ext.components -import org.mozilla.fenix.tabstray.browser.AutoCloseInterval const val MIN_COLUMN_WIDTH_DP = 180 @@ -32,16 +31,3 @@ internal val Context.defaultBrowserLayoutColumns: Int 1 } } - -/** - * Returns the appropriate [AutoCloseInterval] based on user preferences. - */ -internal val Context.autoCloseInterval: AutoCloseInterval - get() = with(components.settings) { - when { - closeTabsAfterOneDay -> AutoCloseInterval.OneDay - closeTabsAfterOneWeek -> AutoCloseInterval.OneWeek - closeTabsAfterOneMonth -> AutoCloseInterval.OneMonth - else -> AutoCloseInterval.Manual - } - } diff --git a/app/src/main/res/layout/inactive_footer_item.xml b/app/src/main/res/layout/inactive_footer_item.xml index 955ff5b42a..ae13e8b318 100644 --- a/app/src/main/res/layout/inactive_footer_item.xml +++ b/app/src/main/res/layout/inactive_footer_item.xml @@ -15,37 +15,11 @@ android:paddingEnd="1dp" android:paddingBottom="1dp"> - - - - - \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 81aeed3fc9..a0e939a2b7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1944,11 +1944,11 @@ Close all inactive tabs - Tabs are available here for %s. After that time, tabs will be automatically closed. + Tabs are available here for %s. After that time, tabs will be automatically closed. - 30 days + 30 days - 1 week + 1 week