/** * Unregister a previously registered key matcher listener. * * @param matcher The KeyMatcher this listener was previously registered * to receive matches from. * @param listener The listener to remove. */ public void removeListener(KeyMatcher matcher, VehicleMessage.Listener listener) { mNotifier.unregister(matcher, listener); }
public UploaderThread() { start(); }
public synchronized void register(KeyMatcher matcher, VehicleMessage.Listener listener) { register(matcher, listener, true); }
@Before public void setUp() throws IOException, DataSinkException { outputString = new StringWriter(); opener = new MockFileOpener(); sink = new FileRecorderSink(opener); }
public synchronized void unregister(KeyMatcher matcher, VehicleMessage.Listener listener) { MessageListenerGroup group = mMessageListeners.get(matcher); if (group != null) { group.removePersistent(listener); pruneListeners(matcher); } }
@Override public void unregister(VehicleServiceListener listener) { Log.i(TAG, "Removing listener " + listener); mNotifier.unregister(listener); }
@Override public void register(VehicleServiceListener listener) { Log.i(TAG, "Adding listener " + listener); mNotifier.register(listener); }
/** * Remove and stop all sinks in the pipeline. */ public void clearSinks() { for (VehicleDataSink mSink : mSinks) { (mSink).stop(); } mSinks.clear(); }
@Override public void stop() { mDweeter.done(); }
@Override public void stop() { mUploader.done(); }
@Override public synchronized void stop() { mNotificationThread.done(); }
public UploaderSink(Context context, String path) throws DataSinkException { this(context, uriFromString(path)); }
public AbstractQueuedCallbackSink() { mNotificationThread.start(); }
@Override public void run() { while(mRunning) { try { records = getRecords(); } catch(InterruptedException e) { Log.w(TAG, "Dweeter was interrupted", e); break; } } }
private static URI uriFromString(String path) throws DataSinkException { try { return new URI(path); } catch(java.net.URISyntaxException e) { throw new UploaderException( "Uploading path in wrong format -- expected: ip:port"); } }
@Override public synchronized void stop() { close(); Log.i(TAG, "Shutting down"); }
private void pruneListeners(KeyMatcher matcher) { MessageListenerGroup group = mMessageListeners.get(matcher); if (group != null && group.isEmpty()) { mMessageListeners.remove(matcher); } }
public Context getContextSpy() { return getContext(); }
/** * Unregister a previously registered message type listener. * * @param messageType The class of the VehicleMessage this listener was * registered to receive. A listener can be registered to receive * multiple message types, which is why this must be specified when * removing a listener. * @param listener The listener to remove. */ public void removeListener(Class<? extends VehicleMessage> messageType, VehicleMessage.Listener listener) { mNotifier.unregister(messageType, listener); }
/** * Remove a previously registered sink from the data pipeline. */ public void removeSink(VehicleDataSink sink) { if(sink != null) { mRemoteOriginPipeline.removeSink(sink); sink.stop(); } }