Code with Finding: |
/*
* Decompiled with CFR 0_128.
*
* Could not load the following classes:
* android.content.Context
* android.content.pm.PackageInfo
* android.content.pm.PackageManager
* android.content.pm.PackageManager$NameNotFoundException
* android.content.res.Configuration
* android.content.res.Resources
* android.net.NetworkInfo
* android.util.DisplayMetrics
* android.view.Display
* android.view.WindowManager
* com.apptracker.android.advert.AppJSInterface
* com.apptracker.android.nativead.ATNativeAdOptions
* com.apptracker.android.util.AppLog
* org.json.JSONObject
*/
package com.apptracker.android.util;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.net.NetworkInfo;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.WindowManager;
import com.apptracker.android.advert.AppJSInterface;
import com.apptracker.android.nativead.ATNativeAdOptions;
import com.apptracker.android.util.AppLog;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
import org.json.JSONObject;
public class AppDeviceParamaters {
/*
* Exception decompiling
*/
public static JSONObject appDeviceParamaters(Context var0) {
// 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: Started 2 blocks at once
// org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.getStartingBlocks(Op04StructuredStatement.java:395)
// org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:473)
// 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.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 int getBiggerNaviBarHeight(Context context) {
int n;
int n2 = AppDeviceParamaters.isTablet(context);
if (n2 == 0) return 0;
n2 = AppDeviceParamaters.getNavigationBarHeight(context, 1);
if (n2 < (n = AppDeviceParamaters.getNavigationBarHeight(context, 2))) return n;
return n2;
}
/*
* Enabled force condition propagation
* Lifted jumps to return sites
*/
public static int[] getCommonWidthHeight(Context context) {
int n = 1;
int n2 = AppDeviceParamaters.getBiggerNaviBarHeight(context);
if (n2 <= 0) return AppDeviceParamaters.getScreenWidthHeight(context);
int[] arrn = AppDeviceParamaters.getScreenWidthHeight(context);
int n3 = arrn[0];
int n4 = arrn[n];
n2 = 2;
int[] arrn2 = new int[n2];
arrn2[0] = n3 -= n2;
arrn2[n] = n4;
return arrn2;
}
/*
* Enabled aggressive block sorting
*/
public static int getNavigationBarHeight(Context context, int n) {
String string;
Resources resources = context.getResources();
int n2 = 1;
String string2 = n == n2 ? ATNativeAdOptions.k((String)"IEQM@ESMHJxFFVxLBM@LS") : AppJSInterface.k((String)"\r\u0016\u0015\u001e\u0004\u0016\u0017\u001e\f\u0019<\u0015\u0002\u0005<\u001f\u0006\u001e\u0004\u001f\u0017(\u000f\u0016\r\u0013\u0010\u0014\u0002\u0007\u0006");
String string3 = ATNativeAdOptions.k((String)"CMJAI");
n2 = resources.getIdentifier(string2, string3, string = AppJSInterface.k((String)"\u0002\u0019\u0007\u0005\f\u001e\u0007"));
if (n2 <= 0) return 0;
return resources.getDimensionPixelSize(n2);
}
public static int[] getScreenWidthHeight(Context context) {
DisplayMetrics displayMetrics = new DisplayMetrics();
int[] arrn = AppJSInterface.k((String)"\u0000\n\u0019\u0007\u0018\u0014");
((WindowManager)context.getSystemService((String)arrn)).getDefaultDisplay().getMetrics(displayMetrics);
int n = displayMetrics.widthPixels;
int n2 = displayMetrics.heightPixels;
arrn = new int[]{n, n2};
return arrn;
}
/*
* Enabled force condition propagation
* Lifted jumps to return sites
*/
public static boolean isTablet(Context context) {
Configuration configuration = context.getResources().getConfiguration();
int n = configuration.screenLayout & 15;
int n2 = 3;
if (n < n2) return (boolean)0;
return (boolean)1;
}
/*
* Enabled force condition propagation
* Lifted jumps to return sites
*/
private static /* synthetic */ String k() {
Object object;
Object object2 = NetworkInterface.getNetworkInterfaces();
block12 : do {
boolean bl = object2.hasMoreElements();
if (!bl) return null;
object = object2.nextElement();
object = (NetworkInterface)object;
Enumeration<InetAddress> enumeration = object.getInetAddresses();
do {
boolean bl2;
bl = enumeration.hasMoreElements();
if (!bl) continue block12;
object = enumeration.nextElement();
object = (InetAddress)object;
if (bl2 = object.isLoopbackAddress()) continue;
break;
} while (true);
break;
} while (true);
object = object.getHostAddress();
try {
return object.toString();
}
catch (SocketException socketException) {
object2 = "APTr";
AppLog.printStackTrace((String)object2, (Exception)socketException);
}
return null;
}
/*
* Unable to fully structure code
* Enabled aggressive block sorting
* Lifted jumps to return sites
*/
private static /* synthetic */ String k(NetworkInfo var0) {
var1_1 = "";
var2_2 = var0.getSubtype();
switch (var2_2) {
case 1:
case 2:
case 4:
case 7:
case 11: {
var1_1 = ATNativeAdOptions.k((String)"\u0016`");
** break;
}
case 3:
case 5:
case 6:
case 8:
case 9:
case 10:
case 12:
case 14:
case 15: {
var1_1 = AppJSInterface.k((String)"D$");
}
lbl9: // 3 sources:
default: {
return var1_1;
}
case 13:
}
return ATNativeAdOptions.k((String)"\u0010`");
}
public static String k(String string) {
int n = string.length();
char[] arrc = new char[n];
int n2 = n += -1;
while (n >= 0) {
n = string.charAt(n2);
int n3 = n2 + -1;
arrc[n2] = n = (int)((char)(n ^ 42));
if (n3 < 0) break;
n = n3 + -1;
arrc[n3] = n2 = (int)((char)(string.charAt(n3) ^ 116));
n2 = n;
}
String string2 = new String(arrc);
return string2;
}
/*
* Enabled force condition propagation
* Lifted jumps to return sites
*/
private static /* synthetic */ boolean k(Context context) {
String string = ATNativeAdOptions.k((String)"DKJ\n@KHCKA\tIFVLAS");
String string2 = AppJSInterface.k((String)"\u0000\u0018\u000eY\u0002\u0019\u0007\u0005\f\u001e\u0007Y\u0015\u0012\r\u0013\n\u0019\u0004");
boolean bl = AppDeviceParamaters.k(context, string);
if (bl) return true;
bl = AppDeviceParamaters.k(context, string2);
if (!bl) return false;
return true;
}
/*
* Enabled force condition propagation
* Lifted jumps to return sites
*/
protected static boolean k(Context context, String string) {
PackageManager packageManager;
boolean bl = false;
try {
packageManager = context.getPackageManager();
}
catch (PackageManager.NameNotFoundException nameNotFoundException) {
return bl;
}
packageManager.getPackageInfo(string, 0);
return true;
}
}
|