feat: switch install package

Co-Authored-By: o0kam1 <duzhaokun2@outlook.com>
This commit is contained in:
NkBe 2025-08-18 00:10:30 +08:00
parent 7881387bb2
commit 6be5f6ed7c
No known key found for this signature in database
GPG Key ID: 75EF144ED8F4D7B8
3 changed files with 33 additions and 4 deletions

View File

@ -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)

View File

@ -241,7 +241,7 @@ private fun SupportCard() {
HtmlText(
stringResource(
R.string.home_view_source_code,
"<b><a href=\"https://github.com/HSSkyBoy/LSPatch\">GitHub</a></b>",
"<b><a href=\"https://github.com/7723mod/LSPatch\">GitHub</a></b>",
"<b><a href=\"https://t.me/NPatch\">Telegram</a></b>"
)
)

View File

@ -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)
)
}