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

Commit 5ec4ae1c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Allowing heads-up notifications now on the lock screen"

parents 43769ddb 01ee2cd5
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -2219,7 +2219,9 @@ public abstract class BaseStatusBar extends SystemUI implements
                entry.row.setVisibility(View.GONE);
            } else {
                boolean wasGone = entry.row.getVisibility() == View.GONE;
                if (wasGone) {
                    entry.row.setVisibility(View.VISIBLE);
                }
                if (!childNotification && !entry.row.isRemoved()) {
                    if (wasGone) {
                        // notify the scroller of a child addition
@@ -2450,9 +2452,7 @@ public abstract class BaseStatusBar extends SystemUI implements
            return false;
        }

        boolean inUse = mPowerManager.isScreenOn()
                && (!mStatusBarKeyguardViewManager.isShowing()
                || mStatusBarKeyguardViewManager.isOccluded());
        boolean inUse = mPowerManager.isScreenOn();
        try {
            inUse = inUse && !mDreamManager.isDreaming();
        } catch (RemoteException e) {
@@ -2491,7 +2491,9 @@ public abstract class BaseStatusBar extends SystemUI implements
                if (DEBUG) Log.d(TAG, "No peeking: accessible fullscreen: " + sbn.getKey());
                return false;
            } else {
                return true;
                // we only allow head-up on the lockscreen if it doesn't have a fullscreen intent
                return !mStatusBarKeyguardViewManager.isShowing()
                        || mStatusBarKeyguardViewManager.isOccluded();
            }
        }

+3 −3
Original line number Diff line number Diff line
@@ -1346,7 +1346,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
            return getMinHeight();
        } else if (mIsSummaryWithChildren && !mOnKeyguard) {
            return mChildrenContainer.getIntrinsicHeight();
        } else if (mIsHeadsUp || mHeadsupDisappearRunning) {
        } else if (!mOnKeyguard && (mIsHeadsUp || mHeadsupDisappearRunning)) {
            if (isPinned() || mHeadsupDisappearRunning) {
                return getPinnedHeadsUpHeight(true /* atLeastMinHeight */);
            } else if (isExpanded()) {
@@ -1659,11 +1659,11 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {

    @Override
    public int getMinHeight() {
        if (mIsHeadsUp && mHeadsUpManager.isTrackingHeadsUp()) {
        if (!mOnKeyguard && mIsHeadsUp && mHeadsUpManager.isTrackingHeadsUp()) {
                return getPinnedHeadsUpHeight(false /* atLeastMinHeight */);
        } else if (mIsSummaryWithChildren && !isGroupExpanded() && !mShowingPublic) {
            return mChildrenContainer.getMinHeight();
        } else if (mIsHeadsUp) {
        } else if (!mOnKeyguard && mIsHeadsUp) {
            return mHeadsUpHeight;
        }
        NotificationContentView showingLayout = getShowingLayout();
+1 −0
Original line number Diff line number Diff line
@@ -4625,6 +4625,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
        }
        mState = state;
        mGroupManager.setStatusBarState(state);
        mHeadsUpManager.setStatusBarState(state);
        mFalsingManager.setStatusBarState(state);
        mStatusBarWindowManager.setStatusBarState(state);
        mStackScroller.setStatusBarState(state);
+8 −1
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import com.android.internal.logging.MetricsLogger;
import com.android.systemui.R;
import com.android.systemui.statusbar.ExpandableNotificationRow;
import com.android.systemui.statusbar.NotificationData;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.notification.VisualStabilityManager;
import com.android.systemui.statusbar.phone.NotificationGroupManager;
import com.android.systemui.statusbar.phone.PhoneStatusBar;
@@ -110,6 +111,7 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL
    private boolean mRemoteInputActive;
    private float mExpandedHeight;
    private VisualStabilityManager mVisualStabilityManager;
    private int mStatusBarState;

    public HeadsUpManager(final Context context, View statusBarWindowView,
                          NotificationGroupManager groupManager) {
@@ -217,7 +219,8 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL
    }

    private boolean shouldHeadsUpBecomePinned(NotificationData.Entry entry) {
        return !mIsExpanded || hasFullScreenIntent(entry);
        return mStatusBarState != StatusBarState.KEYGUARD
                && !mIsExpanded || hasFullScreenIntent(entry);
    }

    private boolean hasFullScreenIntent(NotificationData.Entry entry) {
@@ -624,6 +627,10 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL
        mVisualStabilityManager = visualStabilityManager;
    }

    public void setStatusBarState(int statusBarState) {
        mStatusBarState = statusBarState;
    }

    /**
     * This represents a notification and how long it is in a heads up mode. It also manages its
     * lifecycle automatically when created.