package com.clj.fastble.exception.hanlder;
|
|
import com.clj.fastble.exception.BleException;
|
import com.clj.fastble.exception.BlueToothNotEnableException;
|
import com.clj.fastble.exception.ConnectException;
|
import com.clj.fastble.exception.GattException;
|
import com.clj.fastble.exception.NotFoundDeviceException;
|
import com.clj.fastble.exception.OtherException;
|
import com.clj.fastble.exception.ScanFailedException;
|
import com.clj.fastble.exception.TimeoutException;
|
|
|
public abstract class BleExceptionHandler {
|
|
public BleExceptionHandler handleException(BleException exception) {
|
|
if (exception != null) {
|
|
if (exception instanceof ConnectException) {
|
onConnectException((ConnectException) exception);
|
|
} else if (exception instanceof GattException) {
|
onGattException((GattException) exception);
|
|
} else if (exception instanceof TimeoutException) {
|
onTimeoutException((TimeoutException) exception);
|
|
} else if (exception instanceof NotFoundDeviceException) {
|
onNotFoundDeviceException((NotFoundDeviceException) exception);
|
|
} else if (exception instanceof BlueToothNotEnableException) {
|
onBlueToothNotEnableException((BlueToothNotEnableException) exception);
|
|
} else if (exception instanceof ScanFailedException) {
|
onScanFailedException((ScanFailedException) exception);
|
|
} else {
|
onOtherException((OtherException) exception);
|
}
|
}
|
return this;
|
}
|
|
/**
|
* connect failed
|
*/
|
protected abstract void onConnectException(ConnectException e);
|
|
/**
|
* gatt error status
|
*/
|
protected abstract void onGattException(GattException e);
|
|
/**
|
* operation timeout
|
*/
|
protected abstract void onTimeoutException(TimeoutException e);
|
|
/**
|
* not found device error
|
*/
|
protected abstract void onNotFoundDeviceException(NotFoundDeviceException e);
|
|
/**
|
* bluetooth not enable error
|
*/
|
protected abstract void onBlueToothNotEnableException(BlueToothNotEnableException e);
|
|
/**
|
* scan failed error
|
*/
|
protected abstract void onScanFailedException(ScanFailedException e);
|
|
/**
|
* other exceptions
|
*/
|
protected abstract void onOtherException(OtherException e);
|
}
|