From da0148b8bd28142f778c59c317b533f984cb2f85 Mon Sep 17 00:00:00 2001 From: Simon Chae Date: Thu, 20 Feb 2020 13:52:00 -0500 Subject: [PATCH] For #8535 #8498: Allow for multiple browsingModeListeners dispatch --- app/src/main/java/org/mozilla/fenix/HomeActivity.kt | 2 +- .../fenix/browser/browsingmode/BrowsingModeManager.kt | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt index 47ccedf2f..63c35e527 100644 --- a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt +++ b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt @@ -178,7 +178,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity() { final override fun onStop() { super.onStop() - browsingModeManager.unregisterBrowsingModeListener() + browsingModeManager.unregisterBrowsingModeListener(browsingModeListener) } final override fun onPause() { diff --git a/app/src/main/java/org/mozilla/fenix/browser/browsingmode/BrowsingModeManager.kt b/app/src/main/java/org/mozilla/fenix/browser/browsingmode/BrowsingModeManager.kt index abb856b06..811434f0f 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/browsingmode/BrowsingModeManager.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/browsingmode/BrowsingModeManager.kt @@ -42,21 +42,21 @@ class DefaultBrowsingModeManager( private var _mode: BrowsingMode = BrowsingMode.Normal ) : BrowsingModeManager { - private var _browsingModeListener: BrowsingModeListener? = null + private val browsingModeListeners = mutableSetOf() fun registerBrowsingModeListener(browsingModeListener: BrowsingModeListener) { - _browsingModeListener = browsingModeListener + browsingModeListeners.add(browsingModeListener) } - fun unregisterBrowsingModeListener() { - _browsingModeListener = null + fun unregisterBrowsingModeListener(browsingModeListener: BrowsingModeListener) { + browsingModeListeners.remove(browsingModeListener) } override var mode: BrowsingMode get() = _mode set(value) { _mode = value - _browsingModeListener?.onBrowsingModeChange(value) + browsingModeListeners.forEach { it.onBrowsingModeChange(value) } Settings.instance?.lastKnownMode = value } }