From 690c6914c4529f8feb48db7e6593270b46472f46 Mon Sep 17 00:00:00 2001 From: mincheli Date: Fri, 21 May 2021 12:29:11 +0800 Subject: [PATCH] Assigns the default value of the cache magnification mode The magnification switch button is not visible because the image source is not set when calling showButton(). Because the default value of cache magnification mode is the same as the current magnification mode. And the check in showButton() blocks setting the image source To fix this for fullscreen mode, the default value is replaced ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN with ACCESSIBILITY_MAGNIFICATION_MODE_NONE. Bug: 188857483 Test: atest MagnificationModeSwitchTest Change-Id: I36eb7b20f94adbab49f006627e60badeb0b0f02f --- .../accessibility/MagnificationModeSwitch.java | 3 ++- .../accessibility/MagnificationModeSwitchTest.java | 10 ++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/MagnificationModeSwitch.java b/packages/SystemUI/src/com/android/systemui/accessibility/MagnificationModeSwitch.java index ee7eb4b50bcb8..964b135d7b50c 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/MagnificationModeSwitch.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/MagnificationModeSwitch.java @@ -16,6 +16,7 @@ package com.android.systemui.accessibility; +import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_NONE; import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW; import android.annotation.NonNull; @@ -70,7 +71,7 @@ class MagnificationModeSwitch implements MagnificationGestureDetector.OnGestureL private final ImageView mImageView; private final Runnable mWindowInsetChangeRunnable; private final SfVsyncFrameCallbackProvider mSfVsyncFrameProvider; - private int mMagnificationMode = Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN; + private int mMagnificationMode = ACCESSIBILITY_MAGNIFICATION_MODE_NONE; private final LayoutParams mParams; @VisibleForTesting final Rect mDraggableWindowBounds = new Rect(); diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/MagnificationModeSwitchTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/MagnificationModeSwitchTest.java index d9a240f4273e5..936ec8021f5e7 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/MagnificationModeSwitchTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/MagnificationModeSwitchTest.java @@ -100,8 +100,6 @@ public class MagnificationModeSwitchTest extends SysuiTestCase { private AccessibilityManager mAccessibilityManager; @Mock private SfVsyncFrameCallbackProvider mSfVsyncFrameProvider; - @Mock - private Handler mHandler; private TestableWindowManager mWindowManager; private ViewPropertyAnimator mViewPropertyAnimator; private MagnificationModeSwitch mMagnificationModeSwitch; @@ -152,12 +150,12 @@ public class MagnificationModeSwitchTest extends SysuiTestCase { } @Test - public void showWindowModeButton_fullscreenMode_addViewAndSetImageResource() { - mMagnificationModeSwitch.showButton(ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW); + public void showFullscreenModeButton_addViewAndSetImageResource() { + mMagnificationModeSwitch.showButton(ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN); verify(mSpyImageView).setImageResource( - getIconResId(ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW)); - verify(mWindowManager).addView(eq(mSpyImageView), any(WindowManager.LayoutParams.class)); + getIconResId(ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN)); + assertEquals(mSpyImageView, mWindowManager.getAttachedView()); assertShowFadingAnimation(FADE_IN_ALPHA); assertShowFadingAnimation(FADE_OUT_ALPHA); }