package cm.android.sdk.permission;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.support.v4.content.PermissionChecker;
public class PermissionUtil {
public static boolean hasPermissions(Context context, String... permissions) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
return true;
}
for (String permission : permissions) {
if (denied(context, permission)) {
return false;
}
}
return true;
}
private static boolean denied(Context context, String permission) {
// return ContextCompat.checkSelfPermission(context, permission) == PackageManager.PERMISSION_DENIED;
return PermissionChecker.checkSelfPermission(context, permission) != PermissionChecker.PERMISSION_GRANTED;
}
public static boolean verifyPermissions(int[] grantResults) {
// At least one result must be checked.
if (grantResults.length < 1) {
return false;
}
// Verify that each required permission has been granted, otherwise return false.
for (int result : grantResults) {
if (result != PackageManager.PERMISSION_GRANTED) {
return false;
}
}
return true;
}
// public static boolean requestPermissions(Context context, String[] permissions, @StringRes int text) {
// boolean res = true;
//
// if (!EnvironmentUtil.SdkUtil.has(Build.VERSION_CODES.M)) {
// return true;
// }
//
// if (!checkDenied(context, permissions)) {
// return true;
// }
//
// NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
// Intent i = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
// i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// i.addCategory(Intent.CATEGORY_DEFAULT);
// i.setData(Uri.parse("package:" + context.getPackageName()));
// PendingIntent pi = PendingIntent.getActivity(context, 0, i, PendingIntent.FLAG_ONE_SHOT);
// NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
// .setAutoCancel(true)
// .setColor(Color.RED)
//// .setSmallIcon(context.getAp)
//// .setSmallIcon(R.drawable.ic_notification_icon)
//// .setContentTitle(context.getString(R.string.notification_title))
// .setTicker(context.getString(text))
// .setContentIntent(pi)
// .setContentText(context.getString(text));
// manager.notify(NOTIFICATION_ID, mBuilder.build());
// return false;
// }
}