From b3ed1c0f93fb64d6d40caf4ad7ed186218c0f1e4 Mon Sep 17 00:00:00 2001 From: inotia00 Date: Sat, 18 Feb 2023 01:57:43 +0900 Subject: [PATCH] refactor: better method is used for `settings-framework` --- .../util/microg/MicroGResourceHelper.kt | 66 ++++++++++++------- 1 file changed, 44 insertions(+), 22 deletions(-) diff --git a/src/main/kotlin/app/revanced/util/microg/MicroGResourceHelper.kt b/src/main/kotlin/app/revanced/util/microg/MicroGResourceHelper.kt index 6bb8f576c..0d275f47d 100644 --- a/src/main/kotlin/app/revanced/util/microg/MicroGResourceHelper.kt +++ b/src/main/kotlin/app/revanced/util/microg/MicroGResourceHelper.kt @@ -11,33 +11,55 @@ internal object MicroGResourceHelper { * * @param fromPackageName Original package name. * @param toPackageName The package name to accept. - * @param toName The new name of the app. */ fun ResourceContext.patchManifest( fromPackageName: String, toPackageName: String ) { - val manifest = this["AndroidManifest.xml"].readText() - this["AndroidManifest.xml"].writeText( - manifest.replace( - "package=\"$fromPackageName", - "package=\"$toPackageName" - ).replace( - "android:authorities=\"$fromPackageName", - "android:authorities=\"$toPackageName" - ).replace( - "$fromPackageName.permission.C2D_MESSAGE", - "$toPackageName.permission.C2D_MESSAGE" - ).replace( - "$fromPackageName.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION", - "$toPackageName.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" - ).replace( - "com.google.android.c2dm", - "${Constants.MICROG_VENDOR}.android.c2dm" - ).replace( - "", - "" - ) + val manifest = this["AndroidManifest.xml"] + + manifest.writeText( + manifest.readText() + .replace( + "package=\"$fromPackageName", + "package=\"$toPackageName" + ).replace( + "android:authorities=\"$fromPackageName", + "android:authorities=\"$toPackageName" + ).replace( + "$fromPackageName.permission.C2D_MESSAGE", + "$toPackageName.permission.C2D_MESSAGE" + ).replace( + "$fromPackageName.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION", + "$toPackageName.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" + ).replace( + "com.google.android.c2dm", + "${Constants.MICROG_VENDOR}.android.c2dm" + ).replace( + "", + "" + ) + ) + } + + /** + * Patch the settings fragment to work with MicroG. + * + * @param fromPackageName Original package name. + * @param toPackageName The package name to accept. + */ + fun ResourceContext.patchSetting( + fromPackageName: String, + toPackageName: String + ) { + val prefs = this["res/xml/settings_fragment.xml"] + + prefs.writeText( + prefs.readText() + .replace( + "android:targetPackage=\"$fromPackageName", + "android:targetPackage=\"$toPackageName" + ) ) } } \ No newline at end of file