From 9739141f0d1165e1ba9463a1112cf618c1f18f0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Mon, 28 Jun 2021 19:06:59 -0400 Subject: [PATCH] datatransfer: fix autoaccept Change-Id: Ifb8b5566989e28efe4ba0ea5257018306830bf7a --- .../main/java/cx/ring/services/NotificationServiceImpl.java | 2 +- .../src/main/java/net/jami/facades/ConversationFacade.java | 3 ++- .../src/main/java/net/jami/model/Interaction.java | 6 +++--- .../src/main/java/net/jami/services/AccountService.java | 3 +++ 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ring-android/app/src/main/java/cx/ring/services/NotificationServiceImpl.java b/ring-android/app/src/main/java/cx/ring/services/NotificationServiceImpl.java index 9861ef901..649ca69c5 100644 --- a/ring-android/app/src/main/java/cx/ring/services/NotificationServiceImpl.java +++ b/ring-android/app/src/main/java/cx/ring/services/NotificationServiceImpl.java @@ -744,7 +744,7 @@ public class NotificationServiceImpl implements NotificationService { return; } InteractionStatus event = info.getStatus(); - if (event == null) { + if (event == null || event == InteractionStatus.FILE_AVAILABLE) { return; } android.net.Uri path = ConversationPath.toUri(conversation); diff --git a/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java b/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java index bf4812873..fdcd012ab 100644 --- a/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java +++ b/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java @@ -590,7 +590,8 @@ public class ConversationFacade { private void handleDataTransferEvent(DataTransfer transfer) { Conversation conversation = mAccountService.getAccount(transfer.getAccount()).onDataTransferEvent(transfer); - if (transfer.getStatus() == Interaction.InteractionStatus.TRANSFER_CREATED && !transfer.isOutgoing()) { + Interaction.InteractionStatus status = transfer.getStatus(); + if ((status == Interaction.InteractionStatus.TRANSFER_CREATED || status == Interaction.InteractionStatus.FILE_AVAILABLE) && !transfer.isOutgoing()) { if (transfer.canAutoAccept(mPreferencesService.getMaxFileAutoAccept(transfer.getAccount()))) { mAccountService.acceptFileTransfer(conversation, transfer.getFileId(), transfer); return; diff --git a/ring-android/libringclient/src/main/java/net/jami/model/Interaction.java b/ring-android/libringclient/src/main/java/net/jami/model/Interaction.java index d7f2c02dc..ddfa85cd5 100644 --- a/ring-android/libringclient/src/main/java/net/jami/model/Interaction.java +++ b/ring-android/libringclient/src/main/java/net/jami/model/Interaction.java @@ -66,9 +66,9 @@ public class Interaction { String mExtraFlag = new JsonObject().toString(); // Swarm - private String mConversationId; - private String mMessageId; - private List<String> mParentIds; + private String mConversationId = null; + private String mMessageId = null; + private List<String> mParentIds = null; /* Needed by ORMLite */ public Interaction() { diff --git a/ring-android/libringclient/src/main/java/net/jami/services/AccountService.java b/ring-android/libringclient/src/main/java/net/jami/services/AccountService.java index 15bae636b..e1217c961 100644 --- a/ring-android/libringclient/src/main/java/net/jami/services/AccountService.java +++ b/ring-android/libringclient/src/main/java/net/jami/services/AccountService.java @@ -1553,6 +1553,7 @@ public class AccountService { } interaction.setContact(contact); interaction.setSwarmInfo(conversation.getUri().getRawRingId(), id, parents); + interaction.setConversation(conversation); if (conversation.addSwarmElement(interaction)) { if (conversation.isVisible()) mHistoryService.setMessageRead(account.getAccountID(), conversation.getUri(), interaction.getMessageId()); @@ -1670,6 +1671,8 @@ public class AccountService { boolean isIncoming = !interaction.getContact().isUser(); if (isIncoming) { incomingSwarmMessageSubject.onNext(interaction); + if (interaction instanceof DataTransfer) + dataTransferSubject.onNext((DataTransfer)interaction); } } } -- GitLab