Loading packages/SystemUI/multivalentTests/src/com/android/systemui/media/dialog/MediaOutputAdapterTest.kt +1 −0 Original line number Diff line number Diff line Loading @@ -238,6 +238,7 @@ class MediaOutputAdapterTest : SysuiTestCase() { assertThat(mSlider.value).isEqualTo(TEST_CURRENT_VOLUME) assertThat(mSlider.valueFrom).isEqualTo(0) assertThat(mSlider.valueTo).isEqualTo(TEST_MAX_VOLUME) assertThat(mSlider.stateDescription).isEqualTo("50%") } } Loading packages/SystemUI/res/layout/media_output_list_item_device.xml +1 −0 Original line number Diff line number Diff line Loading @@ -128,6 +128,7 @@ android:layout_width="match_parent" android:layout_height="44dp" android:layout_marginVertical="3dp" android:contentDescription="@string/media_output_dialog_accessibility_seekbar" android:theme="@style/Theme.Material3.DynamicColors.DayNight" app:labelBehavior="gone" app:tickVisible="false" Loading packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.kt +8 −0 Original line number Diff line number Diff line Loading @@ -400,6 +400,7 @@ class MediaOutputAdapter(controller: MediaSwitchingController) : muteDrawable = muteDrawable, isMuted = currentVolume == 0, ) mSlider.stateDescription = getSliderStateDescription() } } Loading Loading @@ -433,6 +434,7 @@ class MediaOutputAdapter(controller: MediaSwitchingController) : return } mSlider.isClickable = false mSlider.isEnabled = isVolumeControlAllowed mSlider.valueFrom = 0f mSlider.valueTo = maxVolume.toFloat() Loading @@ -452,6 +454,7 @@ class MediaOutputAdapter(controller: MediaSwitchingController) : mSlider.clearOnChangeListeners() // Prevent adding multiple listeners mSlider.addOnChangeListener { _: Slider, value: Float, fromUser: Boolean -> mSlider.stateDescription = getSliderStateDescription() if (fromUser) { val seekBarVolume = value.toInt() updateSliderIconsVisibility( Loading Loading @@ -481,6 +484,11 @@ class MediaOutputAdapter(controller: MediaSwitchingController) : ) } private fun getSliderStateDescription(): String { val percentage = (mSlider.value * 100 / mSlider.valueTo).toInt() return mContext.getString(R.string.media_output_dialog_volume_percentage, percentage) } private fun getMuteDrawable(isInputDevice: Boolean): Drawable? { return AppCompatResources.getDrawable( mContext, Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/media/dialog/MediaOutputAdapterTest.kt +1 −0 Original line number Diff line number Diff line Loading @@ -238,6 +238,7 @@ class MediaOutputAdapterTest : SysuiTestCase() { assertThat(mSlider.value).isEqualTo(TEST_CURRENT_VOLUME) assertThat(mSlider.valueFrom).isEqualTo(0) assertThat(mSlider.valueTo).isEqualTo(TEST_MAX_VOLUME) assertThat(mSlider.stateDescription).isEqualTo("50%") } } Loading
packages/SystemUI/res/layout/media_output_list_item_device.xml +1 −0 Original line number Diff line number Diff line Loading @@ -128,6 +128,7 @@ android:layout_width="match_parent" android:layout_height="44dp" android:layout_marginVertical="3dp" android:contentDescription="@string/media_output_dialog_accessibility_seekbar" android:theme="@style/Theme.Material3.DynamicColors.DayNight" app:labelBehavior="gone" app:tickVisible="false" Loading
packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.kt +8 −0 Original line number Diff line number Diff line Loading @@ -400,6 +400,7 @@ class MediaOutputAdapter(controller: MediaSwitchingController) : muteDrawable = muteDrawable, isMuted = currentVolume == 0, ) mSlider.stateDescription = getSliderStateDescription() } } Loading Loading @@ -433,6 +434,7 @@ class MediaOutputAdapter(controller: MediaSwitchingController) : return } mSlider.isClickable = false mSlider.isEnabled = isVolumeControlAllowed mSlider.valueFrom = 0f mSlider.valueTo = maxVolume.toFloat() Loading @@ -452,6 +454,7 @@ class MediaOutputAdapter(controller: MediaSwitchingController) : mSlider.clearOnChangeListeners() // Prevent adding multiple listeners mSlider.addOnChangeListener { _: Slider, value: Float, fromUser: Boolean -> mSlider.stateDescription = getSliderStateDescription() if (fromUser) { val seekBarVolume = value.toInt() updateSliderIconsVisibility( Loading Loading @@ -481,6 +484,11 @@ class MediaOutputAdapter(controller: MediaSwitchingController) : ) } private fun getSliderStateDescription(): String { val percentage = (mSlider.value * 100 / mSlider.valueTo).toInt() return mContext.getString(R.string.media_output_dialog_volume_percentage, percentage) } private fun getMuteDrawable(isInputDevice: Boolean): Drawable? { return AppCompatResources.getDrawable( mContext, Loading