import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
import org.whispersystems.signalservice.api.messages.SignalServiceReceiptMessage;
import org.whispersystems.signalservice.api.messages.SignalServiceTypingMessage;
+import org.whispersystems.signalservice.api.push.ACI;
import org.whispersystems.signalservice.api.util.DeviceNameUtil;
import org.whispersystems.signalservice.api.util.InvalidNumberException;
import org.whispersystems.signalservice.api.util.PhoneNumberFormatter;
private final static Logger logger = LoggerFactory.getLogger(ManagerImpl.class);
private SignalAccount account;
+ private AccountFileUpdater accountFileUpdater;
private final SignalDependencies dependencies;
private final Context context;
String userAgent
) {
this.account = account;
+ this.accountFileUpdater = accountFileUpdater;
final var sessionLock = new SignalSessionLock() {
private final ReentrantLock LEGACY_LOCK = new ReentrantLock();
final var attachmentStore = new AttachmentStore(pathConfig.attachmentsPath());
final var stickerPackStore = new StickerPackStore(pathConfig.stickerPacksPath());
- this.context = new Context(account, (number, aci) -> {
- accountFileUpdater.updateAccountIdentifiers(number, aci);
- synchronized (addressChangedListeners) {
- addressChangedListeners.forEach(Runnable::run);
+ this.context = new Context(account, new AccountFileUpdater() {
+ @Override
+ public void updateAccountIdentifiers(final String number, final ACI aci) {
+ accountFileUpdater.updateAccountIdentifiers(number, aci);
+ synchronized (addressChangedListeners) {
+ addressChangedListeners.forEach(Runnable::run);
+ }
+ }
+
+ @Override
+ public void removeAccount() {
+ accountFileUpdater.removeAccount();
}
}, dependencies, avatarStore, attachmentStore, stickerPackStore);
this.context.getAccountHelper().setUnregisteredListener(this::close);