package com.mcxiaoke.shell.others; public class DeviceUtils { /* private static final String BUILD_PROP = "/system/build.prop"; public static final String RO_BUILD_ID = "ro.build.id"; public static final String RO_BUILD_VERSION_SDK = "ro.build.version.sdk"; public static final String RO_BUILD_VERSION_RELEASE = "ro.build.version.release"; public static final String RO_PRODUCT_MODEL = "ro.product.model"; public static final String RO_PRODUCT_BRAND = "ro.product.brand"; public static final String RO_PRODUCT_NAME = "ro.product.name"; public static final String RO_PRODUCT_DEVICE = "ro.product.device"; public static final String RO_PRODUCT_BOARD = "ro.product.board"; public static final String RO_PRODUCT_CPU_ABI = "ro.product.cpu.abi"; public static final String RO_PRODUCT_CPU_ABI2 = "ro.product.cpu.abi2"; public static final String RO_PRODUCT_MANUFACTURER = "ro.product.manufacturer"; public static final String RO_BOARD_PLATFORM = "ro.board.platform"; public static final String RO_BUILD_DESCRIPTION = "ro.build.description"; public static final String RO_PRODUCT_VERSION = "ro.product.version"; private static List<String> buildProp = null; public static DeviceInfo getDeviceInfo() { DeviceInfo info = null; if (buildProp == null) { try { buildProp = FileUtils.readFile(BUILD_PROP); } catch (IOException ioe) { return null; } } info = new DeviceInfo(); info.roBuildId = findPropValue(RO_BUILD_ID); info.roBuildVersionSdk = findPropValue(RO_BUILD_VERSION_SDK); info.roBuildVersionRelease = findPropValue(RO_BUILD_VERSION_RELEASE); info.roProductModel = findPropValue(RO_PRODUCT_MODEL); info.roProductBrand = findPropValue(RO_PRODUCT_BRAND); info.roProductName = findPropValue(RO_PRODUCT_NAME); info.roProductDevice = findPropValue(RO_PRODUCT_DEVICE); info.roProductBoard = findPropValue(RO_PRODUCT_BOARD); info.roProductCpuAbi = findPropValue(RO_PRODUCT_CPU_ABI); info.roProductCpuAbi2 = findPropValue(RO_PRODUCT_CPU_ABI2); info.roProductManufacturer = findPropValue(RO_PRODUCT_MANUFACTURER); info.roBoardPlatform = findPropValue(RO_BOARD_PLATFORM); info.roBuildDescription = findPropValue(RO_BUILD_DESCRIPTION); info.roProductVersion = findPropValue(RO_PRODUCT_VERSION); return info; } public static String getBuildProp(String key) { if (buildProp == null) { try { buildProp = FileUtils.readFile(BUILD_PROP); } catch (IOException ioe) { return null; } } return findPropValue(key); } public static String getDeviceUniqueId(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); return tm.getDeviceId() + "_" + tm.getSubscriberId(); } private static String findPropValue(String key) { String tmp; String val = null; int idx = -1; for (String s : buildProp) { idx = s.indexOf("="); if (idx < 0) { continue; } tmp = s.substring(0, idx); if (tmp.equals(key)) { val = s.substring(idx + 1); break; } } return val; } public static int getAppVersionCode(Context context, String filePath) { int versionCode = 0; try { PackageInfo pi = GlobalInstance.pm.getPackageArchiveInfo(filePath, 0); versionCode = pi.versionCode; } catch (Exception e) { } return versionCode; } public static int getAppVersionCode(Context context) { return getAppVersionCode(context, (ApplicationInfo) null); } public static int getAppVersionCode(Context context, ApplicationInfo info) { int versionCode = 0; String packageName = ""; if (info != null) { packageName = info.packageName; } else { packageName = context.getPackageName(); } try { PackageInfo pi = GlobalInstance.pm.getPackageInfo(packageName, 0); versionCode = pi.versionCode; } catch (Exception e) { } return versionCode; } public static String getAppVersionName(Context context) { return getAppVersionName(context, null); } public static String getAppVersionName(Context context, ApplicationInfo info) { String versionName = ""; String packageName = ""; if (info != null) { packageName = info.packageName; } else { packageName = context.getPackageName(); } try { PackageInfo pi = GlobalInstance.pm.getPackageInfo(packageName, 0); versionName = pi.versionName; } catch (Exception e) { } return versionName; } public static int getFitable(DisplayMetrics metric) { getDeviceInfo(); int result = 5; String sdkVer = getBuildProp(RO_BUILD_VERSION_SDK); int sdk = Integer.parseInt(sdkVer); if (sdk >= 8 && sdk != 11 && sdk != 12 && sdk != 13) { result++; } else { result--; } String factory = getBuildProp(RO_PRODUCT_MANUFACTURER); if (factory != null) { if (factory.toLowerCase().contains("htc") && factory.toLowerCase().contains("archos")) { result += 2; } if (factory.toLowerCase().contains("xiaomi")) { result -= 1; } } String module = getBuildProp(RO_PRODUCT_MODEL); if (module != null) { if (module.toLowerCase().contains("lenovo")) { result -= 2; } if (module.toLowerCase().contains("ideatab")) { result -= 2; } if (module.toLowerCase().contains("zte")) { result -= 1; } if (module.toLowerCase().contains("nexus")) { result += 2; } } String buildId = getBuildProp(RO_BUILD_ID); if (buildId.toLowerCase().contains("miui")) { result += 1; } String cpu = getBuildProp(RO_PRODUCT_CPU_ABI); if (cpu.toLowerCase().contains("armeabi")) { result++; } else { result--; } if (metric.widthPixels >= 480 && metric.heightPixels >= 800) { result++; } else { result--; } if (result < 1) { result = 1; } if (result > 9) { result = 9; } return result; } public static void reboot() { RootUtils.runCommand("busybox reboot -f", true, null); }*/ }