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

Commit 33295a48 authored by Selim Cinek's avatar Selim Cinek
Browse files

Fixed the shadows on the lockscreen for bypass

The shadows were clipped before which made them appear
very jarringly. They now appear smoother.
Also, the shelf wasn't actually hidden when it was fully
clipped leading to an ugly remainder on the lockscreen

Fixes: 138258095
Test: atest SystemUITests
Change-Id: I070c307119572aa41423d1370a55010b2f428be4
parent 2738aa3f
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -374,6 +374,10 @@ public class NotificationShelf extends ActivatableNotificationView implements
        clipTransientViews();

        setClipTopAmount(clipTopAmount);
        boolean isHidden = getViewState().hidden || clipTopAmount >= getIntrinsicHeight();
        if (mShowNotificationShelf) {
            setVisibility(isHidden ? View.INVISIBLE : View.VISIBLE);
        }
        setBackgroundTop(backgroundTop);
        setFirstElementRoundness(firstElementRoundness);
        mShelfIcons.setSpeedBumpIndex(mAmbientState.getSpeedBumpIndex());
+16 −0
Original line number Diff line number Diff line
@@ -412,6 +412,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
                outline.setRoundRect(mBackgroundAnimationRect,
                        MathUtils.lerp(mCornerRadius / 2.0f, mCornerRadius,
                                xProgress));
                outline.setAlpha(1.0f - mAmbientState.getHideAmount());
            } else {
                ViewOutlineProvider.BACKGROUND.getOutline(view, outline);
            }
@@ -1043,6 +1044,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
        requestChildrenUpdate();
        updateFirstAndLastBackgroundViews();
        updateAlgorithmLayoutMinHeight();
        updateOwnTranslationZ();
    }

    @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
@@ -4766,6 +4768,20 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
        updateAlgorithmHeightAndPadding();
        updateBackgroundDimming();
        requestChildrenUpdate();
        updateOwnTranslationZ();
    }

    private void updateOwnTranslationZ() {
        // Since we are clipping to the outline we need to make sure that the shadows aren't
        // clipped when pulsing
        float ownTranslationZ = 0;
        if (mKeyguardBypassController.getBypassEnabled() && mAmbientState.isHiddenAtAll()) {
            ExpandableView firstChildNotGone = getFirstChildNotGone();
            if (firstChildNotGone != null && firstChildNotGone.showingPulsing()) {
                ownTranslationZ = firstChildNotGone.getTranslationZ();
            }
        }
        setTranslationZ(ownTranslationZ);
    }

    private void updateVisibility() {