diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationController.java b/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationController.java
index 718da9e390ab9..8f30aa9acc79b 100644
--- a/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationController.java
+++ b/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationController.java
@@ -353,7 +353,7 @@ public class FullScreenMagnificationController {
mMagnificationActivated = spec.scale > 1.0f;
if (mMagnificationActivated != lastMagnificationActivated) {
mMagnificationInfoChangedCallback.onFullScreenMagnificationActivationState(
- mMagnificationActivated);
+ mDisplayId, mMagnificationActivated);
}
}
@@ -1614,9 +1614,10 @@ public class FullScreenMagnificationController {
* Called when the state of the magnification activation is changed.
* It is for the logging data of the magnification activation state.
*
+ * @param displayId The logical display id.
* @param activated {@code true} if the magnification is activated, otherwise {@code false}.
*/
- void onFullScreenMagnificationActivationState(boolean activated);
+ void onFullScreenMagnificationActivationState(int displayId, boolean activated);
/**
* Called when the IME window visibility changed.
diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java b/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java
index c3d8d4c2c96a7..8f4a5cb4dad03 100644
--- a/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java
+++ b/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java
@@ -869,8 +869,6 @@ public class FullScreenMagnificationGestureHandler extends MagnificationGestureH
mPromptController.showNotificationIfNeeded();
zoomOn(up.getX(), up.getY());
}
-
- mCallback.onTripleTapped(mDisplayId, getMode());
}
private boolean isMagnifying() {
diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationController.java b/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationController.java
index 19601b4eff5a6..5a6836c2d771d 100644
--- a/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationController.java
+++ b/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationController.java
@@ -48,11 +48,12 @@ import com.android.server.accessibility.AccessibilityManagerService;
* the user touch interaction starts if magnification capabilities is all.
*
2. {@link #onTouchInteractionEnd} shows magnification switch UI when
* the user touch interaction ends if magnification capabilities is all.
- * 3. {@link #onShortcutTriggered} updates magnification switch UI depending on
- * magnification capabilities and magnification active state when magnification shortcut
- * is triggered.
- * 4. {@link #onTripleTapped} updates magnification switch UI depending on magnification
- * capabilities and magnification active state when triple-tap gesture is detected.
+ * 3. {@link #onWindowMagnificationActivationState} updates magnification switch UI
+ * depending on magnification capabilities and magnification active state when window
+ * magnification activation state change.
+ * 4. {@link #onFullScreenMagnificationActivationState} updates magnification switch UI
+ * depending on magnification capabilities and magnification active state when fullscreen
+ * magnification activation state change.
* 4. {@link #onRequestMagnificationSpec} updates magnification switch UI depending on
* magnification capabilities and magnification active state when new magnification spec is
* changed by external request from calling public APIs.
@@ -142,16 +143,6 @@ public class MagnificationController implements WindowMagnificationManager.Callb
}
}
- @Override
- public void onShortcutTriggered(int displayId, int mode) {
- updateMagnificationButton(displayId, mode);
- }
-
- @Override
- public void onTripleTapped(int displayId, int mode) {
- updateMagnificationButton(displayId, mode);
- }
-
private void updateMagnificationButton(int displayId, int mode) {
final boolean isActivated = isActivated(displayId, mode);
final boolean showButton;
@@ -250,6 +241,7 @@ public class MagnificationController implements WindowMagnificationManager.Callb
mActivatedMode = ACCESSIBILITY_MAGNIFICATION_MODE_NONE;
}
}
+ updateMagnificationButton(displayId, ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW);
}
private void disableFullScreenMagnificationIfNeeded(int displayId) {
@@ -264,7 +256,7 @@ public class MagnificationController implements WindowMagnificationManager.Callb
}
@Override
- public void onFullScreenMagnificationActivationState(boolean activated) {
+ public void onFullScreenMagnificationActivationState(int displayId, boolean activated) {
if (activated) {
mFullScreenModeEnabledTime = SystemClock.uptimeMillis();
@@ -280,6 +272,7 @@ public class MagnificationController implements WindowMagnificationManager.Callb
mActivatedMode = ACCESSIBILITY_MAGNIFICATION_MODE_NONE;
}
}
+ updateMagnificationButton(displayId, ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN);
}
@Override
diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationGestureHandler.java b/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationGestureHandler.java
index 19b339645557d..28946939e6fd7 100644
--- a/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationGestureHandler.java
+++ b/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationGestureHandler.java
@@ -80,25 +80,6 @@ public abstract class MagnificationGestureHandler extends BaseEventStreamTransfo
* @param mode The magnification mode
*/
void onTouchInteractionEnd(int displayId, int mode);
-
- /**
- * Called when the magnification shortcut is triggered by a user. The magnification
- * shortcut can be accessibility button or volume shortcut.
- *
- * @param displayId The logical display id
- * @param mode The magnification mode
- */
- void onShortcutTriggered(int displayId, int mode);
-
- /**
- * Called when the triple-tap gesture is handled. The magnification
- * shortcut can be a triple-tap gesture or accessibility button.
- * Called when the triple-tap gesture is handled
- *
- * @param displayId The logical display id
- * @param mode The magnification mode
- */
- void onTripleTapped(int displayId, int mode);
}
private final AccessibilityTraceManager mTrace;
@@ -192,7 +173,6 @@ public abstract class MagnificationGestureHandler extends BaseEventStreamTransfo
}
if (mDetectShortcutTrigger) {
handleShortcutTriggered();
- mCallback.onShortcutTriggered(mDisplayId, getMode());
}
}
diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java b/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java
index b26d36493a3e5..bc61284f60843 100644
--- a/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java
+++ b/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java
@@ -202,7 +202,6 @@ public class WindowMagnificationGestureHandler extends MagnificationGestureHandl
Slog.i(mLogTag, "onTripleTap()");
}
toggleMagnification(up.getX(), up.getY());
- mCallback.onTripleTapped(mDisplayId, getMode());
}
void resetToDetectState() {
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationControllerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationControllerTest.java
index fe4fed9da4689..fb5c557c8d4ba 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationControllerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationControllerTest.java
@@ -1138,7 +1138,7 @@ public class FullScreenMagnificationControllerTest {
public void testSetScale_toMagnifying_shouldNotifyActivatedState() {
setScaleToMagnifying();
- verify(mRequestObserver).onFullScreenMagnificationActivationState(eq(true));
+ verify(mRequestObserver).onFullScreenMagnificationActivationState(eq(DISPLAY_0), eq(true));
}
@Test
@@ -1146,7 +1146,7 @@ public class FullScreenMagnificationControllerTest {
setScaleToMagnifying();
mFullScreenMagnificationController.reset(DISPLAY_0, mAnimationCallback);
- verify(mRequestObserver).onFullScreenMagnificationActivationState(eq(false));
+ verify(mRequestObserver).onFullScreenMagnificationActivationState(eq(DISPLAY_0), eq(false));
}
@Test
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandlerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandlerTest.java
index b14c353397e28..6c32f7e8bacb0 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandlerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandlerTest.java
@@ -42,7 +42,6 @@ import android.content.Context;
import android.graphics.PointF;
import android.os.Handler;
import android.os.Message;
-import android.provider.Settings;
import android.util.DebugUtils;
import android.view.InputDevice;
import android.view.MotionEvent;
@@ -458,14 +457,6 @@ public class FullScreenMagnificationGestureHandlerTest {
verify(mWindowMagnificationPromptController).showNotificationIfNeeded();
}
- @Test
- public void testZoomedWithTripleTap_callsOnTripleTapped() {
- goFromStateIdleTo(STATE_ZOOMED_2TAPS);
-
- verify(mMockCallback).onTripleTapped(DISPLAY_0,
- Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN);
- }
-
private void assertActionsInOrder(List actualEvents,
List expectedActions) {
assertTrue(actualEvents.size() == expectedActions.size());
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationControllerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationControllerTest.java
index e82adc8b403b6..2cb3d27229bc5 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationControllerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationControllerTest.java
@@ -380,9 +380,9 @@ public class MagnificationControllerTest {
@Test
public void
onFullScreenMagnificationActivationState_fullScreenActivated_logFullScreenDuration() {
- mMagnificationController.onFullScreenMagnificationActivationState(true);
+ mMagnificationController.onFullScreenMagnificationActivationState(TEST_DISPLAY, true);
- mMagnificationController.onFullScreenMagnificationActivationState(false);
+ mMagnificationController.onFullScreenMagnificationActivationState(TEST_DISPLAY, false);
verify(mMagnificationController).logMagnificationUsageState(
eq(ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN), anyLong());
@@ -460,75 +460,47 @@ public class MagnificationControllerTest {
}
@Test
- public void onShortcutTriggered_windowModeEnabledAndCapabilitiesAll_showMagnificationButton()
+ public void onWindowActivated_windowModeEnabledAndCapabilitiesAll_showMagnificationButton()
throws RemoteException {
setMagnificationEnabled(MODE_WINDOW);
- mMagnificationController.onShortcutTriggered(TEST_DISPLAY, MODE_WINDOW);
+ mMagnificationController.onWindowMagnificationActivationState(TEST_DISPLAY, true);
verify(mWindowMagnificationManager).showMagnificationButton(eq(TEST_DISPLAY),
eq(MODE_WINDOW));
}
@Test
- public void onShortcutTriggered_fullscreenEnabledAndCapabilitiesAll_showMagnificationButton()
+ public void onFullScreenActivated_fullscreenEnabledAndCapabilitiesAll_showMagnificationButton()
throws RemoteException {
setMagnificationEnabled(MODE_FULLSCREEN);
- mMagnificationController.onShortcutTriggered(TEST_DISPLAY, MODE_FULLSCREEN);
+ mMagnificationController.onFullScreenMagnificationActivationState(TEST_DISPLAY, true);
verify(mWindowMagnificationManager).showMagnificationButton(eq(TEST_DISPLAY),
eq(MODE_FULLSCREEN));
}
@Test
- public void triggerShortcutToShowMagnificationBound_fullscreenMode_showMagnificationButton() {
- setMagnificationModeSettings(MODE_FULLSCREEN);
-
- when(mScreenMagnificationController.isForceShowMagnifiableBounds(TEST_DISPLAY)).thenReturn(
- true);
- mMagnificationController.onShortcutTriggered(TEST_DISPLAY, MODE_FULLSCREEN);
-
- verify(mWindowMagnificationManager).showMagnificationButton(eq(TEST_DISPLAY),
- eq(MODE_FULLSCREEN));
- }
-
- @Test
- public void onShortcutTriggered_windowModeDisabled_removeMagnificationButton()
+ public void onWindowDeactivated_windowModeInactive_removeMagnificationButton()
throws RemoteException {
+ setMagnificationEnabled(MODE_WINDOW);
+ mWindowMagnificationManager.disableWindowMagnification(TEST_DISPLAY, false);
- mMagnificationController.onShortcutTriggered(TEST_DISPLAY, MODE_WINDOW);
+ mMagnificationController.onWindowMagnificationActivationState(TEST_DISPLAY, false);
verify(mWindowMagnificationManager).removeMagnificationButton(eq(TEST_DISPLAY));
}
@Test
- public void onTripleTap_windowModeEnabledAndCapabilitiesAll_showMagnificationButton()
- throws RemoteException {
- setMagnificationEnabled(MODE_WINDOW);
-
- mMagnificationController.onTripleTapped(TEST_DISPLAY, MODE_WINDOW);
-
- verify(mWindowMagnificationManager).showMagnificationButton(eq(TEST_DISPLAY),
- eq(MODE_WINDOW));
- }
-
- @Test
- public void onTripleTap_fullscreenEnabledAndCapabilitiesAll_showMagnificationButton()
+ public void onFullScreenDeactivated_fullscreenModeInactive_removeMagnificationButton()
throws RemoteException {
setMagnificationEnabled(MODE_FULLSCREEN);
+ mScreenMagnificationController.setScaleAndCenter(TEST_DISPLAY,
+ /* scale= */1, MAGNIFIED_CENTER_X, MAGNIFIED_CENTER_Y,
+ true, TEST_SERVICE_ID);
- mMagnificationController.onTripleTapped(TEST_DISPLAY, MODE_FULLSCREEN);
-
- verify(mWindowMagnificationManager).showMagnificationButton(eq(TEST_DISPLAY),
- eq(MODE_FULLSCREEN));
- }
-
- @Test
- public void onTripleTap_windowModeDisabled_removeMagnificationButton()
- throws RemoteException {
-
- mMagnificationController.onTripleTapped(TEST_DISPLAY, MODE_WINDOW);
+ mMagnificationController.onFullScreenMagnificationActivationState(TEST_DISPLAY, false);
verify(mWindowMagnificationManager).removeMagnificationButton(eq(TEST_DISPLAY));
}
@@ -574,7 +546,7 @@ public class MagnificationControllerTest {
@Test
public void imeWindowStateShown_fullScreenMagnifying_logFullScreenMode() {
- mMagnificationController.onFullScreenMagnificationActivationState(true);
+ mMagnificationController.onFullScreenMagnificationActivationState(TEST_DISPLAY, true);
mMagnificationController.onImeWindowVisibilityChanged(true);
@@ -591,7 +563,7 @@ public class MagnificationControllerTest {
@Test
public void imeWindowStateHidden_windowMagnifying_noLogAnyMode() {
- mMagnificationController.onFullScreenMagnificationActivationState(true);
+ mMagnificationController.onFullScreenMagnificationActivationState(TEST_DISPLAY, true);
verify(mMagnificationController, never()).logMagnificationModeWithIme(anyInt());
}
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationGestureHandlerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationGestureHandlerTest.java
index ef6ed88011efe..d3016216d1a34 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationGestureHandlerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationGestureHandlerTest.java
@@ -121,14 +121,6 @@ public class MagnificationGestureHandlerTest {
}
}
-
- @Test
- public void notifyShortcutTriggered_callsOnShortcutTriggered() {
- mMgh.notifyShortcutTriggered();
-
- verify(mCallback).onShortcutTriggered(eq(DISPLAY_0), eq(mMgh.getMode()));
- }
-
private static class TestMagnificationGestureHandler extends MagnificationGestureHandler {
boolean mIsInternalMethodCalled = false;
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/magnification/WindowMagnificationGestureHandlerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/magnification/WindowMagnificationGestureHandlerTest.java
index 6a5aae672881f..95f43275376e5 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/magnification/WindowMagnificationGestureHandlerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/magnification/WindowMagnificationGestureHandlerTest.java
@@ -19,9 +19,7 @@ package com.android.server.accessibility.magnification;
import static com.android.server.testutils.TestUtils.strictMock;
import static org.junit.Assert.fail;
-import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
import android.content.Context;
import android.graphics.PointF;
@@ -150,14 +148,6 @@ public class WindowMagnificationGestureHandlerTest {
});
}
- @Test
- public void onTripleTap_callsOnTripleTapped() {
- goFromStateIdleTo(STATE_SHOW_MAGNIFIER_TRIPLE_TAP);
-
- verify(mMockCallback).onTripleTapped(eq(DISPLAY_0),
- eq(mWindowMagnificationGestureHandler.getMode()));
- }
-
private void forEachState(IntConsumer action) {
for (int state = FIRST_STATE; state <= LAST_STATE; state++) {
action.accept(state);