Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d7261e6f authored by Ryan Lin's avatar Ryan Lin Committed by Android (Google) Code Review
Browse files

Merge "Rename and move classses"

parents f51cab9b 52ba2178
Loading
Loading
Loading
Loading
+15 −13
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ import com.android.internal.util.DumpUtils;
import com.android.internal.util.function.pooled.PooledLambda;
import com.android.server.LocalServices;
import com.android.server.accessibility.AccessibilityWindowManager.RemoteAccessibilityConnection;
import com.android.server.accessibility.magnification.FullScreenMagnificationController;
import com.android.server.wm.ActivityTaskManagerInternal;
import com.android.server.wm.WindowManagerInternal;

@@ -206,7 +207,8 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        /**
         * @return The magnification controller
         */
        @NonNull MagnificationController getMagnificationController();
        @NonNull
        FullScreenMagnificationController getFullScreenMagnificationController();

        /**
         * Called back to notify system that the client has changed
@@ -832,7 +834,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
        final long identity = Binder.clearCallingIdentity();
        try {
            return mSystemSupport.getMagnificationController().getScale(displayId);
            return mSystemSupport.getFullScreenMagnificationController().getScale(displayId);
        } finally {
            Binder.restoreCallingIdentity(identity);
        }
@@ -845,8 +847,8 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
            if (!hasRightsToCurrentUserLocked()) {
                return region;
            }
            MagnificationController magnificationController =
                    mSystemSupport.getMagnificationController();
            FullScreenMagnificationController magnificationController =
                    mSystemSupport.getFullScreenMagnificationController();
            boolean registeredJustForThisCall =
                    registerMagnificationIfNeeded(displayId, magnificationController);
            final long identity = Binder.clearCallingIdentity();
@@ -868,8 +870,8 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
            if (!hasRightsToCurrentUserLocked()) {
                return 0.0f;
            }
            MagnificationController magnificationController =
                    mSystemSupport.getMagnificationController();
            FullScreenMagnificationController magnificationController =
                    mSystemSupport.getFullScreenMagnificationController();
            boolean registeredJustForThisCall =
                    registerMagnificationIfNeeded(displayId, magnificationController);
            final long identity = Binder.clearCallingIdentity();
@@ -890,8 +892,8 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
            if (!hasRightsToCurrentUserLocked()) {
                return 0.0f;
            }
            MagnificationController magnificationController =
                    mSystemSupport.getMagnificationController();
            FullScreenMagnificationController magnificationController =
                    mSystemSupport.getFullScreenMagnificationController();
            boolean registeredJustForThisCall =
                    registerMagnificationIfNeeded(displayId, magnificationController);
            final long identity = Binder.clearCallingIdentity();
@@ -907,7 +909,7 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
    }

    private boolean registerMagnificationIfNeeded(int displayId,
            MagnificationController magnificationController) {
            FullScreenMagnificationController magnificationController) {
        if (!magnificationController.isRegistered(displayId)
                && mSecurityPolicy.canControlMagnification(this)) {
            magnificationController.register(displayId);
@@ -928,8 +930,8 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
        }
        final long identity = Binder.clearCallingIdentity();
        try {
            MagnificationController magnificationController =
                    mSystemSupport.getMagnificationController();
            FullScreenMagnificationController magnificationController =
                    mSystemSupport.getFullScreenMagnificationController();
            return (magnificationController.reset(displayId, animate)
                    || !magnificationController.isMagnifying(displayId));
        } finally {
@@ -949,8 +951,8 @@ abstract class AbstractAccessibilityServiceConnection extends IAccessibilityServ
            }
            final long identity = Binder.clearCallingIdentity();
            try {
                MagnificationController magnificationController =
                        mSystemSupport.getMagnificationController();
                FullScreenMagnificationController magnificationController =
                        mSystemSupport.getFullScreenMagnificationController();
                if (!magnificationController.isRegistered(displayId)) {
                    magnificationController.register(displayId);
                }
+2 −1
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.view.accessibility.AccessibilityEvent;

import com.android.server.LocalServices;
import com.android.server.accessibility.gestures.TouchExplorer;
import com.android.server.accessibility.magnification.FullScreenMagnificationGestureHandler;
import com.android.server.accessibility.magnification.MagnificationGestureHandler;
import com.android.server.accessibility.magnification.WindowMagnificationGestureHandler;
import com.android.server.policy.WindowManagerPolicy;
@@ -539,7 +540,7 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo
                    detectControlGestures, triggerable, displayId);
        } else {
            magnificationGestureHandler = new FullScreenMagnificationGestureHandler(displayContext,
                    mAms.getMagnificationController(), mAms::onMagnificationScaleChanged,
                    mAms.getFullScreenMagnificationController(), mAms::onMagnificationScaleChanged,
                    detectControlGestures, triggerable, displayId);
        }
        return magnificationGestureHandler;
+19 −17
Original line number Diff line number Diff line
@@ -116,6 +116,7 @@ import com.android.internal.util.DumpUtils;
import com.android.internal.util.IntPair;
import com.android.server.LocalServices;
import com.android.server.SystemService;
import com.android.server.accessibility.magnification.FullScreenMagnificationController;
import com.android.server.accessibility.magnification.MagnificationGestureHandler;
import com.android.server.accessibility.magnification.WindowMagnificationManager;
import com.android.server.wm.ActivityTaskManagerInternal;
@@ -212,7 +213,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
    // Lazily initialized - access through getSystemActionPerfomer()
    private SystemActionPerformer mSystemActionPerformer;

    private MagnificationController mMagnificationController;
    private FullScreenMagnificationController mFullScreenMagnificationController;

    private InteractionBridge mInteractionBridge;

@@ -2191,13 +2192,13 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
            return;
        }

        if (mMagnificationController != null) {
            mMagnificationController.setUserId(userState.mUserId);
        if (mFullScreenMagnificationController != null) {
            mFullScreenMagnificationController.setUserId(userState.mUserId);
        }

        if (mUiAutomationManager.suppressingAccessibilityServicesLocked()
                && mMagnificationController != null) {
            mMagnificationController.unregisterAll();
                && mFullScreenMagnificationController != null) {
            mFullScreenMagnificationController.unregisterAll();
            return;
        }

@@ -2209,7 +2210,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
                || userState.isShortcutMagnificationEnabledLocked()) {
            for (int i = 0; i < displays.size(); i++) {
                final Display display = displays.get(i);
                getMagnificationController().register(display.getDisplayId());
                getFullScreenMagnificationController().register(display.getDisplayId());
            }
            return;
        }
@@ -2219,9 +2220,9 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
            final Display display = displays.get(i);
            final int displayId = display.getDisplayId();
            if (userHasListeningMagnificationServicesLocked(userState, displayId)) {
                getMagnificationController().register(displayId);
            } else if (mMagnificationController != null) {
                mMagnificationController.unregister(displayId);
                getFullScreenMagnificationController().register(displayId);
            } else if (mFullScreenMagnificationController != null) {
                mFullScreenMagnificationController.unregister(displayId);
            }
        }
    }
@@ -2568,7 +2569,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
        }
        // In case user assigned magnification to the given shortcut.
        if (targetName.equals(MAGNIFICATION_CONTROLLER_NAME)) {
            final boolean enabled = !getMagnificationController().isMagnifying(displayId);
            final boolean enabled = !getFullScreenMagnificationController().isMagnifying(displayId);
            logAccessibilityShortcutActivated(MAGNIFICATION_COMPONENT_NAME, shortcutType, enabled);
            sendAccessibilityButtonToInputFilter(displayId);
            return;
@@ -2928,13 +2929,14 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
    }

    @Override
    public MagnificationController getMagnificationController() {
    public FullScreenMagnificationController getFullScreenMagnificationController() {
        synchronized (mLock) {
            if (mMagnificationController == null) {
                mMagnificationController = new MagnificationController(mContext, this, mLock);
                mMagnificationController.setUserId(mCurrentUserId);
            if (mFullScreenMagnificationController == null) {
                mFullScreenMagnificationController = new FullScreenMagnificationController(mContext,
                        this, mLock);
                mFullScreenMagnificationController.setUserId(mCurrentUserId);
            }
            return mMagnificationController;
            return mFullScreenMagnificationController;
        }
    }

@@ -3126,8 +3128,8 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
                    }
                }
            }
            if (mMagnificationController != null) {
                mMagnificationController.onDisplayRemoved(displayId);
            if (mFullScreenMagnificationController != null) {
                mFullScreenMagnificationController.onDisplayRemoved(displayId);
            }
            mA11yWindowManager.stopTrackingWindows(displayId);
        }
+2 −2
Original line number Diff line number Diff line
@@ -120,7 +120,7 @@ class AccessibilityServiceConnection extends AbstractAccessibilityServiceConnect
        AccessibilityUserState userState = mUserStateWeakReference.get();
        if (userState == null) return;
        userState.removeServiceLocked(this);
        mSystemSupport.getMagnificationController().resetAllIfNeeded(mId);
        mSystemSupport.getFullScreenMagnificationController().resetAllIfNeeded(mId);
        mActivityTaskManagerService.setAllowAppSwitches(mComponentName.flattenToString(), -1,
                userState.mUserId);
        resetLocked();
@@ -312,7 +312,7 @@ class AccessibilityServiceConnection extends AbstractAccessibilityServiceConnect
                userState.serviceDisconnectedLocked(this);
            }
            resetLocked();
            mSystemSupport.getMagnificationController().resetAllIfNeeded(mId);
            mSystemSupport.getFullScreenMagnificationController().resetAllIfNeeded(mId);
            mSystemSupport.onClientChangeLocked(false);
        }
    }
+37 −32
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * limitations under the License.
 */

