diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt b/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt index ff357aa1c..31c15eb61 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt @@ -253,7 +253,7 @@ open class SourceManager(private val context: Context) { ), ).associateBy { it.originalSourceQualifiedClassName } - val currentDelegatedSources = ListenMutableMap(mutableMapOf(), ::handleSourceLibrary) + val currentDelegatedSources: MutableMap = ListenMutableMap(mutableMapOf(), ::handleSourceLibrary) data class DelegatedSource( val sourceName: String, @@ -264,19 +264,10 @@ open class SourceManager(private val context: Context) { ) } - class ListenMutableMap(private val internalMap: MutableMap, val listener: () -> Unit) : MutableMap { - override val size: Int - get() = internalMap.size - override fun containsKey(key: K): Boolean = internalMap.containsKey(key) - 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> - get() = internalMap.entries - override val keys: MutableSet - get() = internalMap.keys - override val values: MutableCollection - get() = internalMap.values + private class ListenMutableMap( + private val internalMap: MutableMap, + private val listener: () -> Unit, + ) : MutableMap by internalMap { override fun clear() { val clearResult = internalMap.clear() listener()