From a524b53dd231a6d2628ad86ed6a2962a826cdaf6 Mon Sep 17 00:00:00 2001 From: Chris Banes Date: Fri, 23 Aug 2019 10:59:06 +1000 Subject: [PATCH] Add AndroidX collections dependency --- base-android/build.gradle | 1 + .../main/java/app/tivi/SharedElementHelper.kt | 16 +++++++++------- .../main/java/app/tivi/buildsrc/dependencies.kt | 1 + data/build.gradle | 1 + .../tivi/data/repositories/search/SearchStore.kt | 5 +++-- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/base-android/build.gradle b/base-android/build.gradle index 787e7b3e87..135189a50b 100644 --- a/base-android/build.gradle +++ b/base-android/build.gradle @@ -46,6 +46,7 @@ dependencies { implementation Libs.AndroidX.Fragment.fragment implementation Libs.AndroidX.coreKtx + implementation Libs.AndroidX.collection implementation Libs.timber implementation Libs.threeTenAbp diff --git a/base-android/src/main/java/app/tivi/SharedElementHelper.kt b/base-android/src/main/java/app/tivi/SharedElementHelper.kt index f48d754ad5..7d03277a5c 100644 --- a/base-android/src/main/java/app/tivi/SharedElementHelper.kt +++ b/base-android/src/main/java/app/tivi/SharedElementHelper.kt @@ -17,15 +17,17 @@ package app.tivi import android.view.View +import androidx.collection.ArrayMap -data class SharedElementHelper( - private val sharedElementViews: MutableMap = mutableMapOf() -) { - val sharedElements: Map = sharedElementViews +class SharedElementHelper { + private val _sharedElements = ArrayMap() - fun addSharedElement(view: View, name: String? = null) { - sharedElementViews[view] = name ?: view.transitionName + val sharedElements: Map + get() = _sharedElements + + fun addSharedElement(view: View, transitionName: String? = view.transitionName) { + _sharedElements[view] = transitionName ?: view.transitionName } - fun isEmpty(): Boolean = sharedElementViews.isEmpty() + fun isEmpty(): Boolean = _sharedElements.isEmpty } diff --git a/buildSrc/src/main/java/app/tivi/buildsrc/dependencies.kt b/buildSrc/src/main/java/app/tivi/buildsrc/dependencies.kt index ac9ea243e3..6682ac76b6 100644 --- a/buildSrc/src/main/java/app/tivi/buildsrc/dependencies.kt +++ b/buildSrc/src/main/java/app/tivi/buildsrc/dependencies.kt @@ -73,6 +73,7 @@ object Libs { object AndroidX { const val appcompat = "androidx.appcompat:appcompat:1.1.0-rc01" const val browser = "androidx.browser:browser:1.0.0" + const val collection = "androidx.collection:collection-ktx:1.1.0" const val palette = "androidx.palette:palette:1.0.0" const val recyclerview = "androidx.recyclerview:recyclerview:1.1.0-beta03" const val emoji = "androidx.emoji:emoji:1.0.0" diff --git a/data/build.gradle b/data/build.gradle index f56b8a5dc8..8fb08808d8 100644 --- a/data/build.gradle +++ b/data/build.gradle @@ -32,6 +32,7 @@ dependencies { api Libs.AndroidX.Room.common api Libs.AndroidX.Room.ktx + implementation Libs.AndroidX.collection api Libs.AndroidX.Paging.common diff --git a/data/src/main/java/app/tivi/data/repositories/search/SearchStore.kt b/data/src/main/java/app/tivi/data/repositories/search/SearchStore.kt index 53b20753f5..a87372f05f 100644 --- a/data/src/main/java/app/tivi/data/repositories/search/SearchStore.kt +++ b/data/src/main/java/app/tivi/data/repositories/search/SearchStore.kt @@ -16,14 +16,15 @@ package app.tivi.data.repositories.search +import androidx.collection.LruCache import javax.inject.Inject class SearchStore @Inject constructor() { - private val cache = HashMap() + private val cache = LruCache(32) fun getResults(query: String) = cache[query] fun setResults(query: String, results: LongArray) { - cache[query] = results + cache.put(query, results) } } \ No newline at end of file