Merge "Make Notification long clickable" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
ae1b2e33b1
@@ -1196,6 +1196,22 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
|
||||
return getShowingLayout().getVisibleWrapper();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return whether the notification row is long clickable or not.
|
||||
*/
|
||||
public 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();
|
||||
}
|
||||
|
||||
public void setLongPressListener(LongPressListener longPressListener) {
|
||||
mLongPressListener = longPressListener;
|
||||
}
|
||||
@@ -2947,6 +2963,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()) {
|
||||
@@ -3394,7 +3414,12 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
|
||||
@Override
|
||||
public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) {
|
||||
super.onInitializeAccessibilityNodeInfoInternal(info);
|
||||
info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_LONG_CLICK);
|
||||
final boolean isLongClickable = isNotificationRowLongClickable();
|
||||
if (isLongClickable) {
|
||||
info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_LONG_CLICK);
|
||||
}
|
||||
info.setLongClickable(isLongClickable);
|
||||
|
||||
if (canViewBeDismissed() && !mIsSnoozed) {
|
||||
info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_DISMISS);
|
||||
}
|
||||
|
||||
@@ -586,7 +586,9 @@ public class NotificationGutsManager implements NotifGutsViewManager {
|
||||
}
|
||||
|
||||
final ExpandableNotificationRow row = (ExpandableNotificationRow) view;
|
||||
view.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
|
||||
if (row.isNotificationRowLongClickable()) {
|
||||
view.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
|
||||
}
|
||||
if (row.areGutsExposed()) {
|
||||
closeAndSaveGuts(false /* removeLeavebehind */, false /* force */,
|
||||
true /* removeControls */, -1 /* x */, -1 /* y */,
|
||||
|
||||
Reference in New Issue
Block a user