From 6dfdbeb7bbd2738cb323f00410258861f61d43c7 Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Wed, 19 Apr 2023 16:22:01 -0400 Subject: [PATCH] Check for no-op APNs token changes --- .../textsecuregcm/controllers/AccountController.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java index b526b9300..55ad9aed8 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/controllers/AccountController.java @@ -573,8 +573,15 @@ public class AccountController { @ChangesDeviceEnabledState public void setApnRegistrationId(@Auth DisabledPermittedAuthenticatedAccount disabledPermittedAuth, @NotNull @Valid ApnRegistrationId registrationId) { - Account account = disabledPermittedAuth.getAccount(); - Device device = disabledPermittedAuth.getAuthenticatedDevice(); + + final Account account = disabledPermittedAuth.getAccount(); + final Device device = disabledPermittedAuth.getAuthenticatedDevice(); + + if (Objects.equals(device.getApnId(), registrationId.apnRegistrationId()) && + Objects.equals(device.getVoipApnId(), registrationId.voipRegistrationId())) { + + return; + } accounts.updateDevice(account, device.getId(), d -> { d.setApnId(registrationId.apnRegistrationId());