package com.appassit.tools; import android.content.Context; import android.content.res.Resources.NotFoundException; import android.telephony.TelephonyManager; import android.util.DisplayMetrics; import com.appassit.activitys.SLAppication; public class AndroidOSUtils { // private static final String TAG = "AndroidOSUtils"; private static int sOsWidth = -1; private static int sOsHeight = -1; private static DisplayMetrics sDisplayMetrics; private static DisplayMetrics getDisplayMetrics() { if (sDisplayMetrics == null) { synchronized (AndroidOSUtils.class) { if (sDisplayMetrics == null) { sDisplayMetrics = SLAppication.getContext().getResources().getDisplayMetrics(); } } } return sDisplayMetrics; } private static void initOsHeigth() { if (sOsHeight <= 0) { synchronized (AndroidOSUtils.class) { if (sOsHeight <= 0) { sOsHeight = getDisplayMetrics().heightPixels; } } } } private static void initOSWidth() { if (sOsWidth <= 0) { synchronized (AndroidOSUtils.class) { if (sOsWidth <= 0) { sOsWidth = getDisplayMetrics().widthPixels; } } } } public static int getDisplayHeight() { initOsHeigth(); return sOsHeight; } public static int getDisplayWidth() { initOSWidth(); return sOsWidth; } public static int dip2Pix(float dip) { return ((int) (dip * getDisplayMetrics().density + 0.5f)); } public static int calculateByRatio(int width, float radio) { return (int) (width * radio); } public static void clear() { sDisplayMetrics = null; } public static String getMEID() { return ((TelephonyManager) SLAppication.getContext().getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId(); } public static int getDispalyDensityDpi() { return getDisplayMetrics().densityDpi; } public static String getString(int resId, Object... args) { try { return SLAppication.getContext().getString(resId, args); } catch (NotFoundException e) { } return null; } public static int getDimens(int resId) { try { return (int) SLAppication.getContext().getResources().getDimension(resId); } catch (NotFoundException e) { } return 0; } }