Fix auto-rotate summary not updating on devices without smart-auto-rotate
Test: locally with crosshatch
Bug: 181585193
Change-Id: I571b10556ff2f4f4d6ff960fcfdf7866405d5ee5
diff --git a/src/com/android/settings/display/SmartAutoRotatePreferenceController.java b/src/com/android/settings/display/SmartAutoRotatePreferenceController.java
index 01c8379..0e2e013 100644
--- a/src/com/android/settings/display/SmartAutoRotatePreferenceController.java
+++ b/src/com/android/settings/display/SmartAutoRotatePreferenceController.java
@@ -21,7 +21,6 @@
import android.content.Context;
import android.os.UserHandle;
import android.provider.Settings;
-import android.util.Log;
import androidx.preference.Preference;
@@ -34,8 +33,6 @@
*/
public class SmartAutoRotatePreferenceController extends BasePreferenceController {
- private static final String TAG = "SmartAutoRotatePreferenceController";
-
public SmartAutoRotatePreferenceController(Context context, String preferenceKey) {
super(context, preferenceKey);
}
@@ -54,16 +51,12 @@
public CharSequence getSummary() {
int activeStringId = R.string.auto_rotate_option_off;
if (!RotationPolicy.isRotationLocked(mContext)) {
- try {
- final int cameraRotate = Settings.Secure.getIntForUser(
- mContext.getContentResolver(),
- CAMERA_AUTOROTATE,
- UserHandle.USER_CURRENT);
- activeStringId = cameraRotate == 1 ? R.string.auto_rotate_option_face_based
- : R.string.auto_rotate_option_on;
- } catch (Settings.SettingNotFoundException e) {
- Log.w(TAG, "CAMERA_AUTOROTATE setting not found", e);
- }
+ final int cameraRotate = Settings.Secure.getIntForUser(
+ mContext.getContentResolver(),
+ CAMERA_AUTOROTATE,
+ 0, UserHandle.USER_CURRENT);
+ activeStringId = cameraRotate == 1 ? R.string.auto_rotate_option_face_based
+ : R.string.auto_rotate_option_on;
}
return mContext.getString(activeStringId);
}
diff --git a/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceControllerTest.java
index b65785f..cc3b20d 100644
--- a/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceControllerTest.java
@@ -108,6 +108,25 @@
}
@Test
+ public void updatePreference_settingsIsOff_noSmartAuto_shouldTurnOffToggle() {
+ disableAutoRotation();
+ Settings.Secure.putStringForUser(mContentResolver,
+ CAMERA_AUTOROTATE, null, UserHandle.USER_CURRENT);
+
+ assertThat(mController.getSummary()).isEqualTo("Off");
+
+ }
+
+ @Test
+ public void updatePreference_settingsIsOn_noSmartAuto_shouldTurnOnToggle() {
+ enableAutoRotation();
+ Settings.Secure.putStringForUser(mContentResolver,
+ CAMERA_AUTOROTATE, null, UserHandle.USER_CURRENT);
+
+ assertThat(mController.getSummary()).isEqualTo("On");
+ }
+
+ @Test
public void testGetAvailabilityStatus() {
assertThat(mController.getAvailabilityStatus()).isEqualTo(BasePreferenceController
.UNSUPPORTED_ON_DEVICE);