package support.ui.utilities; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import java.util.Locale; import starter.kit.util.Installation; /** * Created by YuGang Yang on 04 13, 2016. * Copyright 2015-2016 qiji.tech. All rights reserved. */ public final class AppInfo { public String os; public String deviceName; public String deviceId; public String version; public int versionCode; public String channel; public int screenWidth; public int screenHeight; public String languageCode; private void initLanguageCode() { Locale locale = Locale.getDefault(); String language = locale.getLanguage(); if ("zh".equals(language)) { language = language + "-" + locale.getCountry(); } this.languageCode = language; } private void initOs() { this.os = android.os.Build.MODEL + "," + android.os.Build.VERSION.SDK_INT + "," + android.os.Build.VERSION.RELEASE; } private void initMetrics() { this.screenWidth = ScreenUtils.getScreenWidth(); this.screenHeight = ScreenUtils.getScreenHeight(); } private void initDeviceId() { this.deviceId = Installation.genInstallationId(); } private void initVersion(Context context) { PackageManager packageManager = context.getPackageManager(); PackageInfo packInfo = null; try { packInfo = packageManager.getPackageInfo(context.getPackageName(), 0); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } String version = ""; int code = 0; if (packInfo != null) { version = packInfo.versionName; code = packInfo.versionCode; } this.version = version; this.versionCode = code; } private void initChannel(Context context) { this.channel = AndroidUtilities.getMetaData(context, "UMENG_CHANNEL"); } private void initDeviceName() { this.deviceName = android.os.Build.DEVICE; } public AppInfo(Context context) { initLanguageCode(); initDeviceId(); initVersion(context); initChannel(context); initOs(); initDeviceName(); initMetrics(); } }