summaryrefslogtreecommitdiff
path: root/StoneIsland/plugins/cordova-plugin-geolocation/src
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/plugins/cordova-plugin-geolocation/src')
-rw-r--r--StoneIsland/plugins/cordova-plugin-geolocation/src/firefoxos/GeolocationProxy.js67
-rw-r--r--StoneIsland/plugins/cordova-plugin-geolocation/src/ios/CDVLocation.m91
-rw-r--r--StoneIsland/plugins/cordova-plugin-geolocation/src/ubuntu/geolocation.cpp133
-rw-r--r--StoneIsland/plugins/cordova-plugin-geolocation/src/ubuntu/geolocation.h69
-rw-r--r--StoneIsland/plugins/cordova-plugin-geolocation/src/windows/GeolocationProxy.js107
-rw-r--r--StoneIsland/plugins/cordova-plugin-geolocation/src/wp/GeoLocation.cs34
6 files changed, 103 insertions, 398 deletions
diff --git a/StoneIsland/plugins/cordova-plugin-geolocation/src/firefoxos/GeolocationProxy.js b/StoneIsland/plugins/cordova-plugin-geolocation/src/firefoxos/GeolocationProxy.js
deleted file mode 100644
index e4b40529..00000000
--- a/StoneIsland/plugins/cordova-plugin-geolocation/src/firefoxos/GeolocationProxy.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-// latest geolocation spec can be found here: http://www.w3.org/TR/geolocation-API/
-
-var idsMap = {};
-
-module.exports = {
- getLocation: function(success, error, args) {
- var geo = cordova.require('cordova/modulemapper').getOriginalSymbol(window, 'navigator.geolocation');
- function successCallback(position) {
- // Cordova is creating Position object using just coords
- success(position.coords);
- }
- geo.getCurrentPosition(successCallback, error, {
- enableHighAccuracy: args[0],
- maximumAge: args[1]
- });
- },
-
- addWatch: function(success, error, args) {
- var geo = cordova.require('cordova/modulemapper').getOriginalSymbol(window, 'navigator.geolocation');
- var id = args[0];
- function successCallback(position) {
- success(position.coords);
- }
- var nativeId = geo.watchPosition(successCallback, error, {
- enableHighAccuracy: args[1]
- });
-
- idsMap[id] = nativeId;
- },
-
- clearWatch: function(success, error, args) {
- var geo = cordova.require('cordova/modulemapper').getOriginalSymbol(window, 'navigator.geolocation');
- var id = args[0];
-
- if(id in idsMap) {
- geo.clearWatch(idsMap[id]);
- delete idsMap[id];
- }
-
- if(success) {
- success();
- }
- }
-};
-
-require("cordova/exec/proxy").add("Geolocation", module.exports);
diff --git a/StoneIsland/plugins/cordova-plugin-geolocation/src/ios/CDVLocation.m b/StoneIsland/plugins/cordova-plugin-geolocation/src/ios/CDVLocation.m
index e4b34a11..d07a8e9c 100644
--- a/StoneIsland/plugins/cordova-plugin-geolocation/src/ios/CDVLocation.m
+++ b/StoneIsland/plugins/cordova-plugin-geolocation/src/ios/CDVLocation.m
@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
-
+
http://www.apache.org/licenses/LICENSE-2.0
-
+
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -65,7 +65,7 @@
- (BOOL)isAuthorized
{
BOOL authorizationStatusClassPropertyAvailable = [CLLocationManager respondsToSelector:@selector(authorizationStatus)]; // iOS 4.2+
-
+
if (authorizationStatusClassPropertyAvailable) {
NSUInteger authStatus = [CLLocationManager authorizationStatus];
#ifdef __IPHONE_8_0
@@ -73,9 +73,9 @@
return (authStatus == kCLAuthorizationStatusAuthorizedWhenInUse) || (authStatus == kCLAuthorizationStatusAuthorizedAlways) || (authStatus == kCLAuthorizationStatusNotDetermined);
}
#endif
- return (authStatus == kCLAuthorizationStatusAuthorized) || (authStatus == kCLAuthorizationStatusNotDetermined);
+ return (authStatus == kCLAuthorizationStatusAuthorizedAlways) || (authStatus == kCLAuthorizationStatusNotDetermined);
}
-
+
// by default, assume YES (for iOS < 4.2)
return YES;
}
@@ -84,11 +84,9 @@
{
BOOL locationServicesEnabledInstancePropertyAvailable = [self.locationManager respondsToSelector:@selector(locationServicesEnabled)]; // iOS 3.x
BOOL locationServicesEnabledClassPropertyAvailable = [CLLocationManager respondsToSelector:@selector(locationServicesEnabled)]; // iOS 4.x
-
+
if (locationServicesEnabledClassPropertyAvailable) { // iOS 4.x
return [CLLocationManager locationServicesEnabled];
- } else if (locationServicesEnabledInstancePropertyAvailable) { // iOS 2.x, iOS 3.x
- return [(id)self.locationManager locationServicesEnabled];
} else {
return NO;
}
@@ -114,10 +112,10 @@
}
// PERMISSIONDENIED is only PositionError that makes sense when authorization denied
[self returnLocationError:PERMISSIONDENIED withMessage:message];
-
+
return;
}
-
+
#ifdef __IPHONE_8_0
NSUInteger code = [CLLocationManager authorizationStatus];
if (code == kCLAuthorizationStatusNotDetermined && ([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)] || [self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)])) { //iOS8+
@@ -132,7 +130,7 @@
return;
}
#endif
-
+
// Tell the location manager to start notifying us of location updates. We
// first stop, and then start the updating to ensure we get at least one
// update, even if our location did not change.
@@ -159,7 +157,7 @@
if (![self isLocationServicesEnabled]) {
return;
}
-
+
[self.locationManager stopUpdatingLocation];
__locationStarted = NO;
__highAccuracyEnabled = NO;
@@ -171,14 +169,16 @@
fromLocation:(CLLocation*)oldLocation
{
CDVLocationData* cData = self.locationData;
-
+
cData.locationInfo = newLocation;
- if (self.locationData.locationCallbacks.count > 0) {
- for (NSString* callbackId in self.locationData.locationCallbacks) {
- [self returnLocationInfo:callbackId andKeepCallback:NO];
+ @synchronized (self.locationData.locationCallbacks) {
+ if (self.locationData.locationCallbacks.count > 0) {
+ for (NSString* callbackId in self.locationData.locationCallbacks) {
+ [self returnLocationInfo:callbackId andKeepCallback:NO];
+ }
+
+ [self.locationData.locationCallbacks removeAllObjects];
}
-
- [self.locationData.locationCallbacks removeAllObjects];
}
if (self.locationData.watchCallbacks.count > 0) {
for (NSString* timerId in self.locationData.watchCallbacks) {
@@ -195,7 +195,7 @@
[self.commandDelegate runInBackground:^{
NSString* callbackId = command.callbackId;
BOOL enableHighAccuracy = [[command argumentAtIndex:0] boolValue];
-
+
if ([self isLocationServicesEnabled] == NO) {
NSMutableDictionary* posError = [NSMutableDictionary dictionaryWithCapacity:2];
[posError setObject:[NSNumber numberWithInt:PERMISSIONDENIED] forKey:@"code"];
@@ -207,14 +207,18 @@
self.locationData = [[CDVLocationData alloc] init];
}
CDVLocationData* lData = self.locationData;
- if (!lData.locationCallbacks) {
- lData.locationCallbacks = [NSMutableArray arrayWithCapacity:1];
+ @synchronized (self.locationData.locationCallbacks) {
+ if (!lData.locationCallbacks) {
+ lData.locationCallbacks = [NSMutableArray arrayWithCapacity:1];
+ }
}
-
+
if (!__locationStarted || (__highAccuracyEnabled != enableHighAccuracy)) {
// add the callbackId into the array so we can call back when get data
- if (callbackId != nil) {
- [lData.locationCallbacks addObject:callbackId];
+ @synchronized (self.locationData.locationCallbacks) {
+ if (callbackId != nil) {
+ [lData.locationCallbacks addObject:callbackId];
+ }
}
// Tell the location manager to start notifying us of heading updates
[self startLocation:enableHighAccuracy];
@@ -230,19 +234,19 @@
NSString* callbackId = command.callbackId;
NSString* timerId = [command argumentAtIndex:0];
BOOL enableHighAccuracy = [[command argumentAtIndex:1] boolValue];
-
+
if (!self.locationData) {
self.locationData = [[CDVLocationData alloc] init];
}
CDVLocationData* lData = self.locationData;
-
+
if (!lData.watchCallbacks) {
lData.watchCallbacks = [NSMutableDictionary dictionaryWithCapacity:1];
}
-
+
// add the callbackId into the dictionary so we can call back whenever get data
[lData.watchCallbacks setObject:callbackId forKey:timerId];
-
+
if ([self isLocationServicesEnabled] == NO) {
NSMutableDictionary* posError = [NSMutableDictionary dictionaryWithCapacity:2];
[posError setObject:[NSNumber numberWithInt:PERMISSIONDENIED] forKey:@"code"];
@@ -260,7 +264,7 @@
- (void)clearWatch:(CDVInvokedUrlCommand*)command
{
NSString* timerId = [command argumentAtIndex:0];
-
+
if (self.locationData && self.locationData.watchCallbacks && [self.locationData.watchCallbacks objectForKey:timerId]) {
[self.locationData.watchCallbacks removeObjectForKey:timerId];
if([self.locationData.watchCallbacks count] == 0) {
@@ -278,7 +282,7 @@
{
CDVPluginResult* result = nil;
CDVLocationData* lData = self.locationData;
-
+
if (lData && !lData.locationInfo) {
// return error
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageToErrorObject:POSITIONUNAVAILABLE];
@@ -294,7 +298,7 @@
[returnInfo setObject:[NSNumber numberWithDouble:lInfo.altitude] forKey:@"altitude"];
[returnInfo setObject:[NSNumber numberWithDouble:lInfo.coordinate.latitude] forKey:@"latitude"];
[returnInfo setObject:[NSNumber numberWithDouble:lInfo.coordinate.longitude] forKey:@"longitude"];
-
+
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:returnInfo];
[result setKeepCallbackAsBool:keepCallback];
}
@@ -306,17 +310,20 @@
- (void)returnLocationError:(NSUInteger)errorCode withMessage:(NSString*)message
{
NSMutableDictionary* posError = [NSMutableDictionary dictionaryWithCapacity:2];
-
+
[posError setObject:[NSNumber numberWithUnsignedInteger:errorCode] forKey:@"code"];
[posError setObject:message ? message:@"" forKey:@"message"];
CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:posError];
-
- for (NSString* callbackId in self.locationData.locationCallbacks) {
- [self.commandDelegate sendPluginResult:result callbackId:callbackId];
+
+
+ @synchronized (self.locationData.locationCallbacks) {
+ for (NSString* callbackId in self.locationData.locationCallbacks) {
+ [self.commandDelegate sendPluginResult:result callbackId:callbackId];
+ }
+
+ [self.locationData.locationCallbacks removeAllObjects];
}
-
- [self.locationData.locationCallbacks removeAllObjects];
-
+
for (NSString* callbackId in self.locationData.watchCallbacks) {
[self.commandDelegate sendPluginResult:result callbackId:callbackId];
}
@@ -325,7 +332,7 @@
- (void)locationManager:(CLLocationManager*)manager didFailWithError:(NSError*)error
{
NSLog(@"locationManager::didFailWithError %@", [error localizedFailureReason]);
-
+
CDVLocationData* lData = self.locationData;
if (lData && __locationStarted) {
// TODO: probably have to once over the various error codes and return one of:
@@ -338,10 +345,10 @@
}
[self returnLocationError:positionError withMessage:[error localizedDescription]];
}
-
+
if (error.code != kCLErrorLocationUnknown) {
- [self.locationManager stopUpdatingLocation];
- __locationStarted = NO;
+ [self.locationManager stopUpdatingLocation];
+ __locationStarted = NO;
}
}
diff --git a/StoneIsland/plugins/cordova-plugin-geolocation/src/ubuntu/geolocation.cpp b/StoneIsland/plugins/cordova-plugin-geolocation/src/ubuntu/geolocation.cpp
deleted file mode 100644
index 3d40ab4c..00000000
--- a/StoneIsland/plugins/cordova-plugin-geolocation/src/ubuntu/geolocation.cpp
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- *
- * Copyright 2013-2016 Canonical Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-#include <QUuid>
-
-#include "geolocation.h"
-
-Geolocation::Geolocation(Cordova *cordova)
- : CPlugin(cordova),
- _geoPositionInfoSource(QGeoPositionInfoSource::createDefaultSource(this)) {
- if (_geoPositionInfoSource.data() != 0) {
- QObject::connect(_geoPositionInfoSource.data(),
- SIGNAL(positionUpdated(QGeoPositionInfo)),
- this,
- SLOT(positionUpdated(QGeoPositionInfo)));
-
- QObject::connect(_geoPositionInfoSource.data(),
- SIGNAL(updateTimeout()),
- this,
- SLOT(updateTimeout()));
- }
-}
-
-void Geolocation::addWatch(int scId, int ecId, const QString &id, bool enableHighAccuracy) {
- Q_UNUSED(enableHighAccuracy);
-
- assert(_id2sc.find(id) == _id2sc.end());
-
- if (!_geoPositionInfoSource.data()) {
- QVariantMap err;
- err.insert("code", POSITION_UNAVAILABLE);
- err.insert("message", "unavailable");
-
- this->cb(ecId, err);
- return;
- }
-
- _id2sc[id] = scId;
- _id2ec[id] = ecId;
-}
-
-void Geolocation::clearWatch(int scId, int ecId, const QString &id) {
- _id2sc.remove(id);
- _id2ec.remove(id);
-}
-
-void Geolocation::getLocation(int scId, int ecId, bool enableHighAccuracy, qint64 maximumAge) {
- Q_UNUSED(maximumAge);
- Q_UNUSED(enableHighAccuracy);
-
- if (!_geoPositionInfoSource.data()) {
- QVariantMap err;
- err.insert("code", POSITION_UNAVAILABLE);
- err.insert("message", "unavailable");
-
- this->cb(ecId, err);
- return;
- }
-
- _geoPositionInfoSource->requestUpdate();
-
- QString id = QString("_INTERNAL_") + QUuid::createUuid().toString();
-
- _id2sc[id] = scId;
- _id2ec[id] = ecId;
- _singleUpdate.insert(id);
-}
-
-void Geolocation::positionUpdated(const QGeoPositionInfo &update) {
- QGeoCoordinate coordinate = update.coordinate();
-
- QVariantMap p;
-
- p.insert("latitude", coordinate.latitude());
- p.insert("longitude", coordinate.longitude());
-
- if (coordinate.type() == QGeoCoordinate::Coordinate3D)
- p.insert("altitude", coordinate.altitude());
-
- if (update.hasAttribute(QGeoPositionInfo::HorizontalAccuracy))
- p.insert("accuracy", update.attribute(QGeoPositionInfo::HorizontalAccuracy));
-
- if (update.hasAttribute(QGeoPositionInfo::Direction))
- p.insert("heading", update.attribute(QGeoPositionInfo::Direction));
-
- if (update.hasAttribute(QGeoPositionInfo::GroundSpeed))
- p.insert("velocity", update.attribute(QGeoPositionInfo::GroundSpeed));
-
- if (update.hasAttribute(QGeoPositionInfo::VerticalAccuracy))
- p.insert("altitudeAccuracy", update.attribute(QGeoPositionInfo::VerticalAccuracy));
-
- p.insert("timestamp", update.timestamp().toMSecsSinceEpoch());
-
- for (const QString &id: _id2sc.keys()) {
- int scId = _id2sc[id];
- this->cb(scId, p);
- if (_singleUpdate.contains(id)) {
- _singleUpdate.remove(id);
- _id2sc.remove(id);
- _id2ec.remove(id);
- }
- }
-}
-
-void Geolocation::updateTimeout() {
- QVariantMap err;
- err.insert("code", TIMEOUT);
- err.insert("message", "timeout");
-
- for (int ecId: _id2ec) {
- this->cb(ecId, err);
- }
-
- _id2ec.clear();
- _id2sc.clear();
- _singleUpdate.clear();
-}
diff --git a/StoneIsland/plugins/cordova-plugin-geolocation/src/ubuntu/geolocation.h b/StoneIsland/plugins/cordova-plugin-geolocation/src/ubuntu/geolocation.h
deleted file mode 100644
index 7345bec9..00000000
--- a/StoneIsland/plugins/cordova-plugin-geolocation/src/ubuntu/geolocation.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- *
- * Copyright 2013 Canonical Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-#ifndef GEOLOCATION_H_SVO2013
-#define GEOLOCATION_H_SVO2013
-
-#include <QGeoPositionInfoSource>
-#include <QGeoPositionInfo>
-#include <QtCore>
-#include <cassert>
-
-#include <cplugin.h>
-
-class Geolocation: public CPlugin {
- Q_OBJECT
-public:
- explicit Geolocation(Cordova *cordova);
-
- virtual const QString fullName() override {
- return Geolocation::fullID();
- }
-
- virtual const QString shortName() override {
- return "Geolocation";
- }
-
- static const QString fullID() {
- return "Geolocation";
- }
-
-public slots:
- void getLocation(int scId, int ecId, bool enableHighAccuracy, qint64 maximumAge);
- void addWatch(int scId, int ecId, const QString &id, bool enableHighAccuracy);
- void clearWatch(int scId, int ecId, const QString &id);
-
-protected slots:
- void positionUpdated(const QGeoPositionInfo &update);
- void updateTimeout();
-
-private:
- QMap<QString, int> _id2sc;
- QMap<QString, int> _id2ec;
- QSet<QString> _singleUpdate;
- QSharedPointer<QGeoPositionInfoSource> _geoPositionInfoSource;
-
- enum PositionError {
- PERMISSION_DENIED = 1,
- POSITION_UNAVAILABLE = 2,
- TIMEOUT = 3
- };
-};
-
-#endif
diff --git a/StoneIsland/plugins/cordova-plugin-geolocation/src/windows/GeolocationProxy.js b/StoneIsland/plugins/cordova-plugin-geolocation/src/windows/GeolocationProxy.js
index 03ed4950..f792b912 100644
--- a/StoneIsland/plugins/cordova-plugin-geolocation/src/windows/GeolocationProxy.js
+++ b/StoneIsland/plugins/cordova-plugin-geolocation/src/windows/GeolocationProxy.js
@@ -16,14 +16,14 @@
/* global Windows, WinJS */
-var PositionError = require('./PositionError');
-var callbacks = {};
-var locs = {};
+var PositionError = require('./PositionError');
+var callbacks = {};
+var locs = {};
// constants
var FALLBACK_EPSILON = 0.001;
-function ensureAndCreateLocator() {
+function ensureAndCreateLocator () {
var deferral;
var loc = new Windows.Devices.Geolocation.Geolocator();
@@ -46,30 +46,32 @@ function ensureAndCreateLocator() {
return deferral;
}
-function createErrorCode(loc) {
+function createErrorCode (loc) {
+ /* eslint-disable no-fallthrough */
switch (loc.locationStatus) {
- case Windows.Devices.Geolocation.PositionStatus.initializing:
- // This status indicates that a location device is still initializing
- case Windows.Devices.Geolocation.PositionStatus.noData:
- // No location data is currently available
- case Windows.Devices.Geolocation.PositionStatus.notInitialized:
- // This status indicates that the app has not yet requested
- // location data by calling GetGeolocationAsync() or
- // registering an event handler for the positionChanged event.
- case Windows.Devices.Geolocation.PositionStatus.notAvailable:
- // Location is not available on this version of Windows
- return PositionError.POSITION_UNAVAILABLE;
+ case Windows.Devices.Geolocation.PositionStatus.initializing:
+ // This status indicates that a location device is still initializing
+ case Windows.Devices.Geolocation.PositionStatus.noData:
+ // No location data is currently available
+ case Windows.Devices.Geolocation.PositionStatus.notInitialized:
+ // This status indicates that the app has not yet requested
+ // location data by calling GetGeolocationAsync() or
+ // registering an event handler for the positionChanged event.
+ case Windows.Devices.Geolocation.PositionStatus.notAvailable:
+ // Location is not available on this version of Windows
+ return PositionError.POSITION_UNAVAILABLE;
- case Windows.Devices.Geolocation.PositionStatus.disabled:
- // The app doesn't have permission to access location,
- // either because location has been turned off.
- return PositionError.PERMISSION_DENIED;
+ case Windows.Devices.Geolocation.PositionStatus.disabled:
+ // The app doesn't have permission to access location,
+ // either because location has been turned off.
+ return PositionError.PERMISSION_DENIED;
- default:
- break;
+ default:
+ break;
}
}
-function createResult(pos) {
+/* eslint-enable no-fallthrough */
+function createResult (pos) {
var res = {
accuracy: pos.coordinate.accuracy,
heading: pos.coordinate.heading,
@@ -95,14 +97,14 @@ module.exports = {
getLocation: function (success, fail, args, env) {
ensureAndCreateLocator().done(function (loc) {
if (loc) {
- var highAccuracy = args[0],
- maxAge = args[1];
+ var highAccuracy = args[0];
+ var maxAge = args[1];
loc.desiredAccuracy = highAccuracy ?
Windows.Devices.Geolocation.PositionAccuracy.high :
Windows.Devices.Geolocation.PositionAccuracy.default;
- loc.reportInterval = maxAge ? maxAge : 0;
+ loc.reportInterval = maxAge || 0;
loc.getGeopositionAsync().then(
function (pos) {
@@ -115,11 +117,10 @@ module.exports = {
});
}
);
- }
- else {
+ } else {
fail({
code: PositionError.POSITION_UNAVAILABLE,
- message: "You do not have the required location services present on your system."
+ message: 'You do not have the required location services present on your system.'
});
}
}, fail);
@@ -136,33 +137,33 @@ module.exports = {
var onStatusChanged = function (e) {
switch (e.status) {
- case Windows.Devices.Geolocation.PositionStatus.noData:
- case Windows.Devices.Geolocation.PositionStatus.notAvailable:
- fail({
- code: PositionError.POSITION_UNAVAILABLE,
- message: "Data from location services is currently unavailable or you do not have the required location services present on your system."
- });
- break;
+ case Windows.Devices.Geolocation.PositionStatus.noData:
+ case Windows.Devices.Geolocation.PositionStatus.notAvailable:
+ fail({
+ code: PositionError.POSITION_UNAVAILABLE,
+ message: 'Data from location services is currently unavailable or you do not have the required location services present on your system.'
+ });
+ break;
- case Windows.Devices.Geolocation.PositionStatus.disabled:
- fail({
- code: PositionError.PERMISSION_DENIED,
- message: "Your location is currently turned off."
- });
- break;
+ case Windows.Devices.Geolocation.PositionStatus.disabled:
+ fail({
+ code: PositionError.PERMISSION_DENIED,
+ message: 'Your location is currently turned off.'
+ });
+ break;
// case Windows.Devices.Geolocation.PositionStatus.initializing:
// case Windows.Devices.Geolocation.PositionStatus.ready:
- default:
- break;
+ default:
+ break;
}
};
loc.desiredAccuracy = highAccuracy ?
- Windows.Devices.Geolocation.PositionAccuracy.high :
- Windows.Devices.Geolocation.PositionAccuracy.default;
+ Windows.Devices.Geolocation.PositionAccuracy.high :
+ Windows.Devices.Geolocation.PositionAccuracy.default;
- if (cordova.platformId == 'windows') {
+ if (cordova.platformId === 'windows') { // eslint-disable-line no-undef
// 'positionchanged' event fails with error below if movementThreshold is not set
// JavaScript runtime error: Operation aborted
// You must set the MovementThreshold property or the ReportInterval property before adding event handlers.
@@ -174,8 +175,8 @@ module.exports = {
}
}
- loc.addEventListener("positionchanged", onPositionChanged);
- loc.addEventListener("statuschanged", onStatusChanged);
+ loc.addEventListener('positionchanged', onPositionChanged);
+ loc.addEventListener('statuschanged', onStatusChanged);
callbacks[clientId] = { pos: onPositionChanged, status: onStatusChanged };
locs[clientId] = loc;
@@ -185,11 +186,11 @@ module.exports = {
clearWatch: function (success, fail, args, env) {
var clientId = args[0];
var callback = callbacks[clientId];
- var loc = locs[clientId];
+ var loc = locs[clientId];
if (callback && loc) {
- loc.removeEventListener("positionchanged", callback.pos);
- loc.removeEventListener("statuschanged", callback.status);
+ loc.removeEventListener('positionchanged', callback.pos);
+ loc.removeEventListener('statuschanged', callback.status);
delete callbacks[clientId];
delete locs[clientId];
@@ -199,4 +200,4 @@ module.exports = {
}
};
-require("cordova/exec/proxy").add("Geolocation", module.exports);
+require('cordova/exec/proxy').add('Geolocation', module.exports);
diff --git a/StoneIsland/plugins/cordova-plugin-geolocation/src/wp/GeoLocation.cs b/StoneIsland/plugins/cordova-plugin-geolocation/src/wp/GeoLocation.cs
deleted file mode 100644
index 42af72de..00000000
--- a/StoneIsland/plugins/cordova-plugin-geolocation/src/wp/GeoLocation.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-using System;
-using System.Collections.Generic;
-using System.Runtime.Serialization;
-using System.Threading;
-using System.Device.Location;
-
-namespace WPCordovaClassLib.Cordova.Commands
-{
- /// <summary>
- /// This is a command stub, the browser provides the correct implementation. We use this to trigger the static analyzer that we require this permission
- /// </summary>
- public class Geolocation
- {
- /* Unreachable code, by design -jm */
- private void triggerGeoInclusion()
- {
- new GeoCoordinateWatcher();
- }
- }
-}