summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-07-09 03:09:23 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-07-09 03:09:23 +0000
commit3b6bbb684960f7e93db7311a1c3b9ff6d4ff8ef6 (patch)
tree9db71865fc7db097364602b2e686b351297474d5
parent22235900037cfb1270752cf8d5441c0de2709f76 (diff)
parent96d0a25d3d9cf176c1212d29653565866c8e3d59 (diff)
downloadandroid_packages_apps_Camera2-3b6bbb684960f7e93db7311a1c3b9ff6d4ff8ef6.tar.gz
android_packages_apps_Camera2-3b6bbb684960f7e93db7311a1c3b9ff6d4ff8ef6.tar.bz2
android_packages_apps_Camera2-3b6bbb684960f7e93db7311a1c3b9ff6d4ff8ef6.zip
Snap for 5713042 from 96d0a25d3d9cf176c1212d29653565866c8e3d59 to qt-qpr1-release
Change-Id: Ia721bd9a36da8bcee71aeb53bd6fffdf6d7d3df6
-rw-r--r--src/com/android/camera/PermissionsActivity.java27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/com/android/camera/PermissionsActivity.java b/src/com/android/camera/PermissionsActivity.java
index 3fda04abb..1f94463ff 100644
--- a/src/com/android/camera/PermissionsActivity.java
+++ b/src/com/android/camera/PermissionsActivity.java
@@ -36,14 +36,17 @@ public class PermissionsActivity extends QuickActivity {
private int mIndexPermissionRequestMicrophone;
private int mIndexPermissionRequestLocation;
private int mIndexPermissionRequestStorage;
+ private int mIndexPermissionRequestWriteStorage;
private boolean mShouldRequestCameraPermission;
private boolean mShouldRequestMicrophonePermission;
private boolean mShouldRequestLocationPermission;
private boolean mShouldRequestStoragePermission;
+ private boolean mShouldRequestWriteStoragePermission;
private int mNumPermissionsToRequest;
private boolean mFlagHasCameraPermission;
private boolean mFlagHasMicrophonePermission;
private boolean mFlagHasStoragePermission;
+ private boolean mFlagHasWriteStoragePermission;
private SettingsManager mSettingsManager;
/**
@@ -121,6 +124,14 @@ public class PermissionsActivity extends QuickActivity {
mFlagHasStoragePermission = true;
}
+ if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
+ != PackageManager.PERMISSION_GRANTED) {
+ mNumPermissionsToRequest++;
+ mShouldRequestWriteStoragePermission = true;
+ } else {
+ mFlagHasWriteStoragePermission = true;
+ }
+
if (checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
mNumPermissionsToRequest++;
@@ -160,6 +171,11 @@ public class PermissionsActivity extends QuickActivity {
mIndexPermissionRequestStorage = permissionsRequestIndex;
permissionsRequestIndex++;
}
+ if (mShouldRequestWriteStoragePermission) {
+ permissionsToRequest[permissionsRequestIndex] = Manifest.permission.WRITE_EXTERNAL_STORAGE;
+ mIndexPermissionRequestWriteStorage = permissionsRequestIndex;
+ permissionsRequestIndex++;
+ }
if (mShouldRequestLocationPermission) {
permissionsToRequest[permissionsRequestIndex] = Manifest.permission.ACCESS_COARSE_LOCATION;
mIndexPermissionRequestLocation = permissionsRequestIndex;
@@ -202,6 +218,14 @@ public class PermissionsActivity extends QuickActivity {
handlePermissionsFailure();
}
}
+ if (mShouldRequestWriteStoragePermission) {
+ if (grantResults.length > 0 && grantResults[mIndexPermissionRequestWriteStorage] ==
+ PackageManager.PERMISSION_GRANTED) {
+ mFlagHasWriteStoragePermission = true;
+ } else {
+ handlePermissionsFailure();
+ }
+ }
if (mShouldRequestLocationPermission) {
if (grantResults.length > 0 && grantResults[mIndexPermissionRequestLocation] ==
@@ -212,7 +236,8 @@ public class PermissionsActivity extends QuickActivity {
}
}
- if (mFlagHasCameraPermission && mFlagHasMicrophonePermission && mFlagHasStoragePermission) {
+ if (mFlagHasCameraPermission && mFlagHasMicrophonePermission &&
+ mFlagHasStoragePermission && mFlagHasWriteStoragePermission) {
handlePermissionsSuccess();
}
}