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);