public BluetoothVisualizerControllerJni( ActivityHost activity, boolean startTransmissionOnConnection) { waveform = new byte[Visualizer.CAPTURE_SIZE]; lock = new SlimLock(); state = new AtomicInteger(); this.startTransmissionOnConnection = startTransmissionOnConnection; lastPlayerCommandTime = (int) SystemClock.uptimeMillis(); ignoreInput = 0; Player.bluetoothVisualizerLastErrorMessage = 0; Player.bluetoothVisualizerState = Player.BLUETOOTH_VISUALIZER_STATE_CONNECTING; bt = new BluetoothConnectionManager(this); final int err = bt.showDialogAndScan(activity); if (err != BluetoothConnectionManager.OK) onBluetoothError(bt, err); else BackgroundActivityMonitor.start(activity); }
public void destroy() { if (waveform != null) { version++; connected = false; transmitting = false; Player.bluetoothVisualizerState = Player.BLUETOOTH_VISUALIZER_STATE_INITIAL; lock.lockHighPriority(); try { waveform = null; if (bt != null) { bt.destroy(); bt = null; } } finally { lock.releaseHighPriority(); } if (fxVisualizer != null) { fxVisualizer.destroy(); fxVisualizer = null; } Player.stopBluetoothVisualizer(); BackgroundActivityMonitor.bluetoothEnded(); } }