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

Commit 20dc4137 authored by ryanlwlin's avatar ryanlwlin Committed by Automerger Merge Worker
Browse files

DO NOT MERGE Fix the cutout of magnification border am: 571df892

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16003757

Change-Id: I2ea490bc2334a57b6edaa458f1313f91b22ffacc
parents 2535db41 571df892
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -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);
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -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);
        }

        /**