diff --git a/build.gradle.kts b/build.gradle.kts
index b0bcf1b..54a2402 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -44,9 +44,9 @@ val (coreCommitCount, coreLatestTag) = FileRepositoryBuilder().setGitDir(rootPro
}
}.getOrNull() ?: (1 to "1.0")
-// sync from https://github.com/JingMatrix/LSPosed/blob/master/build.gradle.kts
-val defaultManagerPackageName by extra("org.lsposed.lspatch")
-val apiCode by extra(93)
+// sync from https://github.com/LSPosed/LSPosed/blob/master/build.gradle.kts
+val defaultManagerPackageName by extra("org.lsposed.npatch")
+val apiCode by extra(100)
val verCode by extra(commitCount)
val verName by extra("0.7.1")
val coreVerCode by extra(coreCommitCount)
diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/page/HomeScreen.kt b/manager/src/main/java/org/lsposed/lspatch/ui/page/HomeScreen.kt
index dd69e61..d856778 100644
--- a/manager/src/main/java/org/lsposed/lspatch/ui/page/HomeScreen.kt
+++ b/manager/src/main/java/org/lsposed/lspatch/ui/page/HomeScreen.kt
@@ -241,7 +241,7 @@ private fun SupportCard() {
HtmlText(
stringResource(
R.string.home_view_source_code,
- "GitHub",
+ "GitHub",
"Telegram"
)
)
diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/page/SettingsScreen.kt b/manager/src/main/java/org/lsposed/lspatch/ui/page/SettingsScreen.kt
index 0a4181e..42b5d1e 100644
--- a/manager/src/main/java/org/lsposed/lspatch/ui/page/SettingsScreen.kt
+++ b/manager/src/main/java/org/lsposed/lspatch/ui/page/SettingsScreen.kt
@@ -1,5 +1,7 @@
package org.lsposed.lspatch.ui.page
+import android.content.ComponentName
+import android.content.pm.PackageManager
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.contract.ActivityResultContracts
import androidx.compose.foundation.clickable
@@ -28,6 +30,7 @@ import kotlinx.coroutines.launch
import org.lsposed.lspatch.R
import org.lsposed.lspatch.config.Configs
import org.lsposed.lspatch.config.MyKeyStore
+import org.lsposed.lspatch.lspApp
import org.lsposed.lspatch.ui.component.AnywhereDropdown
import org.lsposed.lspatch.ui.component.CenterTopBar
import org.lsposed.lspatch.ui.component.settings.SettingsItem
@@ -50,6 +53,7 @@ fun SettingsScreen() {
) {
KeyStore()
DetailPatchLogs()
+ SwitchInstallPackage()
}
}
}
@@ -240,3 +244,28 @@ private fun DetailPatchLogs() {
title = stringResource(R.string.settings_detail_patch_logs)
)
}
+
+@Composable
+private fun SwitchInstallPackage() {
+ val context = LocalContext.current
+ val packageName = context.packageName
+ val componentName = ComponentName(packageName, "$packageName.InstallPackageActivity")
+ val checked = remember { mutableStateOf(Configs.installPackage) }
+
+ SettingsSwitch(
+ modifier = Modifier.clickable {
+ val isEnabled = !checked.value
+ context.packageManager.setComponentEnabledSetting(
+ componentName,
+ if (isEnabled) PackageManager.COMPONENT_ENABLED_STATE_ENABLED else PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
+ PackageManager.DONT_KILL_APP
+ )
+ Configs.installPackage = isEnabled
+ checked.value = isEnabled
+ },
+ checked = checked.value,
+ icon = Icons.Outlined.Ballot,
+ title = stringResource(R.string.settings_switch_install_package),
+ desc = stringResource(if (checked.value) R.string.settings_switch_install_package_enabled else R.string.settings_switch_install_package_disabled)
+ )
+}
\ No newline at end of file