private void initializeDefaultSinks(DataPipeline pipeline) { pipeline.addSink(mNotifier); }
private void setNativeGpsStatus(boolean enabled) { Log.i(TAG, "Setting native GPS to " + enabled); if(enabled && mNativeLocationSource == null) { mNativeLocationSource = new NativeLocationSource(this); mPipeline.addSource(mNativeLocationSource); } else if(!enabled) { mPipeline.removeSource(mNativeLocationSource); mNativeLocationSource = null; } }
/** * Clear all sources and sinks from the pipeline and stop all of them. */ public void stop() { clearSources(); clearSinks(); }
@Override public void onServiceDisconnected(ComponentName className) { Log.w(TAG, "VehicleService disconnected unexpectedly"); mRemoteService = null; mRemoteOriginPipeline.removeSource(mRemoteSource); mUserOriginPipeline.removeSink(mUserSink); 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 clearSources() { pipeline.addSource(source); pipeline.addSink(sink); pipeline.clearSources(); source.sendTestMessage(); assertFalse(sink.received); }
@Test public void removeSink() { pipeline.addSink(sink); TestSink anotherSink = new TestSink(); pipeline.addSink(anotherSink); pipeline.removeSink(sink); source.sendTestMessage(); assertFalse(sink.received); }
@Test public void clearSinks() { pipeline.addSink(sink); pipeline.clearSinks(); source.sendTestMessage(); assertFalse(sink.received); }
@Test public void getNamed() { String name = "foo"; String value = "value"; KeyedMessage message = new SimpleVehicleMessage(name, value); pipeline.receive(message); SimpleVehicleMessage retreived = (SimpleVehicleMessage) pipeline.get( message.getKey()); assertThat(retreived, notNullValue()); assertThat((String)retreived.getValue(), equalTo(value)); }
private void initializeDefaultSources() { mPipeline.addSource(mApplicationSource); }
/** * Shut down any associated services when this service is about to die. * * This stops the data source (e.g. stops trace playback) and kills the * thread used for notifying measurement listeners. */ @Override public void onDestroy() { Log.i(TAG, "Service being destroyed"); mPipeline.stop(); }
/** * Remove a previously registered sink from the data pipeline. */ public void removeSink(VehicleDataSink sink) { if(sink != null) { mRemoteOriginPipeline.removeSink(sink); sink.stop(); } }
@Override public VehicleMessage get(MessageKey key) { return mPipeline.get(key); }
/** * Remove a previously registered source from the data pipeline. */ public void removeSource(VehicleDataSource source) { if(source != null) { Log.i(TAG, "Removing data source " + source); mUserOriginPipeline.removeSource(source); } }
@Override public int getMessageCount() { return VehicleService.this.mPipeline.getMessageCount(); }
@Before public void set() { pipeline = new DataPipeline(); source = new TestSource(); sink = new TestSink(); }