Merge "Fix SmartAutoRotatePreferenceFragmentTest" into main

This commit is contained in:
Treehugger Robot
2023-09-27 12:13:24 +00:00
committed by Android (Google) Code Review

View File

@@ -16,6 +16,8 @@
package com.android.settings.display; package com.android.settings.display;
import static android.provider.Settings.Secure.DEVICE_STATE_ROTATION_LOCK_LOCKED;
import static com.android.settings.display.SmartAutoRotatePreferenceFragment.AUTO_ROTATE_MAIN_SWITCH_PREFERENCE_KEY; import static com.android.settings.display.SmartAutoRotatePreferenceFragment.AUTO_ROTATE_MAIN_SWITCH_PREFERENCE_KEY;
import static com.android.settings.display.SmartAutoRotatePreferenceFragment.AUTO_ROTATE_SWITCH_PREFERENCE_KEY; import static com.android.settings.display.SmartAutoRotatePreferenceFragment.AUTO_ROTATE_SWITCH_PREFERENCE_KEY;
@@ -68,6 +70,11 @@ import java.util.List;
}) })
public class SmartAutoRotatePreferenceFragmentTest { public class SmartAutoRotatePreferenceFragmentTest {
private static final int STATE_FOLDED = 0;
private static final int STATE_HALF_FOLDED = 1;
private static final int STATE_UNFOLDED = 2;
private static final int STATE_REAR_DISPLAY = 3;
private static final String PACKAGE_NAME = "package_name"; private static final String PACKAGE_NAME = "package_name";
private SmartAutoRotatePreferenceFragment mFragment; private SmartAutoRotatePreferenceFragment mFragment;
@@ -97,6 +104,7 @@ public class SmartAutoRotatePreferenceFragmentTest {
ContentResolver mContentResolver = RuntimeEnvironment.application.getContentResolver(); ContentResolver mContentResolver = RuntimeEnvironment.application.getContentResolver();
when(mContext.getPackageManager()).thenReturn(mPackageManager); when(mContext.getPackageManager()).thenReturn(mPackageManager);
when(mContext.getContentResolver()).thenReturn(mContentResolver); when(mContext.getContentResolver()).thenReturn(mContentResolver);
when(mContext.getApplicationContext()).thenReturn(mContext);
doReturn(PACKAGE_NAME).when(mPackageManager).getRotationResolverPackageName(); doReturn(PACKAGE_NAME).when(mPackageManager).getRotationResolverPackageName();
doReturn(PackageManager.PERMISSION_GRANTED).when(mPackageManager).checkPermission( doReturn(PackageManager.PERMISSION_GRANTED).when(mPackageManager).checkPermission(
Manifest.permission.CAMERA, PACKAGE_NAME); Manifest.permission.CAMERA, PACKAGE_NAME);
@@ -119,12 +127,19 @@ public class SmartAutoRotatePreferenceFragmentTest {
when(mFragment.findPreference(AUTO_ROTATE_SWITCH_PREFERENCE_KEY)).thenReturn( when(mFragment.findPreference(AUTO_ROTATE_SWITCH_PREFERENCE_KEY)).thenReturn(
mRotateSwitchPreference); mRotateSwitchPreference);
when(mFragment.findPreference(AUTO_ROTATE_MAIN_SWITCH_PREFERENCE_KEY))
.thenReturn(mRotateMainSwitchPreference);
when(mFragment.findPreference(AUTO_ROTATE_MAIN_SWITCH_PREFERENCE_KEY)).thenReturn( when(mResources.getIntArray(com.android.internal.R.array.config_foldedDeviceStates))
mRotateMainSwitchPreference); .thenReturn(new int[] {STATE_FOLDED});
when(mResources.getIntArray(com.android.internal.R.array.config_halfFoldedDeviceStates))
.thenReturn(new int[] {STATE_HALF_FOLDED});
when(mResources.getIntArray(com.android.internal.R.array.config_openDeviceStates))
.thenReturn(new int[] {STATE_UNFOLDED});
when(mResources.getIntArray(com.android.internal.R.array.config_rearDisplayDeviceStates))
.thenReturn(new int[] {STATE_REAR_DISPLAY});
} }
@Test @Test
public void createHeader_faceDetectionSupported_switchBarIsEnabled() { public void createHeader_faceDetectionSupported_switchBarIsEnabled() {
ShadowDeviceStateRotationLockSettingsManager.setDeviceStateRotationLockEnabled(false); ShadowDeviceStateRotationLockSettingsManager.setDeviceStateRotationLockEnabled(false);
@@ -168,7 +183,7 @@ public class SmartAutoRotatePreferenceFragmentTest {
@Test @Test
public void createPreferenceControllers_noSettableDeviceStates_returnsEmptyList() { public void createPreferenceControllers_noSettableDeviceStates_returnsEmptyList() {
enableDeviceStateSettableRotationStates(new String[]{}, new String[]{}); enableDeviceStateSettableRotationStates(new String[] {}, new String[] {});
List<AbstractPreferenceController> preferenceControllers = List<AbstractPreferenceController> preferenceControllers =
mFragment.createPreferenceControllers(mContext); mFragment.createPreferenceControllers(mContext);
@@ -178,17 +193,21 @@ public class SmartAutoRotatePreferenceFragmentTest {
@Test @Test
public void createPreferenceControllers_settableDeviceStates_returnsDeviceStateControllers() { public void createPreferenceControllers_settableDeviceStates_returnsDeviceStateControllers() {
enableDeviceStateSettableRotationStates(new String[]{"0:1", "1:1"}, enableDeviceStateSettableRotationStates(
new String[]{"Folded", "Unfolded"}); new String[] {
STATE_FOLDED + ":" + DEVICE_STATE_ROTATION_LOCK_LOCKED,
STATE_UNFOLDED + ":" + DEVICE_STATE_ROTATION_LOCK_LOCKED
},
new String[] {"Folded", "Unfolded"});
List<AbstractPreferenceController> preferenceControllers = List<AbstractPreferenceController> preferenceControllers =
mFragment.createPreferenceControllers(mContext); mFragment.createPreferenceControllers(mContext);
assertThat(preferenceControllers).hasSize(2); assertThat(preferenceControllers).hasSize(2);
assertThat(preferenceControllers.get(0)).isInstanceOf( assertThat(preferenceControllers.get(0))
DeviceStateAutoRotateSettingController.class); .isInstanceOf(DeviceStateAutoRotateSettingController.class);
assertThat(preferenceControllers.get(1)).isInstanceOf( assertThat(preferenceControllers.get(1))
DeviceStateAutoRotateSettingController.class); .isInstanceOf(DeviceStateAutoRotateSettingController.class);
} }
@Test @Test
@@ -204,16 +223,15 @@ public class SmartAutoRotatePreferenceFragmentTest {
verify(mFragment, times(1)).addHelpLink(); verify(mFragment, times(1)).addHelpLink();
} }
private void enableDeviceStateSettableRotationStates(String[] settableStates, private void enableDeviceStateSettableRotationStates(
String[] settableStatesDescriptions) { String[] settableStates, String[] settableStatesDescriptions) {
when(mResources.getStringArray( when(mResources.getStringArray(
com.android.internal.R.array.config_perDeviceStateRotationLockDefaults)).thenReturn( com.android.internal.R.array.config_perDeviceStateRotationLockDefaults))
settableStates); .thenReturn(settableStates);
when(mResources.getStringArray( when(mResources.getStringArray(R.array.config_settableAutoRotationDeviceStatesDescriptions))
R.array.config_settableAutoRotationDeviceStatesDescriptions)).thenReturn( .thenReturn(settableStatesDescriptions);
settableStatesDescriptions); when(mResources.getBoolean(R.bool.config_auto_rotate_face_detection_available))
when(mResources.getBoolean(R.bool.config_auto_rotate_face_detection_available)).thenReturn( .thenReturn(true);
true);
DeviceStateRotationLockSettingsManager.resetInstance(); DeviceStateRotationLockSettingsManager.resetInstance();
DeviceStateRotationLockSettingsManager.getInstance(mContext) DeviceStateRotationLockSettingsManager.getInstance(mContext)
.resetStateForTesting(mResources); .resetStateForTesting(mResources);