Merge "Fix hard dragging from the edge of the screen" into sc-dev
This commit is contained in:
@@ -66,6 +66,7 @@ import com.android.systemui.shared.system.WindowManagerWrapper;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.text.NumberFormat;
|
||||
import java.util.Collections;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
@@ -178,7 +179,13 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
|
||||
// Initialize listeners.
|
||||
mMirrorViewRunnable = () -> {
|
||||
if (mMirrorView != null) {
|
||||
final Rect oldViewBounds = new Rect(mMirrorViewBounds);
|
||||
mMirrorView.getBoundsOnScreen(mMirrorViewBounds);
|
||||
if (oldViewBounds.width() != mMirrorViewBounds.width()
|
||||
|| oldViewBounds.height() != mMirrorViewBounds.height()) {
|
||||
mMirrorView.setSystemGestureExclusionRects(Collections.singletonList(
|
||||
new Rect(0, 0, mMirrorViewBounds.width(), mMirrorViewBounds.height())));
|
||||
}
|
||||
updateSystemUIStateIfNeeded();
|
||||
mWindowMagnifierCallback.onWindowMagnifierBoundsChanged(
|
||||
mDisplayId, mMirrorViewBounds);
|
||||
@@ -269,6 +276,7 @@ class WindowMagnificationController implements View.OnTouchListener, SurfaceHold
|
||||
if (mMirrorWindowControl != null) {
|
||||
mMirrorWindowControl.destroyControl();
|
||||
}
|
||||
mMirrorViewBounds.setEmpty();
|
||||
updateSystemUIStateIfNeeded();
|
||||
}
|
||||
|
||||
|
||||
@@ -77,6 +77,8 @@ import org.mockito.Mock;
|
||||
import org.mockito.Mockito;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@LargeTest
|
||||
@RunWith(AndroidTestingRunner.class)
|
||||
public class WindowMagnificationControllerTest extends SysuiTestCase {
|
||||
@@ -151,6 +153,19 @@ public class WindowMagnificationControllerTest extends SysuiTestCase {
|
||||
eq(mContext.getDisplayId()), any(Rect.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void enableWindowMagnification_systemGestureExclusionRectsIsSet() {
|
||||
mInstrumentation.runOnMainSync(() -> {
|
||||
mWindowMagnificationController.enableWindowMagnification(Float.NaN, Float.NaN,
|
||||
Float.NaN);
|
||||
});
|
||||
// Wait for Rects updated.
|
||||
waitForIdleSync();
|
||||
|
||||
List<Rect> rects = mWindowManager.getAttachedView().getSystemGestureExclusionRects();
|
||||
assertFalse(rects.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void deleteWindowMagnification_destroyControl() {
|
||||
mInstrumentation.runOnMainSync(() -> {
|
||||
|
||||
Reference in New Issue
Block a user