diff --git a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt index 81205292a5..43a0bfb349 100644 --- a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt +++ b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt @@ -339,6 +339,10 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity { window.addFlags(WindowManager.LayoutParams.FLAG_SECURE) } + // We will remove this when AC code lands to emit a fact on getTopSites in DefaultTopSitesStorage + // https://github.com/mozilla-mobile/android-components/issues/8679 + settings().topSitesSize = components.core.topSitesStorage.cachedTopSites.size + super.onPause() // Diagnostic breadcrumb for "Display already aquired" crash: diff --git a/app/src/main/java/org/mozilla/fenix/browser/UriOpenedObserver.kt b/app/src/main/java/org/mozilla/fenix/browser/UriOpenedObserver.kt index 3c42b1f1ef..0907188fee 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/UriOpenedObserver.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/UriOpenedObserver.kt @@ -46,7 +46,7 @@ class UriOpenedObserver( } private fun saveOpenTabsCount() { - settings.setOpenTabsCount(sessionManager.sessionsOfType(private = false).count()) + settings.openTabsCount = sessionManager.sessionsOfType(private = false).count() } override fun onAllSessionsRemoved() { diff --git a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt index 33b1b2b42c..6a32e55ef5 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -919,7 +919,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { return overrideAmoUser.isNotEmpty() || overrideAmoCollection.isNotEmpty() } - val topSitesSize by intPreference( + var topSitesSize by intPreference( appContext.getPreferenceKey(R.string.pref_key_top_sites_size), default = 0 ) @@ -929,18 +929,10 @@ class Settings(private val appContext: Context) : PreferencesHolder { default = topSitesMaxCount ) - fun setOpenTabsCount(count: Int) { - preferences.edit().putInt( - appContext.getPreferenceKey(R.string.pref_key_open_tabs_count), - count - ).apply() - } - - val openTabsCount: Int - get() = preferences.getInt( - appContext.getPreferenceKey(R.string.pref_key_open_tabs_count), - 0 - ) + var openTabsCount by intPreference( + appContext.getPreferenceKey(R.string.pref_key_open_tabs_count), + 0 + ) private var savedLoginsSortingStrategyString by stringPreference( appContext.getPreferenceKey(R.string.pref_key_saved_logins_sorting_strategy), diff --git a/app/src/test/java/org/mozilla/fenix/browser/UriOpenedObserverTest.kt b/app/src/test/java/org/mozilla/fenix/browser/UriOpenedObserverTest.kt index b57b29ac88..82748f936f 100644 --- a/app/src/test/java/org/mozilla/fenix/browser/UriOpenedObserverTest.kt +++ b/app/src/test/java/org/mozilla/fenix/browser/UriOpenedObserverTest.kt @@ -59,7 +59,7 @@ class UriOpenedObserverTest { observer.onSessionRemoved(session) verify { session.unregister(observer.singleSessionObserver) } - verify { settings.setOpenTabsCount(1) } + verify { settings.openTabsCount = 1 } } @Test