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

Commit 3989babf authored by Lucas Dupin's avatar Lucas Dupin Committed by Android (Google) Code Review
Browse files

Merge "Expanding notification scrim to the edge of the screen" into sc-dev

parents 76fda9db 46f7eb6c
Loading
Loading
Loading
Loading
+12 −9
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Insets;
import android.graphics.Paint;
import android.graphics.PointF;
import android.graphics.Rect;
@@ -55,7 +56,6 @@ import android.os.UserManager;
import android.os.VibrationEffect;
import android.util.Log;
import android.util.MathUtils;
import android.view.DisplayCutout;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.VelocityTracker;
@@ -376,8 +376,8 @@ public class NotificationPanelViewController extends PanelViewController {
    private float mOverStretchAmount;
    private float mDownX;
    private float mDownY;
    private int mDisplayCutoutTopInset = 0; // in pixels
    private int mDisplayCutoutLeftInset = 0; // in pixels
    private int mDisplayTopInset = 0; // in pixels
    private int mDisplayRightInset = 0; // in pixels
    private int mSplitShadeNotificationsTopPadding;

    private final KeyguardClockPositionAlgorithm
@@ -1268,7 +1268,7 @@ public class NotificationPanelViewController extends PanelViewController {
                hasVisibleNotifications, darkamount, mOverStretchAmount,
                bypassEnabled, getUnlockedStackScrollerPadding(),
                computeQsExpansionFraction(),
                mDisplayCutoutTopInset,
                mDisplayTopInset,
                mShouldUseSplitNotificationShade);
        mClockPositionAlgorithm.run(mClockPositionResult);
        boolean animate = mNotificationStackScrollLayoutController.isAddOrRemoveAnimationPending();
@@ -2217,8 +2217,9 @@ public class NotificationPanelViewController extends PanelViewController {
                        : notificationTop);
            }
            bottom = getView().getBottom();
            left = getView().getLeft() - mDisplayCutoutLeftInset;
            right = getView().getRight() - mDisplayCutoutLeftInset;
            // notification bounds should take full screen width regardless of insets
            left = 0;
            right = getView().getRight() + mDisplayRightInset;
        } else if (qsPanelBottomY > 0) { // so bounds are empty on lockscreen
            top = Math.min(qsPanelBottomY, mSplitShadeNotificationsTopPadding);
            bottom = mNotificationStackScrollLayoutController.getHeight();
@@ -4486,9 +4487,11 @@ public class NotificationPanelViewController extends PanelViewController {

    private class OnApplyWindowInsetsListener implements View.OnApplyWindowInsetsListener {
        public WindowInsets onApplyWindowInsets(View v, WindowInsets insets) {
            final DisplayCutout displayCutout = v.getRootWindowInsets().getDisplayCutout();
            mDisplayCutoutTopInset = displayCutout != null ? displayCutout.getSafeInsetTop() : 0;
            mDisplayCutoutLeftInset = displayCutout != null ? displayCutout.getSafeInsetLeft() : 0;
            // the same types of insets that are handled in NotificationShadeWindowView
            int insetTypes = WindowInsets.Type.systemBars() | WindowInsets.Type.displayCutout();
            Insets combinedInsets = insets.getInsetsIgnoringVisibility(insetTypes);
            mDisplayTopInset = combinedInsets.top;
            mDisplayRightInset = combinedInsets.right;

            mNavigationBarBottomHeight = insets.getStableInsetBottom();
            updateMaxHeadsUpTranslation();