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() {