mirror of
https://github.com/SimpleMobileTools/Simple-Voice-Recorder.git
synced 2025-06-05 21:59:31 +02:00
avoid using some player controls if no recording has been picked yet
This commit is contained in:
@ -27,6 +27,7 @@ class PlayerFragment(context: Context, attributeSet: AttributeSet) : MyViewPager
|
|||||||
|
|
||||||
private var player: MediaPlayer? = null
|
private var player: MediaPlayer? = null
|
||||||
private var progressTimer = Timer()
|
private var progressTimer = Timer()
|
||||||
|
private var playedRecordingIDs = Stack<Int>()
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
setupColors()
|
setupColors()
|
||||||
@ -47,6 +48,9 @@ class PlayerFragment(context: Context, attributeSet: AttributeSet) : MyViewPager
|
|||||||
val recordings = getRecordings()
|
val recordings = getRecordings()
|
||||||
RecordingsAdapter(context as SimpleActivity, recordings, recordings_list, recordings_fastscroller) {
|
RecordingsAdapter(context as SimpleActivity, recordings, recordings_list, recordings_fastscroller) {
|
||||||
playRecording(it as Recording)
|
playRecording(it as Recording)
|
||||||
|
if (playedRecordingIDs.isEmpty() || playedRecordingIDs.peek() != it.id) {
|
||||||
|
playedRecordingIDs.push(it.id)
|
||||||
|
}
|
||||||
}.apply {
|
}.apply {
|
||||||
recordings_list.adapter = this
|
recordings_list.adapter = this
|
||||||
}
|
}
|
||||||
@ -60,7 +64,9 @@ class PlayerFragment(context: Context, attributeSet: AttributeSet) : MyViewPager
|
|||||||
initMediaPlayer()
|
initMediaPlayer()
|
||||||
|
|
||||||
play_pause_btn.setOnClickListener {
|
play_pause_btn.setOnClickListener {
|
||||||
togglePlayPause()
|
if (!playedRecordingIDs.empty()) {
|
||||||
|
togglePlayPause()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
player_progress_current.setOnClickListener {
|
player_progress_current.setOnClickListener {
|
||||||
@ -154,7 +160,7 @@ class PlayerFragment(context: Context, attributeSet: AttributeSet) : MyViewPager
|
|||||||
|
|
||||||
player_progressbar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
|
player_progressbar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
|
||||||
override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
|
override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
|
||||||
if (fromUser) {
|
if (fromUser && !playedRecordingIDs.isEmpty()) {
|
||||||
player?.seekTo(progress * 1000)
|
player?.seekTo(progress * 1000)
|
||||||
player_progress_current.text = progress.getFormattedDuration()
|
player_progress_current.text = progress.getFormattedDuration()
|
||||||
resumeSong()
|
resumeSong()
|
||||||
@ -215,6 +221,10 @@ class PlayerFragment(context: Context, attributeSet: AttributeSet) : MyViewPager
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun skip(forward: Boolean) {
|
private fun skip(forward: Boolean) {
|
||||||
|
if (playedRecordingIDs.empty()) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
val curr = player?.currentPosition ?: return
|
val curr = player?.currentPosition ?: return
|
||||||
var newProgress = if (forward) curr + FAST_FORWARD_SKIP_MS else curr - FAST_FORWARD_SKIP_MS
|
var newProgress = if (forward) curr + FAST_FORWARD_SKIP_MS else curr - FAST_FORWARD_SKIP_MS
|
||||||
if (newProgress > player!!.duration) {
|
if (newProgress > player!!.duration) {
|
||||||
|
Reference in New Issue
Block a user