Merge "Fix MessagingStyle HUNs" into nyc-dev
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index db775d8..2a3e3d8 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -4468,8 +4468,8 @@
mAllowGeneratedReplies = extras.getBoolean(EXTRA_ALLOW_GENERATED_REPLIES,
mAllowGeneratedReplies);
Parcelable[] parcelables = extras.getParcelableArray(EXTRA_MESSAGES);
- if (parcelables != null && parcelables instanceof Bundle[]) {
- mMessages = Message.getMessagesFromBundleArray((Bundle[]) parcelables);
+ if (parcelables != null && parcelables instanceof Parcelable[]) {
+ mMessages = Message.getMessagesFromBundleArray(parcelables);
}
}
@@ -4565,6 +4565,25 @@
return sb;
}
+ /**
+ * @hide
+ */
+ @Override
+ public RemoteViews makeHeadsUpContentView() {
+ Message m = findLatestIncomingMessage();
+ CharSequence title = mConversationTitle != null
+ ? mConversationTitle
+ : (m == null) ? null : m.mSender;
+ CharSequence text = (m == null)
+ ? null
+ : mConversationTitle != null ? makeMessageLine(m) : m.mText;
+
+ return mBuilder.applyStandardTemplateWithActions(mBuilder.getBigBaseLayoutResource(),
+ false /* hasProgress */,
+ title,
+ text);
+ }
+
private static TextAppearanceSpan makeFontColorSpan(int color) {
return new TextAppearanceSpan(null, 0, 0,
ColorStateList.valueOf(color), null);
@@ -4698,12 +4717,14 @@
return bundles;
}
- static List<Message> getMessagesFromBundleArray(Bundle[] bundles) {
+ static List<Message> getMessagesFromBundleArray(Parcelable[] bundles) {
List<Message> messages = new ArrayList<>(bundles.length);
for (int i = 0; i < bundles.length; i++) {
- Message message = getMessageFromBundle(bundles[i]);
- if (message != null) {
- messages.add(message);
+ if (bundles[i] instanceof Bundle) {
+ Message message = getMessageFromBundle((Bundle)bundles[i]);
+ if (message != null) {
+ messages.add(message);
+ }
}
}
return messages;