summaryrefslogtreecommitdiff
path: root/app/src/main/java/com/javispedro/rempe/Device.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/com/javispedro/rempe/Device.java')
-rw-r--r--app/src/main/java/com/javispedro/rempe/Device.java15
1 files changed, 10 insertions, 5 deletions
diff --git a/app/src/main/java/com/javispedro/rempe/Device.java b/app/src/main/java/com/javispedro/rempe/Device.java
index d3a0d05..fed7291 100644
--- a/app/src/main/java/com/javispedro/rempe/Device.java
+++ b/app/src/main/java/com/javispedro/rempe/Device.java
@@ -59,13 +59,16 @@ public class Device {
public void close() {
Log.d(TAG, "close (" + mDeviceNumber + ")");
+ if (mEnvPcc != null) {
+ mEnvPcc.subscribeTemperatureDataEvent(null);
+ mEnvPcc.subscribeRssiEvent(null);
+ mEnvPcc.releaseAccess();
+ mEnvPcc = null;
+ }
if (mEnvPccHandle != null) {
mEnvPccHandle.close();
mEnvPccHandle = null;
}
- if (mEnvPcc != null) {
- mEnvPcc = null;
- }
mConnectResult = RequestAccessResult.SUCCESS;
mCurState = DeviceState.DEAD;
if (mObserver != null) {
@@ -88,6 +91,8 @@ public class Device {
private void setEnvPcc(AntPlusEnvironmentPcc envPcc) {
if (mEnvPcc != null) {
+ mEnvPcc.subscribeTemperatureDataEvent(null);
+ mEnvPcc.subscribeRssiEvent(null);
mEnvPcc.releaseAccess();
mEnvPcc = null;
}
@@ -130,7 +135,7 @@ public class Device {
return mConnectResult;
}
- private AntPluginPcc.IPluginAccessResultReceiver<AntPlusEnvironmentPcc> mResultReceiver = new AntPluginPcc.IPluginAccessResultReceiver<AntPlusEnvironmentPcc>() {
+ private final AntPluginPcc.IPluginAccessResultReceiver<AntPlusEnvironmentPcc> mResultReceiver = new AntPluginPcc.IPluginAccessResultReceiver<AntPlusEnvironmentPcc>() {
@Override
public void onResultReceived(AntPlusEnvironmentPcc result, RequestAccessResult resultCode, DeviceState initialDeviceState) {
Log.d(TAG, "onResultReceived resultCode=" + resultCode + " initialDeviceState=" + initialDeviceState);
@@ -149,7 +154,7 @@ public class Device {
}
};
- private AntPluginPcc.IDeviceStateChangeReceiver mDeviceStateChangeReceiver = new AntPluginPcc.IDeviceStateChangeReceiver() {
+ private final AntPluginPcc.IDeviceStateChangeReceiver mDeviceStateChangeReceiver = new AntPluginPcc.IDeviceStateChangeReceiver() {
@Override
public void onDeviceStateChange(DeviceState newDeviceState) {
Log.d(TAG, "onDeviceStateChange newDeviceState=" + newDeviceState);