mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-08-03 10:46:53 -04:00
Merge pull request #1505 from kiwix/feature/macgills/#1489-anr-select-storage
#1499 detect storage on IO thread
This commit is contained in:
commit
04d6bb7a0d
@ -26,6 +26,9 @@ import android.view.ViewGroup
|
||||
import android.widget.AdapterView.OnItemClickListener
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import io.reactivex.Flowable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import kotlinx.android.synthetic.main.storage_select_dialog.device_list
|
||||
import kotlinx.android.synthetic.main.storage_select_dialog.title
|
||||
import org.kiwix.kiwixmobile.KiwixApplication
|
||||
@ -57,12 +60,17 @@ class StorageSelectDialog : DialogFragment() {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
KiwixApplication.getApplicationComponent().inject(this)
|
||||
title.text = aTitle
|
||||
adapter = StorageSelectArrayAdapter(
|
||||
activity!!,
|
||||
StorageDeviceUtils.getWritableStorage(activity!!),
|
||||
storageCalculator
|
||||
)
|
||||
device_list.adapter = adapter
|
||||
Flowable.fromCallable { StorageDeviceUtils.getWritableStorage(activity!!) }
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(
|
||||
{
|
||||
adapter = StorageSelectArrayAdapter(activity!!, it, storageCalculator)
|
||||
device_list.adapter = adapter
|
||||
},
|
||||
Throwable::printStackTrace
|
||||
)
|
||||
|
||||
device_list.onItemClickListener = OnItemClickListener { _, _, position, _ ->
|
||||
onSelectAction?.invoke(adapter!!.getItem(position)!!)
|
||||
dismiss()
|
||||
|
Loading…
x
Reference in New Issue
Block a user