private void initializeDefaultSinks(DataPipeline pipeline) { pipeline.addSink(mNotifier); }
/** * Add a new data sink to the vehicle service. * * A data sink added with this method will receive all new measurements as * they arrive from registered data sources. For example, to use the trace * file recorder sink, call the addSink method after binding with * VehicleManager: * * service.addSink(new FileRecorderSink( * new AndroidFileOpener("openxc", this))); * * @param sink an instance of a VehicleDataSink */ public void addSink(VehicleDataSink sink) { Log.i(TAG, "Adding data sink " + sink); mRemoteOriginPipeline.addSink(sink); }
@Override public void onCreate() { super.onCreate(); Log.i(TAG, "Service starting"); mRemoteOriginPipeline.addSink(mNotifier); bindRemote(); }
@Override public void onServiceConnected(ComponentName className, IBinder service) { Log.i(TAG, "Bound to VehicleService"); mRemoteService = VehicleServiceInterface.Stub.asInterface(service); mRemoteSource = new RemoteListenerSource(mRemoteService); mRemoteOriginPipeline.addSource(mRemoteSource); mUserSink = new UserSink(mRemoteService); mUserOriginPipeline.addSink(mUserSink); mRemoteBoundLock.lock(); mRemoteBoundCondition.signalAll(); mRemoteBoundLock.unlock(); }
@Test public void clearSinks() { pipeline.addSink(sink); pipeline.clearSinks(); source.sendTestMessage(); assertFalse(sink.received); }
@Test public void receiveNewData() { pipeline.addSink(sink); pipeline.receive(new SimpleVehicleMessage("measurement", "value")); assertTrue(sink.received); }
@Test public void connectsSourceCallback() { pipeline.addSink(sink); pipeline.addSource(source); source.sendTestMessage(); assertTrue(sink.received); }
@Test public void clearSources() { pipeline.addSource(source); pipeline.addSink(sink); pipeline.clearSources(); source.sendTestMessage(); assertFalse(sink.received); }
@Test public void addSink() { pipeline.addSource(source); source.sendTestMessage(); assertFalse(sink.received); pipeline.addSink(sink); source.sendTestMessage(); assertTrue(sink.received); }
@Test public void stopClearsPipeline() { pipeline.addSink(sink); pipeline.addSource(source); source.sendTestMessage(); assertTrue(sink.received); sink.received = false; pipeline.stop(); source.sendTestMessage(); assertFalse(sink.received); }