Merge "Improve volume slider" into main

This commit is contained in:
Treehugger Robot
2023-07-10 10:27:21 +00:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 4 deletions

View File

@@ -131,6 +131,11 @@ public class VolumeSeekBarPreference extends SeekBarPreference {
protected void init() { protected void init() {
if (mSeekBar == null) return; if (mSeekBar == null) return;
// It's unnecessary to set up relevant volumizer configuration if preference is disabled.
if (!isEnabled()) {
mSeekBar.setEnabled(false);
return;
}
final SeekBarVolumizer.Callback sbvc = new SeekBarVolumizer.Callback() { final SeekBarVolumizer.Callback sbvc = new SeekBarVolumizer.Callback() {
@Override @Override
public void onSampleStarting(SeekBarVolumizer sbv) { public void onSampleStarting(SeekBarVolumizer sbv) {
@@ -179,10 +184,6 @@ public class VolumeSeekBarPreference extends SeekBarPreference {
if (mListener != null) { if (mListener != null) {
mListener.onUpdateMuteState(); mListener.onUpdateMuteState();
} }
if (!isEnabled()) {
mSeekBar.setEnabled(false);
mVolumizer.stop();
}
} }
protected void updateIconView() { protected void updateIconView() {

View File

@@ -81,6 +81,7 @@ public class VolumeSeekBarPreferenceTest {
@Test @Test
public void init_listenerIsCalled() { public void init_listenerIsCalled() {
when(mPreference.isEnabled()).thenReturn(true);
doCallRealMethod().when(mPreference).setListener(mListener); doCallRealMethod().when(mPreference).setListener(mListener);
doCallRealMethod().when(mPreference).init(); doCallRealMethod().when(mPreference).init();
@@ -92,6 +93,18 @@ public class VolumeSeekBarPreferenceTest {
@Test @Test
public void init_listenerNotSet_noException() { public void init_listenerNotSet_noException() {
when(mPreference.isEnabled()).thenReturn(true);
doCallRealMethod().when(mPreference).init();
mPreference.init();
verify(mPreference, never()).updateContentDescription(CONTENT_DESCRIPTION);
}
@Test
public void init_preferenceIsDisabled_shouldNotInvokeListener() {
when(mPreference.isEnabled()).thenReturn(false);
doCallRealMethod().when(mPreference).setListener(mListener);
doCallRealMethod().when(mPreference).init(); doCallRealMethod().when(mPreference).init();
mPreference.init(); mPreference.init();