diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2019-07-09 03:09:23 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-07-09 03:09:23 +0000 |
commit | 3b6bbb684960f7e93db7311a1c3b9ff6d4ff8ef6 (patch) | |
tree | 9db71865fc7db097364602b2e686b351297474d5 | |
parent | 22235900037cfb1270752cf8d5441c0de2709f76 (diff) | |
parent | 96d0a25d3d9cf176c1212d29653565866c8e3d59 (diff) | |
download | android_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.java | 27 |
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(); } } |