From dc29c977f515a1d95f0d2ffb69c9fc5626705ec9 Mon Sep 17 00:00:00 2001 From: Candice Lo Date: Mon, 29 May 2023 03:32:15 +0000 Subject: [PATCH] Update default values for capability and mode Update the magnification default capability to full screen to ensure that we could always get the same capability as in accessibility service for magnification. Update the magnification default mode to window or full screen based on current capability. Bug: 284233505 Test: atest WindowMagnificationSettingsTest Test: manually - check the settings panel falls into the case of full screen mode after performing factory reset Change-Id: Iefd1eb4954bf823371b558fa7660a3c2cc9ed3d1 --- .../accessibility/WindowMagnificationSettings.java | 12 +++++++++--- .../WindowMagnificationSettingsTest.java | 14 +++++++------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationSettings.java b/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationSettings.java index b086912bd9040..31b0f056df8d1 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationSettings.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationSettings.java @@ -18,7 +18,6 @@ package com.android.systemui.accessibility; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_ALL; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN; -import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_NONE; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS; @@ -405,16 +404,23 @@ class WindowMagnificationSettings implements MagnificationGestureDetector.OnGest } private int getMagnificationMode() { + // If current capability is window mode, we would like the default value of the mode to + // be WINDOW, otherwise, the default value would be FULLSCREEN. + int defaultValue = + (getMagnificationCapability() == ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW) + ? ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW + : ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN; + return mSecureSettings.getIntForUser( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE, - ACCESSIBILITY_MAGNIFICATION_MODE_NONE, + defaultValue, UserHandle.USER_CURRENT); } private int getMagnificationCapability() { return mSecureSettings.getIntForUser( Settings.Secure.ACCESSIBILITY_MAGNIFICATION_CAPABILITY, - ACCESSIBILITY_MAGNIFICATION_MODE_NONE, + ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN, UserHandle.USER_CURRENT); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationSettingsTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationSettingsTest.java index b3f9958764dc5..275723be3859b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationSettingsTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/WindowMagnificationSettingsTest.java @@ -20,7 +20,6 @@ import static android.provider.Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATI import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_CAPABILITY; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_ALL; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN; -import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_NONE; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; import static com.google.common.truth.Truth.assertThat; @@ -29,6 +28,7 @@ import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertNotNull; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; @@ -525,13 +525,13 @@ public class WindowMagnificationSettingsTest extends SysuiTestCase { private void setupMagnificationCapabilityAndMode(int capability, int mode) { when(mSecureSettings.getIntForUser( - Settings.Secure.ACCESSIBILITY_MAGNIFICATION_CAPABILITY, - ACCESSIBILITY_MAGNIFICATION_MODE_NONE, - UserHandle.USER_CURRENT)).thenReturn(capability); + eq(Settings.Secure.ACCESSIBILITY_MAGNIFICATION_CAPABILITY), + anyInt(), + eq(UserHandle.USER_CURRENT))).thenReturn(capability); when(mSecureSettings.getIntForUser( - Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE, - ACCESSIBILITY_MAGNIFICATION_MODE_NONE, - UserHandle.USER_CURRENT)).thenReturn(mode); + eq(Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE), + anyInt(), + eq(UserHandle.USER_CURRENT))).thenReturn(mode); } private void setupScaleInSecureSettings(float scale) {