add todo as reminder to use more direct api for http upload

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/entities/Account.java               |  6 
src/main/java/eu/siacs/conversations/ui/ConversationFragment.java        |  6 
src/main/java/im/conversations/android/xmpp/processor/BindProcessor.java | 14 
3 files changed, 15 insertions(+), 11 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/entities/Account.java 🔗

@@ -210,12 +210,14 @@ public class Account extends AbstractEntity implements AvatarService.Avatarable
                 cursor.getString(cursor.getColumnIndexOrThrow(FAST_TOKEN)));
     }
 
-    public boolean httpUploadAvailable(long fileSize) {
+    // TODO remove this method and call HttpUploadManager directly i
+    public boolean httpUploadAvailable(final long fileSize) {
         return xmppConnection.getManager(HttpUploadManager.class).isAvailableForSize(fileSize);
     }
 
     public boolean httpUploadAvailable() {
-        return isOptionSet(OPTION_HTTP_UPLOAD_AVAILABLE) || httpUploadAvailable(0);
+        return isOptionSet(OPTION_HTTP_UPLOAD_AVAILABLE)
+                || xmppConnection.getManager(HttpUploadManager.class).isAvailableForSize(0);
     }
 
     public String getDisplayName() {

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

@@ -2230,9 +2230,9 @@ public class ConversationFragment extends XmppFragment
                 if (!message.hasFileOnRemoteHost()
                         && xmppConnection != null
                         && conversation.getMode() == Conversational.MODE_SINGLE
-                        && (!conversation
-                                        .getAccount()
-                                        .httpUploadAvailable(message.getFileParams().getSize())
+                        && (!xmppConnection
+                                        .getManager(HttpUploadManager.class)
+                                        .isAvailableForSize(message.getFileParams().getSize())
                                 || forceP2P)) {
                     activity.selectPresence(
                             conversation,

src/main/java/im/conversations/android/xmpp/processor/BindProcessor.java 🔗

@@ -8,6 +8,7 @@ import eu.siacs.conversations.generator.IqGenerator;
 import eu.siacs.conversations.services.XmppConnectionService;
 import eu.siacs.conversations.xmpp.XmppConnection;
 import eu.siacs.conversations.xmpp.manager.BookmarkManager;
+import eu.siacs.conversations.xmpp.manager.HttpUploadManager;
 import eu.siacs.conversations.xmpp.manager.LegacyBookmarkManager;
 import eu.siacs.conversations.xmpp.manager.MessageDisplayedSynchronizationManager;
 import eu.siacs.conversations.xmpp.manager.NickManager;
@@ -40,7 +41,8 @@ public class BindProcessor extends XmppConnection.Delegate implements Runnable {
         }
         final boolean gainedFeature =
                 account.setOption(
-                        Account.OPTION_HTTP_UPLOAD_AVAILABLE, account.httpUploadAvailable(0));
+                        Account.OPTION_HTTP_UPLOAD_AVAILABLE,
+                        getManager(HttpUploadManager.class).isAvailableForSize(0));
         if (loggedInSuccessfully || gainedFeature || sosModified) {
             service.databaseBackend.updateAccount(account);
         }
@@ -56,7 +58,7 @@ public class BindProcessor extends XmppConnection.Delegate implements Runnable {
             }
         }
 
-        connection.getManager(RosterManager.class).clearPresences();
+        getManager(RosterManager.class).clearPresences();
         synchronized (account.inProgressConferenceJoins) {
             account.inProgressConferenceJoins.clear();
         }
@@ -69,17 +71,17 @@ public class BindProcessor extends XmppConnection.Delegate implements Runnable {
         getManager(RosterManager.class).request();
 
         if (getManager(BookmarkManager.class).hasFeature()) {
-            connection.getManager(BookmarkManager.class).fetch();
+            getManager(BookmarkManager.class).fetch();
         } else if (getManager(LegacyBookmarkManager.class).hasConversion()) {
             Log.d(
                     Config.LOGTAG,
                     account.getJid() + ": not fetching bookmarks. waiting for server to push");
         } else {
-            connection.getManager(PrivateStorageManager.class).fetchBookmarks();
+            getManager(PrivateStorageManager.class).fetchBookmarks();
         }
 
         if (features.mds()) {
-            connection.getManager(MessageDisplayedSynchronizationManager.class).fetch();
+            getManager(MessageDisplayedSynchronizationManager.class).fetch();
         } else {
             Log.d(Config.LOGTAG, account.getJid() + ": server has no support for mds");
         }
@@ -108,7 +110,7 @@ public class BindProcessor extends XmppConnection.Delegate implements Runnable {
             service.getPushManagementService().registerPushTokenOnServer(account);
         }
         service.connectMultiModeConversations(account);
-        connection.getManager(RosterManager.class).syncDirtyContacts();
+        getManager(RosterManager.class).syncDirtyContacts();
 
         service.getUnifiedPushBroker().renewUnifiedPushEndpointsOnBind(account);
     }