diff --git a/app/release/app-release-4.0.4.apk b/app/release/app-release-4.0.5c.apk
similarity index 88%
rename from app/release/app-release-4.0.4.apk
rename to app/release/app-release-4.0.5c.apk
index 3f7bc5c..62117de 100644
Binary files a/app/release/app-release-4.0.4.apk and b/app/release/app-release-4.0.5c.apk differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index e6feeba..7ce8823 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
package="uk.org.openseizuredetector"
android:versionCode="101"
- android:versionName="4.0.5b">
+ android:versionName="4.0.5c">
diff --git a/app/src/main/java/uk/org/openseizuredetector/LogManagerControlActivity.java b/app/src/main/java/uk/org/openseizuredetector/LogManagerControlActivity.java
index bbe2783..82a25f1 100644
--- a/app/src/main/java/uk/org/openseizuredetector/LogManagerControlActivity.java
+++ b/app/src/main/java/uk/org/openseizuredetector/LogManagerControlActivity.java
@@ -520,9 +520,9 @@ public class LogManagerControlActivity extends AppCompatActivity {
public void onItemClick(AdapterView> adapter, View v, int position, long id) {
Log.v(TAG, "onItemClicKListener() - Position=" + position + ", id=" + id);// Confirmation dialog based on: https://stackoverflow.com/a/12213536/2104584
HashMap eventObj = (HashMap) adapter.getItemAtPosition(position);
- Long eventId = Long.parseLong(eventObj.get("uploaded"));
+ String eventId = eventObj.get("uploaded");
Log.d(TAG, "onItemClickListener(): eventId=" + eventId + ", eventObj=" + eventObj);
- if (eventId > 0) {
+ if (eventId != null) {
Intent i = new Intent(getApplicationContext(), EditEventActivity.class);
i.putExtra("eventId", eventId);
startActivity(i);
diff --git a/app/src/main/java/uk/org/openseizuredetector/SdDataSource.java b/app/src/main/java/uk/org/openseizuredetector/SdDataSource.java
index 6b5f174..95e3be0 100644
--- a/app/src/main/java/uk/org/openseizuredetector/SdDataSource.java
+++ b/app/src/main/java/uk/org/openseizuredetector/SdDataSource.java
@@ -294,15 +294,22 @@ public abstract class SdDataSource {
mSdData.rawData[i] = accelVals.getInt(i);
}
mSdData.mNsamp = accelVals.length();
-
- accelVals3D = dataObject.getJSONArray("data3D");
- Log.v(TAG, "Received " + accelVals3D.length() + " acceleration 3D values, rawData Length is " + mSdData.rawData3D.length);
- if (accelVals3D.length() > mSdData.rawData3D.length) {
- mUtil.writeToSysLogFile("ERROR: Received " + accelVals3D.length() + " 3D acceleration values, but rawData3D storage length is "
- + mSdData.rawData3D.length);
- }
- for (i = 0; i < accelVals3D.length(); i++) {
- mSdData.rawData3D[i] = accelVals3D.getInt(i);
+ try {
+ accelVals3D = dataObject.getJSONArray("data3D");
+ Log.v(TAG, "Received " + accelVals3D.length() + " acceleration 3D values, rawData Length is " + mSdData.rawData3D.length);
+ if (accelVals3D.length() > mSdData.rawData3D.length) {
+ mUtil.writeToSysLogFile("ERROR: Received " + accelVals3D.length() + " 3D acceleration values, but rawData3D storage length is "
+ + mSdData.rawData3D.length);
+ }
+ for (i = 0; i < accelVals3D.length(); i++) {
+ mSdData.rawData3D[i] = accelVals3D.getInt(i);
+ }
+ } catch (JSONException e) {
+ // If we get an error, just set rawData3D to zero
+ Log.i(TAG,"updateFromJSON - error parsing 3D data - setting it to zero");
+ for (i = 0; i < mSdData.rawData3D.length; i++) {
+ mSdData.rawData3D[i] = 0.;
+ }
}
mWatchAppRunningCheck = true;
diff --git a/app/src/main/java/uk/org/openseizuredetector/SdDataSourcePhone.java b/app/src/main/java/uk/org/openseizuredetector/SdDataSourcePhone.java
index 625a7c1..48abb03 100644
--- a/app/src/main/java/uk/org/openseizuredetector/SdDataSourcePhone.java
+++ b/app/src/main/java/uk/org/openseizuredetector/SdDataSourcePhone.java
@@ -129,6 +129,9 @@ public class SdDataSourcePhone extends SdDataSource implements SensorEventListen
float z = event.values[2];
//Log.v(TAG,"Accelerometer Data Received: x="+x+", y="+y+", z="+z);
mSdData.rawData[mSdData.mNsamp] = sqrt(x*x + y*y + z*z);
+ mSdData.rawData3D[3*mSdData.mNsamp] = x;
+ mSdData.rawData3D[3*mSdData.mNsamp+1] = y;
+ mSdData.rawData3D[3*mSdData.mNsamp+2] = z;
mSdData.mNsamp++;
if (mSdData.mNsamp==NSAMP) {
// Calculate the sample frequency for this sample, but do not change mSampleFreq, which is used for
@@ -142,6 +145,9 @@ public class SdDataSourcePhone extends SdDataSource implements SensorEventListen
// FIXME - we should really do this properly rather than assume we are really receiving data at 50Hz.
for (int i=0; i