summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java22
1 files changed, 15 insertions, 7 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
index a0b0b3dc57bd..5cc23c0f0028 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
@@ -1481,18 +1481,26 @@ public class NotificationContentView extends FrameLayout {
return null;
}
- SmartReplyView smartReplyView = null;
- if (smartReplyContainer.getChildCount() == 1
- && smartReplyContainer.getChildAt(0) instanceof SmartReplyView) {
+ // Search for an existing SmartReplyView
+ int index = 0;
+ final int childCount = smartReplyContainer.getChildCount();
+ for (; index < childCount; index++) {
+ View child = smartReplyContainer.getChildAt(index);
+ if (child.getId() == R.id.smart_reply_view && child instanceof SmartReplyView) {
+ break;
+ }
+ }
+
+ if (index < childCount) {
// If we already have a SmartReplyView - replace it with the newly inflated one. The
// newly inflated one is connected to the new inflated smart reply/action buttons.
- smartReplyContainer.removeAllViews();
+ smartReplyContainer.removeViewAt(index);
}
- if (smartReplyContainer.getChildCount() == 0
- && inflatedSmartReplyViewHolder != null
+ SmartReplyView smartReplyView = null;
+ if (inflatedSmartReplyViewHolder != null
&& inflatedSmartReplyViewHolder.getSmartReplyView() != null) {
smartReplyView = inflatedSmartReplyViewHolder.getSmartReplyView();
- smartReplyContainer.addView(smartReplyView);
+ smartReplyContainer.addView(smartReplyView, index);
}
if (smartReplyView != null) {
smartReplyView.resetSmartSuggestions(smartReplyContainer);