Skip to content

Commit 8fb6afb

Browse files
committed
Rename Apache class names to avoid conflicts
We add a gradle task to rename class names in the Apache library
1 parent f1f0b42 commit 8fb6afb

File tree

5 files changed

+30
-7
lines changed

5 files changed

+30
-7
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
apache/local/generated
12
.project
23
.settings
34
.cache

apache/build.gradle.kts

+22
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,25 @@ java {
1414
}
1515
}
1616
}
17+
18+
val lang3Src = "commons-lang/src/main/java/org/apache/commons/lang3"
19+
val localDir = "local/generated"
20+
21+
task<Copy>("ClassUtilsX") {
22+
from("$lang3Src/ClassUtils.java")
23+
into(localDir)
24+
filter { line: String -> line.replace("ClassUtils", "ClassUtilsX") }
25+
rename("(.+).java", "$1X.java")
26+
}
27+
28+
task<Copy>("SerializationUtilsX") {
29+
from("$lang3Src/SerializationUtils.java")
30+
into(localDir)
31+
filter { line: String -> line.replace("SerializationUtils", "SerializationUtilsX") }
32+
rename("(.+).java", "$1X.java")
33+
}
34+
35+
tasks.compileJava {
36+
dependsOn("ClassUtilsX")
37+
dependsOn("SerializationUtilsX")
38+
}

core/src/main/java/de/robv/android/xposed/XposedHelpers.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import androidx.annotation.NonNull;
2727
import androidx.annotation.Nullable;
2828

29-
import org.apache.commons.lang3.ClassUtils;
29+
import org.apache.commons.lang3.ClassUtilsX;
3030
import org.apache.commons.lang3.reflect.MemberUtilsX;
3131

3232
import java.io.ByteArrayOutputStream;
@@ -202,7 +202,7 @@ public static Class<?> findClass(String className, ClassLoader classLoader) {
202202
if (classLoader == null)
203203
classLoader = XposedBridge.BOOTCLASSLOADER;
204204
try {
205-
return ClassUtils.getClass(classLoader, className, false);
205+
return ClassUtilsX.getClass(classLoader, className, false);
206206
} catch (ClassNotFoundException e) {
207207
throw new ClassNotFoundError(e);
208208
}
@@ -540,7 +540,7 @@ public static Method findMethodBestMatch(Class<?> clazz, String methodName, Clas
540540
continue;
541541

542542
// compare name and parameters
543-
if (method.getName().equals(k.name) && ClassUtils.isAssignable(
543+
if (method.getName().equals(k.name) && ClassUtilsX.isAssignable(
544544
k.parameters,
545545
method.getParameterTypes(),
546546
true)) {
@@ -763,7 +763,7 @@ public static Constructor<?> findConstructorBestMatch(Class<?> clazz, Class<?>..
763763
Constructor<?>[] constructors = k.clazz.getDeclaredConstructors();
764764
for (Constructor<?> constructor : constructors) {
765765
// compare name and parameters
766-
if (ClassUtils.isAssignable(
766+
if (ClassUtilsX.isAssignable(
767767
k.parameters,
768768
constructor.getParameterTypes(),
769769
true)) {

daemon/src/main/java/org/lsposed/lspd/service/ConfigManager.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
import androidx.annotation.NonNull;
5252
import androidx.annotation.Nullable;
5353

54-
import org.apache.commons.lang3.SerializationUtils;
54+
import org.apache.commons.lang3.SerializationUtilsX;
5555
import org.lsposed.daemon.BuildConfig;
5656
import org.lsposed.lspd.models.Application;
5757
import org.lsposed.lspd.models.Module;
@@ -464,7 +464,7 @@ Map<String, HashMap<String, Object>> fetchModuleConfig(String name, int user_id)
464464
var group = cursor.getString(groupIdx);
465465
var key = cursor.getString(keyIdx);
466466
var data = cursor.getBlob(dataIdx);
467-
var object = SerializationUtils.deserialize(data);
467+
var object = SerializationUtilsX.deserialize(data);
468468
if (object == null) continue;
469469
config.computeIfAbsent(group, g -> new HashMap<>()).put(key, object);
470470
}
@@ -491,7 +491,7 @@ public void updateModulePrefs(String moduleName, int userId, String group, Map<S
491491
var contents = new ContentValues();
492492
contents.put("`group`", group);
493493
contents.put("`key`", key);
494-
contents.put("data", SerializationUtils.serialize((Serializable) value));
494+
contents.put("data", SerializationUtilsX.serialize((Serializable) value));
495495
contents.put("module_pkg_name", moduleName);
496496
contents.put("user_id", String.valueOf(userId));
497497
db.insertWithOnConflict("configs", null, contents, SQLiteDatabase.CONFLICT_REPLACE);

0 commit comments

Comments
 (0)