aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui/util/Attachment.java
diff options
context:
space:
mode:
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.java14
1 files changed, 14 insertions, 0 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 f11efd0d1..96159c1bd 100644
--- a/src/main/java/de/pixart/messenger/ui/util/Attachment.java
+++ b/src/main/java/de/pixart/messenger/ui/util/Attachment.java
@@ -37,6 +37,7 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.util.Log;
+import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -61,12 +62,21 @@ public class Attachment implements Parcelable {
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(UUID uuid, Uri uri, Type type, String mime) {
+ this.uri = uri;
+ this.type = type;
+ this.mime = mime;
+ this.uuid = uuid;
+ }
+
private Attachment(Uri uri, Type type, String mime) {
this.uri = uri;
this.type = type;
@@ -88,6 +98,10 @@ public class Attachment implements Parcelable {
return attachments;
}
+ public static Attachment of(UUID uuid, final File file, String mime) {
+ return new Attachment(uuid, Uri.fromFile(file), mime != null && (mime.startsWith("image/") || mime.startsWith("video/")) ? Type.IMAGE : Type.FILE, mime);
+ }
+
public static List<Attachment> extractAttachments(final Context context, final Intent intent, Type type) {
List<Attachment> uris = new ArrayList<>();
if (intent == null) {