diff options
Diffstat (limited to 'app/src/main/java/com/javispedro/rempe/Device.java')
-rw-r--r-- | app/src/main/java/com/javispedro/rempe/Device.java | 15 |
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); |