Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cordova-plugin-background-geolocation
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Aksimaya
cordova-plugin-background-geolocation
Commits
7dd786bf
Commit
7dd786bf
authored
Mar 04, 2014
by
Chris Scott
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Filtering out errant stationary-region exits
parent
ba81579e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
13 deletions
+12
-13
LocationUpdateService.java
src/android/LocationUpdateService.java
+12
-13
No files found.
src/android/LocationUpdateService.java
View file @
7dd786bf
...
@@ -196,24 +196,14 @@ public class LocationUpdateService extends Service implements LocationListener {
...
@@ -196,24 +196,14 @@ public class LocationUpdateService extends Service implements LocationListener {
isMoving
=
value
;
isMoving
=
value
;
locationManager
.
removeUpdates
(
this
);
locationManager
.
removeUpdates
(
this
);
stationaryLocation
=
null
;
if
(
isMoving
)
{
if
(
isMoving
)
{
stationaryLocation
=
null
;
resetStationaryAlarm
()
;
criteria
.
setAccuracy
(
Criteria
.
ACCURACY_FINE
);
criteria
.
setAccuracy
(
Criteria
.
ACCURACY_FINE
);
criteria
.
setHorizontalAccuracy
(
translateDesiredAccuracy
(
desiredAccuracy
));
criteria
.
setHorizontalAccuracy
(
translateDesiredAccuracy
(
desiredAccuracy
));
criteria
.
setPowerRequirement
(
Criteria
.
POWER_HIGH
);
criteria
.
setPowerRequirement
(
Criteria
.
POWER_HIGH
);
locationManager
.
requestLocationUpdates
(
locationManager
.
getBestProvider
(
criteria
,
true
),
locationTimeout
*
1000
,
scaledDistanceFilter
,
this
);
locationManager
.
requestLocationUpdates
(
locationManager
.
getBestProvider
(
criteria
,
true
),
locationTimeout
*
1000
,
scaledDistanceFilter
,
this
);
// Configure stationary alarm timout. If no location update within configured timeout, tone-down tracking.
/*
if (stationaryAlarmPI != null) {
alarmManager.cancel(stationaryAlarmPI);
stationaryAlarmPI = null;
}
*/
resetStationaryAlarm
();
}
else
{
}
else
{
stationaryLocation
=
null
;
criteria
.
setAccuracy
(
Criteria
.
ACCURACY_COARSE
);
criteria
.
setAccuracy
(
Criteria
.
ACCURACY_COARSE
);
criteria
.
setHorizontalAccuracy
(
Criteria
.
ACCURACY_LOW
);
criteria
.
setHorizontalAccuracy
(
Criteria
.
ACCURACY_LOW
);
criteria
.
setPowerRequirement
(
Criteria
.
POWER_LOW
);
criteria
.
setPowerRequirement
(
Criteria
.
POWER_LOW
);
...
@@ -369,7 +359,16 @@ public class LocationUpdateService extends Service implements LocationListener {
...
@@ -369,7 +359,16 @@ public class LocationUpdateService extends Service implements LocationListener {
}
}
else
{
else
{
Log
.
d
(
TAG
,
"- EXIT"
);
Log
.
d
(
TAG
,
"- EXIT"
);
onExitStationaryRegion
();
Location
location
=
getLastBestLocation
((
int
)
stationaryRadius
,
locationTimeout
*
1000
);
// Filter-out false alarms on EXIT region. Location must have speed and be a greater distance away from
// #stationaryLocation than #stationaryRadius
if
(
location
!=
null
)
{
float
distance
=
location
.
distanceTo
(
stationaryLocation
);
Log
.
d
(
TAG
,
"- lastBestLocation: "
+
location
.
getLatitude
()
+
","
+
location
.
getLongitude
()
+
", accuracy: "
+
location
.
getAccuracy
()
+
", speed: "
+
location
.
getSpeed
()
+
", distance: "
+
distance
);
if
(
location
.
getSpeed
()
>=
1
&&
distance
>
stationaryRadius
)
{
onExitStationaryRegion
();
}
}
}
}
}
}
};
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment