diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java index bdbeb2b13498a..21fed3c47689e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java @@ -277,15 +277,25 @@ public class NotificationContentView extends FrameLayout { mContractedChild.animate().cancel(); removeView(mContractedChild); } - mPreviousExpandedRemoteInputIntent = - mExpandedRemoteInput != null ? mExpandedRemoteInput.getPendingIntent() : null; + mPreviousExpandedRemoteInputIntent = null; + if (mExpandedRemoteInput != null) { + mExpandedRemoteInput.onNotificationUpdateOrReset(); + if (mExpandedRemoteInput.isActive()) { + mPreviousExpandedRemoteInputIntent = mExpandedRemoteInput.getPendingIntent(); + } + } if (mExpandedChild != null) { mExpandedChild.animate().cancel(); removeView(mExpandedChild); mExpandedRemoteInput = null; } - mPreviousHeadsUpRemoteInputIntent = - mHeadsUpRemoteInput != null ? mHeadsUpRemoteInput.getPendingIntent() : null; + mPreviousHeadsUpRemoteInputIntent = null; + if (mHeadsUpRemoteInput != null) { + mHeadsUpRemoteInput.onNotificationUpdateOrReset(); + if (mHeadsUpRemoteInput.isActive()) { + mPreviousHeadsUpRemoteInputIntent = mHeadsUpRemoteInput.getPendingIntent(); + } + } if (mHeadsUpChild != null) { mHeadsUpChild.animate().cancel(); removeView(mHeadsUpChild); @@ -910,7 +920,7 @@ public class NotificationContentView extends FrameLayout { view.findViewWithTag(RemoteInputView.VIEW_TAG); if (existing != null) { - existing.onNotificationUpdate(); + existing.onNotificationUpdateOrReset(); } if (existing == null && hasRemoteInput) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java index 40ff05124644e..7704a07449ac4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java @@ -227,7 +227,7 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene updateSendButton(); } - public void onNotificationUpdate() { + public void onNotificationUpdateOrReset() { boolean sending = mProgressBar.getVisibility() == VISIBLE; if (sending) {