@Override public void stop() { super.stop(); onPipelineDeactivated(); }
protected void connected() { if(mCallback != null) { mCallback.sourceConnected(this); } }
/** * Pass a raw measurement received from an external caller to the callback. * * Note that this method is public - users of this class can directly force * it to send new values. */ @Override public void handleMessage(VehicleMessage measurement) { super.handleMessage(measurement); }
@Test public void connectedNoCallback() { mSource.setCallback(null); mSource.connected(); verify(mCallback, never()).sourceDisconnected(mSource); }
@Test public void disconnectedNoCallback() { mSource.setCallback(null); mSource.disconnected(); verify(mCallback, never()).sourceDisconnected(mSource); }
@Test public void disconnectsOnStop() { mSource.stop(); mSource.disconnected(); verify(mCallback, times(1)).sourceDisconnected(mSource); }
@Test public void callbackConnected() { mSource.connected(); verify(mCallback).sourceConnected(mSource); }
/** * Clear the callback so no further updates are sent. * * Subclasses should be sure to call super.stop() so they also stop sending * updates when killed by a user. */ @Override public void stop() { disconnected(); setCallback(null); }
protected void disconnected() { if(mCallback != null) { mCallback.sourceDisconnected(this); } }
private void resetConnectionAttempts(long delay, long period) { stopConnectionAttempts(); mConnectionCheckTask = new BytestreamConnectingTask(this); mTimer = new Timer(); mTimer.schedule(mConnectionCheckTask, delay * 1000, period * 1000); }
@Override public void run() { mSource.waitForCallback(); } };
@Override public void receive(VehicleMessage message) { handleMessage(message); } };
protected void setFastPolling(boolean enabled) { mReconnectionAttempts = 0; if(enabled) { resetConnectionAttempts(0, RECONNECTION_ATTEMPT_WAIT_TIME_S); } else if(mFastPolling) { resetConnectionAttempts(SLOW_RECONNECTION_ATTEMPT_WAIT_TIME_S, SLOW_RECONNECTION_ATTEMPT_WAIT_TIME_S); } mFastPolling = enabled; }
/** * Construct a new instance and set the callback. * * @param callback An object implementing the * SourceCallback interface that should receive data from this * source. */ public BaseVehicleDataSource(SourceCallback callback) { setCallback(callback); }
@Override public boolean isConnected() { return isRunning(); }
@Override public void receive(VehicleMessage measurement) { mApplicationSource.handleMessage(measurement); }
@Override public boolean isConnected() { return mConnection != null && super.isConnected(); }
public void inject(VehicleMessage message) { handleMessage(message); }
public void inject(byte[] bytes) { inject(bytes, true); }
@Override public void run() { mSource.waitForCallback(); } };