Skip to content

Commit 1f75ac8

Browse files
committed
update RefInvoker
Signed-off-by: limpoxe <405977146@163.com>
1 parent db9d4f1 commit 1f75ac8

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

PluginCore/src/com/plugin/util/RefInvoker.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,15 @@ public static Object invokeMethod(Object target, String className, String method
4242
}
4343

4444
@SuppressWarnings("rawtypes")
45-
public static Object getFieldObject(Object target, String className, String fieldName) {
46-
Class clazz = null;
45+
public static Object getFieldObject(Object target, Class clazz, String fieldName) {
4746
try {
48-
clazz = Class.forName(className);
4947
Field field = clazz.getDeclaredField(fieldName);
5048
field.setAccessible(true);
5149
return field.get(target);
5250
} catch (SecurityException e) {
5351
e.printStackTrace();
5452
} catch (NoSuchFieldException e) {
55-
//try supper for Miui, Miui has a class named MiuiPhoneWindow
53+
// try supper for Miui, Miui has a class named MiuiPhoneWindow
5654
try {
5755
Field field = clazz.getSuperclass().getDeclaredField(fieldName);
5856
field.setAccessible(true);
@@ -65,6 +63,17 @@ public static Object getFieldObject(Object target, String className, String fiel
6563
e.printStackTrace();
6664
} catch (IllegalAccessException e) {
6765
e.printStackTrace();
66+
}
67+
return null;
68+
69+
}
70+
71+
@SuppressWarnings("rawtypes")
72+
public static Object getFieldObject(Object target, String className, String fieldName) {
73+
Class clazz = null;
74+
try {
75+
clazz = Class.forName(className);
76+
return getFieldObject(target, clazz, fieldName);
6877
} catch (ClassNotFoundException e) {
6978
e.printStackTrace();
7079
}
@@ -88,7 +97,7 @@ public static void setFieldObject(Object target, String className, String fieldN
8897
} catch (SecurityException e) {
8998
e.printStackTrace();
9099
} catch (NoSuchFieldException e) {
91-
//try supper for Miui, Miui has a class named MiuiPhoneWindow
100+
// try supper for Miui, Miui has a class named MiuiPhoneWindow
92101
try {
93102
Field field = clazz.getSuperclass().getDeclaredField(fieldName);
94103
field.setAccessible(true);

0 commit comments

Comments
 (0)