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

View File

@@ -1211,6 +1211,7 @@
<!-- Size of media cards in the QSPanel carousel --> <!-- Size of media cards in the QSPanel carousel -->
<dimen name="qs_media_width">350dp</dimen> <dimen name="qs_media_width">350dp</dimen>
<dimen name="qs_media_padding">8dp</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_corner_radius">10dp</dimen>
<dimen name="qs_media_album_size">72dp</dimen> <dimen name="qs_media_album_size">72dp</dimen>
<dimen name="qs_seamless_icon_size">20dp</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. */ /** Updates seek bar views when the data model changes. */
@UiThread @UiThread
override fun onChanged(data: SeekBarViewModel.Progress) { 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 { data.color?.let {
var tintList = ColorStateList.valueOf(it) var tintList = ColorStateList.valueOf(it)
@@ -71,6 +58,17 @@ class SeekBarObserver(view: View) : Observer<SeekBarViewModel.Progress> {
totalTimeView.setTextColor(it) 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 { data.elapsedTime?.let {
seekBarView.setProgress(it) seekBarView.setProgress(it)
elapsedTimeView.setText(DateUtils.formatElapsedTime( elapsedTimeView.setText(DateUtils.formatElapsedTime(

View File

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