diff --git a/src/com/android/settings/notification/VolumeSeekBarPreference.java b/src/com/android/settings/notification/VolumeSeekBarPreference.java index 7f36791e069..92b3cae61b9 100644 --- a/src/com/android/settings/notification/VolumeSeekBarPreference.java +++ b/src/com/android/settings/notification/VolumeSeekBarPreference.java @@ -80,11 +80,6 @@ public class VolumeSeekBarPreference extends SeekBarPreference { mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); } - @Override - public boolean isSelectable() { - return false; - } - public void setStream(int stream) { mStream = stream; setMax(mAudioManager.getStreamMaxVolume(mStream)); diff --git a/src/com/android/settings/widget/SeekBarPreference.java b/src/com/android/settings/widget/SeekBarPreference.java index f4d2aac83d4..44def119ea2 100644 --- a/src/com/android/settings/widget/SeekBarPreference.java +++ b/src/com/android/settings/widget/SeekBarPreference.java @@ -93,7 +93,7 @@ public class SeekBarPreference extends RestrictedPreference @Override public boolean isSelectable() { - return false; + return isDisabledByAdmin(); } @Override diff --git a/tests/robotests/src/com/android/settings/widget/SeekBarPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/SeekBarPreferenceTest.java index a675e0231bc..0a1d5d80de5 100644 --- a/tests/robotests/src/com/android/settings/widget/SeekBarPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/widget/SeekBarPreferenceTest.java @@ -18,12 +18,16 @@ package com.android.settings.widget; import static com.google.common.truth.Truth.assertThat; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; + import android.content.Context; import android.os.Parcelable; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; @@ -39,9 +43,10 @@ public class SeekBarPreferenceTest { @Before public void setUp() { + MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; - mSeekBarPreference = new SeekBarPreference(mContext); + mSeekBarPreference = spy(new SeekBarPreference(mContext)); mSeekBarPreference.setMax(MAX); mSeekBarPreference.setMin(MIN); mSeekBarPreference.setProgress(PROGRESS); @@ -59,4 +64,18 @@ public class SeekBarPreferenceTest { assertThat(preference.getMin()).isEqualTo(MIN); assertThat(preference.getProgress()).isEqualTo(PROGRESS); } + + @Test + public void isSelectable_disabledByAdmin_returnTrue() { + when(mSeekBarPreference.isDisabledByAdmin()).thenReturn(true); + + assertThat(mSeekBarPreference.isSelectable()).isTrue(); + } + + @Test + public void isSelectable_notDisabledByAdmin_returnFalse() { + when(mSeekBarPreference.isDisabledByAdmin()).thenReturn(false); + + assertThat(mSeekBarPreference.isSelectable()).isFalse(); + } }