1
0
Fork 0

For #8535 #8498: Allow for multiple browsingModeListeners dispatch

master
Simon Chae 2020-02-20 13:52:00 -05:00 committed by Jeff Boek
parent a84b250894
commit da0148b8bd
2 changed files with 6 additions and 6 deletions

View File

@ -178,7 +178,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity() {
final override fun onStop() { final override fun onStop() {
super.onStop() super.onStop()
browsingModeManager.unregisterBrowsingModeListener() browsingModeManager.unregisterBrowsingModeListener(browsingModeListener)
} }
final override fun onPause() { final override fun onPause() {

View File

@ -42,21 +42,21 @@ class DefaultBrowsingModeManager(
private var _mode: BrowsingMode = BrowsingMode.Normal private var _mode: BrowsingMode = BrowsingMode.Normal
) : BrowsingModeManager { ) : BrowsingModeManager {
private var _browsingModeListener: BrowsingModeListener? = null private val browsingModeListeners = mutableSetOf<BrowsingModeListener>()
fun registerBrowsingModeListener(browsingModeListener: BrowsingModeListener) { fun registerBrowsingModeListener(browsingModeListener: BrowsingModeListener) {
_browsingModeListener = browsingModeListener browsingModeListeners.add(browsingModeListener)
} }
fun unregisterBrowsingModeListener() { fun unregisterBrowsingModeListener(browsingModeListener: BrowsingModeListener) {
_browsingModeListener = null browsingModeListeners.remove(browsingModeListener)
} }
override var mode: BrowsingMode override var mode: BrowsingMode
get() = _mode get() = _mode
set(value) { set(value) {
_mode = value _mode = value
_browsingModeListener?.onBrowsingModeChange(value) browsingModeListeners.forEach { it.onBrowsingModeChange(value) }
Settings.instance?.lastKnownMode = value Settings.instance?.lastKnownMode = value
} }
} }