+ public void checkWhoAmiI() throws IOException {
+ final var whoAmI = dependencies.getAccountManager().getWhoAmI();
+ final var number = whoAmI.getNumber();
+ final var aci = ACI.parseOrNull(whoAmI.getAci());
+ if (number.equals(account.getNumber()) && aci.equals(account.getAci())) {
+ return;
+ }
+
+ updateSelfIdentifiers(number, aci);
+ }
+
+ private void updateSelfIdentifiers(final String number, final ACI aci) {
+ account.setNumber(number);
+ account.setAci(aci);
+ account.getRecipientStore().resolveRecipientTrusted(account.getSelfRecipientAddress());
+ context.getAccountFileUpdater().updateAccountIdentifiers(account.getNumber(), account.getAci());
+ // TODO check and update remote storage
+ context.getUnidentifiedAccessHelper().rotateSenderCertificates();
+ dependencies.getSignalWebSocket().forceNewWebSockets();
+ }
+