From 59c514996b4a6f677f623cbae12372d53c51a189 Mon Sep 17 00:00:00 2001 From: Jeff Boek Date: Wed, 27 Feb 2019 11:35:56 -0800 Subject: [PATCH] Fixes #362 - Auto closes session --- .../java/org/mozilla/fenix/components/Core.kt | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/components/Core.kt b/app/src/main/java/org/mozilla/fenix/components/Core.kt index bc4a1edea..24fd60105 100644 --- a/app/src/main/java/org/mozilla/fenix/components/Core.kt +++ b/app/src/main/java/org/mozilla/fenix/components/Core.kt @@ -76,7 +76,7 @@ class Core(private val context: Context) { } val sessionStorage by lazy { - SessionBundleStorage(context, bundleLifetime = Pair(1, TimeUnit.HOURS)) + SessionBundleStorage(context, bundleLifetime = Pair(BUNDLE_LIFETIME_IN_MINUTES, TimeUnit.MINUTES)) } /** @@ -104,10 +104,13 @@ class Core(private val context: Context) { // Now that we have restored our previous state (if there's one) let's setup auto saving the state while // the app is used. - sessionStorage.autoSave(sessionManager) - .periodicallyInForeground(interval = 30, unit = TimeUnit.SECONDS) - .whenGoingToBackground() - .whenSessionsChange() + sessionStorage.apply { + autoSave(sessionManager) + .periodicallyInForeground(interval = 30, unit = TimeUnit.SECONDS) + .whenGoingToBackground() + .whenSessionsChange() + autoClose(sessionManager) + } } } } @@ -142,4 +145,8 @@ class Core(private val context: Context) { else -> TrackingProtectionPolicy.none() } } + + companion object { + private const val BUNDLE_LIFETIME_IN_MINUTES = 5L + } }