refactor: better method is used for settings-framework

This commit is contained in:
inotia00 2023-02-18 01:57:43 +09:00
parent ef370c82d1
commit b3ed1c0f93

View File

@ -11,33 +11,55 @@ internal object MicroGResourceHelper {
* *
* @param fromPackageName Original package name. * @param fromPackageName Original package name.
* @param toPackageName The package name to accept. * @param toPackageName The package name to accept.
* @param toName The new name of the app.
*/ */
fun ResourceContext.patchManifest( fun ResourceContext.patchManifest(
fromPackageName: String, fromPackageName: String,
toPackageName: String toPackageName: String
) { ) {
val manifest = this["AndroidManifest.xml"].readText() val manifest = this["AndroidManifest.xml"]
this["AndroidManifest.xml"].writeText(
manifest.replace( manifest.writeText(
"package=\"$fromPackageName", manifest.readText()
"package=\"$toPackageName" .replace(
).replace( "package=\"$fromPackageName",
"android:authorities=\"$fromPackageName", "package=\"$toPackageName"
"android:authorities=\"$toPackageName" ).replace(
).replace( "android:authorities=\"$fromPackageName",
"$fromPackageName.permission.C2D_MESSAGE", "android:authorities=\"$toPackageName"
"$toPackageName.permission.C2D_MESSAGE" ).replace(
).replace( "$fromPackageName.permission.C2D_MESSAGE",
"$fromPackageName.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION", "$toPackageName.permission.C2D_MESSAGE"
"$toPackageName.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION" ).replace(
).replace( "$fromPackageName.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION",
"com.google.android.c2dm", "$toPackageName.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"
"${Constants.MICROG_VENDOR}.android.c2dm" ).replace(
).replace( "com.google.android.c2dm",
"</queries>", "${Constants.MICROG_VENDOR}.android.c2dm"
"<package android:name=\"${Constants.MICROG_VENDOR}.android.gms\"/></queries>" ).replace(
) "</queries>",
"<package android:name=\"${Constants.MICROG_VENDOR}.android.gms\"/></queries>"
)
)
}
/**
* 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"
)
) )
} }
} }