|
|
|
|
@ -36,13 +36,15 @@ public abstract class MediaConstraints {
|
|
|
|
|
|
|
|
|
|
public abstract int getAudioMaxSize();
|
|
|
|
|
|
|
|
|
|
public abstract int getDocumentMaxSize();
|
|
|
|
|
|
|
|
|
|
public boolean isSatisfied(@NonNull Context context, @NonNull MasterSecret masterSecret, @NonNull Attachment attachment) {
|
|
|
|
|
try {
|
|
|
|
|
return (MediaUtil.isGif(attachment) && attachment.getSize() <= getGifMaxSize() && isWithinBounds(context, masterSecret, attachment.getDataUri())) ||
|
|
|
|
|
(MediaUtil.isImage(attachment) && attachment.getSize() <= getImageMaxSize() && isWithinBounds(context, masterSecret, attachment.getDataUri())) ||
|
|
|
|
|
(MediaUtil.isAudio(attachment) && attachment.getSize() <= getAudioMaxSize()) ||
|
|
|
|
|
(MediaUtil.isVideo(attachment) && attachment.getSize() <= getVideoMaxSize()) ||
|
|
|
|
|
(!MediaUtil.isImage(attachment) && !MediaUtil.isAudio(attachment) && !MediaUtil.isVideo(attachment));
|
|
|
|
|
(MediaUtil.isFile(attachment) && attachment.getSize() <= getDocumentMaxSize());
|
|
|
|
|
} catch (IOException ioe) {
|
|
|
|
|
Log.w(TAG, "Failed to determine if media's constraints are satisfied.", ioe);
|
|
|
|
|
return false;
|
|
|
|
|
|