package com.bytedance.pangle.util; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.res.AssetManager; import android.content.res.Resources; import android.os.Build; import android.text.TextUtils; import androidx.constraintlayout.core.motion.utils.TypedValues; import com.baidu.idl.face.platform.FaceEnvironment; import com.bytedance.pangle.Zeus; import com.bytedance.pangle.a.b.a; import com.bytedance.pangle.log.ZeusLogger; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public final class i { private static String a; public static List<String> a() { AssetManager assetManager; try { assetManager = (AssetManager) AssetManager.class.newInstance(); } catch (Exception e) { ZeusLogger.e(ZeusLogger.TAG_RESOURCES, "Execute 'AssetManager.class.newInstance()' failed. ", e); assetManager = null; } return a(assetManager); } public static List<String> a(AssetManager assetManager) { ArrayList arrayList = new ArrayList(); if (assetManager == null) { return arrayList; } try { if (h.d()) { Object[] objArr = (Object[]) MethodUtils.invokeMethod(assetManager, "getApkAssets", new Object[0]); if (objArr != null && objArr.length > 0) { for (Object obj : objArr) { arrayList.add((String) MethodUtils.invokeMethod(obj, "getAssetPath", new Object[0])); } } } else { int intValue = ((Integer) MethodUtils.invokeMethod(assetManager, "getStringBlockCount", new Object[0])).intValue(); int i = 0; while (i < intValue) { i++; String str = (String) MethodUtils.invokeMethod(assetManager, "getCookieName", Integer.valueOf(i)); if (!TextUtils.isEmpty(str)) { arrayList.add(str); } } } } catch (Throwable th) { ZeusLogger.e(ZeusLogger.TAG_RESOURCES, "GetAssetsPaths error. ", th); th.printStackTrace(); } return arrayList; } public static boolean a(AssetManager assetManager, String str) { try { if (h.d()) { Object[] objArr = (Object[]) MethodUtils.invokeMethod(assetManager, "getApkAssets", new Object[0]); if (objArr != null && objArr.length > 0) { for (Object obj : objArr) { if (TextUtils.equals((String) MethodUtils.invokeMethod(obj, "getAssetPath", new Object[0]), str)) { return true; } } } } else { int intValue = ((Integer) MethodUtils.invokeMethod(assetManager, "getStringBlockCount", new Object[0])).intValue(); int i = 0; while (i < intValue) { i++; if (TextUtils.equals((String) MethodUtils.invokeMethod(assetManager, "getCookieName", Integer.valueOf(i)), str)) { return true; } } } } catch (Throwable th) { ZeusLogger.e(ZeusLogger.TAG_RESOURCES, "containsPath error. ", th); } return false; } public static String b(AssetManager assetManager) { List<String> a2 = a(assetManager); StringBuilder sb = new StringBuilder("["); if (a2.size() > 0) { for (String str : a2) { sb.append(str); sb.append(" , "); } sb.delete(sb.lastIndexOf(" , "), sb.length()); } sb.append("]"); return sb.toString(); } public static List<String> b() { ArrayList arrayList = new ArrayList(); boolean z = false; if (h.b()) { try { Resources resources = Zeus.getAppApplication().getResources(); arrayList.add(Zeus.getAppApplication().createPackageContext(resources.getString(resources.getIdentifier("android:string/config_webViewPackageName", TypedValues.Custom.S_STRING, FaceEnvironment.OS)), 0).getApplicationInfo().sourceDir); } catch (Exception e) { ZeusLogger.e(ZeusLogger.TAG_LOAD, "getWebViewPaths1 failed.", e); } } else if (h.c()) { try { Object invokeStaticMethod = MethodUtils.invokeStaticMethod(Class.forName("android.webkit.WebViewFactory"), "getWebViewContextAndSetProvider", new Object[0]); if (Build.VERSION.SDK_INT >= 29 || (Build.VERSION.SDK_INT == 28 && Build.VERSION.PREVIEW_SDK_INT > 0)) { z = true; } if (z) { Collections.addAll(arrayList, a(((Context) invokeStaticMethod).getApplicationInfo())); } else { String str = ((Context) invokeStaticMethod).getApplicationInfo().sourceDir; String str2 = str; arrayList.add(str); } } catch (Exception e2) { ZeusLogger.e(ZeusLogger.TAG_LOAD, "getWebViewPaths2 failed.", e2); } } return arrayList; } private static String[] a(ApplicationInfo applicationInfo) { String[] strArr; try { strArr = (String[]) a.a(ApplicationInfo.class, "resourceDirs").get(applicationInfo); } catch (Throwable th) { ZeusLogger.e(ZeusLogger.TAG_LOAD, "get resourceDirs failed.", th); strArr = new String[0]; } String[][] strArr2 = {applicationInfo.splitSourceDirs, applicationInfo.sharedLibraryFiles, strArr}; ArrayList arrayList = new ArrayList(10); if (applicationInfo.sourceDir != null) { arrayList.add(applicationInfo.sourceDir); } for (int i = 0; i < 3; i++) { String[] strArr3 = strArr2[i]; if (strArr3 != null) { arrayList.addAll(Arrays.asList(strArr3)); } } return (String[]) arrayList.toArray(new String[0]); } }