Merge "Supports multiple-display on activated mode recording." into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
156ca21933
@@ -40,6 +40,8 @@ import android.provider.Settings;
|
|||||||
import android.util.Slog;
|
import android.util.Slog;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
import android.util.SparseBooleanArray;
|
import android.util.SparseBooleanArray;
|
||||||
|
import android.util.SparseIntArray;
|
||||||
|
import android.util.SparseLongArray;
|
||||||
import android.view.accessibility.MagnificationAnimationCallback;
|
import android.view.accessibility.MagnificationAnimationCallback;
|
||||||
|
|
||||||
import com.android.internal.accessibility.util.AccessibilityStatsLogUtils;
|
import com.android.internal.accessibility.util.AccessibilityStatsLogUtils;
|
||||||
@@ -97,20 +99,22 @@ public class MagnificationController implements WindowMagnificationManager.Callb
|
|||||||
private final boolean mSupportWindowMagnification;
|
private final boolean mSupportWindowMagnification;
|
||||||
|
|
||||||
@GuardedBy("mLock")
|
@GuardedBy("mLock")
|
||||||
private int mActivatedMode = ACCESSIBILITY_MAGNIFICATION_MODE_NONE;
|
private final SparseIntArray mCurrentMagnificationModeArray = new SparseIntArray();
|
||||||
@GuardedBy("mLock")
|
@GuardedBy("mLock")
|
||||||
private int mLastActivatedMode = ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN;
|
private final SparseIntArray mLastMagnificationActivatedModeArray = new SparseIntArray();
|
||||||
// Track the active user to reset the magnification and get the associated user settings.
|
// Track the active user to reset the magnification and get the associated user settings.
|
||||||
private @UserIdInt int mUserId = UserHandle.USER_SYSTEM;
|
private @UserIdInt int mUserId = UserHandle.USER_SYSTEM;
|
||||||
@GuardedBy("mLock")
|
@GuardedBy("mLock")
|
||||||
private final SparseBooleanArray mIsImeVisibleArray = new SparseBooleanArray();
|
private final SparseBooleanArray mIsImeVisibleArray = new SparseBooleanArray();
|
||||||
private long mWindowModeEnabledTime = 0;
|
@GuardedBy("mLock")
|
||||||
private long mFullScreenModeEnabledTime = 0;
|
private final SparseLongArray mWindowModeEnabledTimeArray = new SparseLongArray();
|
||||||
|
@GuardedBy("mLock")
|
||||||
|
private final SparseLongArray mFullScreenModeEnabledTimeArray = new SparseLongArray();
|
||||||
|
|
||||||
@GuardedBy("mLock")
|
@GuardedBy("mLock")
|
||||||
@Nullable
|
private final SparseArray<WindowManagerInternal.AccessibilityControllerInternal
|
||||||
private WindowManagerInternal.AccessibilityControllerInternal.UiChangesForAccessibilityCallbacks
|
.UiChangesForAccessibilityCallbacks> mAccessibilityCallbacksDelegateArray =
|
||||||
mAccessibilityCallbacksDelegate;
|
new SparseArray<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A callback to inform the magnification transition result on the given display.
|
* A callback to inform the magnification transition result on the given display.
|
||||||
@@ -333,20 +337,20 @@ public class MagnificationController implements WindowMagnificationManager.Callb
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GuardedBy("mLock")
|
@GuardedBy("mLock")
|
||||||
private void setActivatedModeAndSwitchDelegate(int mode) {
|
private void setCurrentMagnificationModeAndSwitchDelegate(int displayId, int mode) {
|
||||||
mActivatedMode = mode;
|
mCurrentMagnificationModeArray.put(displayId, mode);
|
||||||
assignMagnificationWindowManagerDelegateByMode(mode);
|
assignMagnificationWindowManagerDelegateByMode(displayId, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assignMagnificationWindowManagerDelegateByMode(int mode) {
|
@GuardedBy("mLock")
|
||||||
synchronized (mLock) {
|
private void assignMagnificationWindowManagerDelegateByMode(int displayId, int mode) {
|
||||||
if (mode == ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN) {
|
if (mode == ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN) {
|
||||||
mAccessibilityCallbacksDelegate = getFullScreenMagnificationController();
|
mAccessibilityCallbacksDelegateArray.put(displayId,
|
||||||
} else if (mode == ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW) {
|
getFullScreenMagnificationController());
|
||||||
mAccessibilityCallbacksDelegate = getWindowMagnificationMgr();
|
} else if (mode == ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW) {
|
||||||
} else {
|
mAccessibilityCallbacksDelegateArray.put(displayId, getWindowMagnificationMgr());
|
||||||
mAccessibilityCallbacksDelegate = null;
|
} else {
|
||||||
}
|
mAccessibilityCallbacksDelegateArray.delete(displayId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -356,7 +360,7 @@ public class MagnificationController implements WindowMagnificationManager.Callb
|
|||||||
WindowManagerInternal.AccessibilityControllerInternal.UiChangesForAccessibilityCallbacks
|
WindowManagerInternal.AccessibilityControllerInternal.UiChangesForAccessibilityCallbacks
|
||||||
delegate;
|
delegate;
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
delegate = mAccessibilityCallbacksDelegate;
|
delegate = mAccessibilityCallbacksDelegateArray.get(displayId);
|
||||||
}
|
}
|
||||||
if (delegate != null) {
|
if (delegate != null) {
|
||||||
delegate.onRectangleOnScreenRequested(displayId, left, top, right, bottom);
|
delegate.onRectangleOnScreenRequested(displayId, left, top, right, bottom);
|
||||||
@@ -378,25 +382,26 @@ public class MagnificationController implements WindowMagnificationManager.Callb
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO : supporting multi-display (b/182227245).
|
|
||||||
@Override
|
@Override
|
||||||
public void onWindowMagnificationActivationState(int displayId, boolean activated) {
|
public void onWindowMagnificationActivationState(int displayId, boolean activated) {
|
||||||
if (activated) {
|
if (activated) {
|
||||||
mWindowModeEnabledTime = SystemClock.uptimeMillis();
|
|
||||||
|
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
setActivatedModeAndSwitchDelegate(ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW);
|
mWindowModeEnabledTimeArray.put(displayId, SystemClock.uptimeMillis());
|
||||||
mLastActivatedMode = mActivatedMode;
|
setCurrentMagnificationModeAndSwitchDelegate(displayId,
|
||||||
|
ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW);
|
||||||
|
mLastMagnificationActivatedModeArray.put(displayId,
|
||||||
|
ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW);
|
||||||
}
|
}
|
||||||
logMagnificationModeWithImeOnIfNeeded(displayId);
|
logMagnificationModeWithImeOnIfNeeded(displayId);
|
||||||
disableFullScreenMagnificationIfNeeded(displayId);
|
disableFullScreenMagnificationIfNeeded(displayId);
|
||||||
} else {
|
} else {
|
||||||
logMagnificationUsageState(ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW,
|
long duration;
|
||||||
SystemClock.uptimeMillis() - mWindowModeEnabledTime);
|
|
||||||
|
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
setActivatedModeAndSwitchDelegate(ACCESSIBILITY_MAGNIFICATION_MODE_NONE);
|
setCurrentMagnificationModeAndSwitchDelegate(displayId,
|
||||||
|
ACCESSIBILITY_MAGNIFICATION_MODE_NONE);
|
||||||
|
duration = SystemClock.uptimeMillis() - mWindowModeEnabledTimeArray.get(displayId);
|
||||||
}
|
}
|
||||||
|
logMagnificationUsageState(ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW, duration);
|
||||||
}
|
}
|
||||||
updateMagnificationButton(displayId, ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW);
|
updateMagnificationButton(displayId, ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW);
|
||||||
}
|
}
|
||||||
@@ -437,21 +442,24 @@ public class MagnificationController implements WindowMagnificationManager.Callb
|
|||||||
@Override
|
@Override
|
||||||
public void onFullScreenMagnificationActivationState(int displayId, boolean activated) {
|
public void onFullScreenMagnificationActivationState(int displayId, boolean activated) {
|
||||||
if (activated) {
|
if (activated) {
|
||||||
mFullScreenModeEnabledTime = SystemClock.uptimeMillis();
|
|
||||||
|
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
setActivatedModeAndSwitchDelegate(ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN);
|
mFullScreenModeEnabledTimeArray.put(displayId, SystemClock.uptimeMillis());
|
||||||
mLastActivatedMode = mActivatedMode;
|
setCurrentMagnificationModeAndSwitchDelegate(displayId,
|
||||||
|
ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN);
|
||||||
|
mLastMagnificationActivatedModeArray.put(displayId,
|
||||||
|
ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN);
|
||||||
}
|
}
|
||||||
logMagnificationModeWithImeOnIfNeeded(displayId);
|
logMagnificationModeWithImeOnIfNeeded(displayId);
|
||||||
disableWindowMagnificationIfNeeded(displayId);
|
disableWindowMagnificationIfNeeded(displayId);
|
||||||
} else {
|
} else {
|
||||||
logMagnificationUsageState(ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN,
|
long duration;
|
||||||
SystemClock.uptimeMillis() - mFullScreenModeEnabledTime);
|
|
||||||
|
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
setActivatedModeAndSwitchDelegate(ACCESSIBILITY_MAGNIFICATION_MODE_NONE);
|
setCurrentMagnificationModeAndSwitchDelegate(displayId,
|
||||||
|
ACCESSIBILITY_MAGNIFICATION_MODE_NONE);
|
||||||
|
duration = SystemClock.uptimeMillis()
|
||||||
|
- mFullScreenModeEnabledTimeArray.get(displayId);
|
||||||
}
|
}
|
||||||
|
logMagnificationUsageState(ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN, duration);
|
||||||
}
|
}
|
||||||
updateMagnificationButton(displayId, ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN);
|
updateMagnificationButton(displayId, ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN);
|
||||||
}
|
}
|
||||||
@@ -477,9 +485,10 @@ public class MagnificationController implements WindowMagnificationManager.Callb
|
|||||||
* Returns the last activated magnification mode. If there is no activated magnifier before, it
|
* Returns the last activated magnification mode. If there is no activated magnifier before, it
|
||||||
* returns fullscreen mode by default.
|
* returns fullscreen mode by default.
|
||||||
*/
|
*/
|
||||||
public int getLastActivatedMode() {
|
public int getLastMagnificationActivatedMode(int displayId) {
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
return mLastActivatedMode;
|
return mLastMagnificationActivatedModeArray.get(displayId,
|
||||||
|
ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -522,7 +531,10 @@ public class MagnificationController implements WindowMagnificationManager.Callb
|
|||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
fullMagnificationController = mFullScreenMagnificationController;
|
fullMagnificationController = mFullScreenMagnificationController;
|
||||||
windowMagnificationManager = mWindowMagnificationMgr;
|
windowMagnificationManager = mWindowMagnificationMgr;
|
||||||
mLastActivatedMode = ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN;
|
mAccessibilityCallbacksDelegateArray.clear();
|
||||||
|
mCurrentMagnificationModeArray.clear();
|
||||||
|
mLastMagnificationActivatedModeArray.clear();
|
||||||
|
mIsImeVisibleArray.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
mScaleProvider.onUserChanged(userId);
|
mScaleProvider.onUserChanged(userId);
|
||||||
@@ -547,6 +559,10 @@ public class MagnificationController implements WindowMagnificationManager.Callb
|
|||||||
if (mWindowMagnificationMgr != null) {
|
if (mWindowMagnificationMgr != null) {
|
||||||
mWindowMagnificationMgr.onDisplayRemoved(displayId);
|
mWindowMagnificationMgr.onDisplayRemoved(displayId);
|
||||||
}
|
}
|
||||||
|
mAccessibilityCallbacksDelegateArray.delete(displayId);
|
||||||
|
mCurrentMagnificationModeArray.delete(displayId);
|
||||||
|
mLastMagnificationActivatedModeArray.delete(displayId);
|
||||||
|
mIsImeVisibleArray.delete(displayId);
|
||||||
}
|
}
|
||||||
mScaleProvider.onDisplayRemoved(displayId);
|
mScaleProvider.onDisplayRemoved(displayId);
|
||||||
}
|
}
|
||||||
@@ -587,16 +603,17 @@ public class MagnificationController implements WindowMagnificationManager.Callb
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void logMagnificationModeWithImeOnIfNeeded(int displayId) {
|
private void logMagnificationModeWithImeOnIfNeeded(int displayId) {
|
||||||
final int mode;
|
final int currentActivateMode;
|
||||||
|
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
|
currentActivateMode = mCurrentMagnificationModeArray.get(displayId,
|
||||||
|
ACCESSIBILITY_MAGNIFICATION_MODE_NONE);
|
||||||
if (!mIsImeVisibleArray.get(displayId, false)
|
if (!mIsImeVisibleArray.get(displayId, false)
|
||||||
|| mActivatedMode == ACCESSIBILITY_MAGNIFICATION_MODE_NONE) {
|
|| currentActivateMode == ACCESSIBILITY_MAGNIFICATION_MODE_NONE) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mode = mActivatedMode;
|
|
||||||
}
|
}
|
||||||
logMagnificationModeWithIme(mode);
|
logMagnificationModeWithIme(currentActivateMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -341,7 +341,8 @@ public class MagnificationProcessor {
|
|||||||
ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN)) {
|
ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN)) {
|
||||||
return MAGNIFICATION_MODE_FULLSCREEN;
|
return MAGNIFICATION_MODE_FULLSCREEN;
|
||||||
} else {
|
} else {
|
||||||
return (mController.getLastActivatedMode() == ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW)
|
return (mController.getLastMagnificationActivatedMode(displayId)
|
||||||
|
== ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW)
|
||||||
? MAGNIFICATION_MODE_WINDOW
|
? MAGNIFICATION_MODE_WINDOW
|
||||||
: MAGNIFICATION_MODE_FULLSCREEN;
|
: MAGNIFICATION_MODE_FULLSCREEN;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,8 +18,11 @@ package com.android.server.accessibility;
|
|||||||
|
|
||||||
import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_FULLSCREEN;
|
import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_FULLSCREEN;
|
||||||
import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_WINDOW;
|
import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_WINDOW;
|
||||||
|
import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN;
|
||||||
|
import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||||
@@ -254,6 +257,20 @@ public class MagnificationProcessorTest {
|
|||||||
assertEquals(MAGNIFICATION_MODE_WINDOW, currentMode);
|
assertEquals(MAGNIFICATION_MODE_WINDOW, currentMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getCurrentMode_changeOtherDisplayMode_returnDefaultModeOnDefaultDisplay() {
|
||||||
|
final int otherDisplayId = TEST_DISPLAY + 1;
|
||||||
|
setMagnificationActivated(otherDisplayId, MAGNIFICATION_MODE_WINDOW);
|
||||||
|
|
||||||
|
int currentMode = mMagnificationProcessor.getControllingMode(TEST_DISPLAY);
|
||||||
|
|
||||||
|
assertFalse(mMockMagnificationController.isActivated(TEST_DISPLAY,
|
||||||
|
ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN));
|
||||||
|
assertFalse(mMockMagnificationController.isActivated(TEST_DISPLAY,
|
||||||
|
ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW));
|
||||||
|
assertEquals(MAGNIFICATION_MODE_FULLSCREEN, currentMode);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void resetFullscreenMagnification_fullscreenMagnificationActivated() {
|
public void resetFullscreenMagnification_fullscreenMagnificationActivated() {
|
||||||
setMagnificationActivated(TEST_DISPLAY, MAGNIFICATION_MODE_FULLSCREEN);
|
setMagnificationActivated(TEST_DISPLAY, MAGNIFICATION_MODE_FULLSCREEN);
|
||||||
|
|||||||
@@ -555,7 +555,22 @@ public class MagnificationControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onRectangleOnScreenRequested_NoneIsActivated_noneDispatchEvent() {
|
public void onRectangleOnScreenRequested_noneIsActivated_noneDispatchEvent() {
|
||||||
|
UiChangesForAccessibilityCallbacks callbacks = getUiChangesForAccessibilityCallbacks();
|
||||||
|
|
||||||
|
callbacks.onRectangleOnScreenRequested(TEST_DISPLAY,
|
||||||
|
TEST_RECT.left, TEST_RECT.top, TEST_RECT.right, TEST_RECT.bottom);
|
||||||
|
|
||||||
|
verify(mScreenMagnificationController, never()).onRectangleOnScreenRequested(
|
||||||
|
eq(TEST_DISPLAY), anyInt(), anyInt(), anyInt(), anyInt());
|
||||||
|
verify(mWindowMagnificationManager, never()).onRectangleOnScreenRequested(anyInt(),
|
||||||
|
anyInt(), anyInt(), anyInt(), anyInt());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onRectangleOnScreenRequested_otherDisplayIsActivated_noneEventOnDefaultDisplay() {
|
||||||
|
mMagnificationController.onFullScreenMagnificationActivationState(TEST_DISPLAY + 1,
|
||||||
|
true);
|
||||||
UiChangesForAccessibilityCallbacks callbacks = getUiChangesForAccessibilityCallbacks();
|
UiChangesForAccessibilityCallbacks callbacks = getUiChangesForAccessibilityCallbacks();
|
||||||
|
|
||||||
callbacks.onRectangleOnScreenRequested(TEST_DISPLAY,
|
callbacks.onRectangleOnScreenRequested(TEST_DISPLAY,
|
||||||
@@ -578,6 +593,41 @@ public class MagnificationControllerTest {
|
|||||||
assertFalse(mScreenMagnificationController.isMagnifying(TEST_DISPLAY));
|
assertFalse(mScreenMagnificationController.isMagnifying(TEST_DISPLAY));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getLastActivatedMode_switchMode_returnExpectedLastActivatedMode()
|
||||||
|
throws RemoteException {
|
||||||
|
activateMagnifier(MODE_WINDOW, MAGNIFIED_CENTER_X, MAGNIFIED_CENTER_Y);
|
||||||
|
|
||||||
|
final int lastActivatedMode = mMagnificationController
|
||||||
|
.getLastMagnificationActivatedMode(TEST_DISPLAY);
|
||||||
|
|
||||||
|
assertEquals(ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW, lastActivatedMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getLastActivatedMode_switchModeAtOtherDisplay_returnExpectedLastActivatedMode()
|
||||||
|
throws RemoteException {
|
||||||
|
activateMagnifier(TEST_DISPLAY, MODE_WINDOW, MAGNIFIED_CENTER_X, MAGNIFIED_CENTER_Y);
|
||||||
|
activateMagnifier(TEST_DISPLAY + 1, MODE_FULLSCREEN, MAGNIFIED_CENTER_X,
|
||||||
|
MAGNIFIED_CENTER_Y);
|
||||||
|
|
||||||
|
final int lastActivatedMode = mMagnificationController
|
||||||
|
.getLastMagnificationActivatedMode(TEST_DISPLAY);
|
||||||
|
|
||||||
|
assertEquals(ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW, lastActivatedMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getLastActivatedMode_otherDisplayIsActivated_defaultModeOnDefaultDisplay()
|
||||||
|
throws RemoteException {
|
||||||
|
activateMagnifier(TEST_DISPLAY + 1, MODE_WINDOW, MAGNIFIED_CENTER_X, MAGNIFIED_CENTER_Y);
|
||||||
|
|
||||||
|
int lastActivatedMode = mMagnificationController
|
||||||
|
.getLastMagnificationActivatedMode(TEST_DISPLAY);
|
||||||
|
|
||||||
|
assertEquals(ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN, lastActivatedMode);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onFullScreenMagnificationActivationState_fullScreenEnabled_logFullScreenDuration() {
|
public void onFullScreenMagnificationActivationState_fullScreenEnabled_logFullScreenDuration() {
|
||||||
MagnificationController spyController = spy(mMagnificationController);
|
MagnificationController spyController = spy(mMagnificationController);
|
||||||
@@ -818,17 +868,22 @@ public class MagnificationControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void activateMagnifier(int mode, float centerX, float centerY) throws RemoteException {
|
private void activateMagnifier(int mode, float centerX, float centerY) throws RemoteException {
|
||||||
|
activateMagnifier(TEST_DISPLAY, mode, centerX, centerY);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void activateMagnifier(int displayId, int mode, float centerX, float centerY)
|
||||||
|
throws RemoteException {
|
||||||
final boolean windowMagnifying = mWindowMagnificationManager.isWindowMagnifierEnabled(
|
final boolean windowMagnifying = mWindowMagnificationManager.isWindowMagnifierEnabled(
|
||||||
TEST_DISPLAY);
|
displayId);
|
||||||
if (windowMagnifying) {
|
if (windowMagnifying) {
|
||||||
mWindowMagnificationManager.disableWindowMagnification(TEST_DISPLAY, false);
|
mWindowMagnificationManager.disableWindowMagnification(displayId, false);
|
||||||
mMockConnection.invokeCallbacks();
|
mMockConnection.invokeCallbacks();
|
||||||
}
|
}
|
||||||
if (mode == MODE_FULLSCREEN) {
|
if (mode == MODE_FULLSCREEN) {
|
||||||
mScreenMagnificationController.setScaleAndCenter(TEST_DISPLAY, DEFAULT_SCALE, centerX,
|
mScreenMagnificationController.setScaleAndCenter(displayId, DEFAULT_SCALE, centerX,
|
||||||
centerY, true, AccessibilityManagerService.MAGNIFICATION_GESTURE_HANDLER_ID);
|
centerY, true, AccessibilityManagerService.MAGNIFICATION_GESTURE_HANDLER_ID);
|
||||||
} else {
|
} else {
|
||||||
mWindowMagnificationManager.enableWindowMagnification(TEST_DISPLAY, DEFAULT_SCALE,
|
mWindowMagnificationManager.enableWindowMagnification(displayId, DEFAULT_SCALE,
|
||||||
centerX, centerY, null, TEST_SERVICE_ID);
|
centerX, centerY, null, TEST_SERVICE_ID);
|
||||||
mMockConnection.invokeCallbacks();
|
mMockConnection.invokeCallbacks();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user