diff options
Diffstat (limited to 'android')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt b/android/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt index 13d9fecc14..27d0d9ac05 100644 --- a/android/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt +++ b/android/src/main/kotlin/net/mullvad/talpid/util/EventNotifier.kt @@ -1,5 +1,13 @@ package net.mullvad.talpid.util +// Manages listeners interested in receiving events of type T +// +// The listeners subscribe using an ID object. This ID is used later on for unsubscribing. The only +// requirement is that the object uses the default implementation of the `hashCode` and `equals` +// methods inherited from `Any` (or `Object` in Java). +// +// If the ID object class (or any of its super-classes) overrides `hashCode` or `equals`, +// unsubscribe might not work correctly. class EventNotifier<T>(private val initialValue: T) { private val listeners = HashMap<Any, (T) -> Unit>() |
