From 242169b1fdebf9e192f65e88c25a52621edcbea9 Mon Sep 17 00:00:00 2001 From: Colin Lee Date: Mon, 3 Jun 2019 11:36:48 -0500 Subject: [PATCH] [fenix] For https://github.com/mozilla-mobile/fenix/issues/3073 'Open in Firefox Preview' no longer opens in app Saving and restoring the custom tab session ID fixed one problem while causing another. I added code to only restore the ID if the session has a customTabConfig associated. --- .../main/java/org/mozilla/fenix/browser/BrowserFragment.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt index 809fb52a80..aa6151b344 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -576,7 +576,11 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope { override fun onViewStateRestored(savedInstanceState: Bundle?) { super.onViewStateRestored(savedInstanceState) - customTabSessionId = savedInstanceState?.getString(KEY_CUSTOM_TAB_SESSION_ID) + savedInstanceState?.getString(KEY_CUSTOM_TAB_SESSION_ID)?.let { + if (requireComponents.core.sessionManager.findSessionById(it)?.customTabConfig != null) { + customTabSessionId = it + } + } } override fun onStop() {