diff options
author | aurimas <aurimas@chromium.org> | 2015-08-21 16:46:23 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-08-21 23:47:15 +0000 |
commit | 8c6f925682c553969534168e36ae88bd248398af (patch) | |
tree | 08925868b6a7001e77300d142b60b2c233c337c1 /ui | |
parent | 0ca579eef552aa059aa3b7cbe0edb39f24d5eba6 (diff) | |
download | chromium_src-8c6f925682c553969534168e36ae88bd248398af.zip chromium_src-8c6f925682c553969534168e36ae88bd248398af.tar.gz chromium_src-8c6f925682c553969534168e36ae88bd248398af.tar.bz2 |
Remove reflection for requestPermission call.
We rolled to M sdk so this reflection is no longer needed.
BUG=522182
Review URL: https://codereview.chromium.org/1297953006
Cr-Commit-Position: refs/heads/master@{#344919}
Diffstat (limited to 'ui')
-rw-r--r-- | ui/android/java/src/org/chromium/ui/base/ActivityWindowAndroid.java | 35 |
1 files changed, 4 insertions, 31 deletions
diff --git a/ui/android/java/src/org/chromium/ui/base/ActivityWindowAndroid.java b/ui/android/java/src/org/chromium/ui/base/ActivityWindowAndroid.java index 5ca0569..f1df051 100644 --- a/ui/android/java/src/org/chromium/ui/base/ActivityWindowAndroid.java +++ b/ui/android/java/src/org/chromium/ui/base/ActivityWindowAndroid.java @@ -13,6 +13,7 @@ import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.PermissionInfo; +import android.os.Build; import android.os.Handler; import android.preference.PreferenceManager; import android.text.TextUtils; @@ -25,8 +26,6 @@ import org.chromium.base.BuildInfo; import org.chromium.ui.UiUtils; import java.lang.ref.WeakReference; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; /** * The class provides the WindowAndroid's implementation which requires @@ -39,7 +38,6 @@ public class ActivityWindowAndroid // Constants used for intent request code bounding. private static final int REQUEST_CODE_PREFIX = 1000; private static final int REQUEST_CODE_RANGE_SIZE = 100; - private static final String TAG = "ActivityWindowAndroid"; private static final String PERMISSION_QUERIED_KEY_PREFIX = "HasRequestedAndroidPermission::"; @@ -47,8 +45,6 @@ public class ActivityWindowAndroid private final Handler mHandler; private final SparseArray<PermissionCallback> mOutstandingPermissionRequests; - private Method mRequestPermissionsMethod; - private int mNextRequestCode = 0; /** @@ -238,37 +234,14 @@ public class ActivityWindowAndroid * Issues the permission request and returns whether it was sent successfully. */ private boolean requestPermissionsInternal(String[] permissions, PermissionCallback callback) { - // TODO(tedchoc): Remove the MNC check once the SDK version is bumped. - if (!BuildInfo.isMncOrLater()) return false; - - // TODO(tedchoc): Remove the reflection aspect of this once a public M SDK is available. + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return false; Activity activity = mActivityRef.get(); if (activity == null) return false; - if (mRequestPermissionsMethod == null) { - try { - mRequestPermissionsMethod = Activity.class.getMethod( - "requestPermissions", String[].class, int.class); - } catch (NoSuchMethodException e) { - return false; - } - } - int requestCode = generateNextRequestCode(); mOutstandingPermissionRequests.put(requestCode, callback); - - try { - mRequestPermissionsMethod.invoke(activity, permissions, requestCode); - return true; - } catch (IllegalAccessException e) { - mOutstandingPermissionRequests.delete(requestCode); - } catch (IllegalArgumentException e) { - mOutstandingPermissionRequests.delete(requestCode); - } catch (InvocationTargetException e) { - mOutstandingPermissionRequests.delete(requestCode); - } - - return false; + activity.requestPermissions(permissions, requestCode); + return true; } /** |