From: zafir Date: Wed, 8 Jul 2015 23:12:02 +0000 (-0700) Subject: Launch PermissionsActivity if CameraActivity resume is called without critical permis... X-Git-Tag: android-x86-6.0-r3~3^2^2~19 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=148d0b8e;p=android-x86%2Fpackages-apps-Camera2.git Launch PermissionsActivity if CameraActivity resume is called without critical permissions. Bug: 22358833 Change-Id: I5c189d4976b9355d531e028ecc163bb67bae6987 --- diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index e4da8fafb..1897b289b 100644 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -193,8 +193,8 @@ public class CameraActivity extends QuickActivity /** Load metadata for 10 items ahead of our current. */ private static final int FILMSTRIP_PRELOAD_AHEAD_ITEMS = 10; private static final int PERMISSIONS_ACTIVITY_REQUEST_CODE = 1; - private static final int PERMISSIONS_RESULT_CODE_OK = 0; - private static final int PERMISSIONS_RESULT_CODE_FAILED = 1; + private static final int PERMISSIONS_RESULT_CODE_OK = 1; + private static final int PERMISSIONS_RESULT_CODE_FAILED = 2; /** Should be used wherever a context is needed. */ private Context mAppContext; @@ -1440,7 +1440,6 @@ public class CameraActivity extends QuickActivity mFeatureConfig = OneCameraFeatureConfigCreator.createDefault(getContentResolver(), getServices().getMemoryManager()); mFatalErrorHandler = new FatalErrorHandlerImpl(this); - checkPermissions(); profile.mark(); if (!Glide.isSetup()) { Context context = getAndroidContext(); @@ -1849,6 +1848,11 @@ public class CameraActivity extends QuickActivity @Override public void onResumeTasks() { mPaused = false; + checkPermissions(); + if (!mHasCriticalPermissions) { + Log.v(TAG, "Missing critical permissions."); + return; + } if (!mSecureCamera) { // Show the dialog if necessary. The rest resume logic will be invoked // at the onFirstRunStateReady() callback. @@ -1900,7 +1904,6 @@ public class CameraActivity extends QuickActivity @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) { finish(); @@ -1961,10 +1964,6 @@ public class CameraActivity extends QuickActivity Profile profile = mProfiler.create("CameraActivity.resume").start(); CameraPerformanceTracker.onEvent(CameraPerformanceTracker.ACTIVITY_RESUME); Log.v(TAG, "Build info: " + Build.DISPLAY); - if (!mHasCriticalPermissions) { - Log.v(TAG, "Missing critical permissions."); - return; - } preloadFilmstripItems(); updateStorageSpaceAndHint(null); diff --git a/src/com/android/camera/PermissionsActivity.java b/src/com/android/camera/PermissionsActivity.java index af223d53f..5824fd5de 100644 --- a/src/com/android/camera/PermissionsActivity.java +++ b/src/com/android/camera/PermissionsActivity.java @@ -19,8 +19,8 @@ public class PermissionsActivity extends Activity { private static final Log.Tag TAG = new Log.Tag("PermissionsActivity"); private static int PERMISSION_REQUEST_CODE = 1; - private static int RESULT_CODE_OK = 0; - private static int RESULT_CODE_FAILED = 1; + private static int RESULT_CODE_OK = 1; + private static int RESULT_CODE_FAILED = 2; private int mIndexPermissionRequestCamera; private int mIndexPermissionRequestMicrophone;