From 77067c43df1f7a891f4752732c9a3260807035b6 Mon Sep 17 00:00:00 2001 From: areteruhiro <108941410+areteruhiro@users.noreply.github.com> Date: Mon, 16 Feb 2026 20:49:29 +0900 Subject: [PATCH] Prevent redundant authority modification when package names match --- patch/src/main/java/org/lsposed/patch/NPatch.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/patch/src/main/java/org/lsposed/patch/NPatch.java b/patch/src/main/java/org/lsposed/patch/NPatch.java index e0abea9..98e6c09 100644 --- a/patch/src/main/java/org/lsposed/patch/NPatch.java +++ b/patch/src/main/java/org/lsposed/patch/NPatch.java @@ -462,14 +462,17 @@ private byte[] modifyManifestFile(InputStream is, String metadata, int minSdkVer property.setPermissionMapper(new PermissionMapper() { @Override public String map(PermissionType type, String permission) { + if (originPackage.equals(newPackage)) { + return permission; + } if (permission.startsWith(originPackage)){ assert newPackage != null; return permission.replaceFirst(originPackage, newPackage); } if (permission.startsWith("android") - || permission.startsWith("com.android") - || permission.startsWith("com.google.android")) { - return permission; + || permission.startsWith("com.android") + || permission.startsWith("com.google.android")) { + return permission; } return newPackage + "_" + permission; } @@ -477,6 +480,9 @@ public String map(PermissionType type, String permission) { property.setAuthorityMapper(new AttributeMapper() { @Override public String map(String value) { + if (originPackage.equals(newPackage)) { + return value; + } if (value.startsWith(originPackage)){ assert newPackage != null; return value.replaceFirst(originPackage, newPackage);