diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt | 13 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/media/SeekBarObserverTest.kt | 17 |
2 files changed, 19 insertions, 11 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt b/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt index 1b9bbddf61a1..c2631c923e45 100644 --- a/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt +++ b/packages/SystemUI/src/com/android/systemui/media/SeekBarObserver.kt @@ -36,12 +36,11 @@ class SeekBarObserver(private val holder: PlayerViewHolder) : Observer<SeekBarVi /** Updates seek bar views when the data model changes. */ @UiThread override fun onChanged(data: SeekBarViewModel.Progress) { - val previouslyEnabled = holder.seekBar.isEnabled if (!data.enabled) { - holder.seekBar.setEnabled(false) - if (previouslyEnabled) { + if (holder.seekBar.maxHeight != seekBarDisabledHeight) { holder.seekBar.maxHeight = seekBarDisabledHeight } + holder.seekBar.setEnabled(false) holder.seekBar.getThumb().setAlpha(0) holder.seekBar.setProgress(0) holder.elapsedTimeView.setText("") @@ -52,12 +51,8 @@ class SeekBarObserver(private val holder: PlayerViewHolder) : Observer<SeekBarVi holder.seekBar.getThumb().setAlpha(if (data.seekAvailable) 255 else 0) holder.seekBar.setEnabled(data.seekAvailable) - if (previouslyEnabled != holder.seekBar.isEnabled) { - holder.seekBar.maxHeight = if (holder.seekBar.isEnabled) { - seekBarDefaultMaxHeight - } else { - seekBarDisabledHeight - } + if (holder.seekBar.maxHeight != seekBarDefaultMaxHeight) { + holder.seekBar.maxHeight = seekBarDefaultMaxHeight } data.elapsedTime?.let { diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarObserverTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarObserverTest.kt index 75018df023cc..e9a0a40fe8ae 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarObserverTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/SeekBarObserverTest.kt @@ -22,6 +22,7 @@ import android.view.View import android.widget.SeekBar import android.widget.TextView import androidx.test.filters.SmallTest +import com.android.systemui.R import com.android.systemui.SysuiTestCase import com.google.common.truth.Truth.assertThat import org.junit.Before @@ -36,6 +37,9 @@ import org.mockito.Mockito.`when` as whenever @TestableLooper.RunWithLooper public class SeekBarObserverTest : SysuiTestCase() { + private val disabledHeight = 1 + private val enabledHeight = 2 + private lateinit var observer: SeekBarObserver @Mock private lateinit var mockHolder: PlayerViewHolder private lateinit var seekBarView: SeekBar @@ -45,12 +49,19 @@ public class SeekBarObserverTest : SysuiTestCase() { @Before fun setUp() { mockHolder = mock(PlayerViewHolder::class.java) + + context.orCreateTestableResources + .addOverride(R.dimen.qs_media_enabled_seekbar_height, enabledHeight) + context.orCreateTestableResources + .addOverride(R.dimen.qs_media_disabled_seekbar_height, disabledHeight) + seekBarView = SeekBar(context) elapsedTimeView = TextView(context) totalTimeView = TextView(context) whenever(mockHolder.seekBar).thenReturn(seekBarView) whenever(mockHolder.elapsedTimeView).thenReturn(elapsedTimeView) whenever(mockHolder.totalTimeView).thenReturn(totalTimeView) + observer = SeekBarObserver(mockHolder) } @@ -60,11 +71,12 @@ public class SeekBarObserverTest : SysuiTestCase() { val isEnabled = false val data = SeekBarViewModel.Progress(isEnabled, false, null, null) observer.onChanged(data) - // THEN seek bar shows just a line with no text + // THEN seek bar shows just a thin line with no text assertThat(seekBarView.isEnabled()).isFalse() assertThat(seekBarView.getThumb().getAlpha()).isEqualTo(0) assertThat(elapsedTimeView.getText()).isEqualTo("") assertThat(totalTimeView.getText()).isEqualTo("") + assertThat(seekBarView.maxHeight).isEqualTo(disabledHeight) } @Test @@ -73,10 +85,11 @@ public class SeekBarObserverTest : SysuiTestCase() { val isEnabled = true val data = SeekBarViewModel.Progress(isEnabled, true, 3000, 12000) observer.onChanged(data) - // THEN seek bar is visible + // THEN seek bar is visible and thick assertThat(seekBarView.getVisibility()).isEqualTo(View.VISIBLE) assertThat(elapsedTimeView.getVisibility()).isEqualTo(View.VISIBLE) assertThat(totalTimeView.getVisibility()).isEqualTo(View.VISIBLE) + assertThat(seekBarView.maxHeight).isEqualTo(enabledHeight) } @Test |