Code with Finding: |
/* * Decompiled with CFR 0_128. * * Could not load the following classes: * android.app.Activity * android.app.ActivityManager * android.app.ActivityManager$MemoryInfo * android.content.ContentResolver * android.content.Context * android.content.pm.ApplicationInfo * android.content.pm.PackageInfo * android.content.pm.PackageManager * android.content.pm.PackageManager$NameNotFoundException * android.content.res.Configuration * android.content.res.Resources * android.location.Location * android.location.LocationManager * android.net.ConnectivityManager * android.net.NetworkInfo * android.net.NetworkInfo$State * android.net.wifi.WifiInfo * android.net.wifi.WifiManager * android.os.Bundle * android.os.Environment * android.provider.Settings * android.provider.Settings$Secure * android.provider.Settings$System * android.telephony.TelephonyManager * android.text.TextUtils * android.text.format.Formatter * android.util.DisplayMetrics * android.util.Log * android.view.Display * android.view.WindowManager * com.umeng.socialize.common.SocializeConstants * com.umeng.socom.b.h * javax.microedition.khronos.opengles.GL10 */ package com.umeng.socom;
import android.app.Activity; import android.app.ActivityManager; import android.content.ContentResolver; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.res.Configuration; import android.content.res.Resources; import android.location.Location; import android.location.LocationManager; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Bundle; import android.os.Environment; import android.provider.Settings; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.text.format.Formatter; import android.util.DisplayMetrics; import android.util.Log; import android.view.Display; import android.view.WindowManager; import com.umeng.socialize.common.SocializeConstants; import com.umeng.socom.b.h; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.Reader; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Set; import java.util.TimeZone; import javax.microedition.khronos.opengles.GL10;
public class DeviceConfig { protected static final String a = DeviceConfig.class.getName(); protected static final String b = "Unknown"; public static final int c = 8; private static final String d = "2G/3G"; private static final String e = "Wi-Fi"; private static int[] f;
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static boolean checkPermission(Context context, String string) { String string2; PackageManager packageManager = context.getPackageManager(); int n = packageManager.checkPermission(string, string2 = context.getPackageName()); if (n == 0) return (boolean)1; return (boolean)0; }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static String getAppVersionCode(Context context) { Object object; try { object = context.getPackageManager(); } catch (PackageManager.NameNotFoundException nameNotFoundException) { return b; } String string = context.getPackageName(); object = object.getPackageInfo(string, 0); int n = object.versionCode; return String.valueOf(n); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static String getAppVersionName(Context context) { Object object; try { object = context.getPackageManager(); } catch (PackageManager.NameNotFoundException nameNotFoundException) { return b; } String string = context.getPackageName(); object = object.getPackageInfo(string, 0); return object.versionName; }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static String getAppkey(Context context) { String string; String string2; block11 : { string2 = SocializeConstants.APPKEY; boolean bl = TextUtils.isEmpty((CharSequence)string2); if (!bl) { return string2; } try { string2 = context.getPackageManager(); } catch (Exception exception) { string = a; String string3 = "Could not read UMENG_APPKEY meta-data from AndroidManifest.xml."; Log.e((String)string, (String)string3, (Throwable)exception); return null; } string = context.getPackageName(); int n = 128; string2 = string2.getApplicationInfo(string, n); if (string2 == null) return null; string2 = string2.metaData; string = "UMENG_APPKEY"; string2 = string2.getString(string); if (string2 == null) break block11; return string2.trim(); } string2 = a; string = "Could not read UMENG_APPKEY meta-data from AndroidManifest.xml."; Log.e((String)string2, (String)string); do { return null; break; } while (true); }
public static String getApplicationLable(Context context) { PackageManager packageManager = context.getPackageManager(); ApplicationInfo applicationInfo = context.getApplicationInfo(); return packageManager.getApplicationLabel(applicationInfo).toString(); }
public static String getAvailMemory(Context context) { ActivityManager activityManager = (ActivityManager)context.getSystemService("activity"); ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo(); activityManager.getMemoryInfo(memoryInfo); long l = memoryInfo.availMem; return Formatter.formatFileSize((Context)context, (long)l); }
/* * Exception decompiling */ public static String getCPU() { // This method has failed to decompile. When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file. // org.benf.cfr.reader.util.ConfusedCFRException: Tried to end blocks [0[TRYBLOCK]], but top level block is 4[CATCHBLOCK] // org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.processEndingBlocks(Op04StructuredStatement.java:418) // org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:470) // org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:2880) // org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:816) // org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:196) // org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:141) // org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:95) // org.benf.cfr.reader.entities.Method.analyse(Method.java:370) // org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:852) // org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:753) // org.benf.cfr.reader.Main.doClass(Main.java:46) // org.benf.cfr.reader.Main.main(Main.java:190) // ReviewPreparator.unZipIt(ReviewPreparator.java:54) // PrepareAndSendToReview$.$anonfun$prepareAndSendToReview$4(PrepareAndSendToReview.scala:37) // scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234) // scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:320) // scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976) // scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976) // scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976) // scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976) // scala.collection.TraversableLike.map(TraversableLike.scala:234) // scala.collection.TraversableLike.map$(TraversableLike.scala:227) // scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47) // scala.collection.SetLike.map(SetLike.scala:101) // scala.collection.SetLike.map$(SetLike.scala:101) // scala.collection.AbstractSet.map(Set.scala:47) // PrepareAndSendToReview$.prepareAndSendToReview(PrepareAndSendToReview.scala:35) // PrepareAndSendToReview$.main(PrepareAndSendToReview.scala:12) // PrepareAndSendToReview.main(PrepareAndSendToReview.scala) throw new IllegalStateException("Decompilation failed"); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static String getChannel(Context context) { String string; String string2; Object object; block10 : { string2 = b; object = context.getPackageManager(); string = context.getPackageName(); int n = 128; object = object.getApplicationInfo(string, n); if (object == null) return string2; string = object.metaData; if (string == null) return string2; object = object.metaData; string = "UMENG_CHANNEL"; object = object.get(string); if (object == null) return string2; object = object.toString(); if (object == null) break block10; return object; } object = a; string = "Could not read UMENG_CHANNEL meta-data from AndroidManifest.xml."; try { Log.i((String)object, (String)string); return string2; } catch (Exception exception) { string = a; String string3 = "Could not read UMENG_CHANNEL meta-data from AndroidManifest.xml."; Log.i((String)string, (String)string3); exception.printStackTrace(); } return string2; }
/* * Enabled aggressive block sorting * Enabled unnecessary exception pruning * Enabled aggressive exception aggregation */ public static String getDeviceId(Context context) { boolean bl; Object object; String string; String string2; block6 : { block5 : { object = (TelephonyManager)context.getSystemService("phone"); if (object == null) { string2 = a; String string3 = "No IMEI."; Log.w((String)string2, (String)string3); } string2 = ""; String string4 = "android.permission.READ_PHONE_STATE"; try { boolean bl2 = DeviceConfig.checkPermission(context, string4); if (!bl2) break block5; object = object.getDeviceId(); break block6; } catch (Exception exception) { String string5 = a; string = "No IMEI."; Log.w((String)string5, (String)string, (Throwable)exception); } } object = string2; } if (bl = TextUtils.isEmpty((CharSequence)object)) { object = a; string2 = "No IMEI."; Log.w((String)object, (String)string2); object = DeviceConfig.getMac(context); bl = TextUtils.isEmpty((CharSequence)object); if (bl) { Log.w((String)a, (String)"Failed to take mac as IMEI. Try to use Secure.ANDROID_ID instead."); object = Settings.Secure.getString((ContentResolver)context.getContentResolver(), (String)"android_id"); string2 = a; string = "getDeviceId: Secure.ANDROID_ID: "; StringBuilder stringBuilder = new StringBuilder(string); String string6 = stringBuilder.append((String)object).toString(); Log.w((String)string2, (String)string6); } } return object; }
public static String getDeviceIdUmengMD5(Context context) { return h.b((String)DeviceConfig.getDeviceId(context)); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static String getDisplayResolution(Context context) { Object object; Object object2; try { object = new Object(); object2 = "window"; } catch (Exception exception) { exception.printStackTrace(); return b; } object2 = context.getSystemService((String)object2); object2 = (WindowManager)object2; object2 = object2.getDefaultDisplay(); object2.getMetrics((DisplayMetrics)object); int n = object.widthPixels; int n2 = object.heightPixels; object = String.valueOf(n2); object = String.valueOf(object); StringBuilder stringBuilder = new StringBuilder((String)object); object = "*"; object = stringBuilder.append((String)object); object2 = String.valueOf(n); object2 = object.append((String)object2); return object2.toString(); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static String[] getGPU(GL10 gL10) { String string; int n; String string2; String[] arrstring; int n2 = 2; try { arrstring = new String[n2]; n = 7936; } catch (Exception exception) { string2 = a; string = "Could not read gpu infor:"; Log.e((String)string2, (String)string, (Throwable)exception); return new String[0]; } string2 = gL10.glGetString(n); int n3 = 7937; string = gL10.glGetString(n3); arrstring[0] = string2; n = 1; arrstring[n] = string; return arrstring; }
public static Set getInstalledPackages(Context context) { int n = 0; String string = null; HashSet<String> hashSet = new HashSet<String>(); List list = context.getPackageManager().getInstalledPackages(0); int n2 = 0; while (n2 < (n = list.size())) { string = ((PackageInfo)list.get((int)n2)).packageName; hashSet.add(string); n2 = n = n2 + 1; } return hashSet; }
/* * Enabled aggressive block sorting */ public static int getIntervalSeconds(Date date, Date date2) { boolean bl = date.after(date2); if (!bl) { Date date3 = date2; date2 = date; date = date3; } long l = date2.getTime(); return (int)((date.getTime() - l) / 1000L); }
/* * Enabled aggressive block sorting * Enabled unnecessary exception pruning * Enabled aggressive exception aggregation */ public static String[] getLocaleInfo(Context context) { int n = 1; int n2 = 0; Object object = null; int n3 = 2; String[] arrstring = new String[n3]; arrstring[0] = b; Object object2 = b; arrstring[n] = object2; try { super(); object = context.getContentResolver(); Settings.System.getConfiguration((ContentResolver)object, (Configuration)object2); if (object2 != null && (object = object2.locale) != null) { n2 = 0; object = null; Object object3 = object2.locale; arrstring[0] = object3 = object3.getCountry(); n2 = 1; object2 = object2.locale; arrstring[n2] = object2 = object2.toString(); } else { object2 = Locale.getDefault(); if (object2 != null) { String string; n2 = 0; object = null; arrstring[0] = string = object2.getCountry(); n2 = 1; arrstring[n2] = object2 = object2.getLanguage(); } } int n4 = 0; object2 = null; object2 = arrstring[0]; n4 = TextUtils.isEmpty((CharSequence)object2); if (n4 != 0) { n4 = 0; object2 = null; arrstring[0] = object = b; } n4 = 1; object2 = arrstring[n4]; n4 = TextUtils.isEmpty((CharSequence)object2) ? 1 : 0; if (n4 == 0) return arrstring; n4 = 1; arrstring[n4] = object = b; return arrstring; } catch (Exception exception) { object = a; String string = "error in getLocaleInfo"; Log.e((String)object, (String)string, (Throwable)exception); return arrstring; } }
/* * Enabled aggressive block sorting * Enabled unnecessary exception pruning * Enabled aggressive exception aggregation */ public static Location getLocation(Context context) { String string; Object object = "location"; try { object = context.getSystemService((String)object); object = (LocationManager)object; string = "android.permission.ACCESS_FINE_LOCATION"; boolean bl = DeviceConfig.checkPermission(context, string); if (bl) { string = "gps"; if ((string = object.getLastKnownLocation(string)) != null) { object = a; String string2 = "get location from gps:"; CharSequence charSequence = new CharSequence(string2); double d = string.getLatitude(); charSequence = charSequence.append(d); string2 = ","; charSequence = charSequence.append(string2); d = string.getLongitude(); charSequence = charSequence.append(d); charSequence = charSequence.toString(); Log.i((String)object, (String)charSequence); return string; } } if ((bl = DeviceConfig.checkPermission(context, string = "android.permission.ACCESS_COARSE_LOCATION")) && (object = object.getLastKnownLocation(string = "network")) != null) { string = a; String string3 = "get location from network:"; CharSequence charSequence = new CharSequence(string3); double d = object.getLatitude(); charSequence = charSequence.append(d); string3 = ","; charSequence = charSequence.append(string3); d = object.getLongitude(); charSequence = charSequence.append(d); charSequence = charSequence.toString(); Log.i((String)string, (String)charSequence); return object; } object = a; string = "Could not get location from GPS or Cell-id, lack ACCESS_COARSE_LOCATION or ACCESS_COARSE_LOCATION permission?"; Log.i((String)object, (String)string); return null; } catch (Exception exception) { string = a; object = exception.getMessage(); Log.e((String)string, (String)object); return null; } }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static String getMac(Context context) { Object object; String string; block9 : { object = "wifi"; try { object = context.getSystemService((String)object); } catch (Exception exception) { string = a; String string2 = "Could not get mac address."; StringBuilder stringBuilder = new StringBuilder(string2); object = exception.toString(); object = stringBuilder.append((String)object).toString(); Log.w((String)string, (String)object); return ""; } object = (WifiManager)object; string = "android.permission.ACCESS_WIFI_STATE"; boolean bl = DeviceConfig.checkPermission(context, string); if (!bl) break block9; object = object.getConnectionInfo(); return object.getMacAddress(); } object = a; string = "Could not get mac address.[no permission android.permission.ACCESS_WIFI_STATE"; Log.w((String)object, (String)string); do { return ""; break; } while (true); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static String[] getNetworkAccessMode(Context context) { String string; String string2; int n = 1; NetworkInfo networkInfo = new String[2]; networkInfo[0] = b; networkInfo[n] = b; Object object = context.getPackageManager(); int n2 = object.checkPermission(string = "android.permission.ACCESS_NETWORK_STATE", string2 = context.getPackageName()); if (n2 != 0) { networkInfo[0] = b; return networkInfo; } object = (ConnectivityManager)context.getSystemService("connectivity"); if (object == null) { networkInfo[0] = b; return networkInfo; } string = object.getNetworkInfo(n).getState(); if (string == (string2 = NetworkInfo.State.CONNECTED)) { networkInfo[0] = e; return networkInfo; } string = (object = object.getNetworkInfo(0)).getState(); if (string != (string2 = NetworkInfo.State.CONNECTED)) return networkInfo; string = d; networkInfo[0] = string; networkInfo[n] = object = object.getSubtypeName(); return networkInfo; }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static String getNetworkOperatorName(Context context) { Object object; block4 : { object = "phone"; try { object = context.getSystemService((String)object); } catch (Exception exception) { exception.printStackTrace(); return b; } object = (TelephonyManager)object; if (object != null) break block4; return b; } return object.getNetworkOperatorName(); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static String getOperator(Context context) { Object object = "phone"; try { object = context.getSystemService((String)object); } catch (Exception exception) { String string = a; String string2 = "read carrier fail"; Log.i((String)string, (String)string2, (Throwable)exception); return b; } object = (TelephonyManager)object; return object.getNetworkOperatorName(); }
public static String getPackageName(Context context) { return context.getPackageName(); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static String getResolution(Context context) { Object object; Object object2; try { object = new Object(); object2 = "window"; } catch (Exception exception) { object = a; String string = "read resolution fail"; Log.e((String)object, (String)string, (Throwable)exception); return b; } object2 = context.getSystemService((String)object2); object2 = (WindowManager)object2; object2 = object2.getDefaultDisplay(); object2.getMetrics((DisplayMetrics)object); int n = object.widthPixels; int n2 = object.heightPixels; StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append(n); object2 = "*"; stringBuffer.append((String)object2); stringBuffer.append(n2); return stringBuffer.toString(); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static int[] getScreenWidthAndHeight(Context context) { int n = 2; int[] arrn = f; if (arrn != null) { return f; } boolean bl = context instanceof Activity; if (bl) { context = (Activity)context; arrn = new int[](); Display display = context.getWindowManager().getDefaultDisplay(); display.getMetrics((DisplayMetrics)arrn); int n2 = arrn.widthPixels; int n3 = arrn.heightPixels; arrn = new int[n]; n = 0; arrn[0] = n2; n2 = 1; arrn[n2] = n3; return arrn; } int[] arrn2 = arrn = new int[n]; arrn2[0] = 480; arrn2[1] = 800; return arrn; }
public static String getTimeString(Date date) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return simpleDateFormat.format(date); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static int getTimeZone(Context context) { void var1_3; String string; Object object; block11 : { Locale locale = Locale.getDefault(); super(); object = context.getContentResolver(); Settings.System.getConfiguration((ContentResolver)object, (Configuration)string); if (string == null) break block11; object = string.locale; if (object == null) break block11; Locale locale2 = string.locale; } Calendar calendar = Calendar.getInstance((Locale)var1_3); if (calendar == null) return 8; TimeZone timeZone = calendar.getTimeZone(); int n = timeZone.getRawOffset(); int n2 = 3600000; try { n /= n2; } catch (Exception exception) { string = a; object = "error in getTimeZone"; Log.i((String)string, (String)object, (Throwable)exception); } return n; return 8; }
public static String getToday() { Date date = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); return simpleDateFormat.format(date); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static String getTotalMemory(Context context) { Object object; int n; Object object2 = "/proc/meminfo"; long l = 0L; try { object = new Object((String)object2); n = 8192; } catch (IOException iOException) { return Formatter.formatFileSize((Context)context, (long)l); } object2 = new Object((Reader)object, n); object = object2.readLine(); String string = "\\s+"; object = object.split(string); n = 1; object = object[n]; object = Integer.valueOf((String)object); int n2 = object.intValue() * 1024; l = n2; object2.close(); do { return Formatter.formatFileSize((Context)context, (long)l); break; } while (true); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static boolean isAppInstalled(String string, Context context) { boolean bl = true; boolean bl2 = false; if (context == null) { return bl2; } PackageManager packageManager = context.getPackageManager(); int n = 1; try { packageManager.getPackageInfo(string, n); return bl; } catch (PackageManager.NameNotFoundException nameNotFoundException) { return false; } }
public static boolean isChinese(Context context) { String string = context.getResources().getConfiguration().locale.toString(); String string2 = Locale.CHINA.toString(); return string.equals(string2); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static boolean isNetworkAvailable(Context context) { String string = "android.permission.ACCESS_NETWORK_STATE"; boolean bl = DeviceConfig.checkPermission(context, string); if (!bl) return false; bl = DeviceConfig.isOnline(context); if (!bl) return false; return true; }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static boolean isOnline(Context context) { Object object = "connectivity"; try { object = context.getSystemService((String)object); } catch (Exception exception) { return true; } object = (ConnectivityManager)object; object = object.getActiveNetworkInfo(); if (object == null) return false; return object.isConnectedOrConnecting(); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static boolean isScreenPortrait(Context context) { int n = 1; Configuration configuration = context.getResources().getConfiguration(); int n2 = configuration.orientation; if (n2 != n) return (boolean)0; return (boolean)n; }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static boolean isSdCardWrittenable() { String string; String string2 = Environment.getExternalStorageState(); boolean bl = string2.equals(string = "mounted"); if (!bl) return false; return true; }
public static boolean isWiFiAvailable(Context context) { String string = DeviceConfig.getNetworkAccessMode(context)[0]; return e.equals(string); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public static Date toTime(String string) { SimpleDateFormat simpleDateFormat; void var1_3; String string2 = "yyyy-MM-dd HH:mm:ss"; try { simpleDateFormat = new SimpleDateFormat(string2); } catch (Exception exception) { return var1_3; } Date date = simpleDateFormat.parse(string); return var1_3; } }
|