Merge branch 'beta'

This commit is contained in:
Graham Jones
2025-03-28 20:18:22 +00:00
10 changed files with 133 additions and 9 deletions

View File

@@ -1,5 +1,7 @@
OpenSeizureDetector Android App - Change Log
============================================
V4.2.12 - Fixed crash when pressing 'Install Watch App' button by hiding the button if the Pebble data source is not selected
- Added a 'Help' and 'Troubleshooting' button and menu item to draw users' attention to the web site instructions.
V4.2.11 - Updated permissions handling to support Android 14 (needed to publish on Play Store)
- added a crude 'flap' detector into OSD Algorithm
- Added setting to change the delay before SMS alert is sent (Issue #202)

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="150"
android:versionName="4.2.11">
android:versionCode="151"
android:versionName="4.2.12">
<!-- android:allowBackup="false" -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>

View File

@@ -292,6 +292,34 @@ public class MainActivity2 extends AppCompatActivity {
Log.i(TAG, "exception starting settings activity " + ex.toString());
}
return true;
case R.id.action_instructions:
Log.i(TAG, "action_instructions");
try {
String url = "https://www.openseizuredetector.org.uk/?page_id=1894";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
} catch (Exception ex) {
Log.v(TAG, "exception displaying instructions " + ex.toString());
mUtil.showToast("ERROR Displaying Instructions");
}
return true;
case R.id.action_troubleshooting:
Log.i(TAG, "action_troubleshooting");
try {
String url = "https://www.openseizuredetector.org.uk/?page_id=2235";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
} catch (Exception ex) {
Log.v(TAG, "exception displaying troubleshooting " + ex.toString());
mUtil.showToast("ERROR Displaying Troubleshooting Tips");
}
return true;
case R.id.action_about:
Log.i(TAG, "action_about");
showAbout();

View File

@@ -183,17 +183,79 @@ public class StartupActivity extends AppCompatActivity {
}
});
// Enable the "Install Watch App" button if we have the Pebble data source selected,
// otherwise hide it.
b = (Button) findViewById(R.id.installOsdAppButton);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String dataSourceName = (prefs.getString("DataSource", "Phone"));
if (dataSourceName.equals("Pebble")) {
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.v(TAG, "install Osd Watch App button clicked");
if (mConnection.mSdServer.mSdDataSource != null) {
mUtil.writeToSysLogFile("Installing Watch App");
mConnection.mSdServer.mSdDataSource.installWatchApp();
} else {
mUtil.showToast("Error installing watch app - Datasource has not started - please see installation instructions on web site");
Log.v(TAG, "Displaying Installation Instructions");
try {
String url = "https://www.openseizuredetector.org.uk/?page_id=1894";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
} catch (Exception ex) {
Log.i(TAG, "exception starting install watch app activity " + ex.toString());
mUtil.showToast("Error Displaying Installation Instructions - try http://www.openseizuredetector.org.uk/?page_id=1894 instead");
}
}
}
});
} else {
b.setVisibility(View.GONE);
}
b = (Button) findViewById(R.id.instructionsButton);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.v(TAG, "install Osd Watch App button clicked");
mUtil.writeToSysLogFile("Installing Watch App");
mConnection.mSdServer.mSdDataSource.installWatchApp();
Log.v(TAG, "instructions button clicked");
try {
String url = "https://www.openseizuredetector.org.uk/?page_id=1894";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
} catch (Exception ex) {
Log.v(TAG, "exception displaying instructions " + ex.toString());
mUtil.showToast("ERROR Displaying Instructions");
}
}
});
b = (Button) findViewById(R.id.troubleshootingButton);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.v(TAG, "troubleshooting button clicked");
try {
String url = "https://www.openseizuredetector.org.uk/?page_id=2235";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
} catch (Exception ex) {
Log.v(TAG, "exception displaying troubleshooting " + ex.toString());
mUtil.showToast("ERROR Displaying Troubleshooting Tips");
}
}
});
// Connect to the background service
mConnection = new SdServiceConnection(getApplicationContext());
}

View File

@@ -35,12 +35,36 @@
android:layout_gravity="center_horizontal" />
<LinearLayout
android:orientation="vertical"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:text="Help"
android:id="@+id/instructionsButton"
android:layout_gravity="center_horizontal" />
<Button
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:text="Trouble-\nshooting"
android:id="@+id/troubleshootingButton"
android:layout_gravity="center_horizontal" />
<Button
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:text="@string/edit_settings"
android:id="@+id/settingsButton"
android:layout_gravity="center_horizontal" />

View File

@@ -105,6 +105,14 @@
<group android:id="@+id/grp6">
<item
android:id="@+id/action_instructions"
app:showAsAction="never|withText"
android:title="Help" />
<item
android:id="@+id/action_troubleshooting"
app:showAsAction="never|withText"
android:title="Troubleshooting" />
<item
android:id="@+id/action_about"
app:showAsAction="never|withText"

View File

@@ -3,7 +3,7 @@
<string name="app_name">OpenSeizureDetector</string>
<string name="changelog">
"\n
\nV4.2.11 - Reduced data usage of Data Sharing system, and added a 'flap detector' component to detect high amplitude, low frequency movement
\nV4.2.12 - Added butons and menu items for 'Help' and 'Troubleshooting' to point users to the web page instructoins.
\nV4.2 - Added support for PineTime and BangleJS Watches using Bluetooth data source.
\n - Added support for Version 2 of the Garmin watch app, which reduces battery drain
\n - Added new, swipeable user interface to simplify the main screen.

Binary file not shown.

Binary file not shown.