Loading res/values/config.xml +2 −0 Original line number Diff line number Diff line Loading @@ -643,4 +643,6 @@ <!-- Whether sim related information is visible to the end user. --> <bool name="config_show_sim_info">true</bool> <!-- Whether the toggle for Auto-rotate with Face Detection should be shown. --> <bool name="config_auto_rotate_face_detection_available">true</bool> </resources> src/com/android/settings/display/SmartAutoRotateController.java +4 −0 Original line number Diff line number Diff line Loading @@ -180,6 +180,10 @@ public class SmartAutoRotateController extends TogglePreferenceController implem * Returns true if there is a {@link RotationResolverService} available */ public static boolean isRotationResolverServiceAvailable(Context context) { if (!context.getResources().getBoolean( R.bool.config_auto_rotate_face_detection_available)) { return false; } final PackageManager packageManager = context.getPackageManager(); final String resolvePackage = packageManager.getRotationResolverPackageName(); if (TextUtils.isEmpty(resolvePackage)) { Loading tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceControllerTest.java +3 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,9 @@ public class SmartAutoRotatePreferenceControllerTest { when(mContext.getResources()).thenReturn(mResources); when(mContext.getContentResolver()).thenReturn(mContentResolver); when(mResources.getBoolean(R.bool.config_auto_rotate_face_detection_available)).thenReturn( true); doReturn(PACKAGE_NAME).when(mPackageManager).getRotationResolverPackageName(); doReturn(PackageManager.PERMISSION_GRANTED).when(mPackageManager).checkPermission( Manifest.permission.CAMERA, PACKAGE_NAME); Loading tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceFragmentTest.java +15 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,8 @@ public class SmartAutoRotatePreferenceFragmentTest { when(mActivity.getPackageManager()).thenReturn(mPackageManager); when(mFragment.getActivity()).thenReturn(mActivity); when(mFragment.getContext()).thenReturn(mContext); when(mActivity.getResources()).thenReturn(mResources); doReturn(mView).when(mFragment).getView(); when(mFragment.findPreference(AUTO_ROTATE_SWITCH_PREFERENCE_KEY)).thenReturn( Loading Loading @@ -152,6 +154,17 @@ public class SmartAutoRotatePreferenceFragmentTest { verify(mRotateSwitchPreference, never()).setVisible(false); } @Test public void createHeader_faceDetectionNotEnabledByConfig_switchBarIsDisabled() { doReturn(false).when(mResources).getBoolean( R.bool.config_auto_rotate_face_detection_available); mFragment.createHeader(mActivity); verify(mRotateMainSwitchPreference, times(1)).setVisible(false); verify(mRotateSwitchPreference, never()).setVisible(false); } @Test public void createPreferenceControllers_noSettableDeviceStates_returnsEmptyList() { enableDeviceStateSettableRotationStates(new String[]{}, new String[]{}); Loading Loading @@ -198,6 +211,8 @@ public class SmartAutoRotatePreferenceFragmentTest { when(mResources.getStringArray( R.array.config_settableAutoRotationDeviceStatesDescriptions)).thenReturn( settableStatesDescriptions); when(mResources.getBoolean(R.bool.config_auto_rotate_face_detection_available)).thenReturn( true); DeviceStateRotationLockSettingsManager.resetInstance(); DeviceStateRotationLockSettingsManager.getInstance(mContext) .resetStateForTesting(mResources); Loading Loading
res/values/config.xml +2 −0 Original line number Diff line number Diff line Loading @@ -643,4 +643,6 @@ <!-- Whether sim related information is visible to the end user. --> <bool name="config_show_sim_info">true</bool> <!-- Whether the toggle for Auto-rotate with Face Detection should be shown. --> <bool name="config_auto_rotate_face_detection_available">true</bool> </resources>
src/com/android/settings/display/SmartAutoRotateController.java +4 −0 Original line number Diff line number Diff line Loading @@ -180,6 +180,10 @@ public class SmartAutoRotateController extends TogglePreferenceController implem * Returns true if there is a {@link RotationResolverService} available */ public static boolean isRotationResolverServiceAvailable(Context context) { if (!context.getResources().getBoolean( R.bool.config_auto_rotate_face_detection_available)) { return false; } final PackageManager packageManager = context.getPackageManager(); final String resolvePackage = packageManager.getRotationResolverPackageName(); if (TextUtils.isEmpty(resolvePackage)) { Loading
tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceControllerTest.java +3 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,9 @@ public class SmartAutoRotatePreferenceControllerTest { when(mContext.getResources()).thenReturn(mResources); when(mContext.getContentResolver()).thenReturn(mContentResolver); when(mResources.getBoolean(R.bool.config_auto_rotate_face_detection_available)).thenReturn( true); doReturn(PACKAGE_NAME).when(mPackageManager).getRotationResolverPackageName(); doReturn(PackageManager.PERMISSION_GRANTED).when(mPackageManager).checkPermission( Manifest.permission.CAMERA, PACKAGE_NAME); Loading
tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceFragmentTest.java +15 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,8 @@ public class SmartAutoRotatePreferenceFragmentTest { when(mActivity.getPackageManager()).thenReturn(mPackageManager); when(mFragment.getActivity()).thenReturn(mActivity); when(mFragment.getContext()).thenReturn(mContext); when(mActivity.getResources()).thenReturn(mResources); doReturn(mView).when(mFragment).getView(); when(mFragment.findPreference(AUTO_ROTATE_SWITCH_PREFERENCE_KEY)).thenReturn( Loading Loading @@ -152,6 +154,17 @@ public class SmartAutoRotatePreferenceFragmentTest { verify(mRotateSwitchPreference, never()).setVisible(false); } @Test public void createHeader_faceDetectionNotEnabledByConfig_switchBarIsDisabled() { doReturn(false).when(mResources).getBoolean( R.bool.config_auto_rotate_face_detection_available); mFragment.createHeader(mActivity); verify(mRotateMainSwitchPreference, times(1)).setVisible(false); verify(mRotateSwitchPreference, never()).setVisible(false); } @Test public void createPreferenceControllers_noSettableDeviceStates_returnsEmptyList() { enableDeviceStateSettableRotationStates(new String[]{}, new String[]{}); Loading Loading @@ -198,6 +211,8 @@ public class SmartAutoRotatePreferenceFragmentTest { when(mResources.getStringArray( R.array.config_settableAutoRotationDeviceStatesDescriptions)).thenReturn( settableStatesDescriptions); when(mResources.getBoolean(R.bool.config_auto_rotate_face_detection_available)).thenReturn( true); DeviceStateRotationLockSettingsManager.resetInstance(); DeviceStateRotationLockSettingsManager.getInstance(mContext) .resetStateForTesting(mResources); Loading