diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5ff5cdb..2760455 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -8,6 +8,7 @@ + = Build.VERSION_CODES.O) { + v.vibrate(VibrationEffect.createOneShot(1000, VibrationEffect.DEFAULT_AMPLITUDE)); + } else { + //deprecated in API 26 + v.vibrate(1000); + } + restart(); + } + },20000,10000); + + } + /** * wait to reconnect to dead HR-monitor */ @@ -322,14 +382,20 @@ public class HeartRateService extends Service { hrPcc.subscribeHeartRateDataEvent(null); } - new android.os.Handler().postDelayed( - new Runnable() { - public void run() { - Log.i(TAG, "Attempt reconnect"); - requestAccessToPcc(); - } - }, - 20000); // 20 sec delay for connection +// triggers: "sending message to a handler on a dead thread" +// new android.os.Handler().postDelayed( +// new Runnable() { +// public void run() { +// Log.i(TAG, "Attempt reconnect"); + requestAccessToPcc(); +// } +// }, +// 20000); // 20 sec delay for connection + } + + protected void restart(){ + restartService = true; + stopSelf(); } /** @@ -337,9 +403,10 @@ public class HeartRateService extends Service { */ protected void requestAccessToPcc() { - if(hrPcc != null) { - hrPcc.subscribeHeartRateDataEvent(null); - } +// if(hrPcc != null) { +// hrPcc.subscribeHeartRateDataEvent(null); +// } + Log.d(TAG, "Request Access To PCC"); sendBroadcast( new Intent(BROADCAST_MONITOR_CONNECT_ATTEMPT) ); releaseHandle = AntPlusHeartRatePcc.requestAccess(this, 4818, 0, resultReceiver, stateChangeReceiver); } @@ -352,12 +419,19 @@ public class HeartRateService extends Service { @Override public void onDestroy() { + Log.i(TAG, "Stop service"); + stopForeground(true); + lifelineTimer.cancel(); if(releaseHandle != null) { releaseHandle.close(); } setRunning(false); super.onDestroy(); + + if(restartService ) { + startService(new Intent(this, HeartRateService.class)); + } } public static boolean isRunning() {