From 71b1bbd15cc0da64ae898d21976c6602905bf1f5 Mon Sep 17 00:00:00 2001 From: Juergen Date: Tue, 5 Sep 2023 23:05:16 +0200 Subject: [PATCH 1/3] fix freezing Android Apps getCurrentHeading --- src/android/CompassListener.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/android/CompassListener.java b/src/android/CompassListener.java index 194db0d..74678f4 100755 --- a/src/android/CompassListener.java +++ b/src/android/CompassListener.java @@ -103,6 +103,11 @@ else if (action.equals("getStatus")) { callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, i)); } else if (action.equals("getHeading")) { + // if we didn't get a value for five seconds - stop so it will restart (fixes freezing on some devices) + if (this.status == CompassListener.RUNNING && System.currentTimeMillis() - this.timeStamp > 5_000) { + this.stop(); + } + // If not running, then this is an async call, so don't worry about waiting if (this.status != CompassListener.RUNNING) { int r = this.start(); From 448be1657ccc6b366208dc5d11db2676e2d8f72d Mon Sep 17 00:00:00 2001 From: Juergen Date: Tue, 5 Sep 2023 23:14:34 +0200 Subject: [PATCH 2/3] Revert "fix freezing Android Apps getCurrentHeading" This reverts commit 71b1bbd15cc0da64ae898d21976c6602905bf1f5. --- src/android/CompassListener.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/android/CompassListener.java b/src/android/CompassListener.java index 74678f4..194db0d 100755 --- a/src/android/CompassListener.java +++ b/src/android/CompassListener.java @@ -103,11 +103,6 @@ else if (action.equals("getStatus")) { callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, i)); } else if (action.equals("getHeading")) { - // if we didn't get a value for five seconds - stop so it will restart (fixes freezing on some devices) - if (this.status == CompassListener.RUNNING && System.currentTimeMillis() - this.timeStamp > 5_000) { - this.stop(); - } - // If not running, then this is an async call, so don't worry about waiting if (this.status != CompassListener.RUNNING) { int r = this.start(); From ff372154f9bcea87da925fcc2e310b71d744d65f Mon Sep 17 00:00:00 2001 From: Juergen Date: Tue, 5 Sep 2023 23:15:53 +0200 Subject: [PATCH 3/3] Android fix freezing getCurrentHeading --- src/android/CompassListener.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/android/CompassListener.java b/src/android/CompassListener.java index 194db0d..74678f4 100755 --- a/src/android/CompassListener.java +++ b/src/android/CompassListener.java @@ -103,6 +103,11 @@ else if (action.equals("getStatus")) { callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, i)); } else if (action.equals("getHeading")) { + // if we didn't get a value for five seconds - stop so it will restart (fixes freezing on some devices) + if (this.status == CompassListener.RUNNING && System.currentTimeMillis() - this.timeStamp > 5_000) { + this.stop(); + } + // If not running, then this is an async call, so don't worry about waiting if (this.status != CompassListener.RUNNING) { int r = this.start();