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);
public SendMessageResults sendMessage(
Message message, Set<RecipientIdentifier> recipients
) throws IOException, AttachmentInvalidException, NotAGroupMemberException, GroupNotFoundException, GroupSendingNotAllowedException, UnregisteredRecipientException, InvalidStickerException {
+ final var selfProfile = context.getProfileHelper().getSelfProfile();
+ if (selfProfile == null || selfProfile.getDisplayName().isEmpty()) {
+ logger.warn(
+ "No profile name set. When sending a message it's recommended to set a profile name wit the updateProfile command. This may become mandatory in the future.");
+ }
final var messageBuilder = SignalServiceDataMessage.newBuilder();
applyMessage(messageBuilder, message);
return sendMessage(messageBuilder, recipients);