Check for attention permissions
If attention package does not have sufficient permissions - disable the setting. Bug: 130246574, 130350903 Test: make RunSettingsRoboTests and manually confirmed Change-Id: Ia7a86c940522e72f7e895d6aec7500f1ef6f9889
This commit is contained in:
@@ -20,15 +20,21 @@ import static android.provider.Settings.System.ADAPTIVE_SLEEP;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.provider.Settings;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settingslib.RestrictedPreference;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
@@ -42,6 +48,9 @@ public class AdaptiveSleepPreferenceControllerTest {
|
||||
private AdaptiveSleepPreferenceController mController;
|
||||
private ContentResolver mContentResolver;
|
||||
|
||||
@Mock
|
||||
private PackageManager mPackageManager;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
@@ -49,6 +58,10 @@ public class AdaptiveSleepPreferenceControllerTest {
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mContentResolver = mContext.getContentResolver();
|
||||
mController = new AdaptiveSleepPreferenceController(mContext, PREFERENCE_KEY);
|
||||
|
||||
|
||||
when(mPackageManager.checkPermission(any(), any())).thenReturn(
|
||||
PackageManager.PERMISSION_GRANTED);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -114,4 +127,24 @@ public class AdaptiveSleepPreferenceControllerTest {
|
||||
new AdaptiveSleepPreferenceController(mContext, "any_key");
|
||||
assertThat(controller.isSliceable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isChecked_returnsFalseWhenNotSufficientPermissions() {
|
||||
when(mPackageManager.checkPermission(any(), any())).thenReturn(
|
||||
PackageManager.PERMISSION_DENIED);
|
||||
|
||||
mController.setChecked(true);
|
||||
assertThat(mController.isChecked()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isEnabled_returnsFalseWhenNotSufficientPermissions() {
|
||||
when(mPackageManager.checkPermission(any(), any())).thenReturn(
|
||||
PackageManager.PERMISSION_DENIED);
|
||||
|
||||
mController.setChecked(true);
|
||||
final RestrictedPreference mPreference = new RestrictedPreference(mContext);
|
||||
mController.updateState(mPreference);
|
||||
assertThat(mPreference.isEnabled()).isFalse();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user