From 5c47f95a8f00046f3baa196c10a20c1a48e8eefc Mon Sep 17 00:00:00 2001 From: Graham Jones Date: Wed, 14 Dec 2016 21:18:18 +0000 Subject: [PATCH] Added autostart on boot feature --- CHANGELOG.md | 3 ++ app/src/main/AndroidManifest.xml | 22 ++++++++++--- .../BootBroadcastReceiver.java | 31 +++++++++++++++++++ app/src/main/res/xml/general_prefs.xml | 7 +++++ 4 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 app/src/main/java/uk/org/openseizuredetector/BootBroadcastReceiver.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bcb73f..6369044 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ OpenSeizureDetector Android App - Change Log ============================================ + V2.3.0 - 14 Dec 2016 + - Added auto start on phone boot feature (selectable from general settings) + V2.0.8 - 24 Aug 2016 - Added checks for correct version of pebble watch app for compatibility with this Android App. diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4bcc293..8a1488c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="31" + android:versionName="2.3.0"> @@ -18,8 +18,10 @@ android:name="android.hardware.telephony" android:required="false" /> - - + + + + + + + + + + + + + + diff --git a/app/src/main/java/uk/org/openseizuredetector/BootBroadcastReceiver.java b/app/src/main/java/uk/org/openseizuredetector/BootBroadcastReceiver.java new file mode 100644 index 0000000..a2d7086 --- /dev/null +++ b/app/src/main/java/uk/org/openseizuredetector/BootBroadcastReceiver.java @@ -0,0 +1,31 @@ +package uk.org.openseizuredetector; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; +import android.util.Log; +import android.widget.Toast; + +/** + * Created by graham on 14/12/16. + */ + +public class BootBroadcastReceiver extends BroadcastReceiver { + private String TAG = "BroadcastReceiver"; + + @Override + public void onReceive(Context context, Intent intent) { + Log.v(TAG, "onReceive()"); + SharedPreferences SP = PreferenceManager + .getDefaultSharedPreferences(context); + boolean autoStart = SP.getBoolean("AutoStart",false); + Log.v(TAG,"onReceive() - autoStart = "+autoStart); + if (autoStart && Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) { + Intent startUpIntent = new Intent(context, StartupActivity.class); + startUpIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(startUpIntent); + } + } +} diff --git a/app/src/main/res/xml/general_prefs.xml b/app/src/main/res/xml/general_prefs.xml index a9f7381..4f48389 100644 --- a/app/src/main/res/xml/general_prefs.xml +++ b/app/src/main/res/xml/general_prefs.xml @@ -28,6 +28,13 @@ android:key="UpdatePeriod" android:summary="Display update period in miliseconds." android:title="Display Update Period (ms)." /> +