"Disallow adjust volume" restricted dialog didn't show
root casue: VolumeSeekBarPreference & SeekBarPreference will return false when call isSelectable() then this preference won't perform Click Fixes: 123745455 Test: Manual & robotest Change-Id: Iba27b503e8a272260c80bd41aecdd5cdbc39f962
This commit is contained in:
@@ -80,11 +80,6 @@ public class VolumeSeekBarPreference extends SeekBarPreference {
|
|||||||
mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
|
mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isSelectable() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStream(int stream) {
|
public void setStream(int stream) {
|
||||||
mStream = stream;
|
mStream = stream;
|
||||||
setMax(mAudioManager.getStreamMaxVolume(mStream));
|
setMax(mAudioManager.getStreamMaxVolume(mStream));
|
||||||
|
@@ -93,7 +93,7 @@ public class SeekBarPreference extends RestrictedPreference
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isSelectable() {
|
public boolean isSelectable() {
|
||||||
return false;
|
return isDisabledByAdmin();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -18,12 +18,16 @@ package com.android.settings.widget;
|
|||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
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.content.Context;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
|
|
||||||
@@ -39,9 +43,10 @@ public class SeekBarPreferenceTest {
|
|||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
|
MockitoAnnotations.initMocks(this);
|
||||||
mContext = RuntimeEnvironment.application;
|
mContext = RuntimeEnvironment.application;
|
||||||
|
|
||||||
mSeekBarPreference = new SeekBarPreference(mContext);
|
mSeekBarPreference = spy(new SeekBarPreference(mContext));
|
||||||
mSeekBarPreference.setMax(MAX);
|
mSeekBarPreference.setMax(MAX);
|
||||||
mSeekBarPreference.setMin(MIN);
|
mSeekBarPreference.setMin(MIN);
|
||||||
mSeekBarPreference.setProgress(PROGRESS);
|
mSeekBarPreference.setProgress(PROGRESS);
|
||||||
@@ -59,4 +64,18 @@ public class SeekBarPreferenceTest {
|
|||||||
assertThat(preference.getMin()).isEqualTo(MIN);
|
assertThat(preference.getMin()).isEqualTo(MIN);
|
||||||
assertThat(preference.getProgress()).isEqualTo(PROGRESS);
|
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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user