From 089e297656fef008fdc69314bc621e1c1b6273d1 Mon Sep 17 00:00:00 2001 From: Grishka Date: Fri, 29 Apr 2022 15:17:29 +0300 Subject: [PATCH] fix #93 --- .../android/fragments/ComposeFragment.java | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java index 394a653b..fa91117c 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java @@ -714,25 +714,27 @@ public class ComposeFragment extends MastodonToolbarFragment implements OnBackPr return false; } String type=getActivity().getContentResolver().getType(uri); - if(instance.configuration!=null && instance.configuration.mediaAttachments!=null){ + if(instance!=null && instance.configuration!=null && instance.configuration.mediaAttachments!=null){ if(instance.configuration.mediaAttachments.supportedMimeTypes!=null && !instance.configuration.mediaAttachments.supportedMimeTypes.contains(type)){ showMediaAttachmentError(getString(R.string.media_attachment_unsupported_type, UiUtils.getFileName(uri))); return false; } - int sizeLimit=type.startsWith("image/") ? instance.configuration.mediaAttachments.imageSizeLimit : instance.configuration.mediaAttachments.videoSizeLimit; - int size; - try(Cursor cursor=MastodonApp.context.getContentResolver().query(uri, new String[]{OpenableColumns.SIZE}, null, null, null)){ - cursor.moveToFirst(); - size=cursor.getInt(0); - }catch(Exception x){ - Log.w("ComposeFragment", x); - return false; - } - if(size>sizeLimit){ - float mb=sizeLimit/(float)(1024*1024); - String sMb=String.format(Locale.getDefault(), mb%1f==0f ? "%f" : "%.2f", mb); - showMediaAttachmentError(getString(R.string.media_attachment_too_big, UiUtils.getFileName(uri), sMb)); - return false; + if(!type.startsWith("image/")){ + int sizeLimit=instance.configuration.mediaAttachments.videoSizeLimit; + int size; + try(Cursor cursor=MastodonApp.context.getContentResolver().query(uri, new String[]{OpenableColumns.SIZE}, null, null, null)){ + cursor.moveToFirst(); + size=cursor.getInt(0); + }catch(Exception x){ + Log.w("ComposeFragment", x); + return false; + } + if(size>sizeLimit){ + float mb=sizeLimit/(float) (1024*1024); + String sMb=String.format(Locale.getDefault(), mb%1f==0f ? "%f" : "%.2f", mb); + showMediaAttachmentError(getString(R.string.media_attachment_too_big, UiUtils.getFileName(uri), sMb)); + return false; + } } } pollBtn.setEnabled(false);