mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-10 07:48:30 -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 android.widget.AdapterView.OnItemClickListener
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
import androidx.fragment.app.FragmentManager
|
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.device_list
|
||||||
import kotlinx.android.synthetic.main.storage_select_dialog.title
|
import kotlinx.android.synthetic.main.storage_select_dialog.title
|
||||||
import org.kiwix.kiwixmobile.KiwixApplication
|
import org.kiwix.kiwixmobile.KiwixApplication
|
||||||
@ -57,12 +60,17 @@ class StorageSelectDialog : DialogFragment() {
|
|||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
KiwixApplication.getApplicationComponent().inject(this)
|
KiwixApplication.getApplicationComponent().inject(this)
|
||||||
title.text = aTitle
|
title.text = aTitle
|
||||||
adapter = StorageSelectArrayAdapter(
|
Flowable.fromCallable { StorageDeviceUtils.getWritableStorage(activity!!) }
|
||||||
activity!!,
|
.subscribeOn(Schedulers.io())
|
||||||
StorageDeviceUtils.getWritableStorage(activity!!),
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
storageCalculator
|
.subscribe(
|
||||||
)
|
{
|
||||||
|
adapter = StorageSelectArrayAdapter(activity!!, it, storageCalculator)
|
||||||
device_list.adapter = adapter
|
device_list.adapter = adapter
|
||||||
|
},
|
||||||
|
Throwable::printStackTrace
|
||||||
|
)
|
||||||
|
|
||||||
device_list.onItemClickListener = OnItemClickListener { _, _, position, _ ->
|
device_list.onItemClickListener = OnItemClickListener { _, _, position, _ ->
|
||||||
onSelectAction?.invoke(adapter!!.getItem(position)!!)
|
onSelectAction?.invoke(adapter!!.getItem(position)!!)
|
||||||
dismiss()
|
dismiss()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user