Fixed issue with quotes in seizure description crashing the app
This commit is contained in:
@@ -1,5 +1,9 @@
|
|||||||
OpenSeizureDetector Android App - Change Log
|
OpenSeizureDetector Android App - Change Log
|
||||||
============================================
|
============================================
|
||||||
|
|
||||||
|
V4.0.5 - Added support for 3D data logging
|
||||||
|
- Fixed issue with seizure reporting crashing if quotation marks included in text.
|
||||||
|
V4.0.4 - Added support for Data Sharing system
|
||||||
V3.6.2 - Nov 2020
|
V3.6.2 - Nov 2020
|
||||||
- Extended Polish translation further
|
- Extended Polish translation further
|
||||||
- Improved system log output to help with answering queries from users.
|
- Improved system log output to help with answering queries from users.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
package="uk.org.openseizuredetector"
|
package="uk.org.openseizuredetector"
|
||||||
android:versionCode="101"
|
android:versionCode="101"
|
||||||
android:versionName="4.0.5a">
|
android:versionName="4.0.5b">
|
||||||
<!-- android:allowBackup="false" -->
|
<!-- android:allowBackup="false" -->
|
||||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
||||||
|
|||||||
@@ -204,14 +204,24 @@ public class LogManager {
|
|||||||
while (!c.isAfterLast()) {
|
while (!c.isAfterLast()) {
|
||||||
JSONObject event = new JSONObject();
|
JSONObject event = new JSONObject();
|
||||||
try {
|
try {
|
||||||
event.put("id", c.getString(c.getColumnIndex("id")));
|
String val;
|
||||||
event.put("dataTime", c.getString(c.getColumnIndex("dataTime")));
|
val = c.getString(c.getColumnIndex("id"));
|
||||||
event.put("status", c.getString(c.getColumnIndex("status")));
|
// We replace null values with empty string, otherwise they are completely excluded from output JSON.
|
||||||
event.put("type", c.getString(c.getColumnIndex("type")));
|
event.put("id", val==null ? "" : val );
|
||||||
event.put("subType", c.getString(c.getColumnIndex("subType")));
|
val = c.getString(c.getColumnIndex("dataTime"));
|
||||||
event.put("desc", c.getString(c.getColumnIndex("notes")));
|
event.put("dataTime", val==null ? "" : val);
|
||||||
event.put("dataJSON", c.getString(c.getColumnIndex("dataJSON")));
|
val = c.getString(c.getColumnIndex("status"));
|
||||||
event.put("uploaded", c.getString(c.getColumnIndex("uploaded")));
|
event.put("status", val==null ? "" : val);
|
||||||
|
val = c.getString(c.getColumnIndex("type"));
|
||||||
|
event.put("type", val==null ? "" : val);
|
||||||
|
val = c.getString(c.getColumnIndex("subType"));
|
||||||
|
event.put("subType", val==null ? "" : val);
|
||||||
|
val = c.getString(c.getColumnIndex("notes"));
|
||||||
|
event.put("desc", val==null ? "" : val);
|
||||||
|
val = c.getString(c.getColumnIndex("dataJSON"));
|
||||||
|
event.put("dataJSON", val==null ? "" : val);
|
||||||
|
val = c.getString(c.getColumnIndex("uploaded"));
|
||||||
|
event.put("uploaded", val==null ? "" : val);
|
||||||
c.moveToNext();
|
c.moveToNext();
|
||||||
eventsArray.put(i, event);
|
eventsArray.put(i, event);
|
||||||
i++;
|
i++;
|
||||||
@@ -315,17 +325,27 @@ public class LogManager {
|
|||||||
// Expects dataTime to be in format: SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
// Expects dataTime to be in format: SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
Log.d(TAG, "createLocalEvent() - dataTime=" + dataTime + ", status=" + status + ", dataJSON="+dataJSON);
|
Log.d(TAG, "createLocalEvent() - dataTime=" + dataTime + ", status=" + status + ", dataJSON="+dataJSON);
|
||||||
// Write Event to database
|
// Write Event to database
|
||||||
String SQLStr = "INSERT INTO " + mEventsTableName
|
//String SQLStr = "INSERT INTO " + mEventsTableName
|
||||||
+ "(dataTime, status, type, subtype, notes, dataJSON)"
|
// + "(dataTime, status, type, subtype, notes, dataJSON)"
|
||||||
+ " VALUES("
|
// + " VALUES("
|
||||||
+ "'" + dataTime + "',"
|
// + "'" + dataTime + "',"
|
||||||
+ status + ","
|
// + status + ","
|
||||||
+ "'" + type + "',"
|
// + "'" + type + "',"
|
||||||
+ "'" + subType + "',"
|
// + "'" + subType + "',"
|
||||||
+ "'" + desc + "',"
|
// + "'" + desc + "',"
|
||||||
+ "'" + dataJSON + "'"
|
// + "'" + dataJSON + "'"
|
||||||
+ ")";
|
// + ")";
|
||||||
mOsdDb.execSQL(SQLStr);
|
//mOsdDb.execSQL(SQLStr);
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
values.put("dataTime", dataTime);
|
||||||
|
values.put("status", status);
|
||||||
|
values.put("type", type);
|
||||||
|
values.put("subType",subType);
|
||||||
|
values.put("notes",desc);
|
||||||
|
values.put("dataJSON", dataJSON);
|
||||||
|
|
||||||
|
long newRowId = mOsdDb.insert(mEventsTableName, null, values);
|
||||||
|
Log.d(TAG, "Created Row ID"+newRowId);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user