Merge "Changes Message from using parcels to bundles" into nyc-dev am: 9ef0ce1
am: 7bdd6a5
* commit '7bdd6a5c87f5f8c0b2073b47fcbe9e121c789a76':
Changes Message from using parcels to bundles
Change-Id: Ib6d348d680d369b64fa12fb650f8d1e8a04de04e
This commit is contained in:
@@ -4927,6 +4927,7 @@ package android.app {
|
|||||||
field public static final java.lang.String EXTRA_BIG_TEXT = "android.bigText";
|
field public static final java.lang.String EXTRA_BIG_TEXT = "android.bigText";
|
||||||
field public static final java.lang.String EXTRA_CHRONOMETER_COUNTS_DOWN = "android.chronometerCountsDown";
|
field public static final java.lang.String EXTRA_CHRONOMETER_COUNTS_DOWN = "android.chronometerCountsDown";
|
||||||
field public static final java.lang.String EXTRA_COMPACT_ACTIONS = "android.compactActions";
|
field public static final java.lang.String EXTRA_COMPACT_ACTIONS = "android.compactActions";
|
||||||
|
field public static final java.lang.String EXTRA_CONVERSATION_TITLE = "android.conversationTitle";
|
||||||
field public static final java.lang.String EXTRA_INFO_TEXT = "android.infoText";
|
field public static final java.lang.String EXTRA_INFO_TEXT = "android.infoText";
|
||||||
field public static final java.lang.String EXTRA_LARGE_ICON = "android.largeIcon";
|
field public static final java.lang.String EXTRA_LARGE_ICON = "android.largeIcon";
|
||||||
field public static final java.lang.String EXTRA_LARGE_ICON_BIG = "android.largeIcon.big";
|
field public static final java.lang.String EXTRA_LARGE_ICON_BIG = "android.largeIcon.big";
|
||||||
@@ -4947,7 +4948,6 @@ package android.app {
|
|||||||
field public static final java.lang.String EXTRA_TEMPLATE = "android.template";
|
field public static final java.lang.String EXTRA_TEMPLATE = "android.template";
|
||||||
field public static final java.lang.String EXTRA_TEXT = "android.text";
|
field public static final java.lang.String EXTRA_TEXT = "android.text";
|
||||||
field public static final java.lang.String EXTRA_TEXT_LINES = "android.textLines";
|
field public static final java.lang.String EXTRA_TEXT_LINES = "android.textLines";
|
||||||
field public static final java.lang.String EXTRA_THREAD_TITLE = "android.threadTitle";
|
|
||||||
field public static final java.lang.String EXTRA_TITLE = "android.title";
|
field public static final java.lang.String EXTRA_TITLE = "android.title";
|
||||||
field public static final java.lang.String EXTRA_TITLE_BIG = "android.title.big";
|
field public static final java.lang.String EXTRA_TITLE_BIG = "android.title.big";
|
||||||
field public static final int FLAG_AUTO_CANCEL = 16; // 0x10
|
field public static final int FLAG_AUTO_CANCEL = 16; // 0x10
|
||||||
@@ -5200,17 +5200,14 @@ package android.app {
|
|||||||
field public static final int MAXIMUM_RETAINED_MESSAGES = 25; // 0x19
|
field public static final int MAXIMUM_RETAINED_MESSAGES = 25; // 0x19
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final class Notification.MessagingStyle.Message implements android.os.Parcelable {
|
public static final class Notification.MessagingStyle.Message {
|
||||||
ctor public Notification.MessagingStyle.Message(java.lang.CharSequence, long, java.lang.CharSequence);
|
ctor public Notification.MessagingStyle.Message(java.lang.CharSequence, long, java.lang.CharSequence);
|
||||||
method public int describeContents();
|
|
||||||
method public java.lang.String getDataMimeType();
|
method public java.lang.String getDataMimeType();
|
||||||
method public android.net.Uri getDataUri();
|
method public android.net.Uri getDataUri();
|
||||||
method public java.lang.CharSequence getSender();
|
method public java.lang.CharSequence getSender();
|
||||||
method public java.lang.CharSequence getText();
|
method public java.lang.CharSequence getText();
|
||||||
method public long getTimestamp();
|
method public long getTimestamp();
|
||||||
method public android.app.Notification.MessagingStyle.Message setData(java.lang.String, android.net.Uri);
|
method public android.app.Notification.MessagingStyle.Message setData(java.lang.String, android.net.Uri);
|
||||||
method public void writeToParcel(android.os.Parcel, int);
|
|
||||||
field public static final android.os.Parcelable.Creator<android.app.Notification.MessagingStyle.Message> CREATOR;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static abstract class Notification.Style {
|
public static abstract class Notification.Style {
|
||||||
|
|||||||
@@ -5061,6 +5061,7 @@ package android.app {
|
|||||||
field public static final java.lang.String EXTRA_BIG_TEXT = "android.bigText";
|
field public static final java.lang.String EXTRA_BIG_TEXT = "android.bigText";
|
||||||
field public static final java.lang.String EXTRA_CHRONOMETER_COUNTS_DOWN = "android.chronometerCountsDown";
|
field public static final java.lang.String EXTRA_CHRONOMETER_COUNTS_DOWN = "android.chronometerCountsDown";
|
||||||
field public static final java.lang.String EXTRA_COMPACT_ACTIONS = "android.compactActions";
|
field public static final java.lang.String EXTRA_COMPACT_ACTIONS = "android.compactActions";
|
||||||
|
field public static final java.lang.String EXTRA_CONVERSATION_TITLE = "android.conversationTitle";
|
||||||
field public static final java.lang.String EXTRA_INFO_TEXT = "android.infoText";
|
field public static final java.lang.String EXTRA_INFO_TEXT = "android.infoText";
|
||||||
field public static final java.lang.String EXTRA_LARGE_ICON = "android.largeIcon";
|
field public static final java.lang.String EXTRA_LARGE_ICON = "android.largeIcon";
|
||||||
field public static final java.lang.String EXTRA_LARGE_ICON_BIG = "android.largeIcon.big";
|
field public static final java.lang.String EXTRA_LARGE_ICON_BIG = "android.largeIcon.big";
|
||||||
@@ -5081,7 +5082,6 @@ package android.app {
|
|||||||
field public static final java.lang.String EXTRA_TEMPLATE = "android.template";
|
field public static final java.lang.String EXTRA_TEMPLATE = "android.template";
|
||||||
field public static final java.lang.String EXTRA_TEXT = "android.text";
|
field public static final java.lang.String EXTRA_TEXT = "android.text";
|
||||||
field public static final java.lang.String EXTRA_TEXT_LINES = "android.textLines";
|
field public static final java.lang.String EXTRA_TEXT_LINES = "android.textLines";
|
||||||
field public static final java.lang.String EXTRA_THREAD_TITLE = "android.threadTitle";
|
|
||||||
field public static final java.lang.String EXTRA_TITLE = "android.title";
|
field public static final java.lang.String EXTRA_TITLE = "android.title";
|
||||||
field public static final java.lang.String EXTRA_TITLE_BIG = "android.title.big";
|
field public static final java.lang.String EXTRA_TITLE_BIG = "android.title.big";
|
||||||
field public static final int FLAG_AUTOGROUP_SUMMARY = 1024; // 0x400
|
field public static final int FLAG_AUTOGROUP_SUMMARY = 1024; // 0x400
|
||||||
@@ -5335,17 +5335,14 @@ package android.app {
|
|||||||
field public static final int MAXIMUM_RETAINED_MESSAGES = 25; // 0x19
|
field public static final int MAXIMUM_RETAINED_MESSAGES = 25; // 0x19
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final class Notification.MessagingStyle.Message implements android.os.Parcelable {
|
public static final class Notification.MessagingStyle.Message {
|
||||||
ctor public Notification.MessagingStyle.Message(java.lang.CharSequence, long, java.lang.CharSequence);
|
ctor public Notification.MessagingStyle.Message(java.lang.CharSequence, long, java.lang.CharSequence);
|
||||||
method public int describeContents();
|
|
||||||
method public java.lang.String getDataMimeType();
|
method public java.lang.String getDataMimeType();
|
||||||
method public android.net.Uri getDataUri();
|
method public android.net.Uri getDataUri();
|
||||||
method public java.lang.CharSequence getSender();
|
method public java.lang.CharSequence getSender();
|
||||||
method public java.lang.CharSequence getText();
|
method public java.lang.CharSequence getText();
|
||||||
method public long getTimestamp();
|
method public long getTimestamp();
|
||||||
method public android.app.Notification.MessagingStyle.Message setData(java.lang.String, android.net.Uri);
|
method public android.app.Notification.MessagingStyle.Message setData(java.lang.String, android.net.Uri);
|
||||||
method public void writeToParcel(android.os.Parcel, int);
|
|
||||||
field public static final android.os.Parcelable.Creator<android.app.Notification.MessagingStyle.Message> CREATOR;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static abstract class Notification.Style {
|
public static abstract class Notification.Style {
|
||||||
|
|||||||
@@ -4927,6 +4927,7 @@ package android.app {
|
|||||||
field public static final java.lang.String EXTRA_BIG_TEXT = "android.bigText";
|
field public static final java.lang.String EXTRA_BIG_TEXT = "android.bigText";
|
||||||
field public static final java.lang.String EXTRA_CHRONOMETER_COUNTS_DOWN = "android.chronometerCountsDown";
|
field public static final java.lang.String EXTRA_CHRONOMETER_COUNTS_DOWN = "android.chronometerCountsDown";
|
||||||
field public static final java.lang.String EXTRA_COMPACT_ACTIONS = "android.compactActions";
|
field public static final java.lang.String EXTRA_COMPACT_ACTIONS = "android.compactActions";
|
||||||
|
field public static final java.lang.String EXTRA_CONVERSATION_TITLE = "android.conversationTitle";
|
||||||
field public static final java.lang.String EXTRA_INFO_TEXT = "android.infoText";
|
field public static final java.lang.String EXTRA_INFO_TEXT = "android.infoText";
|
||||||
field public static final java.lang.String EXTRA_LARGE_ICON = "android.largeIcon";
|
field public static final java.lang.String EXTRA_LARGE_ICON = "android.largeIcon";
|
||||||
field public static final java.lang.String EXTRA_LARGE_ICON_BIG = "android.largeIcon.big";
|
field public static final java.lang.String EXTRA_LARGE_ICON_BIG = "android.largeIcon.big";
|
||||||
@@ -4947,7 +4948,6 @@ package android.app {
|
|||||||
field public static final java.lang.String EXTRA_TEMPLATE = "android.template";
|
field public static final java.lang.String EXTRA_TEMPLATE = "android.template";
|
||||||
field public static final java.lang.String EXTRA_TEXT = "android.text";
|
field public static final java.lang.String EXTRA_TEXT = "android.text";
|
||||||
field public static final java.lang.String EXTRA_TEXT_LINES = "android.textLines";
|
field public static final java.lang.String EXTRA_TEXT_LINES = "android.textLines";
|
||||||
field public static final java.lang.String EXTRA_THREAD_TITLE = "android.threadTitle";
|
|
||||||
field public static final java.lang.String EXTRA_TITLE = "android.title";
|
field public static final java.lang.String EXTRA_TITLE = "android.title";
|
||||||
field public static final java.lang.String EXTRA_TITLE_BIG = "android.title.big";
|
field public static final java.lang.String EXTRA_TITLE_BIG = "android.title.big";
|
||||||
field public static final int FLAG_AUTO_CANCEL = 16; // 0x10
|
field public static final int FLAG_AUTO_CANCEL = 16; // 0x10
|
||||||
@@ -5200,17 +5200,14 @@ package android.app {
|
|||||||
field public static final int MAXIMUM_RETAINED_MESSAGES = 25; // 0x19
|
field public static final int MAXIMUM_RETAINED_MESSAGES = 25; // 0x19
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final class Notification.MessagingStyle.Message implements android.os.Parcelable {
|
public static final class Notification.MessagingStyle.Message {
|
||||||
ctor public Notification.MessagingStyle.Message(java.lang.CharSequence, long, java.lang.CharSequence);
|
ctor public Notification.MessagingStyle.Message(java.lang.CharSequence, long, java.lang.CharSequence);
|
||||||
method public int describeContents();
|
|
||||||
method public java.lang.String getDataMimeType();
|
method public java.lang.String getDataMimeType();
|
||||||
method public android.net.Uri getDataUri();
|
method public android.net.Uri getDataUri();
|
||||||
method public java.lang.CharSequence getSender();
|
method public java.lang.CharSequence getSender();
|
||||||
method public java.lang.CharSequence getText();
|
method public java.lang.CharSequence getText();
|
||||||
method public long getTimestamp();
|
method public long getTimestamp();
|
||||||
method public android.app.Notification.MessagingStyle.Message setData(java.lang.String, android.net.Uri);
|
method public android.app.Notification.MessagingStyle.Message setData(java.lang.String, android.net.Uri);
|
||||||
method public void writeToParcel(android.os.Parcel, int);
|
|
||||||
field public static final android.os.Parcelable.Creator<android.app.Notification.MessagingStyle.Message> CREATOR;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static abstract class Notification.Style {
|
public static abstract class Notification.Style {
|
||||||
|
|||||||
@@ -947,10 +947,10 @@ public class Notification implements Parcelable
|
|||||||
public static final String EXTRA_ALLOW_GENERATED_REPLIES = "android.allowGeneratedReplies";
|
public static final String EXTRA_ALLOW_GENERATED_REPLIES = "android.allowGeneratedReplies";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link #extras} key: a {@link String} to be displayed as the title to a thread represented by
|
* {@link #extras} key: a {@link String} to be displayed as the title to a conversation
|
||||||
* a {@link android.app.Notification.MessagingStyle}
|
* represented by a {@link android.app.Notification.MessagingStyle}
|
||||||
*/
|
*/
|
||||||
public static final String EXTRA_THREAD_TITLE = "android.threadTitle";
|
public static final String EXTRA_CONVERSATION_TITLE = "android.conversationTitle";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link #extras} key: an array of {@link android.app.Notification.MessagingStyle.Message}
|
* {@link #extras} key: an array of {@link android.app.Notification.MessagingStyle.Message}
|
||||||
@@ -4326,7 +4326,7 @@ public class Notification implements Parcelable
|
|||||||
CharSequence mUserDisplayName;
|
CharSequence mUserDisplayName;
|
||||||
CharSequence mConversationTitle;
|
CharSequence mConversationTitle;
|
||||||
boolean mAllowGeneratedReplies = true;
|
boolean mAllowGeneratedReplies = true;
|
||||||
ArrayList<Message> mMessages = new ArrayList<>();
|
List<Message> mMessages = new ArrayList<>();
|
||||||
|
|
||||||
MessagingStyle() {
|
MessagingStyle() {
|
||||||
}
|
}
|
||||||
@@ -4439,11 +4439,11 @@ public class Notification implements Parcelable
|
|||||||
extras.putCharSequence(EXTRA_SELF_DISPLAY_NAME, mUserDisplayName);
|
extras.putCharSequence(EXTRA_SELF_DISPLAY_NAME, mUserDisplayName);
|
||||||
}
|
}
|
||||||
if (mConversationTitle != null) {
|
if (mConversationTitle != null) {
|
||||||
extras.putCharSequence(EXTRA_THREAD_TITLE, mConversationTitle);
|
extras.putCharSequence(EXTRA_CONVERSATION_TITLE, mConversationTitle);
|
||||||
}
|
}
|
||||||
extras.putBoolean(EXTRA_ALLOW_GENERATED_REPLIES, mAllowGeneratedReplies);
|
extras.putBoolean(EXTRA_ALLOW_GENERATED_REPLIES, mAllowGeneratedReplies);
|
||||||
if (!mMessages.isEmpty()) {
|
if (!mMessages.isEmpty()) { extras.putParcelableArray(EXTRA_MESSAGES,
|
||||||
extras.putParcelableArrayList(EXTRA_MESSAGES, mMessages);
|
Message.getBundleArrayForMessages(mMessages));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4456,12 +4456,12 @@ public class Notification implements Parcelable
|
|||||||
|
|
||||||
mMessages.clear();
|
mMessages.clear();
|
||||||
mUserDisplayName = extras.getString(EXTRA_SELF_DISPLAY_NAME);
|
mUserDisplayName = extras.getString(EXTRA_SELF_DISPLAY_NAME);
|
||||||
mConversationTitle = extras.getString(EXTRA_THREAD_TITLE);
|
mConversationTitle = extras.getString(EXTRA_CONVERSATION_TITLE);
|
||||||
mAllowGeneratedReplies = extras.getBoolean(EXTRA_ALLOW_GENERATED_REPLIES,
|
mAllowGeneratedReplies = extras.getBoolean(EXTRA_ALLOW_GENERATED_REPLIES,
|
||||||
mAllowGeneratedReplies);
|
mAllowGeneratedReplies);
|
||||||
List<Message> messages = extras.getParcelableArrayList(EXTRA_MESSAGES);
|
Parcelable[] parcelables = extras.getParcelableArray(EXTRA_MESSAGES);
|
||||||
if (messages != null) {
|
if (parcelables != null && parcelables instanceof Bundle[]) {
|
||||||
mMessages.addAll(messages);
|
mMessages = Message.getMessagesFromBundleArray((Bundle[]) parcelables);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4562,7 +4562,13 @@ public class Notification implements Parcelable
|
|||||||
ColorStateList.valueOf(color), null);
|
ColorStateList.valueOf(color), null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final class Message implements Parcelable {
|
public static final class Message {
|
||||||
|
|
||||||
|
static final String KEY_TEXT = "text";
|
||||||
|
static final String KEY_TIMESTAMP = "time";
|
||||||
|
static final String KEY_SENDER = "sender";
|
||||||
|
static final String KEY_DATA_MIME_TYPE = "type";
|
||||||
|
static final String KEY_DATA_URI= "uri";
|
||||||
|
|
||||||
private final CharSequence mText;
|
private final CharSequence mText;
|
||||||
private final long mTimestamp;
|
private final long mTimestamp;
|
||||||
@@ -4620,26 +4626,6 @@ public class Notification implements Parcelable
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Message(Parcel in) {
|
|
||||||
if (in.readInt() != 0) {
|
|
||||||
mText = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
|
|
||||||
} else {
|
|
||||||
mText = null;
|
|
||||||
}
|
|
||||||
mTimestamp = in.readLong();
|
|
||||||
if (in.readInt() != 0) {
|
|
||||||
mSender = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
|
|
||||||
} else {
|
|
||||||
mSender = null;
|
|
||||||
}
|
|
||||||
if (in.readInt() != 0) {
|
|
||||||
mDataMimeType = in.readString();
|
|
||||||
}
|
|
||||||
if (in.readInt() != 0) {
|
|
||||||
mDataUri = in.readParcelable(Uri.class.getClassLoader());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the text to be used for this message, or the fallback text if a type and content
|
* Get the text to be used for this message, or the fallback text if a type and content
|
||||||
* Uri have been set
|
* Uri have been set
|
||||||
@@ -4677,49 +4663,64 @@ public class Notification implements Parcelable
|
|||||||
return mDataUri;
|
return mDataUri;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
private Bundle toBundle() {
|
||||||
public int describeContents() {
|
Bundle bundle = new Bundle();
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void writeToParcel(Parcel out, int flags) {
|
|
||||||
if (mText != null) {
|
if (mText != null) {
|
||||||
out.writeInt(1);
|
bundle.putCharSequence(KEY_TEXT, mText);
|
||||||
TextUtils.writeToParcel(mText, out, flags);
|
|
||||||
} else {
|
|
||||||
out.writeInt(0);
|
|
||||||
}
|
}
|
||||||
out.writeLong(mTimestamp);
|
bundle.putLong(KEY_TIMESTAMP, mTimestamp);
|
||||||
if (mSender != null) {
|
if (mSender != null) {
|
||||||
out.writeInt(1);
|
bundle.putCharSequence(KEY_SENDER, mSender);
|
||||||
TextUtils.writeToParcel(mSender, out, flags);
|
|
||||||
} else {
|
|
||||||
out.writeInt(0);
|
|
||||||
}
|
}
|
||||||
if (mDataMimeType != null) {
|
if (mDataMimeType != null) {
|
||||||
out.writeInt(1);
|
bundle.putString(KEY_DATA_MIME_TYPE, mDataMimeType);
|
||||||
out.writeString(mDataMimeType);
|
|
||||||
} else {
|
|
||||||
out.writeInt(0);
|
|
||||||
}
|
}
|
||||||
if (mDataUri != null) {
|
if (mDataUri != null) {
|
||||||
out.writeInt(1);
|
bundle.putParcelable(KEY_DATA_URI, mDataUri);
|
||||||
out.writeParcelable(mDataUri, flags);
|
|
||||||
} else {
|
|
||||||
out.writeInt(0);
|
|
||||||
}
|
}
|
||||||
|
return bundle;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Parcelable.Creator<Message> CREATOR =
|
static Bundle[] getBundleArrayForMessages(List<Message> messages) {
|
||||||
new Parcelable.Creator<Message>() {
|
Bundle[] bundles = new Bundle[messages.size()];
|
||||||
public Message createFromParcel(Parcel in) {
|
final int N = messages.size();
|
||||||
return new Message(in);
|
for (int i = 0; i < N; i++) {
|
||||||
|
bundles[i] = messages.get(i).toBundle();
|
||||||
|
}
|
||||||
|
return bundles;
|
||||||
|
}
|
||||||
|
|
||||||
|
static List<Message> getMessagesFromBundleArray(Bundle[] 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return messages;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Message getMessageFromBundle(Bundle bundle) {
|
||||||
|
try {
|
||||||
|
if (!bundle.containsKey(KEY_TEXT) || !bundle.containsKey(KEY_TIMESTAMP) ||
|
||||||
|
!bundle.containsKey(KEY_SENDER)) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
Message message = new Message(bundle.getCharSequence(KEY_TEXT),
|
||||||
|
bundle.getLong(KEY_TIMESTAMP), bundle.getCharSequence(KEY_SENDER));
|
||||||
|
if (bundle.containsKey(KEY_DATA_MIME_TYPE) &&
|
||||||
|
bundle.containsKey(KEY_DATA_URI)) {
|
||||||
|
|
||||||
|
message.setData(bundle.getString(KEY_DATA_MIME_TYPE),
|
||||||
|
(Uri) bundle.getParcelable(KEY_DATA_URI));
|
||||||
}
|
}
|
||||||
public Message[] newArray(int size) {
|
return message;
|
||||||
return new Message[size];
|
}
|
||||||
}
|
} catch (ClassCastException e) {
|
||||||
};
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user