From e57c87528dd9ef44bdf15236e93b791121fa3cac Mon Sep 17 00:00:00 2001 From: Abel Tesfaye Date: Thu, 11 Mar 2021 20:16:30 +0000 Subject: [PATCH] Fix auto-rotate summary not updating on devices without smart-auto-rotate Test: locally with crosshatch Bug: 181585193 Change-Id: I571b10556ff2f4f4d6ff960fcfdf7866405d5ee5 --- .../SmartAutoRotatePreferenceController.java | 19 ++++++------------- ...artAutoRotatePreferenceControllerTest.java | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/com/android/settings/display/SmartAutoRotatePreferenceController.java b/src/com/android/settings/display/SmartAutoRotatePreferenceController.java index 01c8379f5ec..0e2e013c6ea 100644 --- a/src/com/android/settings/display/SmartAutoRotatePreferenceController.java +++ b/src/com/android/settings/display/SmartAutoRotatePreferenceController.java @@ -21,7 +21,6 @@ import static android.provider.Settings.Secure.CAMERA_AUTOROTATE; import android.content.Context; import android.os.UserHandle; import android.provider.Settings; -import android.util.Log; import androidx.preference.Preference; @@ -34,8 +33,6 @@ import com.android.settings.core.BasePreferenceController; */ 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 class SmartAutoRotatePreferenceController extends BasePreferenceControlle 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 b65785f5085..cc3b20da896 100644 --- a/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceControllerTest.java @@ -107,6 +107,25 @@ public class SmartAutoRotatePreferenceControllerTest { assertThat(mController.getSummary()).isEqualTo("Off"); } + @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