summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author mincheli <mincheli@google.com> 2020-10-16 17:12:01 +0800
committer mincheli <mincheli@google.com> 2020-10-20 12:11:11 +0800
commit3dc097679ddb1210b74db2c5c94aee70bec0c65b (patch)
tree96ed4b1d02cfa0d866b77e22fbb20152130c1ead
parentb27f59f6ac11e1a3132077632e100b1710e14283 (diff)
Stores magnification mode settings for multi-user
Stores the settings with the current user handle when toggling the magnification switch button. It can prevent the magnification mode settings missmatched when AccessibilityManagerService.switchUser is called. Bug: 171007010 Test: atest MagnificationModeSwitchTest Change-Id: I074b7e427fc3d6ac068be0380704beafd7f7aa0e
-rw-r--r--packages/SystemUI/src/com/android/systemui/accessibility/MagnificationModeSwitch.java8
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/accessibility/MagnificationModeSwitchTest.java9
2 files changed, 11 insertions, 6 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/MagnificationModeSwitch.java b/packages/SystemUI/src/com/android/systemui/accessibility/MagnificationModeSwitch.java
index c6e5f09af572..64a2acab79ee 100644
--- a/packages/SystemUI/src/com/android/systemui/accessibility/MagnificationModeSwitch.java
+++ b/packages/SystemUI/src/com/android/systemui/accessibility/MagnificationModeSwitch.java
@@ -24,6 +24,7 @@ import android.content.pm.ActivityInfo;
import android.graphics.PixelFormat;
import android.graphics.PointF;
import android.os.Bundle;
+import android.os.UserHandle;
import android.provider.Settings;
import android.util.MathUtils;
import android.view.Gravity;
@@ -232,8 +233,11 @@ class MagnificationModeSwitch {
mMagnificationMode ^ Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_ALL;
mMagnificationMode = newMode;
mImageView.setImageResource(getIconResId(newMode));
- Settings.Secure.putInt(mContext.getContentResolver(),
- Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE, newMode);
+ Settings.Secure.putIntForUser(
+ mContext.getContentResolver(),
+ Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE,
+ newMode,
+ UserHandle.USER_CURRENT);
}
private void handleSingleTap() {
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 3da1f297dfe9..c923515fc8cc 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/MagnificationModeSwitchTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/MagnificationModeSwitchTest.java
@@ -43,6 +43,7 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.pm.ActivityInfo;
+import android.os.UserHandle;
import android.provider.Settings;
import android.testing.AndroidTestingRunner;
import android.view.MotionEvent;
@@ -186,8 +187,8 @@ public class MagnificationModeSwitchTest extends SysuiTestCase {
// Perform dragging
final View.OnTouchListener listener = mTouchListenerCaptor.getValue();
final int offset = ViewConfiguration.get(mContext).getScaledTouchSlop();
- final int previousMode = Settings.Secure.getInt(mContext.getContentResolver(),
- Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE, 0);
+ final int previousMode = Settings.Secure.getIntForUser(mContext.getContentResolver(),
+ Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE, 0, UserHandle.USER_CURRENT);
listener.onTouch(mSpyImageView, MotionEvent.obtain(
0, 0, ACTION_DOWN, 100, 100, 0));
verify(mViewPropertyAnimator).cancel();
@@ -334,8 +335,8 @@ public class MagnificationModeSwitchTest extends SysuiTestCase {
verify(mSpyImageView).setImageResource(
getIconResId(expectedMode));
verify(mWindowManager).removeView(mSpyImageView);
- final int actualMode = Settings.Secure.getInt(mContext.getContentResolver(),
- Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE, 0);
+ final int actualMode = Settings.Secure.getIntForUser(mContext.getContentResolver(),
+ Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE, 0, UserHandle.USER_CURRENT);
assertEquals(expectedMode, actualMode);
}
}