Merge "Seek bar polish" into rvc-dev

This commit is contained in:
TreeHugger Robot
2020-04-08 20:55:31 +00:00
committed by Android (Google) Code Review
4 changed files with 28 additions and 19 deletions

View File

@@ -23,7 +23,8 @@
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_horizontal|fill_vertical"
android:padding="16dp"
android:paddingTop="@dimen/qs_media_panel_outer_padding"
android:paddingBottom="@dimen/qs_media_panel_outer_padding"
android:background="@drawable/qs_media_background"
>
@@ -42,7 +43,9 @@
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginBottom="@dimen/qs_media_panel_outer_padding"
android:paddingStart="@dimen/qs_media_panel_outer_padding"
android:paddingEnd="16dp"
>
<ImageView
@@ -139,6 +142,7 @@
<!-- Seek Bar -->
<SeekBar
android:id="@+id/media_progress_bar"
style="@android:style/Widget.ProgressBar.Horizontal"
android:clickable="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -154,6 +158,9 @@
android:id="@+id/notification_media_progress_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/qs_media_panel_outer_padding"
android:paddingEnd="@dimen/qs_media_panel_outer_padding"
android:layout_marginBottom="10dp"
android:layout_gravity="center"
>
<!-- width is set to "match_parent" to avoid extra layout calls -->
@@ -184,6 +191,8 @@
android:layoutDirection="ltr"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/qs_media_panel_outer_padding"
android:paddingEnd="@dimen/qs_media_panel_outer_padding"
android:gravity="center"
>
<ImageButton

View File

@@ -1211,6 +1211,7 @@
<!-- Size of media cards in the QSPanel carousel -->
<dimen name="qs_media_width">350dp</dimen>
<dimen name="qs_media_padding">8dp</dimen>
<dimen name="qs_media_panel_outer_padding">16dp</dimen>
<dimen name="qs_media_corner_radius">10dp</dimen>
<dimen name="qs_media_album_size">72dp</dimen>
<dimen name="qs_seamless_icon_size">20dp</dimen>

View File

@@ -46,19 +46,6 @@ class SeekBarObserver(view: View) : Observer<SeekBarViewModel.Progress> {
/** Updates seek bar views when the data model changes. */
@UiThread
override fun onChanged(data: SeekBarViewModel.Progress) {
if (data.enabled && seekBarView.visibility == View.GONE) {
seekBarView.visibility = View.VISIBLE
elapsedTimeView.visibility = View.VISIBLE
totalTimeView.visibility = View.VISIBLE
} else if (!data.enabled && seekBarView.visibility == View.VISIBLE) {
seekBarView.visibility = View.GONE
elapsedTimeView.visibility = View.GONE
totalTimeView.visibility = View.GONE
return
}
// TODO: update the style of the disabled progress bar
seekBarView.setEnabled(data.seekAvailable)
data.color?.let {
var tintList = ColorStateList.valueOf(it)
@@ -71,6 +58,17 @@ class SeekBarObserver(view: View) : Observer<SeekBarViewModel.Progress> {
totalTimeView.setTextColor(it)
}
if (!data.enabled) {
seekBarView.setEnabled(false)
seekBarView.getThumb().setAlpha(0)
elapsedTimeView.setText("")
totalTimeView.setText("")
return
}
seekBarView.getThumb().setAlpha(if (data.seekAvailable) 255 else 0)
seekBarView.setEnabled(data.seekAvailable)
data.elapsedTime?.let {
seekBarView.setProgress(it)
elapsedTimeView.setText(DateUtils.formatElapsedTime(

View File

@@ -67,10 +67,11 @@ public class SeekBarObserverTest : SysuiTestCase() {
val isEnabled = false
val data = SeekBarViewModel.Progress(isEnabled, false, null, null, null)
observer.onChanged(data)
// THEN seek bar visibility is set to GONE
assertThat(seekBarView.getVisibility()).isEqualTo(View.GONE)
assertThat(elapsedTimeView.getVisibility()).isEqualTo(View.GONE)
assertThat(totalTimeView.getVisibility()).isEqualTo(View.GONE)
// THEN seek bar shows just a line with no text
assertThat(seekBarView.isEnabled()).isFalse()
assertThat(seekBarView.getThumb().getAlpha()).isEqualTo(0)
assertThat(elapsedTimeView.getText()).isEqualTo("")
assertThat(totalTimeView.getText()).isEqualTo("")
}
@Test