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 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(
"</queries>",
"<package android:name=\"${Constants.MICROG_VENDOR}.android.gms\"/></queries>"
)
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(
"</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"
)
)
}
}