summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/PermissionsActivity.java
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-08-18 15:01:39 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-08-18 15:01:39 -0700
commit6bd73c5658538182923109b1423481720b269402 (patch)
treeb0fe6dd4a41a8c2fb38651c468657b235f6d796d /src/com/android/camera/PermissionsActivity.java
parentc221aa033f25b5c020e77440c384cd6a78763566 (diff)
parent9a4e6d0253792dea4e52cd180f3fd74cc9d65ab3 (diff)
downloadandroid_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.java26
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();
+ }
}