Merge "Seek bar polish" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
1fdf62b72f
@@ -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
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user