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

Commit 20397cea authored by Ryan Lin's avatar Ryan Lin Committed by Automerger Merge Worker
Browse files

Merge "Change context to WindowContext for non-activity window" into sc-dev am: 9f374c90

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13896649

Change-Id: I2fdd067f1c19a1e780a4a38bc4d17dc859e252fc
parents a275d6ee 9f374c90
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.systemui.accessibility;
import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW;

import android.annotation.NonNull;
import android.annotation.UiContext;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.graphics.PixelFormat;
@@ -69,7 +70,7 @@ class MagnificationModeSwitch implements MagnificationGestureDetector.OnGestureL
    private final MagnificationGestureDetector mGestureDetector;
    private boolean mSingleTapDetected = false;

    MagnificationModeSwitch(Context context) {
    MagnificationModeSwitch(@UiContext Context context) {
        this(context, createView(context));
    }

+5 −4
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.systemui.accessibility;

import static android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY;

import android.annotation.MainThread;
import android.content.Context;
import android.hardware.display.DisplayManager;
@@ -106,10 +108,9 @@ public class ModeSwitchesController {

        @Override
        protected MagnificationModeSwitch createInstance(Display display) {
            final Context context = (display.getDisplayId() == Display.DEFAULT_DISPLAY)
                    ? mContext
                    : mContext.createDisplayContext(display);
            return new MagnificationModeSwitch(context);
            final Context uiContext = mContext.createWindowContext(display,
                    TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY, /* options */ null);
            return new MagnificationModeSwitch(uiContext);
        }
    }
}
+5 −4
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.systemui.accessibility;

import static android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY;

import android.annotation.MainThread;
import android.annotation.Nullable;
import android.content.Context;
@@ -82,9 +84,8 @@ public class WindowMagnification extends SystemUI implements WindowMagnifierCall

        @Override
        protected WindowMagnificationAnimationController createInstance(Display display) {
            final Context context = (display.getDisplayId() == Display.DEFAULT_DISPLAY)
                    ? mContext
                    : mContext.createDisplayContext(display);
            final Context windowContext = mContext.createWindowContext(display,
                    TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY, /* options */ null);
            final WindowMagnificationController controller = new WindowMagnificationController(
                    mContext,
                    mHandler, new SfVsyncFrameCallbackProvider(), null,
@@ -92,7 +93,7 @@ public class WindowMagnification extends SystemUI implements WindowMagnifierCall
            final int navBarMode = mNavigationModeController.addListener(
                    controller::onNavigationModeChanged);
            controller.onNavigationModeChanged(navBarMode);
            return new WindowMagnificationAnimationController(context, controller);
            return new WindowMagnificationAnimationController(windowContext, controller);
        }
    }

+3 −2
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.animation.Animator;
import android.animation.ValueAnimator;
import android.annotation.IntDef;
import android.annotation.Nullable;
import android.annotation.UiContext;
import android.content.Context;
import android.content.res.Resources;
import android.os.RemoteException;
@@ -69,8 +70,8 @@ class WindowMagnificationAnimationController implements ValueAnimator.AnimatorUp
    @MagnificationState
    private int mState = STATE_DISABLED;

    WindowMagnificationAnimationController(
            Context context, WindowMagnificationController controller) {
    WindowMagnificationAnimationController(@UiContext Context context,
            WindowMagnificationController controller) {
        this(context, controller, newValueAnimator(context.getResources()));
    }

+3 −2
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.UiContext;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.content.res.Resources;
@@ -134,7 +135,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
    @Nullable
    private MirrorWindowControl mMirrorWindowControl;

    WindowMagnificationController(Context context, @NonNull Handler handler,
    WindowMagnificationController(@UiContext Context context, @NonNull Handler handler,
            SfVsyncFrameCallbackProvider sfVsyncFrameProvider,
            MirrorWindowControl mirrorWindowControl, SurfaceControl.Transaction transaction,
            @NonNull WindowMagnifierCallback callback) {
@@ -147,7 +148,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
        mDisplayId = mContext.getDisplayId();
        mRotation = display.getRotation();

        mWm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        mWm = context.getSystemService(WindowManager.class);

        mResources = mContext.getResources();
        mScale = mResources.getInteger(R.integer.magnification_default_scale);