diff options
Diffstat (limited to 'src/com/android/camera/LocationManager.java')
-rwxr-xr-x[-rw-r--r--] | src/com/android/camera/LocationManager.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/com/android/camera/LocationManager.java b/src/com/android/camera/LocationManager.java index 49009d7d8..5aedf060e 100644..100755 --- a/src/com/android/camera/LocationManager.java +++ b/src/com/android/camera/LocationManager.java @@ -16,7 +16,9 @@ package com.android.camera; +import android.Manifest; import android.content.Context; +import android.content.pm.PackageManager; import android.location.Location; import android.location.LocationProvider; import android.os.Bundle; @@ -65,7 +67,7 @@ public class LocationManager { if (mRecordLocation != recordLocation) { /* Don't change the location until permission request result is received */ - if (!mWaitingLocPermResult) { + if (!mWaitingLocPermResult && hasLoationPermission()) { mRecordLocation = recordLocation; if (recordLocation) { startReceivingLocationUpdates(); @@ -76,6 +78,11 @@ public class LocationManager { } } + private boolean hasLoationPermission() { + return mContext.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) + == PackageManager.PERMISSION_GRANTED; + } + public void waitingLocationPermissionResult(boolean waitingResult) { mWaitingLocPermResult = waitingResult; } |