summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjandegr <jandegr@users.noreply.github.com>2018-04-14 07:33:30 +0200
committerGitHub <noreply@github.com>2018-04-14 07:33:30 +0200
commitc42a8f519b84fe79ea642f497d179daeabefd65e (patch)
tree265e4520a3280c5c57add8c6df0e10c364af2730
parent30d60427713441207665108881bc1d9d3563b24a (diff)
parentde575f13ffb08bd60019c5e7523fa7eadd8bdd2a (diff)
downloadnavit-c42a8f519b84fe79ea642f497d179daeabefd65e.tar.gz
Merge pull request #440 from navit-gps/Android_permission
Android permission
-rw-r--r--navit/android/src/org/navitproject/navit/NavitVehicle.java16
1 files changed, 15 insertions, 1 deletions
diff --git a/navit/android/src/org/navitproject/navit/NavitVehicle.java b/navit/android/src/org/navitproject/navit/NavitVehicle.java
index 313502b96..e1a9c70f1 100644
--- a/navit/android/src/org/navitproject/navit/NavitVehicle.java
+++ b/navit/android/src/org/navitproject/navit/NavitVehicle.java
@@ -20,11 +20,12 @@
package org.navitproject.navit;
import java.util.List;
-
+import android.Manifest;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.pm.PackageManager;
import android.location.Criteria;
import android.location.GpsSatellite;
import android.location.GpsStatus;
@@ -33,6 +34,9 @@ import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
+import android.support.v4.content.ContextCompat;
+
+
public class NavitVehicle {
@@ -76,6 +80,11 @@ public class NavitVehicle {
* Called when the status of the GPS changes.
*/
public void onGpsStatusChanged (int event) {
+ if (ContextCompat.checkSelfPermission(context, android.Manifest.permission.ACCESS_FINE_LOCATION)
+ != PackageManager.PERMISSION_GRANTED) {
+ // Permission is not granted
+ return;
+ }
GpsStatus status = sLocationManager.getGpsStatus(null);
int satsInView = 0;
int satsUsed = 0;
@@ -110,6 +119,11 @@ public class NavitVehicle {
* {@code android.location.GPS_FIX_CHANGE} is received, indicating a change in GPS fix status
*/
NavitVehicle (Context context, int pcbid, int scbid, int fcbid) {
+ if (ContextCompat.checkSelfPermission(context, android.Manifest.permission.ACCESS_FINE_LOCATION)
+ != PackageManager.PERMISSION_GRANTED) {
+ // Permission is not granted
+ return;
+ }
this.context = context;
sLocationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
preciseLocationListener = new NavitLocationListener();