diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2769c10..0753e26 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,6 +12,9 @@ + + + missingPermissions = new HashSet<>(); - if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { - missingPermissions.add(Manifest.permission.ACCESS_FINE_LOCATION); - } - if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { - missingPermissions.add(Manifest.permission.ACCESS_COARSE_LOCATION); - } - if (missingPermissions.isEmpty()) { + if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { permission = true; } else { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - requestPermissions(missingPermissions.toArray(new String[missingPermissions.size()]), - PERMISSIONS_REQUEST_LOCATION); + requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, PERMISSIONS_REQUEST_LOCATION); } return; } diff --git a/app/src/main/java/org/traccar/client/ShortcutActivity.java b/app/src/main/java/org/traccar/client/ShortcutActivity.java index 91d3338..cd2a77c 100644 --- a/app/src/main/java/org/traccar/client/ShortcutActivity.java +++ b/app/src/main/java/org/traccar/client/ShortcutActivity.java @@ -185,8 +185,7 @@ public class ShortcutActivity extends AppCompatActivity { Toast.makeText(this, R.string.status_service_destroy, Toast.LENGTH_SHORT).show(); break; case ACTION_SOS: - if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED - && ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) { + if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { sendAlarm(); } else { Toast.makeText(this, R.string.status_send_fail, Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/org/traccar/client/TrackingService.java b/app/src/main/java/org/traccar/client/TrackingService.java index d8c43bc..33cfc42 100644 --- a/app/src/main/java/org/traccar/client/TrackingService.java +++ b/app/src/main/java/org/traccar/client/TrackingService.java @@ -80,8 +80,7 @@ public class TrackingService extends Service { startForeground(NOTIFICATION_ID, createNotification(this)); - if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED - && ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) { + if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { trackingController = new TrackingController(this); trackingController.start(); }