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

Commit 7dffcc06 authored by Michał Brzeziński's avatar Michał Brzeziński Committed by Automerger Merge Worker
Browse files

Merge changes from topic "lock_icon_move" into sc-v2-dev am: cdae0787 am: 4db787a5

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16214439

Change-Id: I268143fa14d9fa51e078201393fc1afda01a505d
parents c5d33860 4db787a5
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -21,4 +21,8 @@
    <dimen name="keyguard_indication_margin_bottom">25dp</dimen>
    <dimen name="ambient_indication_margin_bottom">115dp</dimen>
    <dimen name="lock_icon_margin_bottom">60dp</dimen>

    <!-- margin from keyguard status bar to clock. For split shade it should be
         keyguard_split_shade_top_margin - status_bar_header_height_keyguard = 8dp -->
    <dimen name="keyguard_clock_top_margin">8dp</dimen>
</resources>
+3 −0
Original line number Diff line number Diff line
@@ -589,6 +589,9 @@
    <!-- Minimum distance the user has to drag down to go to the full shade. -->
    <dimen name="keyguard_drag_down_min_distance">100dp</dimen>

    <!-- The margin from the top of the screen to notifications and keyguard status view in
         split shade on keyguard-->
    <dimen name="keyguard_split_shade_top_margin">68dp</dimen>
    <!-- The margin between the status view and the notifications on Keyguard.-->
    <dimen name="keyguard_status_view_bottom_margin">20dp</dimen>
    <!-- Minimum margin between clock and status bar -->
+21 −18
Original line number Diff line number Diff line
@@ -56,21 +56,6 @@ public class KeyguardClockPositionAlgorithm {
     */
    private int mUserSwitchPreferredY;

    /**
     * Whether or not there is a custom clock face on keyguard.
     */
    private boolean mHasCustomClock;

    /**
     * Whether or not the NSSL contains any visible notifications.
     */
    private boolean mHasVisibleNotifs;

    /**
     * Height of notification stack: Sum of height of each notification.
     */
    private int mNotificationStackHeight;

    /**
     * Minimum top margin to avoid overlap with status bar, lock icon, or multi-user switcher
     * avatar.
@@ -87,6 +72,16 @@ public class KeyguardClockPositionAlgorithm {
     */
    private int mContainerTopPadding;

    /**
     * Top margin of notifications introduced by presence of split shade header / status bar
     */
    private int mSplitShadeTopNotificationsMargin;

    /**
     * Target margin for notifications and clock from the top of the screen in split shade
     */
    private int mSplitShadeTargetTopMargin;

    /**
     * @see NotificationPanelViewController#getExpandedFraction()
     */
@@ -152,6 +147,10 @@ public class KeyguardClockPositionAlgorithm {
    public void loadDimens(Resources res) {
        mStatusViewBottomMargin = res.getDimensionPixelSize(
                R.dimen.keyguard_status_view_bottom_margin);
        mSplitShadeTopNotificationsMargin =
                res.getDimensionPixelSize(R.dimen.split_shade_header_height);
        mSplitShadeTargetTopMargin =
                res.getDimensionPixelSize(R.dimen.keyguard_split_shade_top_margin);

        mContainerTopPadding =
                res.getDimensionPixelSize(R.dimen.keyguard_clock_top_margin);
@@ -214,7 +213,7 @@ public class KeyguardClockPositionAlgorithm {
        if (mBypassEnabled) {
            return (int) (mUnlockedStackScrollerPadding + mOverStretchAmount);
        } else if (mIsSplitShade) {
            return clockYPosition;
            return Math.max(0, clockYPosition - mSplitShadeTopNotificationsMargin);
        } else {
            return clockYPosition + mKeyguardStatusHeight;
        }
@@ -224,14 +223,18 @@ public class KeyguardClockPositionAlgorithm {
        if (mBypassEnabled) {
            return mUnlockedStackScrollerPadding;
        } else if (mIsSplitShade) {
            return mMinTopMargin;
            return Math.max(mSplitShadeTargetTopMargin, mMinTopMargin);
        } else {
            return mMinTopMargin + mKeyguardStatusHeight;
        }
    }

    private int getExpandedPreferredClockY() {
        return mMinTopMargin + mUserSwitchHeight;
        if (mIsSplitShade) {
            return Math.max(mSplitShadeTargetTopMargin, mMinTopMargin);
        } else {
            return mMinTopMargin;
        }
    }

    public int getLockscreenStatusViewHeight() {
+29 −1
Original line number Diff line number Diff line
@@ -262,6 +262,34 @@ public class KeyguardClockPositionAlgorithmTest extends SysuiTestCase {
        assertThat(mClockPosition.stackScrollerPadding).isEqualTo(0);
    }

    @Test
    public void clockPositionedDependingOnMarginInSplitShade() {
        when(mResources.getDimensionPixelSize(R.dimen.keyguard_split_shade_top_margin))
                .thenReturn(400);
        mClockPositionAlgorithm.loadDimens(mResources);
        givenLockScreen();
        mIsSplitShade = true;
        // WHEN the position algorithm is run
        positionClock();

        assertThat(mClockPosition.clockY).isEqualTo(400);
    }

    @Test
    public void notifPaddingMakesUpToFullMarginInSplitShade() {
        when(mResources.getDimensionPixelSize(R.dimen.keyguard_split_shade_top_margin))
                .thenReturn(100);
        when(mResources.getDimensionPixelSize(R.dimen.split_shade_header_height))
                .thenReturn(70);
        mClockPositionAlgorithm.loadDimens(mResources);
        givenLockScreen();
        mIsSplitShade = true;
        // WHEN the position algorithm is run
        positionClock();
        // THEN the notif padding makes up lacking margin (margin - header height = 30).
        assertThat(mClockPosition.stackScrollerPadding).isEqualTo(30);
    }

    @Test
    public void notifPaddingExpandedAlignedWithClockInSplitShadeMode() {
        givenLockScreen();
@@ -271,7 +299,7 @@ public class KeyguardClockPositionAlgorithmTest extends SysuiTestCase {
        positionClock();
        // THEN the padding DOESN'T adjust for keyguard status height.
        assertThat(mClockPosition.stackScrollerPaddingExpanded)
                .isEqualTo(mClockPosition.clockYFullyDozing);
                .isEqualTo(mClockPosition.clockY);
    }

    @Test