package com.android.server.accessibility;
package com.android.server.accessibility.magnification;

import android.animation.ValueAnimator;
import android.annotation.NonNull;
@@ -42,6 +42,7 @@ import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.function.pooled.PooledLambda;
import com.android.server.LocalServices;
import com.android.server.accessibility.AccessibilityManagerService;
import com.android.server.wm.WindowManagerInternal;

import java.util.Locale;
@@ -56,9 +57,9 @@ import java.util.Locale;
 * magnification region. If a value is out of bounds, it will be adjusted to guarantee these
 * constraints.
 */
public class MagnificationController {
public class FullScreenMagnificationController {
    private static final boolean DEBUG = false;
    private static final String LOG_TAG = "MagnificationController";
    private static final String LOG_TAG = "FullScreenMagnificationController";

    public static final float MIN_SCALE = 1.0f;
    public static final float MAX_SCALE = 8.0f;
@@ -140,11 +141,12 @@ public class MagnificationController {

        /**
         * Unregisters magnification callback from window manager. Callbacks to
         * {@link MagnificationController#unregisterCallbackLocked(int, boolean)} after
         * {@link FullScreenMagnificationController#unregisterCallbackLocked(int, boolean)} after
         * unregistered.
         *
         * @param delete true if this instance should be removed from the SparseArray in
         *               MagnificationController after unregistered, for example, display removed.
         *               FullScreenMagnificationController after unregistered, for example,
         *               display removed.
         */
        @GuardedBy("mLock")
        void unregister(boolean delete) {
@@ -164,7 +166,8 @@ public class MagnificationController {
         * called after animation finished.
         *
         * @param delete true if this instance should be removed from the SparseArray in
         *               MagnificationController after unregistered, for example, display removed.
         *               FullScreenMagnificationController after unregistered, for example,
         *               display removed.
         */
        @GuardedBy("mLock")
        void unregisterPending(boolean delete) {
@@ -257,15 +260,17 @@ public class MagnificationController {
        @Override
        public void onRotationChanged(int rotation) {
            // Treat as context change and reset
            final Message m = PooledLambda.obtainMessage(MagnificationController::resetIfNeeded,
                    MagnificationController.this, mDisplayId, true);
            final Message m = PooledLambda.obtainMessage(
                    FullScreenMagnificationController::resetIfNeeded,
                    FullScreenMagnificationController.this, mDisplayId, true);
            mControllerCtx.getHandler().sendMessage(m);
        }

        @Override
        public void onUserContextChanged() {
            final Message m = PooledLambda.obtainMessage(MagnificationController::resetIfNeeded,
                    MagnificationController.this, mDisplayId, true);
            final Message m = PooledLambda.obtainMessage(
                    FullScreenMagnificationController::resetIfNeeded,
                    FullScreenMagnificationController.this, mDisplayId, true);
            mControllerCtx.getHandler().sendMessage(m);
        }

@@ -554,25 +559,25 @@ public class MagnificationController {
        float getMinOffsetXLocked() {
            final float viewportWidth = mMagnificationBounds.width();
            final float viewportLeft = mMagnificationBounds.left;
            return (viewportLeft + viewportWidth) -
                    (viewportLeft + viewportWidth) * mCurrentMagnificationSpec.scale;
            return (viewportLeft + viewportWidth)
                    - (viewportLeft + viewportWidth) * mCurrentMagnificationSpec.scale;
        }

        float getMaxOffsetXLocked() {
            return mMagnificationBounds.left -
                    mMagnificationBounds.left * mCurrentMagnificationSpec.scale;
            return mMagnificationBounds.left
                    - mMagnificationBounds.left * mCurrentMagnificationSpec.scale;
        }

        float getMinOffsetYLocked() {
            final float viewportHeight = mMagnificationBounds.height();
            final float viewportTop = mMagnificationBounds.top;
            return (viewportTop + viewportHeight) -
                    (viewportTop + viewportHeight) * mCurrentMagnificationSpec.scale;
            return (viewportTop + viewportHeight)
                    - (viewportTop + viewportHeight) * mCurrentMagnificationSpec.scale;
        }

        float getMaxOffsetYLocked() {
            return mMagnificationBounds.top -
                    mMagnificationBounds.top * mCurrentMagnificationSpec.scale;
            return mMagnificationBounds.top
                    - mMagnificationBounds.top * mCurrentMagnificationSpec.scale;
        }

        @Override
@@ -590,9 +595,9 @@ public class MagnificationController {
    }

    /**
     * MagnificationController Constructor
     * FullScreenMagnificationController Constructor
     */
    public MagnificationController(@NonNull Context context,
    public FullScreenMagnificationController(@NonNull Context context,
            @NonNull AccessibilityManagerService ams, @NonNull Object lock) {
        this(new ControllerContext(context, ams,
                LocalServices.getService(WindowManagerInternal.class),
@@ -604,7 +609,7 @@ public class MagnificationController {
     * Constructor for tests
     */
    @VisibleForTesting
    public MagnificationController(@NonNull ControllerContext ctx, @NonNull Object lock) {
    public FullScreenMagnificationController(@NonNull ControllerContext ctx, @NonNull Object lock) {
        mControllerCtx = ctx;
        mLock = lock;
        mMainThreadId = mControllerCtx.getContext().getMainLooper().getThread().getId();
@@ -1088,7 +1093,7 @@ public class MagnificationController {

    private void onScreenTurnedOff() {
        final Message m = PooledLambda.obtainMessage(
                MagnificationController::resetAllIfNeeded, this, false);
                FullScreenMagnificationController::resetAllIfNeeded, this, false);
        mControllerCtx.getHandler().sendMessage(m);
    }

@@ -1253,13 +1258,13 @@ public class MagnificationController {
            synchronized (mLock) {
                if (mEnabled) {
                    float fract = animation.getAnimatedFraction();
                    mTmpMagnificationSpec.scale = mStartMagnificationSpec.scale +
                            (mEndMagnificationSpec.scale - mStartMagnificationSpec.scale) * fract;
                    mTmpMagnificationSpec.offsetX = mStartMagnificationSpec.offsetX +
                            (mEndMagnificationSpec.offsetX - mStartMagnificationSpec.offsetX)
                    mTmpMagnificationSpec.scale = mStartMagnificationSpec.scale
                            + (mEndMagnificationSpec.scale - mStartMagnificationSpec.scale) * fract;
                    mTmpMagnificationSpec.offsetX = mStartMagnificationSpec.offsetX
                            + (mEndMagnificationSpec.offsetX - mStartMagnificationSpec.offsetX)
                            * fract;
                    mTmpMagnificationSpec.offsetY = mStartMagnificationSpec.offsetY +
                            (mEndMagnificationSpec.offsetY - mStartMagnificationSpec.offsetY)
                    mTmpMagnificationSpec.offsetY = mStartMagnificationSpec.offsetY
                            + (mEndMagnificationSpec.offsetY - mStartMagnificationSpec.offsetY)
                            * fract;
                    setMagnificationSpecLocked(mTmpMagnificationSpec);
                }
@@ -1269,10 +1274,10 @@ public class MagnificationController {

    private static class ScreenStateObserver extends BroadcastReceiver {
        private final Context mContext;
        private final MagnificationController mController;
        private final FullScreenMagnificationController mController;
        private boolean mRegistered = false;

        public ScreenStateObserver(Context context, MagnificationController controller) {
        ScreenStateObserver(Context context, FullScreenMagnificationController controller) {
            mContext = context;
            mController = controller;
        }
Loading