From ddda5e8b4756ccddda7e8306b69fced2ced055c8 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Wed, 12 Mar 2025 16:13:50 -0400 Subject: [PATCH] Revert delete account conversion to WebSocket. --- .../securesms/delete/DeleteAccountRepository.java | 4 +--- .../signalservice/api/SignalServiceAccountManager.java | 4 ++++ .../signalservice/internal/push/PushServiceSocket.java | 6 ++++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/delete/DeleteAccountRepository.java b/app/src/main/java/org/thoughtcrime/securesms/delete/DeleteAccountRepository.java index 637f4b6f87..4fe1a63bde 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/delete/DeleteAccountRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/delete/DeleteAccountRepository.java @@ -16,9 +16,7 @@ import org.thoughtcrime.securesms.database.model.GroupRecord; import org.thoughtcrime.securesms.database.model.InAppPaymentSubscriberRecord; import org.thoughtcrime.securesms.dependencies.AppDependencies; import org.thoughtcrime.securesms.groups.GroupManager; -import org.thoughtcrime.securesms.net.SignalNetwork; import org.thoughtcrime.securesms.util.ServiceUtil; -import org.whispersystems.signalservice.api.NetworkResultUtil; import org.whispersystems.signalservice.internal.EmptyResponse; import org.whispersystems.signalservice.internal.ServiceResponse; @@ -105,7 +103,7 @@ class DeleteAccountRepository { Log.i(TAG, "deleteAccount: attempting to delete account from server..."); try { - NetworkResultUtil.toBasicLegacy(SignalNetwork.account().deleteAccount()); + AppDependencies.getSignalServiceAccountManager().deleteAccount(); } catch (IOException e) { Log.w(TAG, "deleteAccount: failed to delete account from signal service", e); onDeleteAccountEvent.accept(DeleteAccountEvent.ServerDeletionFailed.INSTANCE); diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/SignalServiceAccountManager.java b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/SignalServiceAccountManager.java index 977a132237..b202030f97 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/api/SignalServiceAccountManager.java +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/api/SignalServiceAccountManager.java @@ -124,6 +124,10 @@ public class SignalServiceAccountManager { return NetworkResultUtil.toBasicLegacy(accountApi.whoAmI()); } + public void deleteAccount() throws IOException { + this.pushServiceSocket.deleteAccount(); + } + /** * Request a push challenge. A number will be pushed to the GCM (FCM) id. This can then be used * during SMS/call requests to bypass the CAPTCHA. diff --git a/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/push/PushServiceSocket.java b/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/push/PushServiceSocket.java index f601a4d7e7..916ccd3a8c 100644 --- a/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/push/PushServiceSocket.java +++ b/libsignal-service/src/main/java/org/whispersystems/signalservice/internal/push/PushServiceSocket.java @@ -191,6 +191,8 @@ public class PushServiceSocket { private static final String TAG = PushServiceSocket.class.getSimpleName(); + private static final String DELETE_ACCOUNT_PATH = "/v1/accounts/me"; + private static final String PREKEY_METADATA_PATH = "/v2/keys?identity=%s"; private static final String PREKEY_PATH = "/v2/keys?identity=%s"; private static final String PREKEY_DEVICE_PATH = "/v2/keys/%s/%s"; @@ -912,6 +914,10 @@ public class PushServiceSocket { return JsonUtil.fromJson(response, BackupV3AuthCheckResponse.class); } + public void deleteAccount() throws IOException { + makeServiceRequest(DELETE_ACCOUNT_PATH, "DELETE", null); + } + public void redeemDonationReceipt(ReceiptCredentialPresentation receiptCredentialPresentation, boolean visible, boolean primary) throws IOException { String payload = JsonUtil.toJson(new RedeemDonationReceiptRequest(Base64.encodeWithPadding(receiptCredentialPresentation.serialize()), visible, primary)); makeServiceRequest(DONATION_REDEEM_RECEIPT, "POST", payload);