diff --git a/app/release/app-release-4.1.10.apk b/app/release/app-release-4.2.1l.apk similarity index 63% rename from app/release/app-release-4.1.10.apk rename to app/release/app-release-4.2.1l.apk index 90b6420..c9c5435 100644 Binary files a/app/release/app-release-4.1.10.apk and b/app/release/app-release-4.2.1l.apk differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1954c1a..917802a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,7 +2,7 @@ + android:versionName="4.2.1l"> @@ -44,11 +44,12 @@ - + --> diff --git a/app/src/main/java/uk/org/openseizuredetector/SdDataSourceBLE.java b/app/src/main/java/uk/org/openseizuredetector/SdDataSourceBLE.java index a6c30ed..d5dca22 100644 --- a/app/src/main/java/uk/org/openseizuredetector/SdDataSourceBLE.java +++ b/app/src/main/java/uk/org/openseizuredetector/SdDataSourceBLE.java @@ -243,14 +243,16 @@ public class SdDataSourceBLE extends SdDataSource { } else if (newState == BluetoothProfile.STATE_DISCONNECTED) { mConnectionState = STATE_DISCONNECTED; mSdData.watchConnected = false; - Log.i(TAG, "onConnectionStateChange(): Disconnected from GATT server - reconnecting after delay..."); - //bleDisconnect(); // Tidy up connections + Log.i(TAG, "onConnectionStateChange(): Disconnected from GATT server"); + /**Log.i(TAG, "onConnectionStateChange(): Disconnected from GATT server - reconnecting after delay..."); + bleDisconnect(); // Tidy up connections // Wait 2 seconds to give the server chance to shutdown, then re-start it mHandler.postDelayed(new Runnable() { public void run() { bleConnect(); } }, 2000); + */ } } @@ -403,7 +405,13 @@ public class SdDataSourceBLE extends SdDataSource { //Log.d(TAG, "onDataReceived(): Heart rate format UINT8."); } final int heartRate = characteristic.getIntValue(format, 1); // heart rate is second byte - mSdData.mHR = (double) heartRate; + // We normally use -1 for fault indication, but the BLE standard is for one byte for heart + // rate services, so we can't send -1, so treat either 0 or 255 as fault. + if (heartRate == 255 || heartRate == 0) { + mSdData.mHR = -1; + } else { + mSdData.mHR = (double) heartRate; + } Log.d(TAG, String.format("onDataReceived(): CHAR_HEART_RATE_MEASUREMENT: %d", heartRate)); } else if (characteristic.getUuid().toString().equals(CHAR_OSD_ACC_DATA)