From ca9897feae8157dc740e81b98a8ea90298a45214 Mon Sep 17 00:00:00 2001 From: mincheli Date: Thu, 13 Aug 2020 18:06:28 +0800 Subject: [PATCH] Update the drag handle icon of window magnification Screenshot: b/164005577#comment3 Bug: 164005577 Test: manually test Change-Id: I00c97d9c99f15a85753b2f3a2b2b099832e6701e --- .../{ic_move.xml => ic_move_magnification.xml} | 2 +- .../res/layout/window_magnifier_view.xml | 17 +++++++++-------- .../WindowMagnificationController.java | 10 +++++++++- 3 files changed, 19 insertions(+), 10 deletions(-) rename packages/SystemUI/res/drawable/{ic_move.xml => ic_move_magnification.xml} (98%) diff --git a/packages/SystemUI/res/drawable/ic_move.xml b/packages/SystemUI/res/drawable/ic_move_magnification.xml similarity index 98% rename from packages/SystemUI/res/drawable/ic_move.xml rename to packages/SystemUI/res/drawable/ic_move_magnification.xml index e82c9d0f23a99..ed97d0cc0522a 100644 --- a/packages/SystemUI/res/drawable/ic_move.xml +++ b/packages/SystemUI/res/drawable/ic_move_magnification.xml @@ -16,7 +16,7 @@ - + + android:background="@android:color/black"/> + android:background="@color/magnification_border_color"/> + android:layout_above="@+id/bottom_handle"/> + android:layout_alignParentTop="true"/> + android:layout_alignParentEnd="true"/> + android:layout_alignParentBottom="true"/> + android:layout_margin="@dimen/magnification_mirror_surface_margin"/> @@ -73,8 +73,9 @@ android:id="@+id/drag_handle" android:layout_width="@dimen/magnification_drag_view_size" android:layout_height="@dimen/magnification_drag_view_size" + android:layout_margin="@dimen/magnification_outer_border_margin" android:layout_gravity="right|bottom" android:scaleType="center" - android:src="@drawable/ic_move" /> + android:src="@drawable/ic_move_magnification"/> \ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java b/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java index 494a0f64cea4d..60dc8dcca0dc6 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/WindowMagnificationController.java @@ -97,6 +97,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold private SurfaceView mMirrorSurfaceView; private int mMirrorSurfaceMargin; private int mBorderDragSize; + private int mDragViewSize; private int mOuterBorderSize; // The boundary of magnification frame. private final Rect mMagnificationFrameBoundary = new Rect(); @@ -109,7 +110,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold WindowMagnificationController(Context context, @NonNull Handler handler, SfVsyncFrameCallbackProvider sfVsyncFrameProvider, - MirrorWindowControl mirrorWindowControl, SurfaceControl.Transaction transaction, + MirrorWindowControl mirrorWindowControl, SurfaceControl.Transaction transaction, @NonNull WindowMagnifierCallback callback) { mContext = context; mHandler = handler; @@ -168,6 +169,8 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold R.dimen.magnification_mirror_surface_margin); mBorderDragSize = mResources.getDimensionPixelSize( R.dimen.magnification_border_drag_size); + mDragViewSize = mResources.getDimensionPixelSize( + R.dimen.magnification_drag_view_size); mOuterBorderSize = mResources.getDimensionPixelSize( R.dimen.magnification_outer_border_margin); } @@ -307,6 +310,10 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold Region regionInsideDragBorder = new Region(mBorderDragSize, mBorderDragSize, mMirrorView.getWidth() - mBorderDragSize, mMirrorView.getHeight() - mBorderDragSize); + Rect dragArea = new Rect(mMirrorView.getWidth() - mDragViewSize - mBorderDragSize, + mMirrorView.getHeight() - mDragViewSize - mBorderDragSize, + mMirrorView.getWidth(), mMirrorView.getHeight()); + regionInsideDragBorder.op(dragArea, Region.Op.DIFFERENCE); return regionInsideDragBorder; } @@ -555,6 +562,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold /** * Gets the scale. + * * @return {@link Float#NaN} if the window is invisible. */ float getScale() {