From cce58872d303c2e501b0918d54eae75cccd022cf Mon Sep 17 00:00:00 2001 From: Daniel Gultsch Date: Wed, 18 Jun 2025 12:50:58 +0200 Subject: [PATCH] add todo as reminder to use more direct api for http upload --- .../eu/siacs/conversations/entities/Account.java | 6 ++++-- .../conversations/ui/ConversationFragment.java | 6 +++--- .../android/xmpp/processor/BindProcessor.java | 14 ++++++++------ 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/entities/Account.java b/src/main/java/eu/siacs/conversations/entities/Account.java index 9c009fcfc280ecb2600316661c6ff2d0bad3cef6..f919cf347850f5fbebdbb5f06edd8a44de3579f2 100644 --- a/src/main/java/eu/siacs/conversations/entities/Account.java +++ b/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() { diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index 11ff15622f7c0d987bb7f5e182406195087994f3..22a7ff43fa0c12e08d1557f98064085adddb5f30 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/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, diff --git a/src/main/java/im/conversations/android/xmpp/processor/BindProcessor.java b/src/main/java/im/conversations/android/xmpp/processor/BindProcessor.java index a8cc527c781f3921e5d895528314aa70fca91d6f..774797d294791158221995a111f55edf88c3277c 100644 --- a/src/main/java/im/conversations/android/xmpp/processor/BindProcessor.java +++ b/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); }