Implemented contact list update
This commit is contained in:
		
							
								
								
									
										23
									
								
								src/main/java/envoy/client/event/SendEvent.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								src/main/java/envoy/client/event/SendEvent.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| package envoy.client.event; | ||||
|  | ||||
| import envoy.event.Event; | ||||
|  | ||||
| /** | ||||
|  * Project: <strong>envoy-client</strong><br> | ||||
|  * File: <strong>SendEvent.java</strong><br> | ||||
|  * Created: <strong>11.02.2020</strong><br> | ||||
|  *  | ||||
|  * @author: Maximilian Käfer | ||||
|  *  | ||||
|  * @since Envoy v0.3-alpha | ||||
|  */ | ||||
| public class SendEvent extends Event<Event<?>> { | ||||
|  | ||||
| 	private static final long serialVersionUID = 8372746924138839060L; | ||||
|  | ||||
| 	/** | ||||
| 	 * @param value the event to send to the server | ||||
| 	 */ | ||||
| 	public SendEvent(Event<?> value) { super(value); } | ||||
|  | ||||
| } | ||||
| @@ -12,9 +12,11 @@ import javax.naming.TimeLimitExceededException; | ||||
| import envoy.client.data.Cache; | ||||
| import envoy.client.data.Config; | ||||
| import envoy.client.data.LocalDb; | ||||
| import envoy.client.event.SendEvent; | ||||
| import envoy.client.util.EnvoyLog; | ||||
| import envoy.data.*; | ||||
| import envoy.event.*; | ||||
| import envoy.event.ContactOperationEvent.Operation; | ||||
| import envoy.util.SerializationUtils; | ||||
|  | ||||
| /** | ||||
| @@ -116,6 +118,18 @@ public class Client implements Closeable { | ||||
| 		// Process contact searches | ||||
| 		receiver.registerProcessor(ContactSearchResult.class, EventBus.getInstance()::dispatch); | ||||
|  | ||||
| 		receiver.registerProcessor(Contacts.class, | ||||
| 				contacts -> EventBus.getInstance().dispatch(new ContactOperationEvent(contacts.getContacts().get(0), Operation.ADD))); | ||||
|  | ||||
| 		// Send event | ||||
| 		EventBus.getInstance().register(SendEvent.class, evt -> { | ||||
| 			try { | ||||
| 				sendEvent(((SendEvent) evt).get()); | ||||
| 			} catch (IOException e) { | ||||
| 				e.printStackTrace(); | ||||
| 			} | ||||
| 		}); | ||||
|  | ||||
| 		// Request a generator if none is present or the existing one is consumed | ||||
| 		if (!localDb.hasIdGenerator() || !localDb.getIdGenerator().hasNext()) requestIdGenerator(); | ||||
| 	} | ||||
|   | ||||
| @@ -411,12 +411,6 @@ public class ChatWindow extends JFrame { | ||||
|  | ||||
| 		EventBus.getInstance().register(ContactOperationEvent.class, (evt) -> { | ||||
|  | ||||
| 			try { | ||||
| 				client.sendEvent(evt); | ||||
| 			} catch (IOException e) { | ||||
| 				e.printStackTrace(); | ||||
| 			} | ||||
|  | ||||
| 			User contact = (User) evt.get(); | ||||
|  | ||||
| 			// Clearing the search field and the searchResultList | ||||
|   | ||||
| @@ -7,6 +7,7 @@ import java.awt.Font; | ||||
| import javax.swing.*; | ||||
|  | ||||
| import envoy.client.Settings; | ||||
| import envoy.client.event.SendEvent; | ||||
| import envoy.client.ui.list.ComponentList; | ||||
| import envoy.client.ui.list.ComponentListCellRenderer; | ||||
| import envoy.data.User; | ||||
| @@ -61,7 +62,11 @@ public class ContactsSearchRenderer implements ComponentListCellRenderer<User> { | ||||
| 		add.setBackground(list.getBackground()); | ||||
| 		add.setForeground(list.getForeground()); | ||||
|  | ||||
| 		add.addActionListener((evt) -> { EventBus.getInstance().dispatch(new ContactOperationEvent(value, ContactOperationEvent.Operation.ADD)); }); | ||||
| 		add.addActionListener(evt -> { | ||||
| 			ContactOperationEvent contactsOperationEvent = new ContactOperationEvent(value, ContactOperationEvent.Operation.ADD); | ||||
| 			EventBus.getInstance().dispatch(contactsOperationEvent); | ||||
| 			EventBus.getInstance().dispatch(new SendEvent(contactsOperationEvent)); | ||||
| 		}); | ||||
|  | ||||
| 		panel.add(add); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 DieGurke
					DieGurke