alexandroid/decompiled/jadx/sources/com/amazonaws/util/ClassLoaderHelper.java
KaKi87 a47fad5135 📦 Add decompiled Alexa 2.2.730155.0 (jadx, apktool, Hermes strings)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 00:04:16 +01:00

116 lines
3.8 KiB
Java

package com.amazonaws.util;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
/* loaded from: classes6.dex */
public enum ClassLoaderHelper {
;
public static URL getResource(String str, boolean z, Class<?>... clsArr) {
URL resourceViaContext;
if (z) {
resourceViaContext = getResourceViaClasses(str, clsArr);
if (resourceViaContext == null) {
resourceViaContext = getResourceViaContext(str);
}
} else {
resourceViaContext = getResourceViaContext(str);
if (resourceViaContext == null) {
resourceViaContext = getResourceViaClasses(str, clsArr);
}
}
return resourceViaContext == null ? ClassLoaderHelper.class.getResource(str) : resourceViaContext;
}
public static InputStream getResourceAsStream(String str, boolean z, Class<?>... clsArr) {
URL resource = getResource(str, z, clsArr);
if (resource != null) {
try {
return resource.openStream();
} catch (IOException unused) {
}
}
return null;
}
private static URL getResourceViaClasses(String str, Class<?>[] clsArr) {
if (clsArr == null) {
return null;
}
for (Class<?> cls : clsArr) {
URL resource = cls.getResource(str);
if (resource != null) {
return resource;
}
}
return null;
}
private static URL getResourceViaContext(String str) {
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
if (contextClassLoader == null) {
return null;
}
return contextClassLoader.getResource(str);
}
public static Class<?> loadClass(String str, boolean z, Class<?>... clsArr) throws ClassNotFoundException {
Class<?> loadClassViaContext;
if (z) {
loadClassViaContext = loadClassViaClasses(str, clsArr);
if (loadClassViaContext == null) {
loadClassViaContext = loadClassViaContext(str);
}
} else {
loadClassViaContext = loadClassViaContext(str);
if (loadClassViaContext == null) {
loadClassViaContext = loadClassViaClasses(str, clsArr);
}
}
return loadClassViaContext == null ? Class.forName(str) : loadClassViaContext;
}
private static Class<?> loadClassViaClasses(String str, Class<?>[] clsArr) {
if (clsArr == null) {
return null;
}
for (Class<?> cls : clsArr) {
ClassLoader classLoader = cls.getClassLoader();
if (classLoader != null) {
try {
return classLoader.loadClass(str);
} catch (ClassNotFoundException unused) {
continue;
}
}
}
return null;
}
private static Class<?> loadClassViaContext(String str) {
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
if (contextClassLoader == null) {
return null;
}
try {
return contextClassLoader.loadClass(str);
} catch (ClassNotFoundException unused) {
return null;
}
}
public static InputStream getResourceAsStream(String str, Class<?>... clsArr) {
return getResourceAsStream(str, false, clsArr);
}
public static Class<?> loadClass(String str, Class<?>... clsArr) throws ClassNotFoundException {
return loadClass(str, true, clsArr);
}
public static URL getResource(String str, Class<?>... clsArr) {
return getResource(str, false, clsArr);
}
}