fetch player recordings on a background thread

This commit is contained in:
tibbi 2022-06-15 10:06:33 +02:00
parent f8f3313574
commit c8451ae9b8
3 changed files with 30 additions and 28 deletions

View File

@ -62,7 +62,7 @@ android {
} }
dependencies { dependencies {
implementation 'com.github.SimpleMobileTools:Simple-Commons:e0671f01ce' implementation 'com.github.SimpleMobileTools:Simple-Commons:d100d21180'
implementation 'org.greenrobot:eventbus:3.3.1' implementation 'org.greenrobot:eventbus:3.3.1'
implementation 'com.github.Armen101:AudioRecordView:1.0.4' implementation 'com.github.Armen101:AudioRecordView:1.0.4'
implementation 'androidx.documentfile:documentfile:1.0.1' implementation 'androidx.documentfile:documentfile:1.0.1'

View File

@ -16,6 +16,7 @@ import android.provider.MediaStore.Audio.Media
import android.util.AttributeSet import android.util.AttributeSet
import android.widget.SeekBar import android.widget.SeekBar
import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.commons.helpers.isQPlus import com.simplemobiletools.commons.helpers.isQPlus
import com.simplemobiletools.commons.helpers.isRPlus import com.simplemobiletools.commons.helpers.isRPlus
import com.simplemobiletools.voicerecorder.R import com.simplemobiletools.voicerecorder.R
@ -32,7 +33,6 @@ import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode import org.greenrobot.eventbus.ThreadMode
import java.io.File import java.io.File
import java.util.* import java.util.*
import kotlin.collections.ArrayList
import kotlin.math.roundToLong import kotlin.math.roundToLong
class PlayerFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerFragment(context, attributeSet), RefreshRecordingsListener { class PlayerFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerFragment(context, attributeSet), RefreshRecordingsListener {
@ -136,8 +136,10 @@ class PlayerFragment(context: Context, attributeSet: AttributeSet) : MyViewPager
} }
private fun setupAdapter() { private fun setupAdapter() {
ensureBackgroundThread {
val recordings = getRecordings() val recordings = getRecordings()
Handler(Looper.getMainLooper()).post {
recordings_fastscroller.beVisibleIf(recordings.isNotEmpty()) recordings_fastscroller.beVisibleIf(recordings.isNotEmpty())
recordings_placeholder.beVisibleIf(recordings.isEmpty()) recordings_placeholder.beVisibleIf(recordings.isEmpty())
if (recordings.isEmpty()) { if (recordings.isEmpty()) {
@ -165,6 +167,8 @@ class PlayerFragment(context: Context, attributeSet: AttributeSet) : MyViewPager
adapter.updateItems(recordings) adapter.updateItems(recordings)
} }
} }
}
}
private fun getRecordings(): ArrayList<Recording> { private fun getRecordings(): ArrayList<Recording> {
val recordings = ArrayList<Recording>() val recordings = ArrayList<Recording>()

View File

@ -13,9 +13,7 @@ import android.provider.MediaStore
import android.provider.MediaStore.Audio.Media import android.provider.MediaStore.Audio.Media
import androidx.core.app.NotificationCompat import androidx.core.app.NotificationCompat
import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.commons.helpers.*
import com.simplemobiletools.commons.helpers.isOreoPlus
import com.simplemobiletools.commons.helpers.isRPlus
import com.simplemobiletools.voicerecorder.R import com.simplemobiletools.voicerecorder.R
import com.simplemobiletools.voicerecorder.activities.SplashActivity import com.simplemobiletools.voicerecorder.activities.SplashActivity
import com.simplemobiletools.voicerecorder.extensions.config import com.simplemobiletools.voicerecorder.extensions.config