DO NOT MERGE Fix the cutout of magnification border am: 571df892f7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16003757 Change-Id: I110f15d4c315218ace1e1939b5c77d790d48538e
This commit is contained in:
@@ -510,4 +510,20 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ
|
||||
protected boolean isUserSetupComplete() {
|
||||
return mIsUserSetupComplete;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when we determine the touchable region.
|
||||
*
|
||||
* @param exclude {@code true} then the magnification region computation will omit the window.
|
||||
*/
|
||||
public void excludeFromMagnificationRegion(boolean exclude) {
|
||||
if (exclude) {
|
||||
mWindowLayoutParams.privateFlags |=
|
||||
WindowManager.LayoutParams.PRIVATE_FLAG_EXCLUDE_FROM_SCREEN_MAGNIFICATION;
|
||||
} else {
|
||||
mWindowLayoutParams.privateFlags &=
|
||||
~WindowManager.LayoutParams.PRIVATE_FLAG_EXCLUDE_FROM_SCREEN_MAGNIFICATION;
|
||||
}
|
||||
mWindowManager.updateViewLayout(mDragLayer, mWindowLayoutParams);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,12 +137,14 @@ public class TaskbarDragLayerController {
|
||||
// Always have nav buttons be touchable
|
||||
mControllers.navbarButtonsViewController.addVisibleButtonsRegion(
|
||||
mTaskbarDragLayer, insetsInfo.touchableRegion);
|
||||
boolean insetsIsTouchableRegion = true;
|
||||
|
||||
if (mTaskbarDragLayer.getAlpha() < AlphaUpdateListener.ALPHA_CUTOFF_THRESHOLD) {
|
||||
// Let touches pass through us.
|
||||
insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION);
|
||||
} else if (mControllers.navbarButtonsViewController.isImeVisible()) {
|
||||
insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_CONTENT);
|
||||
insetsIsTouchableRegion = false;
|
||||
} else if (!mControllers.uiController.isTaskbarTouchable()) {
|
||||
// Let touches pass through us.
|
||||
insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION);
|
||||
@@ -151,9 +153,11 @@ public class TaskbarDragLayerController {
|
||||
// Taskbar has some touchable elements, take over the full taskbar area
|
||||
insetsInfo.setTouchableInsets(mActivity.isTaskbarWindowFullscreen()
|
||||
? TOUCHABLE_INSETS_FRAME : TOUCHABLE_INSETS_CONTENT);
|
||||
insetsIsTouchableRegion = false;
|
||||
} else {
|
||||
insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION);
|
||||
}
|
||||
mActivity.excludeFromMagnificationRegion(insetsIsTouchableRegion);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user