From f09a5ce94c89c5f20f80f2bffc980602191030c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20G=C3=B6llner?= Date: Fri, 14 Jul 2023 16:35:16 +0100 Subject: [PATCH] Start logging rotation lock history + include caller information There have been a few reports on foldables where rotation lock suddenly changed, without user interaction. Adding these logs will make it easier to debug the issue. Bug: 289023967 Bug: 289534937 Bug: 279685215 Test: Manually - Change rotation lock and check logs in dumpsys Change-Id: I2a877e7b47c863871a2c6ba29ce46e63d28c8008 --- .../LockScreenRotationPreferenceController.java | 3 ++- .../settings/display/AutoRotatePreferenceController.java | 3 ++- .../settings/display/AutoRotateSwitchBarController.java | 3 ++- .../display/SmartAutoRotatePreferenceController.java | 3 ++- .../settings/testutils/shadow/ShadowRotationPolicy.java | 5 +++-- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java b/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java index db190969ed3..bde2ef5994d 100644 --- a/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java +++ b/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java @@ -54,7 +54,8 @@ public class LockScreenRotationPreferenceController extends TogglePreferenceCont */ @Override public boolean setChecked(boolean isChecked) { - RotationPolicy.setRotationLock(mContext, !isChecked); + RotationPolicy.setRotationLock(mContext, !isChecked, + /* caller= */ "LockScreenRotationPreferenceController#setChecked"); return true; } diff --git a/src/com/android/settings/display/AutoRotatePreferenceController.java b/src/com/android/settings/display/AutoRotatePreferenceController.java index f16cbfb7d13..ec2592d38b5 100644 --- a/src/com/android/settings/display/AutoRotatePreferenceController.java +++ b/src/com/android/settings/display/AutoRotatePreferenceController.java @@ -103,7 +103,8 @@ public class AutoRotatePreferenceController extends TogglePreferenceController i final boolean isLocked = !isChecked; mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ROTATION_LOCK, isLocked); - RotationPolicy.setRotationLock(mContext, isLocked); + RotationPolicy.setRotationLock(mContext, isLocked, + /* caller= */ "AutoRotatePreferenceController#setChecked"); return true; } } diff --git a/src/com/android/settings/display/AutoRotateSwitchBarController.java b/src/com/android/settings/display/AutoRotateSwitchBarController.java index 93420b04493..e6fc2e34627 100644 --- a/src/com/android/settings/display/AutoRotateSwitchBarController.java +++ b/src/com/android/settings/display/AutoRotateSwitchBarController.java @@ -82,7 +82,8 @@ public class AutoRotateSwitchBarController extends SettingsMainSwitchPreferenceC final boolean isLocked = !isChecked; mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ROTATE_ROTATE_MASTER_TOGGLE, isLocked); - RotationPolicy.setRotationLock(mContext, isLocked); + RotationPolicy.setRotationLock(mContext, isLocked, + /* caller= */ "AutoRotateSwitchBarController#setChecked"); return true; } diff --git a/src/com/android/settings/display/SmartAutoRotatePreferenceController.java b/src/com/android/settings/display/SmartAutoRotatePreferenceController.java index 311068f910e..a5c15b6bbb0 100644 --- a/src/com/android/settings/display/SmartAutoRotatePreferenceController.java +++ b/src/com/android/settings/display/SmartAutoRotatePreferenceController.java @@ -169,7 +169,8 @@ public class SmartAutoRotatePreferenceController extends TogglePreferenceControl final boolean isLocked = !isChecked; mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ROTATION_LOCK, isLocked); - RotationPolicy.setRotationLock(mContext, isLocked); + RotationPolicy.setRotationLock(mContext, isLocked, + /* caller= */ "SmartAutoRotatePreferenceController#setChecked"); return true; } diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRotationPolicy.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRotationPolicy.java index 1f1e2be0171..d0523400a23 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRotationPolicy.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRotationPolicy.java @@ -30,12 +30,13 @@ public class ShadowRotationPolicy { private static boolean rotationSupported = true; @Implementation - protected static void setRotationLock(Context context, final boolean enabled) { + protected static void setRotationLock(Context context, final boolean enabled, String caller) { rotationLockEnabled = enabled; } @Implementation - protected static void setRotationLockForAccessibility(Context context, final boolean enabled) { + protected static void setRotationLockForAccessibility( + Context context, final boolean enabled, String caller) { rotationLockEnabled = enabled; }