Re-enable the test
Update the test to handle new API and simplify the logic in the controller. Bug: 130897305 Test: make RunSettingsRoboTests -j64 Change-Id: I0c46ff22d4a3bf913add753f85a24af9aeee0a33
This commit is contained in:
@@ -20,9 +20,6 @@ import android.content.Context;
|
|||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
import androidx.preference.PreferenceScreen;
|
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.TogglePreferenceController;
|
import com.android.settings.core.TogglePreferenceController;
|
||||||
|
|
||||||
@@ -60,10 +57,12 @@ public class AdaptiveSleepPreferenceController extends TogglePreferenceControlle
|
|||||||
@Override
|
@Override
|
||||||
@AvailabilityStatus
|
@AvailabilityStatus
|
||||||
public int getAvailabilityStatus() {
|
public int getAvailabilityStatus() {
|
||||||
return mContext.getResources().getBoolean(
|
final boolean supportedOnDevice = mContext.getResources().getBoolean(
|
||||||
com.android.internal.R.bool.config_adaptive_sleep_available)
|
com.android.internal.R.bool.config_adaptive_sleep_available);
|
||||||
? AVAILABLE
|
if (!supportedOnDevice) {
|
||||||
: UNSUPPORTED_ON_DEVICE;
|
return UNSUPPORTED_ON_DEVICE;
|
||||||
|
}
|
||||||
|
return hasSufficientPermissions ? AVAILABLE : DISABLED_DEPENDENT_SETTING;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -77,15 +76,4 @@ public class AdaptiveSleepPreferenceController extends TogglePreferenceControlle
|
|||||||
? R.string.adaptive_sleep_summary_on
|
? R.string.adaptive_sleep_summary_on
|
||||||
: R.string.adaptive_sleep_summary_off);
|
: R.string.adaptive_sleep_summary_off);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void displayPreference(PreferenceScreen screen) {
|
|
||||||
super.displayPreference(screen);
|
|
||||||
final Preference preference = screen.findPreference(SYSTEM_KEY);
|
|
||||||
|
|
||||||
if (preference != null) {
|
|
||||||
preference.setEnabled(hasSufficientPermissions);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -21,6 +21,8 @@ import static android.provider.Settings.System.ADAPTIVE_SLEEP;
|
|||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
|
import static org.mockito.Mockito.doReturn;
|
||||||
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
@@ -28,11 +30,12 @@ import android.content.Context;
|
|||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
|
import androidx.preference.Preference;
|
||||||
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settingslib.RestrictedPreference;
|
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Ignore;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
@@ -41,7 +44,6 @@ import org.robolectric.RobolectricTestRunner;
|
|||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Ignore("b/130897305")
|
|
||||||
public class AdaptiveSleepPreferenceControllerTest {
|
public class AdaptiveSleepPreferenceControllerTest {
|
||||||
|
|
||||||
private static final String PREFERENCE_KEY = "adaptive_sleep";
|
private static final String PREFERENCE_KEY = "adaptive_sleep";
|
||||||
@@ -52,18 +54,25 @@ public class AdaptiveSleepPreferenceControllerTest {
|
|||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
private PackageManager mPackageManager;
|
private PackageManager mPackageManager;
|
||||||
|
@Mock
|
||||||
|
private PreferenceScreen mScreen;
|
||||||
|
@Mock
|
||||||
|
private Preference mPreference;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
|
|
||||||
mContext = RuntimeEnvironment.application;
|
mContext = spy(RuntimeEnvironment.application);
|
||||||
mContentResolver = mContext.getContentResolver();
|
mContentResolver = mContext.getContentResolver();
|
||||||
mController = new AdaptiveSleepPreferenceController(mContext, PREFERENCE_KEY);
|
|
||||||
|
|
||||||
|
|
||||||
|
doReturn(mPackageManager).when(mContext).getPackageManager();
|
||||||
|
when(mPackageManager.getAttentionServicePackageName()).thenReturn("some.package");
|
||||||
when(mPackageManager.checkPermission(any(), any())).thenReturn(
|
when(mPackageManager.checkPermission(any(), any())).thenReturn(
|
||||||
PackageManager.PERMISSION_GRANTED);
|
PackageManager.PERMISSION_GRANTED);
|
||||||
|
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
|
||||||
|
|
||||||
|
mController = new AdaptiveSleepPreferenceController(mContext, PREFERENCE_KEY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -145,8 +154,7 @@ public class AdaptiveSleepPreferenceControllerTest {
|
|||||||
PackageManager.PERMISSION_DENIED);
|
PackageManager.PERMISSION_DENIED);
|
||||||
|
|
||||||
mController.setChecked(true);
|
mController.setChecked(true);
|
||||||
final RestrictedPreference mPreference = new RestrictedPreference(mContext);
|
mController.displayPreference(mScreen);
|
||||||
mController.updateState(mPreference);
|
|
||||||
assertThat(mPreference.isEnabled()).isFalse();
|
assertThat(mPreference.isEnabled()).isFalse();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user