/** * At least one source is not active - if all sources are inactive, notify * the operator. */ @Override public void sourceDisconnected(VehicleDataSource source) { if(mOperator != null) { if(!isActive(source)) { mOperator.onPipelineDeactivated(); for(VehicleDataSource s : mSources) { s.onPipelineDeactivated(); } } } }
/** * Add a new source to the pipeline. * * The source is given a reference to this DataPipeline as its callback. */ public VehicleDataSource addSource(VehicleDataSource source) { source.setCallback(this); mSources.add(source); if(isActive()) { source.onPipelineActivated(); } else { source.onPipelineDeactivated(); } return source; }