正在查看: 凤凰之城 v1.0.3 应用的 StringUtil.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 凤凰之城 v1.0.3 应用的 StringUtil.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.octopus.ad.internal.utilities;
import android.content.res.Resources;
import android.graphics.Rect;
import android.text.TextUtils;
import android.util.Base64;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.Nullable;
import com.octopus.ad.internal.o;
import com.octopus.ad.model.g;
import com.octopus.ad.utils.b.a;
import com.octopus.ad.utils.b.e;
import com.octopus.ad.utils.b.f;
import com.octopus.ad.utils.b.i;
import io.flutter.embedding.android.FlutterActivityLaunchConfigs;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Formatter;
import java.util.Scanner;
import java.util.UUID;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class StringUtil {
public static boolean appendLocalStr(StringBuilder sb, String str) {
String b = a.b(e.a(), str);
if (b == null) {
return false;
}
sb.append(b);
return true;
}
public static boolean appendRes(StringBuilder sb, Resources resources, int i) {
Scanner useDelimiter = new Scanner(resources.openRawResource(i), "UTF-8").useDelimiter("\\A");
if (!useDelimiter.hasNext()) {
useDelimiter.close();
return false;
}
sb.append(useDelimiter.next());
useDelimiter.close();
return true;
}
private static String byteToHex(byte[] bArr) {
Formatter formatter = new Formatter();
for (byte b : bArr) {
formatter.format("%02x", Byte.valueOf(b));
}
String formatter2 = formatter.toString();
formatter.close();
return formatter2;
}
private static String compressForGzip(String str) {
if (TextUtils.isEmpty(str)) {
return "";
}
try {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
GZIPOutputStream gZIPOutputStream = new GZIPOutputStream(byteArrayOutputStream);
gZIPOutputStream.write(str.getBytes());
gZIPOutputStream.close();
byte[] byteArray = byteArrayOutputStream.toByteArray();
byteArrayOutputStream.flush();
byteArrayOutputStream.close();
return Base64.encodeToString(byteArray, 2);
} catch (Exception e) {
f.a("OctopusAd", "An Exception Caught", e);
return "";
}
}
public static String createRequestId() {
String md5 = md5(UUID.randomUUID().toString());
f.a("OctopusAd", "createRequestId:" + md5);
return md5;
}
public static String decompressForGzip(String str) {
if (TextUtils.isEmpty(str)) {
return null;
}
try {
byte[] decode = Base64.decode(str, 0);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(decode);
GZIPInputStream gZIPInputStream = new GZIPInputStream(byteArrayInputStream);
byte[] bArr = new byte[1024];
while (true) {
int read = gZIPInputStream.read(bArr, 0, 1024);
if (read <= 0) {
gZIPInputStream.close();
byteArrayInputStream.close();
byteArrayOutputStream.close();
return byteArrayOutputStream.toString();
}
byteArrayOutputStream.write(bArr, 0, read);
}
} catch (Exception e) {
f.a("OctopusAd", "An Exception Caught", e);
return null;
}
}
private static int indexOfViewInParent(View view, ViewGroup viewGroup) {
int i = 0;
while (i < viewGroup.getChildCount() && viewGroup.getChildAt(i) != view) {
i++;
}
return i;
}
public static boolean isEmpty(@Nullable String str) {
return str == null || str.length() == 0;
}
private static boolean isViewCovered(View view) {
if (view != null && view.getParent() != null) {
try {
Rect rect = new Rect();
if (!(view.getGlobalVisibleRect(rect) && (rect.bottom - rect.top >= view.getMeasuredHeight()) && (rect.right - rect.left >= view.getMeasuredWidth()))) {
return true;
}
View view2 = view;
while (view2.getParent() instanceof ViewGroup) {
ViewGroup viewGroup = (ViewGroup) view2.getParent();
if (viewGroup.getVisibility() != 0) {
return true;
}
for (int indexOfViewInParent = indexOfViewInParent(view2, viewGroup) + 1; indexOfViewInParent < viewGroup.getChildCount(); indexOfViewInParent++) {
Rect rect2 = new Rect();
view.getGlobalVisibleRect(rect2);
View childAt = viewGroup.getChildAt(indexOfViewInParent);
Rect rect3 = new Rect();
childAt.getGlobalVisibleRect(rect3);
if (Rect.intersects(rect2, rect3)) {
return true;
}
}
view2 = viewGroup;
}
return false;
} catch (Exception e) {
f.a("OctopusAd", "An Exception Caught", e);
}
}
return false;
}
public static boolean isVisible(View view) {
if (view != null && view.getVisibility() == 0 && view.getParent() != null) {
try {
Rect rect = new Rect();
if (!view.getGlobalVisibleRect(rect)) {
return false;
}
int height = rect.height() * rect.width();
int height2 = view.getHeight() * view.getWidth();
return height2 > 0 && height * 100 >= height2 * 50;
} catch (Exception e) {
f.a("OctopusAd", "An Exception Caught", e);
}
}
return false;
}
public static String md5(String str) {
try {
byte[] digest = MessageDigest.getInstance("MD5").digest(str.getBytes("UTF-8"));
StringBuilder sb = new StringBuilder(digest.length * 2);
for (byte b : digest) {
int i = b & 255;
if (i < 16) {
sb.append("0");
}
sb.append(Integer.toHexString(i));
}
return sb.toString();
} catch (UnsupportedEncodingException e) {
throw new RuntimeException("UnsupportedEncodingException", e);
} catch (NoSuchAlgorithmException e4) {
throw new RuntimeException("NoSuchAlgorithmException", e4);
}
}
public static String replaceClick(View view, String str) {
if (!TextUtils.isEmpty(str) && view != null) {
JSONObject jSONObject = new JSONObject();
try {
jSONObject.put("viewSecond", String.valueOf(0));
JSONObject jSONObject2 = new JSONObject();
jSONObject2.put("t", String.valueOf(view.getTop()));
jSONObject2.put("l", String.valueOf(view.getLeft()));
jSONObject2.put("w", String.valueOf(view.getWidth()));
jSONObject2.put("h", String.valueOf(view.getHeight()));
jSONObject2.put("a", String.valueOf(view.getAlpha()));
jSONObject2.put("v", String.valueOf(isVisible(view)));
jSONObject2.put("s", String.valueOf(isViewCovered(view)));
jSONObject.put("pos", jSONObject2);
JSONObject jSONObject3 = new JSONObject();
jSONObject3.put("w", i.h(view.getContext()));
jSONObject3.put("h", i.i(view.getContext()));
jSONObject3.put("o", i.j(view.getContext()));
jSONObject.put("screen", jSONObject3);
jSONObject.put("spaces", new JSONArray());
f.a("OctopusAd", "webView:" + jSONObject.toString());
return str.replace(".UTC_TS.", String.valueOf(System.currentTimeMillis())).replace("__VT__", compressForGzip(jSONObject.toString()).replace("+", "-").replace(FlutterActivityLaunchConfigs.DEFAULT_INITIAL_ROUTE, "_").replace("=", "."));
} catch (JSONException e) {
f.a("OctopusAd", "An Exception Caught", e);
}
}
return str;
}
public static String replaceM(String str, String str2, String str3, String str4, String str5, String str6, String str7, String str8, String str9, String str10) {
int indexOf = str.indexOf("?") + 1;
String substring = str.substring(0, indexOf);
String substring2 = str.substring(indexOf);
try {
DeviceInfo deviceInfo = DeviceInfo.getInstance();
UserEnvInfo userEnvInfo = UserEnvInfo.getInstance();
if (!TextUtils.isEmpty(str2)) {
substring2 = substring2.replace("__REQUESTUUID__", str2);
}
if (!TextUtils.isEmpty(str3)) {
substring2 = substring2.replace("__EVENTTYPE__", str3);
}
if (!TextUtils.isEmpty(str4)) {
substring2 = substring2.replace("__APPID__", str4);
}
if (!TextUtils.isEmpty(str5)) {
substring2 = substring2.replace("__SPACEID__", str5);
}
if (!TextUtils.isEmpty(str6)) {
substring2 = substring2.replace("__CHANNELID__", str6);
}
if (!TextUtils.isEmpty(str7)) {
substring2 = substring2.replace("__CHANNELAPPID__", str7);
}
if (!TextUtils.isEmpty(str8)) {
substring2 = substring2.replace("__CHANNELSPACEID__", str8);
}
if (!TextUtils.isEmpty(str9)) {
substring2 = substring2.replace("__ERRINFO__", str9);
}
if (!TextUtils.isEmpty("1.6.4.6")) {
substring2 = substring2.replace("__SDKVERSION__", "1.6.4.6");
}
if (!TextUtils.isEmpty(str10)) {
substring2 = substring2.replace("__APPVERSION__", str10);
}
if (!TextUtils.isEmpty(String.valueOf(System.currentTimeMillis()))) {
substring2 = substring2.replace("__TS__", String.valueOf(System.currentTimeMillis()));
}
if (!TextUtils.isEmpty(userEnvInfo.ip)) {
substring2 = substring2.replace("__IP__", userEnvInfo.ip);
}
g.c cVar = userEnvInfo.isp;
if (cVar != null && !TextUtils.isEmpty(String.valueOf(cVar.a()))) {
substring2 = substring2.replace("__CARRIER__", String.valueOf(userEnvInfo.isp.a()));
}
g.d dVar = userEnvInfo.f1net;
if (dVar != null && !TextUtils.isEmpty(String.valueOf(dVar.a()))) {
substring2 = substring2.replace("__NETTYPE__", String.valueOf(userEnvInfo.f1net.a()));
}
if (!TextUtils.isEmpty(deviceInfo.sdkUID)) {
substring2 = substring2.replace("__UID__", deviceInfo.sdkUID);
}
if (!TextUtils.isEmpty(o.a().l())) {
substring2 = substring2.replace("__UA__", o.a().l());
}
} catch (Exception e) {
f.a("OctopusAd", "An Exception Caught", e);
} catch (Throwable th) {
f.a("OctopusAd", "A Throwable Caught", th);
}
String encodeToString = Base64.encodeToString(substring2.getBytes(), 2);
String md5 = md5(encodeToString);
StringBuilder sb = new StringBuilder(encodeToString);
sb.insert(13, md5.substring(0, 5));
return substring + "info=" + sb.toString();
}
public static String replaceR(String str) {
try {
return str.replace("__UID__", DeviceInfo.getInstance().sdkUID).replace("__TS__", String.valueOf(System.currentTimeMillis() / 1000)).replace("__PLATFORM__", "android").replace("__DEVICE__", "phone").replace("__IP__", UserEnvInfo.getInstance().ip).replace("__UA__", o.a().l());
} catch (Exception e) {
f.a("OctopusAd", "An Exception Caught", e);
return str;
}
}
public static String replaceView(int i, View view, String str) {
if (!TextUtils.isEmpty(str)) {
JSONObject jSONObject = new JSONObject();
try {
jSONObject.put("viewSecond", String.valueOf(i));
JSONObject jSONObject2 = new JSONObject();
jSONObject2.put("t", String.valueOf(view.getTop()));
jSONObject2.put("l", String.valueOf(view.getLeft()));
jSONObject2.put("w", String.valueOf(view.getWidth()));
jSONObject2.put("h", String.valueOf(view.getHeight()));
jSONObject2.put("a", String.valueOf(view.getAlpha()));
jSONObject2.put("v", String.valueOf(isVisible(view)));
jSONObject2.put("s", String.valueOf(isViewCovered(view)));
jSONObject.put("pos", jSONObject2);
JSONObject jSONObject3 = new JSONObject();
jSONObject3.put("w", i.h(view.getContext()));
jSONObject3.put("h", i.i(view.getContext()));
jSONObject3.put("o", i.j(view.getContext()));
jSONObject.put("screen", jSONObject3);
jSONObject.put("spaces", new JSONArray());
f.a("OctopusAd", "webView:" + jSONObject.toString());
return str.replace(".UTC_TS.", String.valueOf(System.currentTimeMillis())).replace("__VT__", compressForGzip(jSONObject.toString()).replace("+", "-").replace(FlutterActivityLaunchConfigs.DEFAULT_INITIAL_ROUTE, "_").replace("=", "."));
} catch (JSONException e) {
f.a("OctopusAd", "An Exception Caught", e);
}
}
return str;
}
public static String toMD5(String str) {
try {
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(str.getBytes("UTF-8"));
return byteToHex(messageDigest.digest());
} catch (Exception unused) {
return null;
}
}
}