OSDN Git Service

Restrict permission checks to M devices
authorAlan Newberger <alann@google.com>
Wed, 8 Jul 2015 16:51:04 +0000 (09:51 -0700)
committerAlan Newberger <alann@google.com>
Wed, 8 Jul 2015 16:51:04 +0000 (09:51 -0700)
Add an ApiHelper check and only call checkSelfPermission if we
are on M and the methods exist.

BUG=22345681

Change-Id: Icda8d40057b5492502858ced731a749a2f66abf8

src/com/android/camera/CameraActivity.java
src/com/android/camera/util/ApiHelper.java

index 586a66d..8cedeb7 100644 (file)
@@ -1875,6 +1875,11 @@ public class CameraActivity extends QuickActivity
      * Non-critical permission is location.
      */
     private void checkPermissions() {
+        if (!ApiHelper.isMOrHigher()) {
+            Log.v(TAG, "not running on M, skipping permission checks");
+            mHasCriticalPermissions = true;
+            return;
+        }
 
         if (checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED &&
                 checkSelfPermission(Manifest.permission.RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED &&
index 6aadc62..1b97553 100644 (file)
@@ -112,4 +112,9 @@ public class ApiHelper {
         return Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP
                 || Build.VERSION.SDK_INT == 22; // Lollipop MR1
     }
+
+    public static boolean isMOrHigher() {
+        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.MNC
+                || "MNC".equals(Build.VERSION.CODENAME);
+    }
 }