Fix parcel
This commit is contained in:
parent
8c976c26d7
commit
c9c796a4fc
|
@ -28,6 +28,7 @@ import android.text.Spannable;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
import android.text.Spanned;
|
import android.text.Spanned;
|
||||||
import android.text.TextPaint;
|
import android.text.TextPaint;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.text.style.ClickableSpan;
|
import android.text.style.ClickableSpan;
|
||||||
import android.text.style.ImageSpan;
|
import android.text.style.ImageSpan;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -86,6 +87,7 @@ public class Account implements Parcelable {
|
||||||
private boolean muting_notifications;
|
private boolean muting_notifications;
|
||||||
private int metaDataSize;
|
private int metaDataSize;
|
||||||
private int metaDataSizeVerified;
|
private int metaDataSizeVerified;
|
||||||
|
private int metaDataSpanSize;
|
||||||
private LinkedHashMap<String, String> fields;
|
private LinkedHashMap<String, String> fields;
|
||||||
private LinkedHashMap<String, Boolean> fieldsVerified;
|
private LinkedHashMap<String, Boolean> fieldsVerified;
|
||||||
private LinkedHashMap<SpannableString, SpannableString> fieldsSpan;
|
private LinkedHashMap<SpannableString, SpannableString> fieldsSpan;
|
||||||
|
@ -94,6 +96,102 @@ public class Account implements Parcelable {
|
||||||
private String host;
|
private String host;
|
||||||
|
|
||||||
|
|
||||||
|
protected Account(Parcel in) {
|
||||||
|
id = in.readString();
|
||||||
|
username = in.readString();
|
||||||
|
emojis = in.readArrayList(Emojis.class.getClassLoader());
|
||||||
|
acct = in.readString();
|
||||||
|
display_name = in.readString();
|
||||||
|
host = in.readString();
|
||||||
|
displayNameSpan = (SpannableString) TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
|
||||||
|
noteSpan = (SpannableString) TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
|
||||||
|
locked = in.readByte() != 0;
|
||||||
|
followers_count = in.readInt();
|
||||||
|
following_count = in.readInt();
|
||||||
|
statuses_count = in.readInt();
|
||||||
|
note = in.readString();
|
||||||
|
url = in.readString();
|
||||||
|
avatar = in.readString();
|
||||||
|
avatar_static = in.readString();
|
||||||
|
header = in.readString();
|
||||||
|
header_static = in.readString();
|
||||||
|
token = in.readString();
|
||||||
|
instance = in.readString();
|
||||||
|
metaDataSize = in.readInt();
|
||||||
|
for(int i = 0; i < metaDataSize; i++){
|
||||||
|
if( fields == null)
|
||||||
|
fields = new LinkedHashMap<>();
|
||||||
|
String key = in.readString();
|
||||||
|
String value = in.readString();
|
||||||
|
fields.put(key,value);
|
||||||
|
}
|
||||||
|
metaDataSizeVerified = in.readInt();
|
||||||
|
for(int i = 0; i < metaDataSizeVerified; i++){
|
||||||
|
if( fieldsVerified == null)
|
||||||
|
fieldsVerified = new LinkedHashMap<>();
|
||||||
|
String key = in.readString();
|
||||||
|
Boolean value = in.readByte() != 0;
|
||||||
|
fieldsVerified.put(key,value);
|
||||||
|
}
|
||||||
|
metaDataSpanSize = in.readInt();
|
||||||
|
for(int i = 0; i < metaDataSpanSize; i++){
|
||||||
|
if( fieldsSpan == null)
|
||||||
|
fieldsSpan = new LinkedHashMap<>();
|
||||||
|
SpannableString key = (SpannableString) TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
|
||||||
|
SpannableString value = (SpannableString) TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
|
||||||
|
fieldsSpan.put(key,value);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeToParcel(Parcel dest, int flags) {
|
||||||
|
dest.writeString(id);
|
||||||
|
dest.writeString(username);
|
||||||
|
dest.writeList(emojis);
|
||||||
|
dest.writeString(acct);
|
||||||
|
dest.writeString(display_name);
|
||||||
|
dest.writeString(host);
|
||||||
|
TextUtils.writeToParcel(displayNameSpan, dest, flags);
|
||||||
|
TextUtils.writeToParcel(noteSpan, dest, flags);
|
||||||
|
dest.writeByte((byte) (locked ? 1 : 0));
|
||||||
|
dest.writeInt(followers_count);
|
||||||
|
dest.writeInt(following_count);
|
||||||
|
dest.writeInt(statuses_count);
|
||||||
|
dest.writeString(note);
|
||||||
|
dest.writeString(url);
|
||||||
|
dest.writeString(avatar);
|
||||||
|
dest.writeString(avatar_static);
|
||||||
|
dest.writeString(header);
|
||||||
|
dest.writeString(header_static);
|
||||||
|
dest.writeString(token);
|
||||||
|
dest.writeString(instance);
|
||||||
|
if( fields != null) {
|
||||||
|
metaDataSize = fields.size();
|
||||||
|
dest.writeInt(metaDataSize);
|
||||||
|
for (Map.Entry<String, String> entry : fields.entrySet()) {
|
||||||
|
dest.writeString(entry.getKey());
|
||||||
|
dest.writeString(entry.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if( fieldsVerified != null) {
|
||||||
|
metaDataSizeVerified = fieldsVerified.size();
|
||||||
|
dest.writeInt(metaDataSizeVerified);
|
||||||
|
for (Map.Entry<String, Boolean> entry : fieldsVerified.entrySet()) {
|
||||||
|
dest.writeString(entry.getKey());
|
||||||
|
dest.writeByte((byte) (entry.getValue() ? 1 : 0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if( fieldsSpan != null) {
|
||||||
|
metaDataSpanSize = fieldsSpan.size();
|
||||||
|
dest.writeInt(metaDataSpanSize);
|
||||||
|
for (Map.Entry<SpannableString, SpannableString> entry : fieldsSpan.entrySet()) {
|
||||||
|
TextUtils.writeToParcel(entry.getKey(), dest, flags);
|
||||||
|
TextUtils.writeToParcel(entry.getValue(), dest, flags);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public followAction getFollowType() {
|
public followAction getFollowType() {
|
||||||
return followType;
|
return followType;
|
||||||
}
|
}
|
||||||
|
@ -170,43 +268,7 @@ public class Account implements Parcelable {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected Account(Parcel in) {
|
|
||||||
id = in.readString();
|
|
||||||
username = in.readString();
|
|
||||||
emojis = in.readArrayList(Emojis.class.getClassLoader());
|
|
||||||
acct = in.readString();
|
|
||||||
display_name = in.readString();
|
|
||||||
host = in.readString();
|
|
||||||
locked = in.readByte() != 0;
|
|
||||||
followers_count = in.readInt();
|
|
||||||
following_count = in.readInt();
|
|
||||||
statuses_count = in.readInt();
|
|
||||||
note = in.readString();
|
|
||||||
url = in.readString();
|
|
||||||
avatar = in.readString();
|
|
||||||
avatar_static = in.readString();
|
|
||||||
header = in.readString();
|
|
||||||
header_static = in.readString();
|
|
||||||
token = in.readString();
|
|
||||||
instance = in.readString();
|
|
||||||
metaDataSize = in.readInt();
|
|
||||||
|
|
||||||
for(int i = 0; i < metaDataSize; i++){
|
|
||||||
if( fields == null)
|
|
||||||
fields = new LinkedHashMap<>();
|
|
||||||
String key = in.readString();
|
|
||||||
String value = in.readString();
|
|
||||||
fields.put(key,value);
|
|
||||||
}
|
|
||||||
metaDataSizeVerified = in.readInt();
|
|
||||||
for(int i = 0; i < metaDataSizeVerified; i++){
|
|
||||||
if( fieldsVerified == null)
|
|
||||||
fieldsVerified = new LinkedHashMap<>();
|
|
||||||
String key = in.readString();
|
|
||||||
Boolean value = in.readByte() != 0;
|
|
||||||
fieldsVerified.put(key,value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Account(){
|
public Account(){
|
||||||
this.account = this;
|
this.account = this;
|
||||||
|
@ -389,48 +451,8 @@ public class Account implements Parcelable {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void writeToParcel(Parcel dest, int flags) {
|
|
||||||
dest.writeString(id);
|
|
||||||
dest.writeString(username);
|
|
||||||
dest.writeList(emojis);
|
|
||||||
dest.writeString(acct);
|
|
||||||
dest.writeString(display_name);
|
|
||||||
dest.writeString(host);
|
|
||||||
dest.writeByte((byte) (locked ? 1 : 0));
|
|
||||||
dest.writeInt(followers_count);
|
|
||||||
dest.writeInt(following_count);
|
|
||||||
dest.writeInt(statuses_count);
|
|
||||||
dest.writeString(note);
|
|
||||||
dest.writeString(url);
|
|
||||||
dest.writeString(avatar);
|
|
||||||
dest.writeString(avatar_static);
|
|
||||||
dest.writeString(header);
|
|
||||||
dest.writeString(header_static);
|
|
||||||
dest.writeString(token);
|
|
||||||
dest.writeString(instance);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if( fields != null) {
|
|
||||||
metaDataSize = fields.size();
|
|
||||||
dest.writeInt(metaDataSize);
|
|
||||||
for (Map.Entry<String, String> entry : fields.entrySet()) {
|
|
||||||
dest.writeString(entry.getKey());
|
|
||||||
dest.writeString(entry.getValue());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if( fieldsVerified != null) {
|
|
||||||
metaDataSizeVerified = fieldsVerified.size();
|
|
||||||
dest.writeInt(metaDataSizeVerified);
|
|
||||||
for (Map.Entry<String, Boolean> entry : fieldsVerified.entrySet()) {
|
|
||||||
dest.writeString(entry.getKey());
|
|
||||||
dest.writeByte((byte) (entry.getValue() ? 1 : 0));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isFollowing() {
|
public boolean isFollowing() {
|
||||||
return isFollowing;
|
return isFollowing;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue