/** * Set the event listener to send back events to. This is typically the DataHandler for dispatching the events to listeners. * * @param dataHandler should be the main data handler for dispatching back events to registered listeners. */ public void setDataHandler(MXDataHandler dataHandler) { mDataHandler = dataHandler; for (IMXEventListener listener : getPendingListeners()) { mDataHandler.addListener(listener); } }
/** * Add an event listener to this room. Only events relative to the room will come down. * * @param eventListener the event listener to add */ public void addEventListener(final IMXEventListener eventListener) { // Create a global listener that we'll add to the data handler IMXEventListener globalListener = new MXEventListener() { @Override public void onPresenceUpdate(Event event, User user) { // Only pass event through for this user if (user.user_id.equals(user_id)) { eventListener.onPresenceUpdate(event, user); } } }; getEventListeners().put(eventListener, globalListener); // the handler could be set later if (null != mDataHandler) { mDataHandler.addListener(globalListener); } else { getPendingListeners().add(globalListener); } }
mSession.getDataHandler().addListener(new MXEventListener() { @Override public void onLiveEvent(Event event, RoomState roomState) {
/** * Add an event listener to this room. Only events relative to the room will come down. * * @param eventListener the event listener to add */ public void addEventListener(final IMXEventListener eventListener) { // sanity check if (null == eventListener) { Log.e(LOG_TAG, "addEventListener : eventListener is null"); return; } // GA crash : should never happen but got it. if (null == mDataHandler) { Log.e(LOG_TAG, "addEventListener : mDataHandler is null"); return; } // Create a global listener that we'll add to the data handler IMXEventListener globalListener = new MXRoomEventListener(this, eventListener); mEventListeners.put(eventListener, globalListener); // GA crash if (null != mDataHandler) { mDataHandler.addListener(globalListener); } }
@Override public void onStoreReady(String s) { session.getDataHandler().checkPermanentStorageData(); session.startEventStream(store.getEventStreamToken()); session.getDataHandler().addListener(evLis); }
/** * This methods init the event stream and check for initial sync * * @param session the session to sync * @param withCrypto true if crypto is enabled and should be checked */ public void syncSession(@Nonnull final MXSession session, final boolean withCrypto) throws InterruptedException { final Map<String, Boolean> params = new HashMap<>(); final int sizeOfLock = withCrypto ? 2 : 1; final CountDownLatch lock2 = new CountDownLatch(sizeOfLock); session.getDataHandler().addListener(new MXEventListener() { @Override public void onInitialSyncComplete(String toToken) { params.put("isInit", true); lock2.countDown(); } @Override public void onCryptoSyncComplete() { params.put("onCryptoSyncComplete", true); lock2.countDown(); } }); session.getDataHandler().getStore().open(); session.startEventStream(null); await(lock2); Assert.assertTrue(params.containsKey("isInit")); if (withCrypto) { Assert.assertTrue(params.containsKey("onCryptoSyncComplete")); } }
session.getDataHandler().checkPermanentStorageData(); session.startEventStream(store.getEventStreamToken()); session.getDataHandler().addListener(evLis); } else { store.addMXStoreListener(new IMXStoreListener() {
final Map<String, Object> results = new HashMap<>(); bobSession.getDataHandler().addListener(new MXEventListener() { @Override public void onToDeviceEvent(Event event) {
final Map<String, Object> results = new HashMap<>(); bobSession.getDataHandler().addListener(new MXEventListener() { @Override public void onToDeviceEvent(Event event) {
bobSession2.getDataHandler().addListener(eventListener); bobSession2.getDataHandler().getStore().open(); bobSession2.startEventStream(null);
bobSession2.getDataHandler().addListener(new MXEventListener() { @Override public void onStoreReady() { bobSession2.getDataHandler().addListener(eventListener); bobSession2.startEventStream(null);
bobSession.getDataHandler().addListener(bobEventListener);
bobSession.getDataHandler().addListener(new MXEventListener() { @Override public void onToDeviceEvent(Event event) {
bobSession.getDataHandler().addListener(new MXEventListener() { @Override public void onLiveEvent(Event event, RoomState roomState) {
bobSession.getDataHandler().addListener(bobEventListener);
bobSession2.getDataHandler().addListener(eventsListener); bobSession2.startEventStream(null); mTestHelper.await(lock2);
bobSession.getDataHandler().addListener(new MXEventListener() { @Override public void onToDeviceEvent(Event event) {
bobSession.getDataHandler().addListener(new MXEventListener() { @Override public void onToDeviceEvent(Event event) {
aliceSession2.getDataHandler().addListener(eventListener); aliceSession2.startEventStream(null); mTestHelper.await(lock1b);
aliceSession2.getDataHandler().addListener(eventListener); aliceSession2.startEventStream(null);