V4.1.5 - Added progress spinner to export data screen, added header to exported .csv file, fixed another notification crash.

This commit is contained in:
Graham Jones
2023-06-06 20:45:48 +01:00
parent 70e7e2852b
commit f825b7da85
5 changed files with 53 additions and 22 deletions

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:versionCode="118"
android:versionName="4.1.4">
android:versionCode="119"
android:versionName="4.1.5">
<!-- android:allowBackup="false" -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

View File

@@ -22,6 +22,7 @@ import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.TimePicker;
import android.os.ParcelFileDescriptor;
@@ -208,7 +209,12 @@ public class ExportDataActivity extends AppCompatActivity
// mDateTxt.getText().toString(), mTimeTxt.getText().toString(), mDuration));
Log.d(TAG, String.format("EndDate=%s %s, Duration=%3.1f hrs",
mDateTxt.getText().toString(), mTimeTxt.getText().toString(), mDuration));
ProgressBar pb = (ProgressBar) findViewById(R.id.exportPb);
pb.setIndeterminate(true);
pb.setVisibility(View.VISIBLE);
mExportBtn.setEnabled(false);
mExportBtn.setVisibility(View.INVISIBLE);
this.openFile();
}
@@ -268,8 +274,7 @@ public class ExportDataActivity extends AppCompatActivity
openFileDescriptor(uri, "w");
FileOutputStream fileOutputStream =
new FileOutputStream(pfd.getFileDescriptor());
// fileOutputStream.write(("Overwritten at " + System.currentTimeMillis() +
// "\n").getBytes());
fileOutputStream.write(("# dataTime, alarmState, hr, o2sat, accel*125\n").getBytes());
JSONArray dataObj;
try {
dataObj = new JSONArray(datapointsJsonStr);
@@ -319,6 +324,17 @@ public class ExportDataActivity extends AppCompatActivity
mUtil.showToast(getString(R.string.error_exporting_data));
Log.e(TAG, "exportToFile() - IOException: " + e.toString());
}
runOnUiThread(new Runnable() {
public void run() {
ProgressBar pb = (ProgressBar) findViewById(R.id.exportPb);
pb.setIndeterminate(true);
pb.setVisibility(View.INVISIBLE);
mExportBtn.setEnabled(true);
mExportBtn.setVisibility(View.VISIBLE);
}
});
});
}

View File

@@ -3,17 +3,18 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Export Local Data"
android:textStyle="bold"
/>
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="End Date/Time (dd-mm-yyyy hh:mm)"
/>
android:text="End Date/Time (dd-mm-yyyy hh:mm)" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -25,15 +26,16 @@
android:layout_height="wrap_content"
android:ems="10"
android:text="(end date)" />
<Button
android:id="@+id/dateBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Select Date"
android:id="@+id/dateBtn"
/>
android:text="Select Date" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -45,33 +47,45 @@
android:layout_height="wrap_content"
android:ems="10"
android:text="(end time)" />
<Button
android:id="@+id/timeBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Select Time"
android:id="@+id/timeBtn"
/>
android:text="Select Time" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Duration (hrs)"
/>
android:text="Duration (hrs)" />
<EditText
android:id="@+id/durationText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:inputType="numberDecimal"
android:text="1.0" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/exportBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Export Data"
android:id="@+id/exportBtn"
/>
android:text="Export Data" />
<ProgressBar
android:id="@+id/exportPb"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:visibility="invisible" />
</LinearLayout>
</LinearLayout>

View File

@@ -3,6 +3,7 @@
<string name="app_name">OpenSeizureDetector</string>
<string name="changelog">
"\n
\nV4.1.5 - Added progress notification to data export, added header to exported .csv file, fixed another notification bug.
\nV4.1.4 - Fixed bug in notifications on Android 12, added an Export Data function to save heart rate and accelerometer data to a file.
\nV4.1.3 - Fixed display of O2 Saturation in Network Data Source, and added Polish Translations by Jacek Błoniarz-Łuczak. Fixed crash when displaying main activity during alarm on some devices. Added adaptive Heart Rate alarms
\nV4.1.2 - Added Machine Learning (Artificial Intelligence) Detection Algorithm Option (CNN V0.24) and 'Normal Daily Activity (NDA) logging function