From 5e9e8eca6314f2bdca9f5248a1e6e3de383d8d81 Mon Sep 17 00:00:00 2001 From: Christian Sadilek Date: Wed, 9 Dec 2020 15:02:20 -0500 Subject: [PATCH] [fenix] Prepare for A-C Session[Manager] observable deprecation --- .../java/org/mozilla/fenix/browser/BrowserFragment.kt | 9 +++++++++ .../TrackingProtectionPanelDialogFragment.kt | 4 ++++ 2 files changed, 13 insertions(+) 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 562bcaa07..c7a2927f3 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -156,6 +156,9 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { ) { browserToolbarView.view } + + @Suppress("DEPRECATION") + // TODO Use browser store instead of session observer: https://github.com/mozilla-mobile/fenix/issues/16945 session?.register(toolbarSessionObserver, viewLifecycleOwner, autoPause = true) if (settings.shouldShowOpenInAppCfr && session != null) { @@ -166,6 +169,8 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { appLinksUseCases = context.components.useCases.appLinksUseCases, container = browserLayout as ViewGroup ) + @Suppress("DEPRECATION") + // TODO Use browser store instead of session observer: https://github.com/mozilla-mobile/fenix/issues/16949 session.register( openInAppOnboardingObserver!!, owner = this, @@ -174,6 +179,8 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { } if (!settings.userKnowsAboutPwas) { + @Suppress("DEPRECATION") + // TODO Use browser store instead of session observer: https://github.com/mozilla-mobile/fenix/issues/16946 session?.register( PwaOnboardingObserver( navController = findNavController(), @@ -193,6 +200,8 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { // This observer initialized in onStart has a reference to fragment's view. // Prevent it leaking the view after the latter onDestroyView. if (openInAppOnboardingObserver != null) { + @Suppress("DEPRECATION") + // TODO Use browser store instead of session observer: https://github.com/mozilla-mobile/fenix/issues/16949 getSessionById()?.unregister(openInAppOnboardingObserver!!) openInAppOnboardingObserver = null } diff --git a/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelDialogFragment.kt b/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelDialogFragment.kt index b0257d02a..2dc8e682b 100644 --- a/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelDialogFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/trackingprotection/TrackingProtectionPanelDialogFragment.kt @@ -71,7 +71,11 @@ class TrackingProtectionPanelDialogFragment : AppCompatDialogFragment(), UserInt ): View? { val view = inflateRootView(container) val session = requireComponents.core.sessionManager.findSessionById(args.sessionId) + + @Suppress("DEPRECATION") + // TODO Use browser store instead of session observer: https://github.com/mozilla-mobile/fenix/issues/16944 session?.register(sessionObserver, view = view) + trackingProtectionStore = StoreProvider.get(this) { TrackingProtectionStore( TrackingProtectionState(