summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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();