diff --git a/app/src/main/java/io/legado/app/ui/audio/AudioPlayActivity.kt b/app/src/main/java/io/legado/app/ui/audio/AudioPlayActivity.kt index 76a60f6bb..aa8a95a83 100644 --- a/app/src/main/java/io/legado/app/ui/audio/AudioPlayActivity.kt +++ b/app/src/main/java/io/legado/app/ui/audio/AudioPlayActivity.kt @@ -3,6 +3,7 @@ package io.legado.app.ui.audio import android.app.Activity import android.content.Intent import android.graphics.drawable.Drawable +import android.icu.text.SimpleDateFormat import android.os.Build import android.os.Bundle import android.view.Menu @@ -27,12 +28,14 @@ import io.legado.app.ui.book.toc.ChapterListActivity import io.legado.app.ui.widget.image.CoverImageView import io.legado.app.ui.widget.seekbar.SeekBarChangeListener import io.legado.app.utils.* -import org.apache.commons.lang3.time.DateFormatUtils import org.jetbrains.anko.sdk27.listeners.onClick import org.jetbrains.anko.sdk27.listeners.onLongClick import org.jetbrains.anko.startActivityForResult +import java.util.* - +/** + * 音频播放 + */ class AudioPlayActivity : VMBaseActivity(toolBarTheme = Theme.Dark), ChangeSourceDialog.CallBack { @@ -42,6 +45,13 @@ class AudioPlayActivity : private var requestCodeChapter = 8461 private var adjustProgress = false + private val progressTimeFormat by lazy { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + SimpleDateFormat("mm:ss", Locale.getDefault()) + } else { + java.text.SimpleDateFormat("mm:ss", Locale.getDefault()) + } + } override fun getViewBinding(): ActivityAudioPlayBinding { return ActivityAudioPlayBinding.inflate(layoutInflater) @@ -85,7 +95,7 @@ class AudioPlayActivity : } binding.playerProgress.setOnSeekBarChangeListener(object : SeekBarChangeListener { override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) { - binding.tvDurTime.text = DateFormatUtils.format(progress.toLong(), "mm:ss") + binding.tvDurTime.text = progressTimeFormat.format(progress.toLong()) } override fun onStartTrackingTouch(seekBar: SeekBar) { @@ -208,12 +218,12 @@ class AudioPlayActivity : } observeEventSticky(EventBus.AUDIO_SIZE) { binding.playerProgress.max = it - binding.tvAllTime.text = DateFormatUtils.format(it.toLong(), "mm:ss") + binding.tvAllTime.text = progressTimeFormat.format(it.toLong()) } observeEventSticky(EventBus.AUDIO_PROGRESS) { AudioPlay.durChapterPos = it if (!adjustProgress) binding.playerProgress.progress = it - binding.tvDurTime.text = DateFormatUtils.format(it.toLong(), "mm:ss") + binding.tvDurTime.text = progressTimeFormat.format(it.toLong()) } observeEventSticky(EventBus.AUDIO_SPEED) { binding.tvSpeed.text = String.format("%.1fX", it)