diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2016-08-18 15:01:39 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-08-18 15:01:39 -0700 |
commit | 6bd73c5658538182923109b1423481720b269402 (patch) | |
tree | b0fe6dd4a41a8c2fb38651c468657b235f6d796d /src/com/android/camera/PermissionsActivity.java | |
parent | c221aa033f25b5c020e77440c384cd6a78763566 (diff) | |
parent | 9a4e6d0253792dea4e52cd180f3fd74cc9d65ab3 (diff) | |
download | android_packages_apps_Snap-6bd73c5658538182923109b1423481720b269402.tar.gz android_packages_apps_Snap-6bd73c5658538182923109b1423481720b269402.tar.bz2 android_packages_apps_Snap-6bd73c5658538182923109b1423481720b269402.zip |
Merge "SnapdragonCamera: fix invoke camera failture caused by permissions" into camera.lnx.1.0-dev.1.0
Diffstat (limited to 'src/com/android/camera/PermissionsActivity.java')
-rw-r--r-- | src/com/android/camera/PermissionsActivity.java | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/com/android/camera/PermissionsActivity.java b/src/com/android/camera/PermissionsActivity.java index c5e43e56d..5ebe72075 100644 --- a/src/com/android/camera/PermissionsActivity.java +++ b/src/com/android/camera/PermissionsActivity.java @@ -33,16 +33,20 @@ public class PermissionsActivity extends Activity { private boolean mFlagHasMicrophonePermission; private boolean mFlagHasStoragePermission; private boolean mCriticalPermissionDenied; + private Intent mIntent; + private boolean mIsReturnResult; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + mIntent = getIntent(); + mIsReturnResult = false; } @Override protected void onResume() { super.onResume(); - if (!mCriticalPermissionDenied) { + if (!mCriticalPermissionDenied && !mIsReturnResult) { mNumPermissionsToRequest = 0; checkPermissions(); } else { @@ -160,9 +164,16 @@ public class PermissionsActivity extends Activity { } private void handlePermissionsSuccess() { - Intent intent = new Intent(this, CameraActivity.class); - startActivity(intent); - finish(); + if (mIntent != null) { + mIsReturnResult = true; + mIntent.setClass(this, CameraActivity.class); + startActivityForResult(mIntent, 1); + } else { + mIsReturnResult = false; + Intent intent = new Intent(this, CameraActivity.class); + startActivity(intent); + finish(); + } } private void handlePermissionsFailure() { @@ -187,4 +198,11 @@ public class PermissionsActivity extends Activity { }) .show(); } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + setResult(resultCode, data); + finish(); + } } |