Skip to content

Commit 2509229

Browse files
Check permissions in LoggingService before starting
Signed-off-by: Keith Conger <keith.conger@blackboxembedded.com>
1 parent 6c8dd2c commit 2509229

2 files changed

Lines changed: 11 additions & 0 deletions

File tree

app/src/main/java/com/blackboxembedded/WunderLINQ/LoggingService.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,23 @@
2020
import static android.content.pm.ServiceInfo.FOREGROUND_SERVICE_TYPE_LOCATION;
2121
import static androidx.core.app.NotificationCompat.PRIORITY_MIN;
2222

23+
import android.Manifest;
2324
import android.app.Notification;
2425
import android.app.NotificationChannel;
2526
import android.app.NotificationManager;
2627
import android.app.PendingIntent;
2728
import android.app.Service;
2829
import android.content.Context;
2930
import android.content.Intent;
31+
import android.content.pm.PackageManager;
3032
import android.location.Location;
3133
import android.os.Build;
3234
import android.os.Handler;
3335
import android.os.IBinder;
3436
import android.util.Log;
3537

3638
import androidx.annotation.RequiresApi;
39+
import androidx.core.app.ActivityCompat;
3740
import androidx.core.app.NotificationCompat;
3841

3942
import com.blackboxembedded.WunderLINQ.TaskList.TaskActivity;
@@ -109,6 +112,13 @@ public void onCreate() {
109112
Log.d(TAG, "In onCreate");
110113
super.onCreate();
111114

115+
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
116+
!= PackageManager.PERMISSION_GRANTED) {
117+
Log.e(TAG, "Location permission not granted; cannot start foreground location service.");
118+
stopSelf();
119+
return;
120+
}
121+
112122
Intent showTaskIntent = new Intent(getApplicationContext(), TaskActivity.class);
113123
PendingIntent contentIntent = PendingIntent.getActivity(
114124
getApplicationContext(),

app/src/main/java/com/blackboxembedded/WunderLINQ/TaskList/TaskActivity.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,7 @@ private void executeTask(int taskID){
631631
// Trip Log
632632
// Check Write permissions
633633
if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
634+
Log.e(TAG, "Location permission not granted; cannot start foreground location service.");
634635
Toast.makeText(TaskActivity.this, R.string.toast_permission_denied, Toast.LENGTH_LONG).show();
635636
} else {
636637
if (((MyApplication) TaskActivity.this.getApplication()).getTripRecording()) {

0 commit comments

Comments
 (0)