diff options
author | Allan Wang <me@allanwang.ca> | 2017-08-30 12:13:38 -0400 |
---|---|---|
committer | Allan Wang <me@allanwang.ca> | 2017-09-24 16:42:49 -0400 |
commit | 26421aa428c669f4123fca7094fff0e1d90b5387 (patch) | |
tree | bb167ff6564f39d030ec4bf865473b93e5de99e5 /mediapicker/src/main/kotlin/ca/allanwang/kau/mediapicker/MediaPickerCore.kt | |
parent | 3adba8531753b0750303847948826819e7f09256 (diff) | |
download | kau-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.kt | 11 |
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) } } } |