boolean beginDisconnect() { if (mService != null && mService.isConnected()) { progressBar = new ProgressDialog(this); progressBar.setCancelable(false); progressBar.setMessage("Disconnecting ..."); progressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressBar.show(); mService.beginDisconnect(); return true; } return false; }
void sendCommand(String command) { if (command == null || command.length() == 0) return; if (mService != null) { mService.beginSend(command); } }
@Override public void onServiceConnected(ComponentName className, IBinder service) { RemoteControllerService.LocalBinder binder = (RemoteControllerService.LocalBinder) service; mService = binder.getService(); if (mService != null) { mService.addPlayerListener(mPlayerListener); accelerometerSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); if (accelerometerSensor == null) { Toast toast = Toast.makeText( ArenaActivity.this, "Accelerometer sensor not found.", Toast.LENGTH_LONG); toast.show(); finish(); return; } if (mService.isMagneticSensorRequested()) { magneticSensor = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); if (magneticSensor == null) { Toast toast = Toast.makeText( ArenaActivity.this, "Magnetic field sensor not found.", Toast.LENGTH_LONG); toast.show(); finish(); return; } } if (mService.isMagneticSensorRequested()) currentSensorEventListener = orientationSensorListener; else currentSensorEventListener = acclerometerSensorListener; if (editPlayerName != null) { editPlayerName.setText(mService.getPlayerName()); } subscribe(); } mBound = true; }
@Override protected void onStop() { super.onStop(); if (mService != null) { mService.beginDisconnect(); } if (mBound) { unbindService(mConnection); mBound = false; } }
@Override public void onServiceDisconnected(ComponentName arg0) { if (mService != null) mService.removePlayerListener(mPlayerListener); mBound = false; }