Loading core/api/current.txt +4 −4 Original line number Diff line number Diff line Loading @@ -3264,9 +3264,9 @@ package android.accessibilityservice { method public float getScale(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.accessibilityservice.MagnificationConfig> CREATOR; field public static final int DEFAULT_MODE = 0; // 0x0 field public static final int FULLSCREEN_MODE = 1; // 0x1 field public static final int WINDOW_MODE = 2; // 0x2 field public static final int MAGNIFICATION_MODE_DEFAULT = 0; // 0x0 field public static final int MAGNIFICATION_MODE_FULLSCREEN = 1; // 0x1 field public static final int MAGNIFICATION_MODE_WINDOW = 2; // 0x2 } public static final class MagnificationConfig.Builder { Loading @@ -3275,7 +3275,7 @@ package android.accessibilityservice { method @NonNull public android.accessibilityservice.MagnificationConfig.Builder setCenterX(float); method @NonNull public android.accessibilityservice.MagnificationConfig.Builder setCenterY(float); method @NonNull public android.accessibilityservice.MagnificationConfig.Builder setMode(int); method @NonNull public android.accessibilityservice.MagnificationConfig.Builder setScale(float); method @NonNull public android.accessibilityservice.MagnificationConfig.Builder setScale(@FloatRange(from=1.0f, to=8.0f) float); } public final class TouchInteractionController { core/java/android/accessibilityservice/MagnificationConfig.java +32 −25 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.accessibilityservice; import android.annotation.FloatRange; import android.annotation.IntDef; import android.annotation.NonNull; import android.os.Parcel; Loading @@ -29,20 +30,21 @@ import java.lang.annotation.RetentionPolicy; * magnification. * * <p> * When the magnification config uses {@link #DEFAULT_MODE}, * When the magnification config uses {@link #MAGNIFICATION_MODE_DEFAULT}, * {@link AccessibilityService} will be able to control the activated magnifier on the display. * If there is no magnifier activated, it controls the last-activated magnification mode. * If there is no magnifier activated before, it controls full-screen magnifier by default. * </p> * * <p> * When the magnification config uses {@link #FULLSCREEN_MODE}. {@link AccessibilityService} will * be able to control full-screen magnifier on the display. * When the magnification config uses {@link #MAGNIFICATION_MODE_FULLSCREEN}. * {@link AccessibilityService} will be able to control full-screen magnifier on the display. * </p> * * <p> * When the magnification config uses {@link #WINDOW_MODE}. {@link AccessibilityService} will be * able to control the activated window magnifier on the display. * When the magnification config uses {@link #MAGNIFICATION_MODE_WINDOW}. * {@link AccessibilityService} will be able to control the activated window magnifier * on the display. * </p> * * <p> Loading @@ -54,22 +56,23 @@ import java.lang.annotation.RetentionPolicy; public final class MagnificationConfig implements Parcelable { /** The controlling magnification mode. It controls the activated magnifier. */ public static final int DEFAULT_MODE = 0; public static final int MAGNIFICATION_MODE_DEFAULT = 0; /** The controlling magnification mode. It controls fullscreen magnifier. */ public static final int FULLSCREEN_MODE = 1; public static final int MAGNIFICATION_MODE_FULLSCREEN = 1; /** The controlling magnification mode. It controls window magnifier. */ public static final int WINDOW_MODE = 2; public static final int MAGNIFICATION_MODE_WINDOW = 2; /** @hide */ @IntDef(prefix = {"MAGNIFICATION_MODE"}, value = { DEFAULT_MODE, FULLSCREEN_MODE, WINDOW_MODE, MAGNIFICATION_MODE_DEFAULT, MAGNIFICATION_MODE_FULLSCREEN, MAGNIFICATION_MODE_WINDOW, }) @Retention(RetentionPolicy.SOURCE) @interface MAGNIFICATION_MODE { @interface MagnificationMode { } private int mMode = DEFAULT_MODE; private int mMode = MAGNIFICATION_MODE_DEFAULT; private float mScale = Float.NaN; private float mCenterX = Float.NaN; private float mCenterY = Float.NaN; Loading Loading @@ -107,9 +110,9 @@ public final class MagnificationConfig implements Parcelable { /** * Returns the screen-relative X coordinate of the center of the magnification viewport. * * @return the X coordinate. If the controlling magnifier is {@link #WINDOW_MODE} but not * enabled, it returns {@link Float#NaN}. If the controlling magnifier is {@link * #FULLSCREEN_MODE} but not enabled, it returns 0 * @return the X coordinate. If the controlling magnifier is {@link #MAGNIFICATION_MODE_WINDOW} * but not enabled, it returns {@link Float#NaN}. If the controlling magnifier is {@link * #MAGNIFICATION_MODE_FULLSCREEN} but not enabled, it returns 0 */ public float getCenterX() { return mCenterX; Loading @@ -118,9 +121,9 @@ public final class MagnificationConfig implements Parcelable { /** * Returns the screen-relative Y coordinate of the center of the magnification viewport. * * @return the Y coordinate If the controlling magnifier is {@link #WINDOW_MODE} but not * enabled, it returns {@link Float#NaN}. If the controlling magnifier is {@link * #FULLSCREEN_MODE} but not enabled, it returns 0 * @return the Y coordinate If the controlling magnifier is {@link #MAGNIFICATION_MODE_WINDOW} * but not enabled, it returns {@link Float#NaN}. If the controlling magnifier is {@link * #MAGNIFICATION_MODE_FULLSCREEN} but not enabled, it returns 0 */ public float getCenterY() { return mCenterY; Loading Loading @@ -159,7 +162,7 @@ public final class MagnificationConfig implements Parcelable { */ public static final class Builder { private int mMode = DEFAULT_MODE; private int mMode = MAGNIFICATION_MODE_DEFAULT; private float mScale = Float.NaN; private float mCenterX = Float.NaN; private float mCenterY = Float.NaN; Loading @@ -177,7 +180,7 @@ public final class MagnificationConfig implements Parcelable { * @return This builder */ @NonNull public MagnificationConfig.Builder setMode(@MAGNIFICATION_MODE int mode) { public MagnificationConfig.Builder setMode(@MagnificationMode int mode) { mMode = mode; return this; } Loading @@ -185,20 +188,22 @@ public final class MagnificationConfig implements Parcelable { /** * Sets the magnification scale. * * @param scale The magnification scale * @param scale The magnification scale, in the range [1, 8] * @return This builder */ @NonNull public MagnificationConfig.Builder setScale(float scale) { public MagnificationConfig.Builder setScale(@FloatRange(from = 1f, to = 8f) float scale) { mScale = scale; return this; } /** * Sets the X coordinate of the center of the magnification viewport. * The controlling magnifier will apply the given position. * * @param centerX the screen-relative X coordinate around which to * center and scale, or {@link Float#NaN} to leave unchanged * center and scale that is in the range [0, screenWidth], * or {@link Float#NaN} to leave unchanged * @return This builder */ @NonNull Loading @@ -209,9 +214,11 @@ public final class MagnificationConfig implements Parcelable { /** * Sets the Y coordinate of the center of the magnification viewport. * The controlling magnifier will apply the given position. * * @param centerY the screen-relative Y coordinate around which to * center and scale, or {@link Float#NaN} to leave unchanged * center and scale that is in the range [0, screenHeight], * or {@link Float#NaN} to leave unchanged * @return This builder */ @NonNull Loading services/accessibility/java/com/android/server/accessibility/magnification/MagnificationProcessor.java +24 −24 Original line number Diff line number Diff line Loading @@ -16,9 +16,9 @@ package com.android.server.accessibility.magnification; import static android.accessibilityservice.MagnificationConfig.DEFAULT_MODE; import static android.accessibilityservice.MagnificationConfig.FULLSCREEN_MODE; import static android.accessibilityservice.MagnificationConfig.WINDOW_MODE; import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_DEFAULT; import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_FULLSCREEN; 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; Loading Loading @@ -66,14 +66,14 @@ public class MagnificationProcessor { public @NonNull MagnificationConfig getMagnificationConfig(int displayId) { final int mode = getControllingMode(displayId); MagnificationConfig.Builder builder = new MagnificationConfig.Builder(); if (mode == FULLSCREEN_MODE) { if (mode == MAGNIFICATION_MODE_FULLSCREEN) { final FullScreenMagnificationController fullScreenMagnificationController = mController.getFullScreenMagnificationController(); builder.setMode(mode) .setScale(fullScreenMagnificationController.getScale(displayId)) .setCenterX(fullScreenMagnificationController.getCenterX(displayId)) .setCenterY(fullScreenMagnificationController.getCenterY(displayId)); } else if (mode == WINDOW_MODE) { } else if (mode == MAGNIFICATION_MODE_WINDOW) { final WindowMagnificationManager windowMagnificationManager = mController.getWindowMagnificationMgr(); builder.setMode(mode) Loading Loading @@ -103,14 +103,14 @@ public class MagnificationProcessor { } int configMode = config.getMode(); if (configMode == DEFAULT_MODE) { if (configMode == MAGNIFICATION_MODE_DEFAULT) { configMode = getControllingMode(displayId); } if (configMode == FULLSCREEN_MODE) { if (configMode == MAGNIFICATION_MODE_FULLSCREEN) { return setScaleAndCenterForFullScreenMagnification(displayId, config.getScale(), config.getCenterX(), config.getCenterY(), animate, id); } else if (configMode == WINDOW_MODE) { } else if (configMode == MAGNIFICATION_MODE_WINDOW) { return mController.getWindowMagnificationMgr().enableWindowMagnification(displayId, config.getScale(), config.getCenterX(), config.getCenterY()); } Loading Loading @@ -141,9 +141,9 @@ public class MagnificationProcessor { */ public float getScale(int displayId) { int mode = getControllingMode(displayId); if (mode == FULLSCREEN_MODE) { if (mode == MAGNIFICATION_MODE_FULLSCREEN) { return mController.getFullScreenMagnificationController().getScale(displayId); } else if (mode == WINDOW_MODE) { } else if (mode == MAGNIFICATION_MODE_WINDOW) { return mController.getWindowMagnificationMgr().getScale(displayId); } return 0; Loading @@ -161,7 +161,7 @@ public class MagnificationProcessor { */ public float getCenterX(int displayId, boolean canControlMagnification) { int mode = getControllingMode(displayId); if (mode == FULLSCREEN_MODE) { if (mode == MAGNIFICATION_MODE_FULLSCREEN) { boolean registeredJustForThisCall = registerDisplayMagnificationIfNeeded(displayId, canControlMagnification); try { Loading @@ -171,7 +171,7 @@ public class MagnificationProcessor { unregister(displayId); } } } else if (mode == WINDOW_MODE) { } else if (mode == MAGNIFICATION_MODE_WINDOW) { return mController.getWindowMagnificationMgr().getCenterX(displayId); } return 0; Loading @@ -189,7 +189,7 @@ public class MagnificationProcessor { */ public float getCenterY(int displayId, boolean canControlMagnification) { int mode = getControllingMode(displayId); if (mode == FULLSCREEN_MODE) { if (mode == MAGNIFICATION_MODE_FULLSCREEN) { boolean registeredJustForThisCall = registerDisplayMagnificationIfNeeded(displayId, canControlMagnification); try { Loading @@ -199,7 +199,7 @@ public class MagnificationProcessor { unregister(displayId); } } } else if (mode == WINDOW_MODE) { } else if (mode == MAGNIFICATION_MODE_WINDOW) { return mController.getWindowMagnificationMgr().getCenterY(displayId); } return 0; Loading @@ -221,9 +221,9 @@ public class MagnificationProcessor { public Region getMagnificationRegion(int displayId, @NonNull Region outRegion, boolean canControlMagnification) { int mode = getControllingMode(displayId); if (mode == FULLSCREEN_MODE) { if (mode == MAGNIFICATION_MODE_FULLSCREEN) { getFullscreenMagnificationRegion(displayId, outRegion, canControlMagnification); } else if (mode == WINDOW_MODE) { } else if (mode == MAGNIFICATION_MODE_WINDOW) { mController.getWindowMagnificationMgr().getMagnificationSourceBounds(displayId, outRegion); } Loading Loading @@ -268,9 +268,9 @@ public class MagnificationProcessor { */ public boolean reset(int displayId, boolean animate) { int mode = getControllingMode(displayId); if (mode == FULLSCREEN_MODE) { if (mode == MAGNIFICATION_MODE_FULLSCREEN) { return mController.getFullScreenMagnificationController().reset(displayId, animate); } else if (mode == WINDOW_MODE) { } else if (mode == MAGNIFICATION_MODE_WINDOW) { return mController.getWindowMagnificationMgr().reset(displayId); } return false; Loading @@ -290,9 +290,9 @@ public class MagnificationProcessor { */ public boolean isMagnifying(int displayId) { int mode = getControllingMode(displayId); if (mode == FULLSCREEN_MODE) { if (mode == MAGNIFICATION_MODE_FULLSCREEN) { return mController.getFullScreenMagnificationController().isMagnifying(displayId); } else if (mode == WINDOW_MODE) { } else if (mode == MAGNIFICATION_MODE_WINDOW) { return mController.getWindowMagnificationMgr().isWindowMagnifierEnabled(displayId); } return false; Loading @@ -308,14 +308,14 @@ public class MagnificationProcessor { public int getControllingMode(int displayId) { if (mController.isActivated(displayId, ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW)) { return WINDOW_MODE; return MAGNIFICATION_MODE_WINDOW; } else if (mController.isActivated(displayId, ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN)) { return FULLSCREEN_MODE; return MAGNIFICATION_MODE_FULLSCREEN; } else { return (mController.getLastActivatedMode() == ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW) ? WINDOW_MODE : FULLSCREEN_MODE; ? MAGNIFICATION_MODE_WINDOW : MAGNIFICATION_MODE_FULLSCREEN; } } Loading services/tests/servicestests/src/com/android/server/accessibility/MagnificationProcessorTest.java +29 −29 Original line number Diff line number Diff line Loading @@ -16,8 +16,8 @@ package com.android.server.accessibility; import static android.accessibilityservice.MagnificationConfig.FULLSCREEN_MODE; import static android.accessibilityservice.MagnificationConfig.WINDOW_MODE; import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_FULLSCREEN; import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_WINDOW; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; Loading Loading @@ -82,7 +82,7 @@ public class MagnificationProcessorTest { @Test public void getScale_fullscreenMode_expectedValue() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(FULLSCREEN_MODE) .setMode(MAGNIFICATION_MODE_FULLSCREEN) .setScale(TEST_SCALE).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -94,7 +94,7 @@ public class MagnificationProcessorTest { @Test public void getScale_windowMode_expectedValue() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(WINDOW_MODE) .setMode(MAGNIFICATION_MODE_WINDOW) .setScale(TEST_SCALE).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -106,7 +106,7 @@ public class MagnificationProcessorTest { @Test public void getCenterX_canControlFullscreenMagnification_returnCenterX() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(FULLSCREEN_MODE) .setMode(MAGNIFICATION_MODE_FULLSCREEN) .setCenterX(TEST_CENTER_X).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -119,7 +119,7 @@ public class MagnificationProcessorTest { @Test public void getCenterX_canControlWindowMagnification_returnCenterX() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(WINDOW_MODE) .setMode(MAGNIFICATION_MODE_WINDOW) .setCenterX(TEST_CENTER_X).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -132,7 +132,7 @@ public class MagnificationProcessorTest { @Test public void getCenterY_canControlFullscreenMagnification_returnCenterY() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(FULLSCREEN_MODE) .setMode(MAGNIFICATION_MODE_FULLSCREEN) .setCenterY(TEST_CENTER_Y).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -145,7 +145,7 @@ public class MagnificationProcessorTest { @Test public void getCenterY_canControlWindowMagnification_returnCenterY() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(WINDOW_MODE) .setMode(MAGNIFICATION_MODE_WINDOW) .setCenterY(TEST_CENTER_Y).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -158,7 +158,7 @@ public class MagnificationProcessorTest { @Test public void getMagnificationRegion_canControlFullscreenMagnification_returnRegion() { final Region region = new Region(10, 20, 100, 200); setMagnificationActivated(TEST_DISPLAY, FULLSCREEN_MODE); setMagnificationActivated(TEST_DISPLAY, MAGNIFICATION_MODE_FULLSCREEN); mMagnificationProcessor.getMagnificationRegion(TEST_DISPLAY, region, /* canControlMagnification= */true); Loading @@ -169,7 +169,7 @@ public class MagnificationProcessorTest { @Test public void getMagnificationRegion_canControlWindowMagnification_returnRegion() { final Region region = new Region(10, 20, 100, 200); setMagnificationActivated(TEST_DISPLAY, WINDOW_MODE); setMagnificationActivated(TEST_DISPLAY, MAGNIFICATION_MODE_WINDOW); mMagnificationProcessor.getMagnificationRegion(TEST_DISPLAY, region, /* canControlMagnification= */true); Loading @@ -180,7 +180,7 @@ public class MagnificationProcessorTest { @Test public void getMagnificationRegion_fullscreenModeNotRegistered_shouldRegisterThenUnregister() { final Region region = new Region(10, 20, 100, 200); setMagnificationActivated(TEST_DISPLAY, FULLSCREEN_MODE); setMagnificationActivated(TEST_DISPLAY, MAGNIFICATION_MODE_FULLSCREEN); doAnswer((invocation) -> { ((Region) invocation.getArguments()[1]).set(region); return null; Loading @@ -198,7 +198,7 @@ public class MagnificationProcessorTest { @Test public void getMagnificationCenterX_fullscreenModeNotRegistered_shouldRegisterThenUnregister() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(FULLSCREEN_MODE) .setMode(MAGNIFICATION_MODE_FULLSCREEN) .setCenterX(TEST_CENTER_X).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -212,7 +212,7 @@ public class MagnificationProcessorTest { @Test public void getMagnificationCenterY_fullscreenModeNotRegistered_shouldRegisterThenUnregister() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(FULLSCREEN_MODE) .setMode(MAGNIFICATION_MODE_FULLSCREEN) .setCenterY(TEST_CENTER_Y).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -225,17 +225,17 @@ public class MagnificationProcessorTest { @Test public void getCurrentMode_configDefaultMode_returnActivatedMode() { final int targetMode = WINDOW_MODE; final int targetMode = MAGNIFICATION_MODE_WINDOW; setMagnificationActivated(TEST_DISPLAY, targetMode); int currentMode = mMagnificationProcessor.getControllingMode(TEST_DISPLAY); assertEquals(WINDOW_MODE, currentMode); assertEquals(MAGNIFICATION_MODE_WINDOW, currentMode); } @Test public void reset_fullscreenMagnificationActivated() { setMagnificationActivated(TEST_DISPLAY, FULLSCREEN_MODE); setMagnificationActivated(TEST_DISPLAY, MAGNIFICATION_MODE_FULLSCREEN); mMagnificationProcessor.reset(TEST_DISPLAY, /* animate= */false); Loading @@ -244,7 +244,7 @@ public class MagnificationProcessorTest { @Test public void reset_windowMagnificationActivated() { setMagnificationActivated(TEST_DISPLAY, WINDOW_MODE); setMagnificationActivated(TEST_DISPLAY, MAGNIFICATION_MODE_WINDOW); mMagnificationProcessor.reset(TEST_DISPLAY, /* animate= */false); Loading @@ -254,7 +254,7 @@ public class MagnificationProcessorTest { @Test public void setMagnificationConfig_fullscreenModeNotRegistered_shouldRegister() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(FULLSCREEN_MODE) .setMode(MAGNIFICATION_MODE_FULLSCREEN) .setScale(TEST_SCALE) .setCenterX(TEST_CENTER_X) .setCenterY(TEST_CENTER_Y).build(); Loading @@ -269,7 +269,7 @@ public class MagnificationProcessorTest { @Test public void setMagnificationConfig_windowMode_enableMagnification() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(WINDOW_MODE) .setMode(MAGNIFICATION_MODE_WINDOW) .setScale(TEST_SCALE) .setCenterX(TEST_CENTER_X) .setCenterY(TEST_CENTER_Y).build(); Loading @@ -284,7 +284,7 @@ public class MagnificationProcessorTest { @Test public void setMagnificationConfig_fullscreenEnabled_expectedConfigValues() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(FULLSCREEN_MODE) .setMode(MAGNIFICATION_MODE_FULLSCREEN) .setScale(TEST_SCALE) .setCenterX(TEST_CENTER_X) .setCenterY(TEST_CENTER_Y).build(); Loading @@ -302,7 +302,7 @@ public class MagnificationProcessorTest { @Test public void setMagnificationConfig_windowEnabled_expectedConfigValues() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(WINDOW_MODE) .setMode(MAGNIFICATION_MODE_WINDOW) .setScale(TEST_SCALE) .setCenterX(TEST_CENTER_X) .setCenterY(TEST_CENTER_Y).build(); Loading @@ -319,8 +319,8 @@ public class MagnificationProcessorTest { @Test public void setMagnificationConfig_controllingModeChangeAndAnimating_transitionConfigMode() { final int currentActivatedMode = WINDOW_MODE; final int targetMode = FULLSCREEN_MODE; final int currentActivatedMode = MAGNIFICATION_MODE_WINDOW; final int targetMode = MAGNIFICATION_MODE_FULLSCREEN; final MagnificationConfig oldConfig = new MagnificationConfig.Builder() .setMode(currentActivatedMode) .setScale(TEST_SCALE) Loading Loading @@ -354,15 +354,15 @@ public class MagnificationProcessorTest { when(mMockMagnificationController.isActivated(displayId, config.getMode())).thenReturn( true); mMagnificationProcessor.setMagnificationConfig(displayId, config, false, SERVICE_ID); if (config.getMode() == FULLSCREEN_MODE) { when(mMockMagnificationController.isActivated(displayId, WINDOW_MODE)).thenReturn( false); if (config.getMode() == MAGNIFICATION_MODE_FULLSCREEN) { when(mMockMagnificationController.isActivated(displayId, MAGNIFICATION_MODE_WINDOW)).thenReturn(false); mFullScreenMagnificationControllerStub.resetAndStubMethods(); mMockFullScreenMagnificationController.setScaleAndCenter(displayId, config.getScale(), config.getCenterX(), config.getCenterY(), true, SERVICE_ID); } else if (config.getMode() == WINDOW_MODE) { when(mMockMagnificationController.isActivated(displayId, FULLSCREEN_MODE)).thenReturn( false); } else if (config.getMode() == MAGNIFICATION_MODE_WINDOW) { when(mMockMagnificationController.isActivated(displayId, MAGNIFICATION_MODE_FULLSCREEN)).thenReturn(false); mWindowMagnificationManagerStub.resetAndStubMethods(); mMockWindowMagnificationManager.enableWindowMagnification(displayId, config.getScale(), config.getCenterX(), config.getCenterY()); Loading Loading
core/api/current.txt +4 −4 Original line number Diff line number Diff line Loading @@ -3264,9 +3264,9 @@ package android.accessibilityservice { method public float getScale(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.accessibilityservice.MagnificationConfig> CREATOR; field public static final int DEFAULT_MODE = 0; // 0x0 field public static final int FULLSCREEN_MODE = 1; // 0x1 field public static final int WINDOW_MODE = 2; // 0x2 field public static final int MAGNIFICATION_MODE_DEFAULT = 0; // 0x0 field public static final int MAGNIFICATION_MODE_FULLSCREEN = 1; // 0x1 field public static final int MAGNIFICATION_MODE_WINDOW = 2; // 0x2 } public static final class MagnificationConfig.Builder { Loading @@ -3275,7 +3275,7 @@ package android.accessibilityservice { method @NonNull public android.accessibilityservice.MagnificationConfig.Builder setCenterX(float); method @NonNull public android.accessibilityservice.MagnificationConfig.Builder setCenterY(float); method @NonNull public android.accessibilityservice.MagnificationConfig.Builder setMode(int); method @NonNull public android.accessibilityservice.MagnificationConfig.Builder setScale(float); method @NonNull public android.accessibilityservice.MagnificationConfig.Builder setScale(@FloatRange(from=1.0f, to=8.0f) float); } public final class TouchInteractionController {
core/java/android/accessibilityservice/MagnificationConfig.java +32 −25 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.accessibilityservice; import android.annotation.FloatRange; import android.annotation.IntDef; import android.annotation.NonNull; import android.os.Parcel; Loading @@ -29,20 +30,21 @@ import java.lang.annotation.RetentionPolicy; * magnification. * * <p> * When the magnification config uses {@link #DEFAULT_MODE}, * When the magnification config uses {@link #MAGNIFICATION_MODE_DEFAULT}, * {@link AccessibilityService} will be able to control the activated magnifier on the display. * If there is no magnifier activated, it controls the last-activated magnification mode. * If there is no magnifier activated before, it controls full-screen magnifier by default. * </p> * * <p> * When the magnification config uses {@link #FULLSCREEN_MODE}. {@link AccessibilityService} will * be able to control full-screen magnifier on the display. * When the magnification config uses {@link #MAGNIFICATION_MODE_FULLSCREEN}. * {@link AccessibilityService} will be able to control full-screen magnifier on the display. * </p> * * <p> * When the magnification config uses {@link #WINDOW_MODE}. {@link AccessibilityService} will be * able to control the activated window magnifier on the display. * When the magnification config uses {@link #MAGNIFICATION_MODE_WINDOW}. * {@link AccessibilityService} will be able to control the activated window magnifier * on the display. * </p> * * <p> Loading @@ -54,22 +56,23 @@ import java.lang.annotation.RetentionPolicy; public final class MagnificationConfig implements Parcelable { /** The controlling magnification mode. It controls the activated magnifier. */ public static final int DEFAULT_MODE = 0; public static final int MAGNIFICATION_MODE_DEFAULT = 0; /** The controlling magnification mode. It controls fullscreen magnifier. */ public static final int FULLSCREEN_MODE = 1; public static final int MAGNIFICATION_MODE_FULLSCREEN = 1; /** The controlling magnification mode. It controls window magnifier. */ public static final int WINDOW_MODE = 2; public static final int MAGNIFICATION_MODE_WINDOW = 2; /** @hide */ @IntDef(prefix = {"MAGNIFICATION_MODE"}, value = { DEFAULT_MODE, FULLSCREEN_MODE, WINDOW_MODE, MAGNIFICATION_MODE_DEFAULT, MAGNIFICATION_MODE_FULLSCREEN, MAGNIFICATION_MODE_WINDOW, }) @Retention(RetentionPolicy.SOURCE) @interface MAGNIFICATION_MODE { @interface MagnificationMode { } private int mMode = DEFAULT_MODE; private int mMode = MAGNIFICATION_MODE_DEFAULT; private float mScale = Float.NaN; private float mCenterX = Float.NaN; private float mCenterY = Float.NaN; Loading Loading @@ -107,9 +110,9 @@ public final class MagnificationConfig implements Parcelable { /** * Returns the screen-relative X coordinate of the center of the magnification viewport. * * @return the X coordinate. If the controlling magnifier is {@link #WINDOW_MODE} but not * enabled, it returns {@link Float#NaN}. If the controlling magnifier is {@link * #FULLSCREEN_MODE} but not enabled, it returns 0 * @return the X coordinate. If the controlling magnifier is {@link #MAGNIFICATION_MODE_WINDOW} * but not enabled, it returns {@link Float#NaN}. If the controlling magnifier is {@link * #MAGNIFICATION_MODE_FULLSCREEN} but not enabled, it returns 0 */ public float getCenterX() { return mCenterX; Loading @@ -118,9 +121,9 @@ public final class MagnificationConfig implements Parcelable { /** * Returns the screen-relative Y coordinate of the center of the magnification viewport. * * @return the Y coordinate If the controlling magnifier is {@link #WINDOW_MODE} but not * enabled, it returns {@link Float#NaN}. If the controlling magnifier is {@link * #FULLSCREEN_MODE} but not enabled, it returns 0 * @return the Y coordinate If the controlling magnifier is {@link #MAGNIFICATION_MODE_WINDOW} * but not enabled, it returns {@link Float#NaN}. If the controlling magnifier is {@link * #MAGNIFICATION_MODE_FULLSCREEN} but not enabled, it returns 0 */ public float getCenterY() { return mCenterY; Loading Loading @@ -159,7 +162,7 @@ public final class MagnificationConfig implements Parcelable { */ public static final class Builder { private int mMode = DEFAULT_MODE; private int mMode = MAGNIFICATION_MODE_DEFAULT; private float mScale = Float.NaN; private float mCenterX = Float.NaN; private float mCenterY = Float.NaN; Loading @@ -177,7 +180,7 @@ public final class MagnificationConfig implements Parcelable { * @return This builder */ @NonNull public MagnificationConfig.Builder setMode(@MAGNIFICATION_MODE int mode) { public MagnificationConfig.Builder setMode(@MagnificationMode int mode) { mMode = mode; return this; } Loading @@ -185,20 +188,22 @@ public final class MagnificationConfig implements Parcelable { /** * Sets the magnification scale. * * @param scale The magnification scale * @param scale The magnification scale, in the range [1, 8] * @return This builder */ @NonNull public MagnificationConfig.Builder setScale(float scale) { public MagnificationConfig.Builder setScale(@FloatRange(from = 1f, to = 8f) float scale) { mScale = scale; return this; } /** * Sets the X coordinate of the center of the magnification viewport. * The controlling magnifier will apply the given position. * * @param centerX the screen-relative X coordinate around which to * center and scale, or {@link Float#NaN} to leave unchanged * center and scale that is in the range [0, screenWidth], * or {@link Float#NaN} to leave unchanged * @return This builder */ @NonNull Loading @@ -209,9 +214,11 @@ public final class MagnificationConfig implements Parcelable { /** * Sets the Y coordinate of the center of the magnification viewport. * The controlling magnifier will apply the given position. * * @param centerY the screen-relative Y coordinate around which to * center and scale, or {@link Float#NaN} to leave unchanged * center and scale that is in the range [0, screenHeight], * or {@link Float#NaN} to leave unchanged * @return This builder */ @NonNull Loading
services/accessibility/java/com/android/server/accessibility/magnification/MagnificationProcessor.java +24 −24 Original line number Diff line number Diff line Loading @@ -16,9 +16,9 @@ package com.android.server.accessibility.magnification; import static android.accessibilityservice.MagnificationConfig.DEFAULT_MODE; import static android.accessibilityservice.MagnificationConfig.FULLSCREEN_MODE; import static android.accessibilityservice.MagnificationConfig.WINDOW_MODE; import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_DEFAULT; import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_FULLSCREEN; 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; Loading Loading @@ -66,14 +66,14 @@ public class MagnificationProcessor { public @NonNull MagnificationConfig getMagnificationConfig(int displayId) { final int mode = getControllingMode(displayId); MagnificationConfig.Builder builder = new MagnificationConfig.Builder(); if (mode == FULLSCREEN_MODE) { if (mode == MAGNIFICATION_MODE_FULLSCREEN) { final FullScreenMagnificationController fullScreenMagnificationController = mController.getFullScreenMagnificationController(); builder.setMode(mode) .setScale(fullScreenMagnificationController.getScale(displayId)) .setCenterX(fullScreenMagnificationController.getCenterX(displayId)) .setCenterY(fullScreenMagnificationController.getCenterY(displayId)); } else if (mode == WINDOW_MODE) { } else if (mode == MAGNIFICATION_MODE_WINDOW) { final WindowMagnificationManager windowMagnificationManager = mController.getWindowMagnificationMgr(); builder.setMode(mode) Loading Loading @@ -103,14 +103,14 @@ public class MagnificationProcessor { } int configMode = config.getMode(); if (configMode == DEFAULT_MODE) { if (configMode == MAGNIFICATION_MODE_DEFAULT) { configMode = getControllingMode(displayId); } if (configMode == FULLSCREEN_MODE) { if (configMode == MAGNIFICATION_MODE_FULLSCREEN) { return setScaleAndCenterForFullScreenMagnification(displayId, config.getScale(), config.getCenterX(), config.getCenterY(), animate, id); } else if (configMode == WINDOW_MODE) { } else if (configMode == MAGNIFICATION_MODE_WINDOW) { return mController.getWindowMagnificationMgr().enableWindowMagnification(displayId, config.getScale(), config.getCenterX(), config.getCenterY()); } Loading Loading @@ -141,9 +141,9 @@ public class MagnificationProcessor { */ public float getScale(int displayId) { int mode = getControllingMode(displayId); if (mode == FULLSCREEN_MODE) { if (mode == MAGNIFICATION_MODE_FULLSCREEN) { return mController.getFullScreenMagnificationController().getScale(displayId); } else if (mode == WINDOW_MODE) { } else if (mode == MAGNIFICATION_MODE_WINDOW) { return mController.getWindowMagnificationMgr().getScale(displayId); } return 0; Loading @@ -161,7 +161,7 @@ public class MagnificationProcessor { */ public float getCenterX(int displayId, boolean canControlMagnification) { int mode = getControllingMode(displayId); if (mode == FULLSCREEN_MODE) { if (mode == MAGNIFICATION_MODE_FULLSCREEN) { boolean registeredJustForThisCall = registerDisplayMagnificationIfNeeded(displayId, canControlMagnification); try { Loading @@ -171,7 +171,7 @@ public class MagnificationProcessor { unregister(displayId); } } } else if (mode == WINDOW_MODE) { } else if (mode == MAGNIFICATION_MODE_WINDOW) { return mController.getWindowMagnificationMgr().getCenterX(displayId); } return 0; Loading @@ -189,7 +189,7 @@ public class MagnificationProcessor { */ public float getCenterY(int displayId, boolean canControlMagnification) { int mode = getControllingMode(displayId); if (mode == FULLSCREEN_MODE) { if (mode == MAGNIFICATION_MODE_FULLSCREEN) { boolean registeredJustForThisCall = registerDisplayMagnificationIfNeeded(displayId, canControlMagnification); try { Loading @@ -199,7 +199,7 @@ public class MagnificationProcessor { unregister(displayId); } } } else if (mode == WINDOW_MODE) { } else if (mode == MAGNIFICATION_MODE_WINDOW) { return mController.getWindowMagnificationMgr().getCenterY(displayId); } return 0; Loading @@ -221,9 +221,9 @@ public class MagnificationProcessor { public Region getMagnificationRegion(int displayId, @NonNull Region outRegion, boolean canControlMagnification) { int mode = getControllingMode(displayId); if (mode == FULLSCREEN_MODE) { if (mode == MAGNIFICATION_MODE_FULLSCREEN) { getFullscreenMagnificationRegion(displayId, outRegion, canControlMagnification); } else if (mode == WINDOW_MODE) { } else if (mode == MAGNIFICATION_MODE_WINDOW) { mController.getWindowMagnificationMgr().getMagnificationSourceBounds(displayId, outRegion); } Loading Loading @@ -268,9 +268,9 @@ public class MagnificationProcessor { */ public boolean reset(int displayId, boolean animate) { int mode = getControllingMode(displayId); if (mode == FULLSCREEN_MODE) { if (mode == MAGNIFICATION_MODE_FULLSCREEN) { return mController.getFullScreenMagnificationController().reset(displayId, animate); } else if (mode == WINDOW_MODE) { } else if (mode == MAGNIFICATION_MODE_WINDOW) { return mController.getWindowMagnificationMgr().reset(displayId); } return false; Loading @@ -290,9 +290,9 @@ public class MagnificationProcessor { */ public boolean isMagnifying(int displayId) { int mode = getControllingMode(displayId); if (mode == FULLSCREEN_MODE) { if (mode == MAGNIFICATION_MODE_FULLSCREEN) { return mController.getFullScreenMagnificationController().isMagnifying(displayId); } else if (mode == WINDOW_MODE) { } else if (mode == MAGNIFICATION_MODE_WINDOW) { return mController.getWindowMagnificationMgr().isWindowMagnifierEnabled(displayId); } return false; Loading @@ -308,14 +308,14 @@ public class MagnificationProcessor { public int getControllingMode(int displayId) { if (mController.isActivated(displayId, ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW)) { return WINDOW_MODE; return MAGNIFICATION_MODE_WINDOW; } else if (mController.isActivated(displayId, ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN)) { return FULLSCREEN_MODE; return MAGNIFICATION_MODE_FULLSCREEN; } else { return (mController.getLastActivatedMode() == ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW) ? WINDOW_MODE : FULLSCREEN_MODE; ? MAGNIFICATION_MODE_WINDOW : MAGNIFICATION_MODE_FULLSCREEN; } } Loading
services/tests/servicestests/src/com/android/server/accessibility/MagnificationProcessorTest.java +29 −29 Original line number Diff line number Diff line Loading @@ -16,8 +16,8 @@ package com.android.server.accessibility; import static android.accessibilityservice.MagnificationConfig.FULLSCREEN_MODE; import static android.accessibilityservice.MagnificationConfig.WINDOW_MODE; import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_FULLSCREEN; import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_WINDOW; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; Loading Loading @@ -82,7 +82,7 @@ public class MagnificationProcessorTest { @Test public void getScale_fullscreenMode_expectedValue() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(FULLSCREEN_MODE) .setMode(MAGNIFICATION_MODE_FULLSCREEN) .setScale(TEST_SCALE).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -94,7 +94,7 @@ public class MagnificationProcessorTest { @Test public void getScale_windowMode_expectedValue() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(WINDOW_MODE) .setMode(MAGNIFICATION_MODE_WINDOW) .setScale(TEST_SCALE).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -106,7 +106,7 @@ public class MagnificationProcessorTest { @Test public void getCenterX_canControlFullscreenMagnification_returnCenterX() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(FULLSCREEN_MODE) .setMode(MAGNIFICATION_MODE_FULLSCREEN) .setCenterX(TEST_CENTER_X).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -119,7 +119,7 @@ public class MagnificationProcessorTest { @Test public void getCenterX_canControlWindowMagnification_returnCenterX() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(WINDOW_MODE) .setMode(MAGNIFICATION_MODE_WINDOW) .setCenterX(TEST_CENTER_X).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -132,7 +132,7 @@ public class MagnificationProcessorTest { @Test public void getCenterY_canControlFullscreenMagnification_returnCenterY() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(FULLSCREEN_MODE) .setMode(MAGNIFICATION_MODE_FULLSCREEN) .setCenterY(TEST_CENTER_Y).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -145,7 +145,7 @@ public class MagnificationProcessorTest { @Test public void getCenterY_canControlWindowMagnification_returnCenterY() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(WINDOW_MODE) .setMode(MAGNIFICATION_MODE_WINDOW) .setCenterY(TEST_CENTER_Y).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -158,7 +158,7 @@ public class MagnificationProcessorTest { @Test public void getMagnificationRegion_canControlFullscreenMagnification_returnRegion() { final Region region = new Region(10, 20, 100, 200); setMagnificationActivated(TEST_DISPLAY, FULLSCREEN_MODE); setMagnificationActivated(TEST_DISPLAY, MAGNIFICATION_MODE_FULLSCREEN); mMagnificationProcessor.getMagnificationRegion(TEST_DISPLAY, region, /* canControlMagnification= */true); Loading @@ -169,7 +169,7 @@ public class MagnificationProcessorTest { @Test public void getMagnificationRegion_canControlWindowMagnification_returnRegion() { final Region region = new Region(10, 20, 100, 200); setMagnificationActivated(TEST_DISPLAY, WINDOW_MODE); setMagnificationActivated(TEST_DISPLAY, MAGNIFICATION_MODE_WINDOW); mMagnificationProcessor.getMagnificationRegion(TEST_DISPLAY, region, /* canControlMagnification= */true); Loading @@ -180,7 +180,7 @@ public class MagnificationProcessorTest { @Test public void getMagnificationRegion_fullscreenModeNotRegistered_shouldRegisterThenUnregister() { final Region region = new Region(10, 20, 100, 200); setMagnificationActivated(TEST_DISPLAY, FULLSCREEN_MODE); setMagnificationActivated(TEST_DISPLAY, MAGNIFICATION_MODE_FULLSCREEN); doAnswer((invocation) -> { ((Region) invocation.getArguments()[1]).set(region); return null; Loading @@ -198,7 +198,7 @@ public class MagnificationProcessorTest { @Test public void getMagnificationCenterX_fullscreenModeNotRegistered_shouldRegisterThenUnregister() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(FULLSCREEN_MODE) .setMode(MAGNIFICATION_MODE_FULLSCREEN) .setCenterX(TEST_CENTER_X).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -212,7 +212,7 @@ public class MagnificationProcessorTest { @Test public void getMagnificationCenterY_fullscreenModeNotRegistered_shouldRegisterThenUnregister() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(FULLSCREEN_MODE) .setMode(MAGNIFICATION_MODE_FULLSCREEN) .setCenterY(TEST_CENTER_Y).build(); setMagnificationActivated(TEST_DISPLAY, config); Loading @@ -225,17 +225,17 @@ public class MagnificationProcessorTest { @Test public void getCurrentMode_configDefaultMode_returnActivatedMode() { final int targetMode = WINDOW_MODE; final int targetMode = MAGNIFICATION_MODE_WINDOW; setMagnificationActivated(TEST_DISPLAY, targetMode); int currentMode = mMagnificationProcessor.getControllingMode(TEST_DISPLAY); assertEquals(WINDOW_MODE, currentMode); assertEquals(MAGNIFICATION_MODE_WINDOW, currentMode); } @Test public void reset_fullscreenMagnificationActivated() { setMagnificationActivated(TEST_DISPLAY, FULLSCREEN_MODE); setMagnificationActivated(TEST_DISPLAY, MAGNIFICATION_MODE_FULLSCREEN); mMagnificationProcessor.reset(TEST_DISPLAY, /* animate= */false); Loading @@ -244,7 +244,7 @@ public class MagnificationProcessorTest { @Test public void reset_windowMagnificationActivated() { setMagnificationActivated(TEST_DISPLAY, WINDOW_MODE); setMagnificationActivated(TEST_DISPLAY, MAGNIFICATION_MODE_WINDOW); mMagnificationProcessor.reset(TEST_DISPLAY, /* animate= */false); Loading @@ -254,7 +254,7 @@ public class MagnificationProcessorTest { @Test public void setMagnificationConfig_fullscreenModeNotRegistered_shouldRegister() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(FULLSCREEN_MODE) .setMode(MAGNIFICATION_MODE_FULLSCREEN) .setScale(TEST_SCALE) .setCenterX(TEST_CENTER_X) .setCenterY(TEST_CENTER_Y).build(); Loading @@ -269,7 +269,7 @@ public class MagnificationProcessorTest { @Test public void setMagnificationConfig_windowMode_enableMagnification() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(WINDOW_MODE) .setMode(MAGNIFICATION_MODE_WINDOW) .setScale(TEST_SCALE) .setCenterX(TEST_CENTER_X) .setCenterY(TEST_CENTER_Y).build(); Loading @@ -284,7 +284,7 @@ public class MagnificationProcessorTest { @Test public void setMagnificationConfig_fullscreenEnabled_expectedConfigValues() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(FULLSCREEN_MODE) .setMode(MAGNIFICATION_MODE_FULLSCREEN) .setScale(TEST_SCALE) .setCenterX(TEST_CENTER_X) .setCenterY(TEST_CENTER_Y).build(); Loading @@ -302,7 +302,7 @@ public class MagnificationProcessorTest { @Test public void setMagnificationConfig_windowEnabled_expectedConfigValues() { final MagnificationConfig config = new MagnificationConfig.Builder() .setMode(WINDOW_MODE) .setMode(MAGNIFICATION_MODE_WINDOW) .setScale(TEST_SCALE) .setCenterX(TEST_CENTER_X) .setCenterY(TEST_CENTER_Y).build(); Loading @@ -319,8 +319,8 @@ public class MagnificationProcessorTest { @Test public void setMagnificationConfig_controllingModeChangeAndAnimating_transitionConfigMode() { final int currentActivatedMode = WINDOW_MODE; final int targetMode = FULLSCREEN_MODE; final int currentActivatedMode = MAGNIFICATION_MODE_WINDOW; final int targetMode = MAGNIFICATION_MODE_FULLSCREEN; final MagnificationConfig oldConfig = new MagnificationConfig.Builder() .setMode(currentActivatedMode) .setScale(TEST_SCALE) Loading Loading @@ -354,15 +354,15 @@ public class MagnificationProcessorTest { when(mMockMagnificationController.isActivated(displayId, config.getMode())).thenReturn( true); mMagnificationProcessor.setMagnificationConfig(displayId, config, false, SERVICE_ID); if (config.getMode() == FULLSCREEN_MODE) { when(mMockMagnificationController.isActivated(displayId, WINDOW_MODE)).thenReturn( false); if (config.getMode() == MAGNIFICATION_MODE_FULLSCREEN) { when(mMockMagnificationController.isActivated(displayId, MAGNIFICATION_MODE_WINDOW)).thenReturn(false); mFullScreenMagnificationControllerStub.resetAndStubMethods(); mMockFullScreenMagnificationController.setScaleAndCenter(displayId, config.getScale(), config.getCenterX(), config.getCenterY(), true, SERVICE_ID); } else if (config.getMode() == WINDOW_MODE) { when(mMockMagnificationController.isActivated(displayId, FULLSCREEN_MODE)).thenReturn( false); } else if (config.getMode() == MAGNIFICATION_MODE_WINDOW) { when(mMockMagnificationController.isActivated(displayId, MAGNIFICATION_MODE_FULLSCREEN)).thenReturn(false); mWindowMagnificationManagerStub.resetAndStubMethods(); mMockWindowMagnificationManager.enableWindowMagnification(displayId, config.getScale(), config.getCenterX(), config.getCenterY()); Loading