package com.xiaomi.mitv.store.game; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Build; import android.telephony.TelephonyManager; import android.text.TextUtils; import com.xiaomi.mitv.store.utils.MiTVSystem; import java.util.Locale; public class Client { public static String IMEI; public static String MacWifi; public static String SYSTEM_VERSION; public static int SDK_VERSION; public static boolean IS_BACKGROUND_INSTALL; public static int GAMECENTER_VERSION; public static String GAMECENTER_VERSION_NAME; public static boolean SYSTEM_APP;//该客户端是否是系统APP public static String DEVICE;//产品型号 /** * 设备augustrush(八月迷情):盒子一代 * casablanca(卡萨布兰卡):盒子二代; * 都是影片的名字; * 1s : augustrush_plus_cntv */ public static String PRODUCT;//产品代码 private Client(){ } public static void init( Context context ) { SYSTEM_VERSION = Build.DISPLAY; SDK_VERSION = Build.VERSION.SDK_INT; IS_BACKGROUND_INSTALL = isBackgroundInstall( context ); GAMECENTER_VERSION = getGameCenterVersion( context ); GAMECENTER_VERSION_NAME = getGameCenterName( context ); //是系统APP SYSTEM_APP = ((context.getApplicationInfo().flags & ApplicationInfo.FLAG_SYSTEM) > 0 ) ? true : false; DEVICE = "mitv";//Build.PRODUCT PRODUCT = Build.PRODUCT; if(!TextUtils.isEmpty(PRODUCT)){ PRODUCT = PRODUCT.toLowerCase(Locale.getDefault()); } } /** * 判断是否是TV2 * @return */ public static final boolean isTV2(){ if(!TextUtils.isEmpty(PRODUCT)){ if(PRODUCT.startsWith("entrapment")){ return true; } } return false; } private static String getGameCenterName(Context context) { PackageManager packageManager = context.getPackageManager(); try { PackageInfo pkgInfo = packageManager.getPackageInfo( context.getPackageName(), 0); return pkgInfo.versionName; } catch (NameNotFoundException e) { if (IConfig.DEBUG) e.printStackTrace(); return ""; } } private static int getGameCenterVersion(Context context) { PackageManager packageManager = context.getPackageManager(); try { PackageInfo pkgInfo = packageManager.getPackageInfo( context.getPackageName(), 0); return pkgInfo.versionCode; } catch (NameNotFoundException e) { if(IConfig.DEBUG) e.printStackTrace(); return 0; } } private static boolean isBackgroundInstall(Context context) { try { context.enforceCallingOrSelfPermission( android.Manifest.permission.INSTALL_PACKAGES, null); return true; } catch (SecurityException e) { return false; } } public static boolean isLaterThanHoneycombMR2() { return SDK_VERSION >= Build.VERSION_CODES.HONEYCOMB_MR2; } public static boolean isLaterThanHoneycomb() { return SDK_VERSION >= Build.VERSION_CODES.HONEYCOMB; } }