MCPcopy Create free account
hub / github.com/cinit/TMoe / ClassLocator

Class ClassLocator

app/src/main/java/cc/ioctl/tmoe/rtti/deobf/ClassLocator.java:9–113  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7import cc.ioctl.tmoe.util.dex.DexKit;
8
9public class ClassLocator {
10
11 private static Class<?> kThemeClass = null;
12 private static boolean kThemeFastFail = false;
13
14 @Nullable
15 public static Class<?> getThemeClass() {
16 if (kThemeClass != null) {
17 return kThemeClass;
18 }
19 if (kThemeFastFail) {
20 return null;
21 }
22 kThemeClass = Initiator.load("org.telegram.ui.ActionBar.Theme");
23 if (kThemeClass != null) {
24 return kThemeClass;
25 }
26 kThemeClass = DexKit.loadClassFromCache(DexKit.C_THEME);
27 if (kThemeClass == null) {
28 kThemeFastFail = true;
29 }
30 return kThemeClass;
31 }
32
33 @Nullable
34 public static Class<?> findThemeClass() {
35 if (getThemeClass() != null) {
36 return kThemeClass;
37 }
38 kThemeClass = DexKit.doFindClass(DexKit.C_THEME);
39 return kThemeClass;
40 }
41
42 // -----------------------------
43
44 private static Class<?> kUserConfigClass = null;
45
46 @Nullable
47 public static Class<?> getUserConfigClass() {
48 if (kUserConfigClass != null) {
49 return kUserConfigClass;
50 }
51 kUserConfigClass = Initiator.load("org.telegram.messenger.UserConfig");
52 // TODO: 2022-01-30 this class is obfuscated
53 if (kUserConfigClass != null) {
54 return kUserConfigClass;
55 }
56 Utils.loge("UserConfig class not found");
57 return null;
58 }
59
60 // -----------------------------
61
62 private static Class<?> kTlrpcUserClass = null;
63
64 @Nullable
65 public static Class<?> getTlrpcUserClass() {
66 if (kTlrpcUserClass != null) {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected