diff options
author | Christian Schneppe <christian@pix-art.de> | 2018-09-23 16:50:55 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2018-09-23 16:50:55 +0200 |
commit | 60820f3e14e8ea1d756641646f50bc2dc54de528 (patch) | |
tree | d722933432ccff25771c892cdeec3ea786d649a3 /src/main/java/de/pixart/messenger/ui/util/Attachment.java | |
parent | 1e63a8291579043659f86dbb46d4d63d3225c471 (diff) |
make media previews survive rotations
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui/util/Attachment.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/util/Attachment.java | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/util/Attachment.java b/src/main/java/de/pixart/messenger/ui/util/Attachment.java index 8c1d0c75e..f11efd0d1 100644 --- a/src/main/java/de/pixart/messenger/ui/util/Attachment.java +++ b/src/main/java/de/pixart/messenger/ui/util/Attachment.java @@ -33,6 +33,8 @@ import android.content.ClipData; import android.content.Context; import android.content.Intent; import android.net.Uri; +import android.os.Parcel; +import android.os.Parcelable; import android.util.Log; import java.util.ArrayList; @@ -43,11 +45,28 @@ import java.util.UUID; import de.pixart.messenger.Config; import de.pixart.messenger.utils.MimeUtils; -public class Attachment { +public class Attachment implements Parcelable { + public static final Creator<Attachment> CREATOR = new Parcelable.Creator<Attachment>() { + @Override + public Attachment createFromParcel(Parcel in) { + return new Attachment(in); + } + + @Override + public Attachment[] newArray(int size) { + return new Attachment[size]; + } + }; private final Uri uri; private final Type type; private final UUID uuid; private final String mime; + Attachment(Parcel in) { + uri = in.readParcelable(Uri.class.getClassLoader()); + mime = in.readString(); + uuid = UUID.fromString(in.readString()); + type = Type.valueOf(in.readString()); + } private Attachment(Uri uri, Type type, String mime) { this.uri = uri; this.type = type; @@ -94,6 +113,19 @@ public class Attachment { return uris; } + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeParcelable(uri, flags); + dest.writeString(mime); + dest.writeString(uuid.toString()); + dest.writeString(type.toString()); + } + + @Override + public int describeContents() { + return 0; + } + public String getMime() { return mime; } |