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

Commit dce3c4cc authored by Jorim Jaggi's avatar Jorim Jaggi
Browse files

Prevent expanded notifications on lockscreen.

Change-Id: I9a0ffca823883cfed75d0e093f5a4364b20008b3
parent 707eb8ba
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -71,7 +71,6 @@ import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.statusbar.StatusBarIcon;
import com.android.internal.statusbar.StatusBarIconList;
import com.android.internal.util.LegacyNotificationUtil;
import com.android.internal.widget.SizeAdaptiveLayout;
import com.android.systemui.R;
import com.android.systemui.RecentsComponent;
import com.android.systemui.SearchPanelView;
@@ -1061,11 +1060,12 @@ public abstract class BaseStatusBar extends SystemUI implements
        for (int i = n-1; i >= 0; i--) {
            NotificationData.Entry entry = mNotificationData.get(i);
            if (mOnKeyguard) {
                entry.row.setSystemExpanded(false);
                entry.row.setExpansionDisabled(true);
            } else {
                entry.row.setExpansionDisabled(false);
                if (!entry.row.isUserLocked()) {
                    boolean top = (i == n-1);
                    entry.row.setSystemExpanded(top || entry.row.isUserExpanded());
                    entry.row.setSystemExpanded(top);
                }
            }
            entry.row.setDimmed(mOnKeyguard);
@@ -1278,8 +1278,8 @@ public abstract class BaseStatusBar extends SystemUI implements
            final boolean userChangedExpansion = oldEntry.row.hasUserChangedExpansion();
            if (userChangedExpansion) {
                boolean userExpanded = oldEntry.row.isUserExpanded();
                newEntry.row.applyExpansionToLayout(userExpanded);
                newEntry.row.setUserExpanded(userExpanded);
                newEntry.row.applyExpansionToLayout();
            }
        }

+20 −8
Original line number Diff line number Diff line
@@ -17,9 +17,7 @@
package com.android.systemui.statusbar;

import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;

@@ -45,6 +43,12 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
     * user expansion.
     */
    private boolean mIsSystemExpanded;

    /**
     * Whether the notification expansion is disabled. This is the case on Keyguard.
     */
    private boolean mExpansionDisabled;

    private NotificationContentView mPublicLayout;
    private NotificationContentView mPrivateLayout;
    private int mMaxExpandHeight;
@@ -133,15 +137,22 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
     */
    public void setSystemExpanded(boolean expand) {
        mIsSystemExpanded = expand;
        applyExpansionToLayout(expand);
        applyExpansionToLayout();
    }

    /**
     * @param expansionDisabled whether to prevent notification expansion
     */
    public void setExpansionDisabled(boolean expansionDisabled) {
        mExpansionDisabled = expansionDisabled;
        applyExpansionToLayout();
    }

    /**
     * Apply an expansion state to the layout.
     *
     * @param expand should the layout be in the expanded state
     */
    public void applyExpansionToLayout(boolean expand) {
    public void applyExpansionToLayout() {
        boolean expand = isExpanded();
        if (expand && mExpandable) {
            setActualHeight(mMaxExpandHeight);
        } else {
@@ -177,7 +188,8 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
     * @return whether the view state is currently expanded.
     */
    private boolean isExpanded() {
        return !hasUserChangedExpansion() && isSystemExpanded() || isUserExpanded();
        return !mExpansionDisabled
                && (!hasUserChangedExpansion() && isSystemExpanded() || isUserExpanded());
    }

    @Override
@@ -186,7 +198,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView {
        boolean updateExpandHeight = mMaxExpandHeight == 0;
        mMaxExpandHeight = mPrivateLayout.getMaxHeight();
        if (updateExpandHeight) {
            applyExpansionToLayout(isExpanded());
            applyExpansionToLayout();
        }
    }