show the current volume if changed via sliding

This commit is contained in:
tibbi 2017-08-06 20:36:15 +02:00
parent f3cddb1a6b
commit 8aaf1df568

View file

@ -27,9 +27,9 @@ import com.simplemobiletools.gallery.models.Medium
import kotlinx.android.synthetic.main.pager_video_item.view.* import kotlinx.android.synthetic.main.pager_video_item.view.*
import java.io.IOException import java.io.IOException
class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSeekBarChangeListener { class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSeekBarChangeListener {
private val CLICK_MAX_DURATION = 150 private val CLICK_MAX_DURATION = 150
private val SLIDE_INFO_FADE_DELAY = 1000L
private var mMediaPlayer: MediaPlayer? = null private var mMediaPlayer: MediaPlayer? = null
private var mSurfaceView: SurfaceView? = null private var mSurfaceView: SurfaceView? = null
@ -52,6 +52,9 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
private var mTouchDownTime = 0L private var mTouchDownTime = 0L
private var mTouchDownVolume = 0 private var mTouchDownVolume = 0
private var mSlideInfoText = ""
private var mSlideInfoFadeHandler = Handler()
lateinit var mView: View lateinit var mView: View
lateinit var medium: Medium lateinit var medium: Medium
@ -132,6 +135,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
mTouchDownY = event.y mTouchDownY = event.y
mTouchDownTime = System.currentTimeMillis() mTouchDownTime = System.currentTimeMillis()
mTouchDownVolume = getCurrentVolume() mTouchDownVolume = getCurrentVolume()
mSlideInfoText = "${getString(R.string.volume)}:\n"
} }
MotionEvent.ACTION_MOVE -> { MotionEvent.ACTION_MOVE -> {
val diffX = mTouchDownX - event.x val diffX = mTouchDownX - event.x
@ -160,6 +164,17 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
val addPoints = percent / percentPerPoint val addPoints = percent / percentPerPoint
val newVolume = Math.min(maxVolume, Math.max(0, mTouchDownVolume + addPoints)) val newVolume = Math.min(maxVolume, Math.max(0, mTouchDownVolume + addPoints))
context.audioManager.setStreamVolume(stream, newVolume, 0) context.audioManager.setStreamVolume(stream, newVolume, 0)
val absolutePercent = ((newVolume / maxVolume.toFloat()) * 100).toInt()
mView.slide_info.apply {
text = "$mSlideInfoText$absolutePercent%"
alpha = 1f
}
mSlideInfoFadeHandler.removeCallbacksAndMessages(null)
mSlideInfoFadeHandler.postDelayed({
mView.slide_info.animate().alpha(0f)
}, SLIDE_INFO_FADE_DELAY)
} }
private fun initTimeHolder() { private fun initTimeHolder() {