Minor improvements for delegated source id lists

(cherry picked from commit 1d593de65440ddb531ee0421d17c6033a52dd5bb)
This commit is contained in:
Jobobby04 2022-07-26 16:30:51 -04:00
parent d09de07a3f
commit 2b9d564841

View File

@ -253,7 +253,7 @@ open class SourceManager(private val context: Context) {
), ),
).associateBy { it.originalSourceQualifiedClassName } ).associateBy { it.originalSourceQualifiedClassName }
val currentDelegatedSources = ListenMutableMap(mutableMapOf<Long, DelegatedSource>(), ::handleSourceLibrary) val currentDelegatedSources: MutableMap<Long, DelegatedSource> = ListenMutableMap(mutableMapOf(), ::handleSourceLibrary)
data class DelegatedSource( data class DelegatedSource(
val sourceName: String, val sourceName: String,
@ -264,19 +264,10 @@ open class SourceManager(private val context: Context) {
) )
} }
class ListenMutableMap<K, V>(private val internalMap: MutableMap<K, V>, val listener: () -> Unit) : MutableMap<K, V> { private class ListenMutableMap<K, V>(
override val size: Int private val internalMap: MutableMap<K, V>,
get() = internalMap.size private val listener: () -> Unit,
override fun containsKey(key: K): Boolean = internalMap.containsKey(key) ) : MutableMap<K, V> by internalMap {
override fun containsValue(value: V): Boolean = internalMap.containsValue(value)
override fun get(key: K): V? = internalMap[key]
override fun isEmpty(): Boolean = internalMap.isEmpty()
override val entries: MutableSet<MutableMap.MutableEntry<K, V>>
get() = internalMap.entries
override val keys: MutableSet<K>
get() = internalMap.keys
override val values: MutableCollection<V>
get() = internalMap.values
override fun clear() { override fun clear() {
val clearResult = internalMap.clear() val clearResult = internalMap.clear()
listener() listener()