package jp.kshoji.blemidi.service;
import android.content.Intent;
import android.os.Binder;
import android.os.IBinder;
import android.support.annotation.NonNull;
import jp.kshoji.blemidi.central.BleMidiCentralProvider;
/**
* Service for BLE MIDI Central
*
* @author K.Shoji
*/
public final class BleMidiCentralService extends AbstractBleMidiService {
private BleMidiCentralProvider midiProvider = null;
/**
* Binder for this Service
*/
public class LocalBinder extends Binder {
/**
* Get the Service
*
* @return the Service
*/
@NonNull
public BleMidiCentralService getService() {
return BleMidiCentralService.this;
}
}
private final IBinder binder = new LocalBinder();
@Override
public IBinder onBind(Intent intent) {
return binder;
}
@Override
protected void onStart() {
midiProvider = new BleMidiCentralProvider(this);
midiProvider.setOnMidiDeviceAttachedListener(serviceMidiDeviceAttachedListener);
midiProvider.setOnMidiDeviceDetachedListener(serviceMidiDeviceDetachedListener);
midiProvider.startScanDevice(0);
}
@Override
public void onDestroy() {
super.onDestroy();
stopScanDevice();
}
/**
* Starts scanning devices
*/
public void startScanDevice() {
if (midiProvider != null) {
midiProvider.startScanDevice(0);
}
}
/**
* Stops scanning devices
*/
public void stopScanDevice() {
if (midiProvider != null) {
midiProvider.stopScanDevice();
}
}
}