aboutsummaryrefslogtreecommitdiff
path: root/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaPickerCore.kt
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-08-30 12:13:38 -0400
committerAllan Wang <me@allanwang.ca>2017-09-24 16:42:49 -0400
commit26421aa428c669f4123fca7094fff0e1d90b5387 (patch)
treebb167ff6564f39d030ec4bf865473b93e5de99e5 /mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaPickerCore.kt
parent3adba8531753b0750303847948826819e7f09256 (diff)
downloadkau-26421aa428c669f4123fca7094fff0e1d90b5387.tar.gz
kau-26421aa428c669f4123fca7094fff0e1d90b5387.tar.bz2
kau-26421aa428c669f4123fca7094fff0e1d90b5387.zip
fix/mediapicker (#50)
* Bring all glide request managers to one instance * Switch to test implementation * Check if parent is null for searchview * Ensure open close runs on ui thread * Make glide contract internal * Update changelog * Update version Update changelog for previous prs
Diffstat (limited to 'mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaPickerCore.kt')
-rw-r--r--mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaPickerCore.kt11
1 files changed, 9 insertions, 2 deletions
diff --git a/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaPickerCore.kt b/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaPickerCore.kt
index eada173..d518b78 100644
--- a/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaPickerCore.kt
+++ b/mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaPickerCore.kt
@@ -27,6 +27,7 @@ import ca.allanwang.kau.permissions.kauRequestPermissions
import ca.allanwang.kau.utils.dimenPixelSize
import ca.allanwang.kau.utils.toast
import com.bumptech.glide.Glide
+import com.bumptech.glide.RequestManager
import com.mikepenz.fastadapter.IItem
import com.mikepenz.fastadapter.adapters.HeaderAdapter
import com.mikepenz.fastadapter.commons.adapters.FastItemAdapter
@@ -103,6 +104,7 @@ abstract class MediaPickerCore<T : IItem<*, *>>(
const val CACHE_SIZE = 80
}
+ lateinit var glide: RequestManager
private var hasPreloaded = false
private var prefetcher: Future<*>? = null
@@ -113,6 +115,11 @@ abstract class MediaPickerCore<T : IItem<*, *>>(
*/
val extraSpace: Int by lazy { resources.displayMetrics.heightPixels }
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ glide = Glide.with(this)
+ }
+
fun initializeRecycler(recycler: RecyclerView) {
val adapterWrapper = HeaderAdapter<MediaActionItem>()
adapterWrapper.wrap(adapter)
@@ -176,7 +183,7 @@ abstract class MediaPickerCore<T : IItem<*, *>>(
hasPreloaded = true
prefetcher = doAsync {
models.subList(0, Math.min(models.size, 50)).map { it.data }.forEach {
- val target = Glide.with(this@MediaPickerCore).load(it)
+ val target = glide.load(it)
.applyMediaOptions(this@MediaPickerCore)
.submit()
try {
@@ -184,7 +191,7 @@ abstract class MediaPickerCore<T : IItem<*, *>>(
} catch (ignored: InterruptedException) {
} catch (ignored: ExecutionException) {
} finally {
- Glide.with(this@MediaPickerCore).clear(target)
+ glide.clear(target)
}
}
}