+ context.getAccountFileUpdater().updateAccountIdentifiers(account.getNumber(), account.getAci());
+ }
+
+ public void startChangeNumber(
+ String newNumber, String captcha, boolean voiceVerification
+ ) throws IOException, CaptchaRequiredException {
+ final var accountManager = dependencies.createUnauthenticatedAccountManager(newNumber, account.getPassword());
+ NumberVerificationUtils.requestVerificationCode(accountManager, captcha, voiceVerification);
+ }
+
+ public void finishChangeNumber(
+ String newNumber, String verificationCode, String pin
+ ) throws IncorrectPinException, PinLockedException, IOException {
+ final var result = NumberVerificationUtils.verifyNumber(verificationCode,
+ pin,
+ context.getPinHelper(),
+ (verificationCode1, registrationLock) -> dependencies.getAccountManager()
+ .changeNumber(verificationCode1, newNumber, registrationLock));
+ // TODO handle response
+ updateSelfIdentifiers(newNumber, account.getAci());