Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d60b2c00 authored by Alexandr Shabalin's avatar Alexandr Shabalin Committed by Android (Google) Code Review
Browse files

Merge "Update Slider A11y label to be descriptive e.g. "4% Volume, Slider"." into main

parents ccd3e805 71ee6ff9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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%")
        }
    }

+1 −0
Original line number Diff line number Diff line
@@ -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"
+8 −0
Original line number Diff line number Diff line
@@ -400,6 +400,7 @@ class MediaOutputAdapter(controller: MediaSwitchingController) :
                    muteDrawable = muteDrawable,
                    isMuted = currentVolume == 0,
                )
                mSlider.stateDescription = getSliderStateDescription()
            }
        }

@@ -433,6 +434,7 @@ class MediaOutputAdapter(controller: MediaSwitchingController) :
                return
            }

            mSlider.isClickable = false
            mSlider.isEnabled = isVolumeControlAllowed
            mSlider.valueFrom = 0f
            mSlider.valueTo = maxVolume.toFloat()
@@ -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(
@@ -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,