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

Commit cdae0787 authored by Michał Brzeziński's avatar Michał Brzeziński Committed by Android (Google) Code Review
Browse files

Merge changes from topic "lock_icon_move" into sc-v2-dev

* changes:
  Moving notifications and keyguard status higher in split shade lockscreen
  Moving now playing widget above lock icon in split shade
parents 26492d07 38f8e0e5
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -33,5 +33,4 @@
    <!-- Notifications are sized to match the width of two (of 4) qs tiles in landscape. -->
    <bool name="config_skinnyNotifsInLandscape">false</bool>

    <dimen name="keyguard_indication_margin_bottom">25dp</dimen>
</resources>
+28 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
 * Copyright (c) 2021, The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
*/
-->
<resources>

    <!-- keyguard-->
    <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>
+6 −1
Original line number Diff line number Diff line
@@ -753,6 +753,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 -->
@@ -935,7 +938,9 @@
    <dimen name="keyguard_lock_padding">20dp</dimen>

    <dimen name="keyguard_indication_margin_bottom">32dp</dimen>
    <dimen name="lock_icon_margin_bottom">98dp</dimen>
    <dimen name="lock_icon_margin_bottom">110dp</dimen>
    <dimen name="ambient_indication_margin_bottom">71dp</dimen>


    <!-- The text size for battery level -->
    <dimen name="battery_level_text_size">12sp</dimen>
+9 −9
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityNodeInfo;

@@ -85,7 +86,6 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
    private static final float sDefaultDensity =
            (float) DisplayMetrics.DENSITY_DEVICE_STABLE / (float) DisplayMetrics.DENSITY_DEFAULT;
    private static final int sLockIconRadiusPx = (int) (sDefaultDensity * 36);
    private static final float sDistAboveKgBottomAreaPx = sDefaultDensity * 12;
    private static final AudioAttributes VIBRATION_SONIFICATION_ATTRIBUTES =
            new AudioAttributes.Builder()
                .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
@@ -126,7 +126,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
    private boolean mUdfpsSupported;
    private float mHeightPixels;
    private float mWidthPixels;
    private int mBottomPadding; // in pixels
    private int mBottomPaddingPx;

    private boolean mShowUnlockIcon;
    private boolean mShowLockIcon;
@@ -347,11 +347,11 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
    }

    private void updateConfiguration() {
        final DisplayMetrics metrics = mView.getContext().getResources().getDisplayMetrics();
        mWidthPixels = metrics.widthPixels;
        mHeightPixels = metrics.heightPixels;
        mBottomPadding = mView.getContext().getResources().getDimensionPixelSize(
                R.dimen.lock_icon_margin_bottom);
        WindowManager windowManager = getContext().getSystemService(WindowManager.class);
        Rect bounds = windowManager.getCurrentWindowMetrics().getBounds();
        mWidthPixels = bounds.right;
        mHeightPixels = bounds.bottom;
        mBottomPaddingPx = getResources().getDimensionPixelSize(R.dimen.lock_icon_margin_bottom);

        mUnlockedLabel = mView.getContext().getResources().getString(
                R.string.accessibility_unlock_button);
@@ -370,8 +370,8 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
        } else {
            mView.setCenterLocation(
                    new PointF(mWidthPixels / 2,
                        mHeightPixels - mBottomPadding - sDistAboveKgBottomAreaPx
                            - sLockIconRadiusPx), sLockIconRadiusPx);
                        mHeightPixels - mBottomPaddingPx - sLockIconRadiusPx),
                        sLockIconRadiusPx);
        }

        mView.getHitRect(mSensorTouchLocation);
+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() {
Loading