summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authoraurimas <aurimas@chromium.org>2015-08-21 16:46:23 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-21 23:47:15 +0000
commit8c6f925682c553969534168e36ae88bd248398af (patch)
tree08925868b6a7001e77300d142b60b2c233c337c1 /ui
parent0ca579eef552aa059aa3b7cbe0edb39f24d5eba6 (diff)
downloadchromium_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.java35
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;
}
/**