Merge pull request #132 from informatik-ag-ngl/f/login_dialog

JavaFX LoginDialog
This commit is contained in:
2020-04-10 20:44:46 +02:00
committed by GitHub
8 changed files with 245 additions and 418 deletions

View File

@@ -46,9 +46,10 @@ public class Client implements Closeable {
private volatile Set<? extends Contact> contacts;
private volatile boolean rejected;
// Configuration and logging
private static final ClientConfig config = ClientConfig.getInstance();
private static final Logger logger = EnvoyLog.getLogger(Client.class);
// Configuration, logging and event management
private static final ClientConfig config = ClientConfig.getInstance();
private static final Logger logger = EnvoyLog.getLogger(Client.class);
private static final EventBus eventBus = EventBus.getInstance();
/**
* Enters the online mode by acquiring a user ID from the server. As a
@@ -80,7 +81,7 @@ public class Client implements Closeable {
// Register user creation processor, contact list processor and message cache
receiver.registerProcessor(User.class, sender -> { this.sender = sender; contacts = sender.getContacts(); });
receiver.registerProcessor(Message.class, receivedMessageCache);
receiver.registerProcessor(HandshakeRejectionEvent.class, evt -> { rejected = true; EventBus.getInstance().dispatch(evt); });
receiver.registerProcessor(HandshakeRejectionEvent.class, evt -> { rejected = true; eventBus.dispatch(evt); });
rejected = false;
@@ -106,11 +107,12 @@ public class Client implements Closeable {
Thread.sleep(500);
}
logger.info("Handshake completed.");
online = true;
// Remove user creation processor
receiver.removeAllProcessors();
logger.info("Handshake completed.");
}
/**
@@ -146,20 +148,19 @@ public class Client implements Closeable {
receiver.registerProcessor(IDGenerator.class, localDB::setIDGenerator);
// Process name changes
receiver.registerProcessor(NameChangeEvent.class, evt -> { localDB.replaceContactName(evt); EventBus.getInstance().dispatch(evt); });
receiver.registerProcessor(NameChangeEvent.class, evt -> { localDB.replaceContactName(evt); eventBus.dispatch(evt); });
// Process contact searches
receiver.registerProcessor(ContactSearchResult.class, EventBus.getInstance()::dispatch);
receiver.registerProcessor(ContactSearchResult.class, eventBus::dispatch);
receiver.registerProcessor(Contact.class,
contacts -> EventBus.getInstance()
.dispatch(new ContactOperationEvent(contacts.getContacts().iterator().next(), ElementOperation.ADD)));
contacts -> eventBus.dispatch(new ContactOperationEvent(contacts.getContacts().iterator().next(), ElementOperation.ADD)));
// Process group size changes
receiver.registerProcessor(GroupResizeEvent.class, evt -> { localDB.updateGroup(evt); EventBus.getInstance().dispatch(evt); });
receiver.registerProcessor(GroupResizeEvent.class, evt -> { localDB.updateGroup(evt); eventBus.dispatch(evt); });
// Send event
EventBus.getInstance().register(SendEvent.class, evt -> {
eventBus.register(SendEvent.class, evt -> {
try {
sendEvent(evt.get());
} catch (IOException e) {