Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c07d123 authored by Hawkwood Glazier's avatar Hawkwood Glazier
Browse files

Prevent updating of seekbar text when not scrubbing.

This prevents the device from waking every 100ms to do
measure/layout (even when the screen is off) due the
scrubbing text fields updating.

Test: Manual
Fixes: 234078584
Fixes: 231049108
Change-Id: Ie1362762bfe3dd3c4204ea53561a9657bf314b41
parent c416376c
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -99,7 +99,9 @@ open class SeekBarObserver(
        holder.seekBar.setMax(data.duration)
        val totalTimeString = DateUtils.formatElapsedTime(
            data.duration / DateUtils.SECOND_IN_MILLIS)
        if (data.scrubbing) {
            holder.scrubbingTotalTimeView.text = totalTimeString
        }

        data.elapsedTime?.let {
            if (!data.scrubbing && !(seekBarResetAnimator?.isRunning ?: false)) {
@@ -113,9 +115,12 @@ open class SeekBarObserver(
                    holder.seekBar.progress = it
                }
            }

            val elapsedTimeString = DateUtils.formatElapsedTime(
                it / DateUtils.SECOND_IN_MILLIS)
            if (data.scrubbing) {
                holder.scrubbingElapsedTimeView.text = elapsedTimeString
            }

            holder.seekBar.contentDescription = holder.seekBar.context.getString(
                R.string.controls_media_seekbar_description,
+20 −4
Original line number Diff line number Diff line
@@ -178,8 +178,10 @@ class SeekBarObserverTest : SysuiTestCase() {
    }

    @Test
    fun seekBarProgress_enabled_timeViewsHaveTime() {
        val data = SeekBarViewModel.Progress(enabled = true, true, true, false, 3000, 120000)
    fun seekBarProgress_enabledAndScrubbing_timeViewsHaveTime() {
        val isEnabled = true
        val isScrubbing = true
        val data = SeekBarViewModel.Progress(isEnabled, true, true, isScrubbing, 3000, 120000)

        observer.onChanged(data)

@@ -188,8 +190,22 @@ class SeekBarObserverTest : SysuiTestCase() {
    }

    @Test
    fun seekBarProgress_disabled_timeViewsEmpty() {
        val data = SeekBarViewModel.Progress(enabled = false, true, true, false, 3000, 120000)
    fun seekBarProgress_disabledAndScrubbing_timeViewsEmpty() {
        val isEnabled = false
        val isScrubbing = true
        val data = SeekBarViewModel.Progress(isEnabled, true, true, isScrubbing, 3000, 120000)

        observer.onChanged(data)

        assertThat(scrubbingElapsedTimeView.text).isEqualTo("")
        assertThat(scrubbingTotalTimeView.text).isEqualTo("")
    }

    @Test
    fun seekBarProgress_enabledAndNotScrubbing_timeViewsEmpty() {
        val isEnabled = true
        val isScrubbing = false
        val data = SeekBarViewModel.Progress(isEnabled, true, true, isScrubbing, 3000, 120000)

        observer.onChanged(data)