Update Settings tests to new DeviceStateManager API
Updates tests that use PosturesHelper to return both the correct configuration values as well as the values returned through the DeviceStateManager APIs Flag: android.hardware.devicestate.feature.flags.device_state_property_migration Bug: 336640888 Test: atest SettingsRoboTests Change-Id: I23e7446de719f11c99a4f747e189e11405b203ef
This commit is contained in:
@@ -33,6 +33,8 @@ import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.content.pm.ServiceInfo;
|
||||
import android.hardware.devicestate.DeviceState;
|
||||
import android.hardware.devicestate.DeviceStateManager;
|
||||
import android.os.UserHandle;
|
||||
import android.provider.Settings;
|
||||
|
||||
@@ -56,6 +58,8 @@ import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.shadow.api.Shadow;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Config(shadows = {ShadowSensorPrivacyManager.class, ShadowSystemSettings.class})
|
||||
public class SmartAutoRotateControllerTest {
|
||||
@@ -67,21 +71,30 @@ public class SmartAutoRotateControllerTest {
|
||||
private PackageManager mPackageManager;
|
||||
@Mock
|
||||
private Preference mPreference;
|
||||
@Mock
|
||||
private DeviceStateManager mDeviceStateManager;
|
||||
private ContentResolver mContentResolver;
|
||||
private final DeviceStateRotationLockSettingsManager mDeviceStateAutoRotateSettingsManager =
|
||||
DeviceStateRotationLockSettingsManager.getInstance(RuntimeEnvironment.application);
|
||||
private DeviceStateRotationLockSettingsManager mDeviceStateAutoRotateSettingsManager;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
final Context context = Mockito.spy(RuntimeEnvironment.application);
|
||||
mContentResolver = RuntimeEnvironment.application.getContentResolver();
|
||||
|
||||
when(context.getPackageManager()).thenReturn(mPackageManager);
|
||||
when(context.getContentResolver()).thenReturn(mContentResolver);
|
||||
doReturn(PACKAGE_NAME).when(mPackageManager).getRotationResolverPackageName();
|
||||
doReturn(PackageManager.PERMISSION_GRANTED).when(mPackageManager).checkPermission(
|
||||
Manifest.permission.CAMERA, PACKAGE_NAME);
|
||||
// Necessary for the DeviceStateRotationLockSettingsManager setup
|
||||
doReturn(context).when(context).getApplicationContext();
|
||||
doReturn(mDeviceStateManager).when(context).getSystemService(DeviceStateManager.class);
|
||||
doReturn(getDeviceStateList()).when(mDeviceStateManager).getSupportedDeviceStates();
|
||||
mDeviceStateAutoRotateSettingsManager = DeviceStateRotationLockSettingsManager.getInstance(
|
||||
context);
|
||||
mController = Mockito.spy(new SmartAutoRotateController(context, "test_key"));
|
||||
|
||||
when(mController.isCameraLocked()).thenReturn(false);
|
||||
when(mController.isPowerSaveMode()).thenReturn(false);
|
||||
doReturn(mController.getPreferenceKey()).when(mPreference).getKey();
|
||||
@@ -183,4 +196,13 @@ public class SmartAutoRotateControllerTest {
|
||||
Shadow.extract(mDeviceStateAutoRotateSettingsManager);
|
||||
shadowManager.setRotationLockedForAllStates(false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a list that includes a singular default {@link DeviceState}. To be returned when
|
||||
* {@link DeviceStateManager#getSupportedDeviceStates()} is called.
|
||||
*/
|
||||
private List<DeviceState> getDeviceStateList() {
|
||||
return List.of(new DeviceState(
|
||||
new DeviceState.Configuration.Builder(0 /* identifier */, "DEFAULT").build()));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user