package com.c03.jy.wanandroid.wanandroidmy.utils;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.os.Build;
import android.os.Environment;
import android.support.v4.content.ContextCompat;
import android.util.DisplayMetrics;
import java.io.File;
/*
-
created by wangning on 2018/8/29
**/
public class SystemFacade {public static boolean hasIcecreamSandwichMR1() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1;
}public static boolean hasJellyBean() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN;
}public static boolean hasJellyBeanMR1() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1;
}public static boolean hasJellyBeanMR2() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2;
}public static boolean hasKitKat() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
}public static boolean hasLollipop() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
}public static boolean hasM() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;
}public static boolean hasN() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N;
}public static int getScreenHeight(Context context) {
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
return metrics.heightPixels;
}public static int getScreenWidth(Context context) {
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
return metrics.widthPixels;
}public static float getDensity(Context context) {
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
return metrics.density;
}public static int getDensityDpi(Context context) {
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
return metrics.densityDpi;
}public static int dp2px(Context context, float dp) {
float scale = context.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);}
public static File getExternalCacheDir(Context context) {
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) || !Environment.isExternalStorageRemovable()) {
return context.getExternalCacheDir();
}return null;
}
public static boolean hasPermission(Context context, String… permissions) {
if (context == null)
throw new NullPointerException(“context is null”);for (String permission : permissions) { if (ContextCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) { return false; } } return true;
}
public static int getStatusBarHeight(Context context) {
int statusBarHeight = 0;
Resources res = context.getResources();
int resourceId = res.getIdentifier(“status_bar_height”, “dimen”, “android”);
if (resourceId > 0) {
statusBarHeight = res.getDimensionPixelSize(resourceId);
}return statusBarHeight;
}
}