From 56aabdf703779b97ef40cbef8fcde2620a379028 Mon Sep 17 00:00:00 2001 From: Jay Wang Date: Tue, 19 Jul 2016 18:11:05 -0700 Subject: SnapdragonCamera: Remove custom location permission request window When user enables the GPS locaion setting, use Android's run-time permission request interface to get the permission. Change-Id: Ib17171aeff5ccf20e2b00da08243dee1a3383611 CRs-Fixed: 1038039 --- src/com/android/camera/CaptureModule.java | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'src/com/android/camera/CaptureModule.java') diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index a7448aedb..baf8b843c 100644 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -102,7 +102,8 @@ import java.util.concurrent.TimeUnit; public class CaptureModule implements CameraModule, PhotoController, MediaSaveService.Listener, ClearSightImageProcessor.Callback, - SettingsManager.Listener, CountDownView.OnCountDownFinishedListener { + SettingsManager.Listener, LocationManager.Listener, + CountDownView.OnCountDownFinishedListener { public static final int DUAL_MODE = 0; public static final int BAYER_MODE = 1; public static final int MONO_MODE = 2; @@ -806,7 +807,7 @@ public class CaptureModule implements CameraModule, PhotoController, mUI.initializeControlByIntent(); mFocusStateListener = new FocusStateListener(mUI); - mLocationManager = new LocationManager(mActivity, mUI); + mLocationManager = new LocationManager(mActivity, this); Storage.setSaveSDCard(mSettingsManager.getValue(SettingsManager .KEY_CAMERA_SAVEPATH).equals("1")); } @@ -1859,8 +1860,16 @@ public class CaptureModule implements CameraModule, PhotoController, } @Override - public void enableRecordingLocation(boolean enable) { + public void waitingLocationPermissionResult(boolean result) { + mLocationManager.waitingLocationPermissionResult(result); + } + @Override + public void enableRecordingLocation(boolean enable) { + String value = (enable ? RecordLocationPreference.VALUE_ON + : RecordLocationPreference.VALUE_OFF); + mSettingsManager.setValue(SettingsManager.KEY_RECORD_LOCATION, value); + mLocationManager.recordLocation(enable); } @Override @@ -3080,4 +3089,9 @@ public class CaptureModule implements CameraModule, PhotoController, } } } + + @Override + public void onErrorListener(int error) { + enableRecordingLocation(false); + } } -- cgit v1.2.3