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

Commit ecbc1223 authored by Ibrahim Yilmaz's avatar Ibrahim Yilmaz Committed by Android (Google) Code Review
Browse files

Merge "Make Notification long clickable" into tm-qpr-dev

parents f51c21d8 4574b5fd
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -591,6 +591,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
        }
        mShowingPublicInitialized = false;
        updateNotificationColor();
        updateLongClickable();
        if (mMenuRow != null) {
            mMenuRow.onNotificationUpdated(mEntry.getSbn());
            mMenuRow.setAppName(mAppName);
@@ -1196,8 +1197,26 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
        return getShowingLayout().getVisibleWrapper();
    }

    private boolean isNotificationRowLongClickable() {
        if (mLongPressListener == null) {
            return false;
        }

        if (!areGutsExposed()) { // guts is not opened
            return true;
        }

        // if it is leave behind, it shouldn't be long clickable.
        return !isGutsLeaveBehind();
    }

    private void updateLongClickable() {
        setLongClickable(isNotificationRowLongClickable());
    }

    public void setLongPressListener(LongPressListener longPressListener) {
        mLongPressListener = longPressListener;
        updateLongClickable();
    }

    public void setDragController(ExpandableNotificationRowDragController dragController) {
@@ -2044,11 +2063,13 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
    void onGutsOpened() {
        resetTranslation();
        updateContentAccessibilityImportanceForGuts(false /* isEnabled */);
        updateLongClickable();
    }

    void onGutsClosed() {
        updateContentAccessibilityImportanceForGuts(true /* isEnabled */);
        mIsSnoozed = false;
        updateLongClickable();
    }

    /**
@@ -2947,6 +2968,10 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
        return (mGuts != null && mGuts.isExposed());
    }

    private boolean isGutsLeaveBehind() {
        return (mGuts != null && mGuts.isLeavebehind());
    }

    @Override
    public boolean isContentExpandable() {
        if (mIsSummaryWithChildren && !shouldShowPublic()) {
+3 −1
Original line number Diff line number Diff line
@@ -586,7 +586,9 @@ public class NotificationGutsManager implements NotifGutsViewManager {
        }

        final ExpandableNotificationRow row = (ExpandableNotificationRow) view;
        if (view.isLongClickable()) {
            view.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
        }
        if (row.areGutsExposed()) {
            closeAndSaveGuts(false /* removeLeavebehind */, false /* force */,
                    true /* removeControls */, -1 /* x */, -1 /* y */,