From 382ca721c4788c348da1bc4c24f702a26fdbe707 Mon Sep 17 00:00:00 2001 From: Mark Hammond Date: Thu, 7 Mar 2024 13:32:00 -0500 Subject: [PATCH] Bug 1879332 - ensure synced tabs includes the inactive property (cherry picked from commit 5b559a4e485fa859e43e5eb3bbca95abbcbdb151) --- .../org/mozilla/fenix/components/BackgroundServices.kt | 3 ++- app/src/main/java/org/mozilla/fenix/tabstray/TabsTray.kt | 1 + .../java/org/mozilla/fenix/tabstray/browser/TabSorter.kt | 2 +- .../java/org/mozilla/fenix/tabstray/ext/TabSessionState.kt | 7 +------ .../org/mozilla/fenix/tabstray/syncedtabs/SyncedTabs.kt | 1 + .../org/mozilla/fenix/sync/ext/SyncedDeviceTabsTest.kt | 3 +++ 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt b/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt index 250a380ca..078cbcaab 100644 --- a/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt +++ b/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt @@ -43,6 +43,7 @@ import org.mozilla.fenix.FeatureFlags import org.mozilla.fenix.GleanMetrics.SyncAuth import org.mozilla.fenix.R import org.mozilla.fenix.ext.components +import org.mozilla.fenix.ext.maxActiveTime import org.mozilla.fenix.ext.settings import org.mozilla.fenix.perf.StrictModeManager import org.mozilla.fenix.perf.lazyMonitored @@ -143,7 +144,7 @@ class BackgroundServices( } val syncedTabsStorage by lazyMonitored { - SyncedTabsStorage(accountManager, context.components.core.store, remoteTabsStorage.value) + SyncedTabsStorage(accountManager, context.components.core.store, remoteTabsStorage.value, maxActiveTime) } val syncedTabsAutocompleteProvider by lazyMonitored { SyncedTabsAutocompleteProvider(syncedTabsStorage) diff --git a/app/src/main/java/org/mozilla/fenix/tabstray/TabsTray.kt b/app/src/main/java/org/mozilla/fenix/tabstray/TabsTray.kt index cff61af7d..cfa020a33 100644 --- a/app/src/main/java/org/mozilla/fenix/tabstray/TabsTray.kt +++ b/app/src/main/java/org/mozilla/fenix/tabstray/TabsTray.kt @@ -626,5 +626,6 @@ private fun generateFakeSyncedTab(tabName: String, tabUrl: String): SyncedTabsLi history = listOf(TabEntry(tabName, tabUrl, null)), active = 0, lastUsed = 0L, + inactive = false, ), ) diff --git a/app/src/main/java/org/mozilla/fenix/tabstray/browser/TabSorter.kt b/app/src/main/java/org/mozilla/fenix/tabstray/browser/TabSorter.kt index 8ad653c27..7f7c62d15 100644 --- a/app/src/main/java/org/mozilla/fenix/tabstray/browser/TabSorter.kt +++ b/app/src/main/java/org/mozilla/fenix/tabstray/browser/TabSorter.kt @@ -6,12 +6,12 @@ package org.mozilla.fenix.tabstray.browser import mozilla.components.browser.state.state.TabPartition import mozilla.components.browser.state.state.TabSessionState +import mozilla.components.browser.state.state.isActive import mozilla.components.browser.tabstray.TabsTray import mozilla.components.feature.tabs.tabstray.TabsFeature import org.mozilla.fenix.ext.maxActiveTime import org.mozilla.fenix.tabstray.TabsTrayAction import org.mozilla.fenix.tabstray.TabsTrayStore -import org.mozilla.fenix.tabstray.ext.isActive import org.mozilla.fenix.utils.Settings /** diff --git a/app/src/main/java/org/mozilla/fenix/tabstray/ext/TabSessionState.kt b/app/src/main/java/org/mozilla/fenix/tabstray/ext/TabSessionState.kt index 5fb9f02d6..7419aa65b 100644 --- a/app/src/main/java/org/mozilla/fenix/tabstray/ext/TabSessionState.kt +++ b/app/src/main/java/org/mozilla/fenix/tabstray/ext/TabSessionState.kt @@ -5,14 +5,9 @@ package org.mozilla.fenix.tabstray.ext import mozilla.components.browser.state.state.TabSessionState +import mozilla.components.browser.state.state.isActive import mozilla.components.support.ktx.kotlin.trimmed -fun TabSessionState.isActive(maxActiveTime: Long): Boolean { - val lastActiveTime = maxOf(lastAccess, createdAt) - val now = System.currentTimeMillis() - return (now - lastActiveTime <= maxActiveTime) -} - /** * Returns true if the [TabSessionState] has a search term. */ diff --git a/app/src/main/java/org/mozilla/fenix/tabstray/syncedtabs/SyncedTabs.kt b/app/src/main/java/org/mozilla/fenix/tabstray/syncedtabs/SyncedTabs.kt index 489914cd8..fe3976044 100644 --- a/app/src/main/java/org/mozilla/fenix/tabstray/syncedtabs/SyncedTabs.kt +++ b/app/src/main/java/org/mozilla/fenix/tabstray/syncedtabs/SyncedTabs.kt @@ -309,5 +309,6 @@ private fun generateFakeTab(tabName: String, tabUrl: String): SyncedTabsListItem history = listOf(TabEntry(tabName, tabUrl, null)), active = 0, lastUsed = 0L, + inactive = false, ), ) diff --git a/app/src/test/java/org/mozilla/fenix/sync/ext/SyncedDeviceTabsTest.kt b/app/src/test/java/org/mozilla/fenix/sync/ext/SyncedDeviceTabsTest.kt index f99f36893..acf66374b 100644 --- a/app/src/test/java/org/mozilla/fenix/sync/ext/SyncedDeviceTabsTest.kt +++ b/app/src/test/java/org/mozilla/fenix/sync/ext/SyncedDeviceTabsTest.kt @@ -43,6 +43,7 @@ class SyncedDeviceTabsTest { ), active = 0, lastUsed = 0L, + inactive = false, ), ), ) @@ -64,6 +65,7 @@ class SyncedDeviceTabsTest { ), active = 0, lastUsed = 0L, + inactive = false, ), Tab( history = listOf( @@ -75,6 +77,7 @@ class SyncedDeviceTabsTest { ), active = 0, lastUsed = 0L, + inactive = false, ), ), )