Merge "Change context to WindowContext for non-activity window" into sc-dev
This commit is contained in:
@@ -19,6 +19,7 @@ package com.android.systemui.accessibility;
|
|||||||
import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW;
|
import static android.provider.Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW;
|
||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
|
import android.annotation.UiContext;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
import android.graphics.PixelFormat;
|
import android.graphics.PixelFormat;
|
||||||
@@ -69,7 +70,7 @@ class MagnificationModeSwitch implements MagnificationGestureDetector.OnGestureL
|
|||||||
private final MagnificationGestureDetector mGestureDetector;
|
private final MagnificationGestureDetector mGestureDetector;
|
||||||
private boolean mSingleTapDetected = false;
|
private boolean mSingleTapDetected = false;
|
||||||
|
|
||||||
MagnificationModeSwitch(Context context) {
|
MagnificationModeSwitch(@UiContext Context context) {
|
||||||
this(context, createView(context));
|
this(context, createView(context));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.systemui.accessibility;
|
package com.android.systemui.accessibility;
|
||||||
|
|
||||||
|
import static android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY;
|
||||||
|
|
||||||
import android.annotation.MainThread;
|
import android.annotation.MainThread;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.hardware.display.DisplayManager;
|
import android.hardware.display.DisplayManager;
|
||||||
@@ -106,10 +108,9 @@ public class ModeSwitchesController {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected MagnificationModeSwitch createInstance(Display display) {
|
protected MagnificationModeSwitch createInstance(Display display) {
|
||||||
final Context context = (display.getDisplayId() == Display.DEFAULT_DISPLAY)
|
final Context uiContext = mContext.createWindowContext(display,
|
||||||
? mContext
|
TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY, /* options */ null);
|
||||||
: mContext.createDisplayContext(display);
|
return new MagnificationModeSwitch(uiContext);
|
||||||
return new MagnificationModeSwitch(context);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.systemui.accessibility;
|
package com.android.systemui.accessibility;
|
||||||
|
|
||||||
|
import static android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY;
|
||||||
|
|
||||||
import android.annotation.MainThread;
|
import android.annotation.MainThread;
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -82,9 +84,8 @@ public class WindowMagnification extends SystemUI implements WindowMagnifierCall
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected WindowMagnificationAnimationController createInstance(Display display) {
|
protected WindowMagnificationAnimationController createInstance(Display display) {
|
||||||
final Context context = (display.getDisplayId() == Display.DEFAULT_DISPLAY)
|
final Context windowContext = mContext.createWindowContext(display,
|
||||||
? mContext
|
TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY, /* options */ null);
|
||||||
: mContext.createDisplayContext(display);
|
|
||||||
final WindowMagnificationController controller = new WindowMagnificationController(
|
final WindowMagnificationController controller = new WindowMagnificationController(
|
||||||
mContext,
|
mContext,
|
||||||
mHandler, new SfVsyncFrameCallbackProvider(), null,
|
mHandler, new SfVsyncFrameCallbackProvider(), null,
|
||||||
@@ -92,7 +93,7 @@ public class WindowMagnification extends SystemUI implements WindowMagnifierCall
|
|||||||
final int navBarMode = mNavigationModeController.addListener(
|
final int navBarMode = mNavigationModeController.addListener(
|
||||||
controller::onNavigationModeChanged);
|
controller::onNavigationModeChanged);
|
||||||
controller.onNavigationModeChanged(navBarMode);
|
controller.onNavigationModeChanged(navBarMode);
|
||||||
return new WindowMagnificationAnimationController(context, controller);
|
return new WindowMagnificationAnimationController(windowContext, controller);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import android.animation.Animator;
|
|||||||
import android.animation.ValueAnimator;
|
import android.animation.ValueAnimator;
|
||||||
import android.annotation.IntDef;
|
import android.annotation.IntDef;
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
|
import android.annotation.UiContext;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
@@ -69,8 +70,8 @@ class WindowMagnificationAnimationController implements ValueAnimator.AnimatorUp
|
|||||||
@MagnificationState
|
@MagnificationState
|
||||||
private int mState = STATE_DISABLED;
|
private int mState = STATE_DISABLED;
|
||||||
|
|
||||||
WindowMagnificationAnimationController(
|
WindowMagnificationAnimationController(@UiContext Context context,
|
||||||
Context context, WindowMagnificationController controller) {
|
WindowMagnificationController controller) {
|
||||||
this(context, controller, newValueAnimator(context.getResources()));
|
this(context, controller, newValueAnimator(context.getResources()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import android.animation.ObjectAnimator;
|
|||||||
import android.animation.PropertyValuesHolder;
|
import android.animation.PropertyValuesHolder;
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
|
import android.annotation.UiContext;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
@@ -134,7 +135,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
|
|||||||
@Nullable
|
@Nullable
|
||||||
private MirrorWindowControl mMirrorWindowControl;
|
private MirrorWindowControl mMirrorWindowControl;
|
||||||
|
|
||||||
WindowMagnificationController(Context context, @NonNull Handler handler,
|
WindowMagnificationController(@UiContext Context context, @NonNull Handler handler,
|
||||||
SfVsyncFrameCallbackProvider sfVsyncFrameProvider,
|
SfVsyncFrameCallbackProvider sfVsyncFrameProvider,
|
||||||
MirrorWindowControl mirrorWindowControl, SurfaceControl.Transaction transaction,
|
MirrorWindowControl mirrorWindowControl, SurfaceControl.Transaction transaction,
|
||||||
@NonNull WindowMagnifierCallback callback) {
|
@NonNull WindowMagnifierCallback callback) {
|
||||||
@@ -147,7 +148,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
|
|||||||
mDisplayId = mContext.getDisplayId();
|
mDisplayId = mContext.getDisplayId();
|
||||||
mRotation = display.getRotation();
|
mRotation = display.getRotation();
|
||||||
|
|
||||||
mWm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
|
mWm = context.getSystemService(WindowManager.class);
|
||||||
|
|
||||||
mResources = mContext.getResources();
|
mResources = mContext.getResources();
|
||||||
mScale = mResources.getInteger(R.integer.magnification_default_scale);
|
mScale = mResources.getInteger(R.integer.magnification_default_scale);
|
||||||
|
|||||||
Reference in New Issue
Block a user