2015-10-12 18:25:05 -07:00
|
|
|
package org.thoughtcrime.securesms.attachments;
|
|
|
|
|
|
|
|
import android.net.Uri;
|
|
|
|
import android.support.annotation.NonNull;
|
|
|
|
import android.support.annotation.Nullable;
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.database.AttachmentDatabase;
|
|
|
|
|
|
|
|
public abstract class Attachment {
|
|
|
|
|
|
|
|
@NonNull
|
|
|
|
private final String contentType;
|
|
|
|
private final int transferState;
|
|
|
|
private final long size;
|
|
|
|
|
|
|
|
@Nullable
|
|
|
|
private final String location;
|
|
|
|
|
|
|
|
@Nullable
|
|
|
|
private final String key;
|
|
|
|
|
|
|
|
@Nullable
|
|
|
|
private final String relay;
|
|
|
|
|
2017-02-26 10:06:27 -08:00
|
|
|
@Nullable
|
|
|
|
private final byte[] digest;
|
|
|
|
|
2015-10-12 18:25:05 -07:00
|
|
|
public Attachment(@NonNull String contentType, int transferState, long size,
|
2017-02-26 10:06:27 -08:00
|
|
|
@Nullable String location, @Nullable String key, @Nullable String relay,
|
|
|
|
@Nullable byte[] digest)
|
2015-10-12 18:25:05 -07:00
|
|
|
{
|
|
|
|
this.contentType = contentType;
|
|
|
|
this.transferState = transferState;
|
|
|
|
this.size = size;
|
|
|
|
this.location = location;
|
|
|
|
this.key = key;
|
|
|
|
this.relay = relay;
|
2017-02-26 10:06:27 -08:00
|
|
|
this.digest = digest;
|
2015-10-12 18:25:05 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
@Nullable
|
|
|
|
public abstract Uri getDataUri();
|
|
|
|
|
|
|
|
@Nullable
|
|
|
|
public abstract Uri getThumbnailUri();
|
|
|
|
|
|
|
|
public int getTransferState() {
|
|
|
|
return transferState;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean isInProgress() {
|
|
|
|
return transferState != AttachmentDatabase.TRANSFER_PROGRESS_DONE &&
|
|
|
|
transferState != AttachmentDatabase.TRANSFER_PROGRESS_FAILED;
|
|
|
|
}
|
|
|
|
|
|
|
|
public long getSize() {
|
|
|
|
return size;
|
|
|
|
}
|
|
|
|
|
|
|
|
@NonNull
|
|
|
|
public String getContentType() {
|
|
|
|
return contentType;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Nullable
|
|
|
|
public String getLocation() {
|
|
|
|
return location;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Nullable
|
|
|
|
public String getKey() {
|
|
|
|
return key;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Nullable
|
|
|
|
public String getRelay() {
|
|
|
|
return relay;
|
|
|
|
}
|
2017-02-26 10:06:27 -08:00
|
|
|
|
|
|
|
@Nullable
|
|
|
|
public byte[] getDigest() {
|
|
|
|
return digest;
|
|
|
|
}
|
2015-10-12 18:25:05 -07:00
|
|
|
}
|