diff options
Diffstat (limited to 'src/com/android/camera')
-rw-r--r-- | src/com/android/camera/PermissionsActivity.java | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/com/android/camera/PermissionsActivity.java b/src/com/android/camera/PermissionsActivity.java index 27a3c3692..f47d8265c 100644 --- a/src/com/android/camera/PermissionsActivity.java +++ b/src/com/android/camera/PermissionsActivity.java @@ -119,24 +119,27 @@ public class PermissionsActivity extends Activity { String permissions[], int[] grantResults) { if (mShouldRequestCameraPermission) { - if (grantResults[mIndexPermissionRequestCamera] == - PackageManager.PERMISSION_GRANTED) { + if ((grantResults.length >= mIndexPermissionRequestCamera + 1) && + (grantResults[mIndexPermissionRequestCamera] == + PackageManager.PERMISSION_GRANTED)) { mFlagHasCameraPermission = true; } else { mCriticalPermissionDenied = true; } } if (mShouldRequestMicrophonePermission) { - if (grantResults[mIndexPermissionRequestMicrophone] == - PackageManager.PERMISSION_GRANTED) { + if ((grantResults.length >= mIndexPermissionRequestMicrophone + 1) && + (grantResults[mIndexPermissionRequestMicrophone] == + PackageManager.PERMISSION_GRANTED)) { mFlagHasMicrophonePermission = true; } else { mCriticalPermissionDenied = true; } } if (mShouldRequestStoragePermission) { - if (grantResults[mIndexPermissionRequestStorage] == - PackageManager.PERMISSION_GRANTED) { + if ((grantResults.length >= mIndexPermissionRequestStorage + 1) && + (grantResults[mIndexPermissionRequestStorage] == + PackageManager.PERMISSION_GRANTED)) { mFlagHasStoragePermission = true; } else { mCriticalPermissionDenied = true; @@ -144,8 +147,9 @@ public class PermissionsActivity extends Activity { } if (mShouldRequestLocationPermission) { - if (grantResults[mIndexPermissionRequestLocation] == - PackageManager.PERMISSION_GRANTED) { + if ((grantResults.length >= mIndexPermissionRequestLocation + 1) && + (grantResults[mIndexPermissionRequestLocation] == + PackageManager.PERMISSION_GRANTED)) { // Do nothing } else { // Do nothing |