Merge "Be more lenient when processing group headers" into oc-dr1-dev

This commit is contained in:
TreeHugger Robot
2017-06-29 13:38:24 +00:00
committed by Android (Google) Code Review
3 changed files with 24 additions and 2 deletions

View File

@@ -756,6 +756,19 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
return getShowingLayout().getVisibleNotificationHeader();
}
/**
* @return the contracted notification header. This can be different from
* {@link #getNotificationHeader()} and also {@link #getVisibleNotificationHeader()} and only
* returns the contracted version.
*/
public NotificationHeaderView getContractedNotificationHeader() {
if (mIsSummaryWithChildren) {
return mChildrenContainer.getHeaderView();
}
return mPrivateLayout.getContractedNotificationHeader();
}
public void setOnExpandClickListener(OnExpandClickListener onExpandClickListener) {
mOnExpandClickListener = onExpandClickListener;
}

View File

@@ -1308,6 +1308,14 @@ public class NotificationContentView extends FrameLayout {
return header;
}
public NotificationHeaderView getContractedNotificationHeader() {
if (mContractedChild != null) {
return mContractedWrapper.getNotificationHeader();
}
return null;
}
public NotificationHeaderView getVisibleNotificationHeader() {
NotificationViewWrapper wrapper = getVisibleWrapper(mVisibleType);
return wrapper == null ? null : wrapper.getNotificationHeader();

View File

@@ -267,9 +267,10 @@ public class NotificationHeaderUtil {
if (!mApply) {
return;
}
NotificationHeaderView header = row.getNotificationHeader();
NotificationHeaderView header = row.getContractedNotificationHeader();
if (header == null) {
mApply = false;
// No header found. We still consider this to be the same to avoid weird flickering
// when for example showing an undo notification
return;
}
Object childData = mExtractor == null ? null : mExtractor.extractData(row);