You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by bo...@apache.org on 2012/09/18 23:25:01 UTC
android commit: Fixing CB-1462,
there's a difference betwene Global and Local listeners:
Updated Branches:
refs/heads/master 73abb20b3 -> 772aedc26
Fixing CB-1462, there's a difference betwene Global and Local listeners:
Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/commit/772aedc2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/tree/772aedc2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/diff/772aedc2
Branch: refs/heads/master
Commit: 772aedc263aa695e94c8dcd99aec05525b96f907
Parents: 73abb20
Author: Joe Bowser <bo...@apache.org>
Authored: Tue Sep 18 14:24:48 2012 -0700
Committer: Joe Bowser <bo...@apache.org>
Committed: Tue Sep 18 14:24:48 2012 -0700
----------------------------------------------------------------------
.../apache/cordova/CordovaLocationListener.java | 10 ++++++++++
framework/src/org/apache/cordova/GeoBroker.java | 10 ++++++++++
2 files changed, 20 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/772aedc2/framework/src/org/apache/cordova/CordovaLocationListener.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaLocationListener.java b/framework/src/org/apache/cordova/CordovaLocationListener.java
index fcb6bf3..0ad441d 100755
--- a/framework/src/org/apache/cordova/CordovaLocationListener.java
+++ b/framework/src/org/apache/cordova/CordovaLocationListener.java
@@ -55,6 +55,11 @@ public class CordovaLocationListener implements LocationListener {
{
this.owner.fail(code, message, callbackId);
}
+ if(this.owner.isGlobalListener(this))
+ {
+ Log.d(TAG, "Stopping global listener");
+ this.stop();
+ }
this.callbacks.clear();
Iterator it = this.watches.entrySet().iterator();
@@ -69,6 +74,11 @@ public class CordovaLocationListener implements LocationListener {
{
this.owner.win(loc, callbackId);
}
+ if(this.owner.isGlobalListener(this))
+ {
+ Log.d(TAG, "Stopping global listener");
+ this.stop();
+ }
this.callbacks.clear();
Iterator it = this.watches.entrySet().iterator();
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/772aedc2/framework/src/org/apache/cordova/GeoBroker.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/GeoBroker.java b/framework/src/org/apache/cordova/GeoBroker.java
index 9b0838b..d3bf6b3 100755
--- a/framework/src/org/apache/cordova/GeoBroker.java
+++ b/framework/src/org/apache/cordova/GeoBroker.java
@@ -191,4 +191,14 @@ public class GeoBroker extends Plugin {
this.error(result, callbackId);
}
+
+ public boolean isGlobalListener(CordovaLocationListener listener)
+ {
+ if (gpsListener != null && networkListener != null)
+ {
+ return gpsListener.equals(listener) || networkListener.equals(listener);
+ }
+ else
+ return false;
+ }
}