don't ask for resource when server uses http upload v0.1

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/persistance/FileBackend.java | 5 
src/main/java/eu/siacs/conversations/ui/ConversationActivity.java | 3 
src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java    | 6 
3 files changed, 8 insertions(+), 6 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/persistance/FileBackend.java 🔗

@@ -114,7 +114,7 @@ public class FileBackend {
 		}
 	}
 
-	public static long getFileSize(Context context, Uri uri) {
+	private static long getFileSize(Context context, Uri uri) {
 		Cursor cursor = context.getContentResolver().query(uri, null, null, null, null);
 		if (cursor != null && cursor.moveToFirst()) {
 			return cursor.getLong(cursor.getColumnIndex(OpenableColumns.SIZE));
@@ -124,6 +124,9 @@ public class FileBackend {
 	}
 
 	public static boolean allFilesUnderSize(Context context, List<Uri> uris, long max) {
+		if (max <= 0) {
+			return true; //exception to be compatible with HTTP Upload < v0.2
+		}
 		for(Uri uri : uris) {
 			if (FileBackend.getFileSize(context, uri) > max) {
 				return false;

src/main/java/eu/siacs/conversations/ui/ConversationActivity.java 🔗

@@ -1317,8 +1317,7 @@ public class ConversationActivity extends XmppActivity
 						}
 					}
 				};
-				if (max <= 0
-						|| c.getMode() == Conversation.MODE_MULTI
+				if (c.getMode() == Conversation.MODE_MULTI
 						|| FileBackend.allFilesUnderSize(this, uris, max)
 						|| c.getNextEncryption() == Message.ENCRYPTION_OTR) {
 					callback.onPresenceSelected();

src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java 🔗

@@ -296,10 +296,10 @@ public class ShareWithActivity extends XmppActivity implements XmppConnectionSer
 				}
 			};
 			if (account.httpUploadAvailable()
-					&& (
-					(share.image && !neverCompressPictures())
+					&& ((share.image && !neverCompressPictures())
 					|| conversation.getMode() == Conversation.MODE_MULTI
-					|| FileBackend.allFilesUnderSize(this, share.uris, max))) {
+					|| FileBackend.allFilesUnderSize(this, share.uris, max))
+					&& conversation.getNextEncryption() != Message.ENCRYPTION_OTR) {
 				callback.onPresenceSelected();
 			} else {
 				selectPresence(conversation, callback);