Skip to content

Commit

Permalink
Merge pull request #250 from hotchemi/hotchemi/issues/244
Browse files Browse the repository at this point in the history
Fix to use compat class.
  • Loading branch information
hotchemi committed Dec 26, 2016
2 parents b9cbc0f + 846b9c9 commit 7189a29
Showing 1 changed file with 8 additions and 7 deletions.
@@ -1,14 +1,13 @@
package permissions.dispatcher;

import android.annotation.TargetApi;
import android.app.Activity;
import android.app.AppOpsManager;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Process;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.AppOpsManagerCompat;
import android.support.v4.util.SimpleArrayMap;

import static android.support.v4.content.PermissionChecker.checkSelfPermission;
Expand Down Expand Up @@ -106,11 +105,14 @@ private static boolean hasSelfPermission(Context context, String permission) {
}
}

@TargetApi(Build.VERSION_CODES.M)
private static boolean hasSelfPermissionForXiaomi(Context context, String permission) {
AppOpsManager appOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
int checkOp = appOpsManager.checkOp(AppOpsManager.permissionToOp(permission), Process.myUid(), context.getPackageName());
return checkOp == AppOpsManager.MODE_ALLOWED && checkSelfPermission(context, permission) == PackageManager.PERMISSION_GRANTED;
String permissionToOp = AppOpsManagerCompat.permissionToOp(permission);
if (permissionToOp == null) {
// in case of normal permissions(e.g. INTERNET)
return true;
}
int noteOp = AppOpsManagerCompat.noteOp(context, permissionToOp, Process.myUid(), context.getPackageName());
return noteOp == AppOpsManagerCompat.MODE_ALLOWED && checkSelfPermission(context, permission) == PackageManager.PERMISSION_GRANTED;
}

/**
Expand All @@ -135,7 +137,6 @@ public static boolean shouldShowRequestPermissionRationale(Activity activity, St
* @param context context
* @return target sdk version
*/
@TargetApi(Build.VERSION_CODES.DONUT)
public static int getTargetSdkVersion(Context context) {
if (targetSdkVersion != -1) {
return targetSdkVersion;
Expand Down

0 comments on commit 7189a29

Please sign in to comment.