Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ActivityMain extends Activity {
- protected static final long DEFAULT_WAIT_TIMEOUT_MS = 1000;
- private final DefaultServiceConnectionListener mConnectionListener =
- new DefaultServiceConnectionListener();
- private Car car;
- private TextView textView;
- private CarSensorManager.OnSensorChangedListener onSensorChangedListener =
- carSensorEvent -> textView.setText(carSensorEvent.toString());
- private CarSensorManager carSensorManager;
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- textView = findViewById(R.id.display_txt);
- car = Car.createCar(this, mConnectionListener, null);
- car.connect();
- try {
- mConnectionListener.waitForConnection(DEFAULT_WAIT_TIMEOUT_MS);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- @Override
- protected void onPause() {
- super.onPause();
- if (carSensorManager != null)
- carSensorManager.unregisterListener(onSensorChangedListener);
- }
- protected class DefaultServiceConnectionListener implements ServiceConnection {
- private final Semaphore mConnectionWait = new Semaphore(0);
- public void waitForConnection(long timeoutMs) throws InterruptedException {
- mConnectionWait.tryAcquire(timeoutMs, TimeUnit.MILLISECONDS);
- }
- @Override
- public void onServiceDisconnected(ComponentName name) {
- System.out.println(name.getShortClassName());
- }
- @Override
- public void onServiceConnected(ComponentName name, IBinder service) {
- System.out.println(name.getShortClassName());
- mConnectionWait.release();
- try {
- carSensorManager = (CarSensorManager) car.getCarManager(Car.SENSOR_SERVICE);
- int[] supportedSensors = carSensorManager.getSupportedSensors();
- for (int sensor: supportedSensors) {
- carSensorManager.registerListener(onSensorChangedListener, sensor, CarSensorManager.SENSOR_RATE_NORMAL);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment