package com.baidu.speech.asr; import android.content.Context; import android.content.ContextWrapper; import android.content.SharedPreferences; import android.text.TextUtils; import android.util.Base64; import android.util.Log; import com.baidu.mobads.sdk.internal.ae; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.IOException; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLDecoder; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Scanner; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Matcher; import java.util.regex.Pattern; import kotlin.UByte; import org.json.JSONObject; public final class EventContext extends ContextWrapper { private static final String TAG = "EventContext"; private static final Logger logger = Logger.getLogger(TAG); public static class SmartLogger { private static final String TAG = "baidu_speech"; private static final Logger logger; static { Logger logger2 = Logger.getLogger(TAG); logger = logger2; logger2.setLevel(Level.OFF); } private SmartLogger() { } public static <T> T wrap(Object obj, String[] strArr) { return (T) wrap(TAG, obj, strArr); } /* JADX DEBUG: Multi-variable search result rejected for r3v3, resolved type: java.util.ArrayList */ /* JADX WARN: Multi-variable type inference failed */ public static <T> T wrap(String str, final Object obj, final String... strArr) { final boolean isLoggable = Log.isLoggable(TAG, 3); if (Log.isLoggable(TAG, 3)) { logger.setLevel(Level.ALL); } ArrayList arrayList = new ArrayList(); Class<?> cls = obj.getClass(); do { arrayList.addAll(Arrays.asList(cls.getInterfaces())); cls = cls.getSuperclass(); } while (cls != Object.class); return (T) Proxy.newProxyInstance(obj.getClass().getClassLoader(), (Class[]) arrayList.toArray(new Class[0]), new InvocationHandler() { /* class com.baidu.speech.asr.EventContext.SmartLogger.AnonymousClass1 */ @Override // java.lang.reflect.InvocationHandler public Object invoke(Object obj, Method method, Object[] objArr) { Object invoke = method.invoke(obj, objArr); StringBuffer stringBuffer = new StringBuffer(); String[] strArr = strArr; stringBuffer.append(((strArr == null || strArr.length <= 0) ? obj.getClass().getName() : strArr[0]) + "@" + Integer.toHexString(obj.hashCode())); stringBuffer.append("." + method.getName() + "("); if (objArr != null) { for (Object obj2 : objArr) { String str = obj2 + ""; if (!isLoggable) { String replaceAll = str.replaceAll("[\r\n]]", ""); str = replaceAll.substring(0, Math.min(50, replaceAll.length())); } stringBuffer.append(str + ", "); } } stringBuffer.append(") : " + invoke); SmartLogger.logger.info(stringBuffer.toString()); return invoke; } }); } } public EventContext(Context context) { super(context); } public static short[] byteToShortArray(byte[] bArr, int i, int i2) { if (i2 == 0) { return new short[0]; } ByteBuffer allocate = ByteBuffer.allocate(i2); allocate.order(ByteOrder.nativeOrder()); allocate.put(bArr, i, i2); allocate.clear(); short[] sArr = new short[(i2 / 2)]; allocate.asShortBuffer().get(sArr); return sArr; } public static long computePower(short[] sArr, int i) { long j = 0; if (sArr == null) { return 0; } System.currentTimeMillis(); int min = Math.min(i / 2, 512); if (min <= 0) { return 0; } for (int i2 = 0; i2 < min; i2++) { int i3 = i2 * 2; j += (long) (sArr[i3] * sArr[i3]); } return (long) Math.sqrt((double) (j / ((long) min))); } public long computePower(byte[] bArr, int i) { int i2 = i / 2; short[] sArr = new short[i2]; for (int i3 = 0; i3 < i2; i3++) { int i4 = i3 * 2; sArr[i3] = (short) ((bArr[i4 + 0] & UByte.MAX_VALUE) | (bArr[i4 + 1] << 8)); } return computePower(sArr, i2); } public SharedPreferences getSdkSharedPreferences() { return getSharedPreferences("bds", 0); } /* JADX WARNING: Removed duplicated region for block: B:41:0x00ee */ public String httpRequest(String str, Map<String, String> map, byte[] bArr, boolean z) { Throwable th; Exception e; HttpURLConnection httpURLConnection = null; try { if (Log.isLoggable(TAG, 3) || logger.isLoggable(Level.ALL)) { Logger logger2 = logger; logger2.info("cur time: " + (System.currentTimeMillis() % 1000000) + ", http req: " + str); } HttpURLConnection httpURLConnection2 = (HttpURLConnection) new URL(str).openConnection(); try { httpURLConnection2.setConnectTimeout(8000); httpURLConnection2.setReadTimeout(8000); httpURLConnection2.setInstanceFollowRedirects(false); for (Map.Entry<String, String> entry : map.entrySet()) { httpURLConnection2.setRequestProperty(entry.getKey(), entry.getValue()); } if (bArr != null || z) { httpURLConnection2.setRequestMethod(ae.b); } httpURLConnection2.connect(); if (bArr != null) { httpURLConnection2.getOutputStream().write(bArr); } String next = new Scanner(httpURLConnection2.getInputStream()).useDelimiter("\\A").next(); if (Log.isLoggable(TAG, 3) || logger.isLoggable(Level.ALL)) { Logger logger3 = logger; logger3.info("http res: " + next); } httpURLConnection2.disconnect(); return next; } catch (Exception e2) { httpURLConnection = httpURLConnection2; e = e2; try { logger.log(Level.WARNING, "", (Throwable) e); throw e; } catch (Throwable th2) { th = th2; if (httpURLConnection != null) { } throw th; } } catch (Throwable th3) { httpURLConnection = httpURLConnection2; th = th3; if (httpURLConnection != null) { httpURLConnection.disconnect(); } throw th; } } catch (Exception e3) { e = e3; if (Log.isLoggable(TAG, 3) || logger.isLoggable(Level.ALL)) { logger.log(Level.WARNING, "", (Throwable) e); } throw e; } } public String join(List<String> list, String str) { StringBuilder sb = new StringBuilder(); boolean z = true; for (String str2 : list) { if (z) { z = false; } else { sb.append(str); } sb.append(str2); } return sb.toString(); } /* JADX WARNING: Code restructure failed: missing block: B:17:0x005f, code lost: if (r3.equalsIgnoreCase("res") != false) goto L_0x0061; */ public byte[] loadBytesFromUri(String str) { String str2 = "/"; FileInputStream fileInputStream = null; try { if (!str.contains("://")) { str = "file://" + str; } Matcher matcher = Pattern.compile("(.*?)://(.*)").matcher(str); if (matcher.find()) { String group = matcher.group(1); String group2 = matcher.group(2); if (group.equalsIgnoreCase("file")) { fileInputStream = new FileInputStream(group2); } else { if (!group.equalsIgnoreCase("asset")) { if (group.equalsIgnoreCase("assets")) { } } if (group2.startsWith(str2)) { str2 = ""; } group2 = "/assets" + str2 + group2; fileInputStream = EventContext.class.getResourceAsStream(group2); } } if (fileInputStream != null) { byte[] bArr = new byte[1024]; ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); while (true) { int read = fileInputStream.read(bArr, 0, 1024); if (-1 != read) { byteArrayOutputStream.write(bArr, 0, read); } else { byte[] byteArray = byteArrayOutputStream.toByteArray(); fileInputStream.close(); return byteArray; } } } else { throw new IOException("bad data source"); } } catch (Throwable th) { if (0 != 0) { fileInputStream.close(); } throw th; } } public JSONObject loadJsonFromUri(String str) { return loadJsonFromUri(str, false, false); } public JSONObject loadJsonFromUri(String str, boolean z, boolean z2) { try { return loadJsonFromUriOrThrow(str, z, z2); } catch (Exception unused) { return null; } } public JSONObject loadJsonFromUriOrThrow(String str) { return loadJsonFromUriOrThrow(str, false, false); } public JSONObject loadJsonFromUriOrThrow(String str, boolean z, boolean z2) { String loadStringFromUri = loadStringFromUri(str, z); if (z2) { loadStringFromUri = URLDecoder.decode(loadStringFromUri, "UTF-8"); } return new JSONObject(loadStringFromUri); } public String loadStringFromUri(String str) { return loadStringFromUri(str, false); } public String loadStringFromUri(String str, boolean z) { byte[] loadBytesFromUri = loadBytesFromUri(str); return z ? new String(Base64.decode(loadBytesFromUri, 0), "UTF-8") : new String(loadBytesFromUri, "UTF-8"); } public <T> T loggerIt(Object obj, String... strArr) { return (T) SmartLogger.wrap(obj, strArr); } public Object searchItemFromJson(JSONObject jSONObject, String str) { Object searchItemFromJson; if (jSONObject == null || TextUtils.isEmpty(str)) { return null; } Iterator<String> keys = jSONObject.keys(); while (keys.hasNext()) { String next = keys.next(); if (next.equals(str)) { return jSONObject.get(str); } Object obj = jSONObject.get(next); if ((obj instanceof JSONObject) && (searchItemFromJson = searchItemFromJson((JSONObject) obj, str)) != null) { return searchItemFromJson; } } return null; } }