am ac0e2425: Fixes to M permissions.
* commit 'ac0e2425e77a9b69e76d2f31876798825ea44584':
Fixes to M permissions.
diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java
index 1897b28..3997705 100644
--- a/src/com/android/camera/CameraActivity.java
+++ b/src/com/android/camera/CameraActivity.java
@@ -1440,6 +1440,12 @@
mFeatureConfig = OneCameraFeatureConfigCreator.createDefault(getContentResolver(),
getServices().getMemoryManager());
mFatalErrorHandler = new FatalErrorHandlerImpl(this);
+ checkPermissions();
+ if (!mHasCriticalPermissions) {
+ Log.v(TAG, "onCreate: Missing critical permissions.");
+ finish();
+ return;
+ }
profile.mark();
if (!Glide.isSetup()) {
Context context = getAndroidContext();
@@ -1621,6 +1627,8 @@
mCurrentModule.init(this, isSecureCamera(), isCaptureIntent());
profile.mark("Init CurrentModule");
+ preloadFilmstripItems();
+
setupNfcBeamPush();
mLocalImagesObserver = new FilmstripContentObserver();
@@ -1850,7 +1858,8 @@
mPaused = false;
checkPermissions();
if (!mHasCriticalPermissions) {
- Log.v(TAG, "Missing critical permissions.");
+ Log.v(TAG, "onResume: Missing critical permissions.");
+ finish();
return;
}
if (!mSecureCamera) {
@@ -1897,18 +1906,8 @@
!mSettingsManager.getBoolean(SettingsManager.SCOPE_GLOBAL, Keys.KEY_HAS_SEEN_PERMISSIONS_DIALOGS)) ||
!mHasCriticalPermissions) {
Intent intent = new Intent(this, PermissionsActivity.class);
- startActivityForResult(intent, PERMISSIONS_ACTIVITY_REQUEST_CODE);
- }
- }
-
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- // Close the app if critical permissions are missing.
- if (requestCode == PERMISSIONS_ACTIVITY_REQUEST_CODE && resultCode == PERMISSIONS_RESULT_CODE_FAILED) {
+ startActivity(intent);
finish();
- } else if (requestCode == PERMISSIONS_ACTIVITY_REQUEST_CODE && resultCode == PERMISSIONS_RESULT_CODE_OK) {
- mHasCriticalPermissions = true;
}
}
@@ -1964,7 +1963,6 @@
Profile profile = mProfiler.create("CameraActivity.resume").start();
CameraPerformanceTracker.onEvent(CameraPerformanceTracker.ACTIVITY_RESUME);
Log.v(TAG, "Build info: " + Build.DISPLAY);
- preloadFilmstripItems();
updateStorageSpaceAndHint(null);
mLastLayoutOrientation = getResources().getConfiguration().orientation;
diff --git a/src/com/android/camera/PermissionsActivity.java b/src/com/android/camera/PermissionsActivity.java
index 9d2708f..a3981ef 100644
--- a/src/com/android/camera/PermissionsActivity.java
+++ b/src/com/android/camera/PermissionsActivity.java
@@ -214,7 +214,8 @@
}
private void handlePermissionsSuccess() {
- setResult(RESULT_CODE_OK, null);
+ Intent intent = new Intent(this, CameraActivity.class);
+ startActivity(intent);
finish();
}
@@ -226,7 +227,6 @@
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
- setResult(RESULT_CODE_FAILED, null);
finish();
}
return true;
@@ -236,7 +236,6 @@
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
- setResult(RESULT_CODE_FAILED, null);
finish();
}
})