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") }.getOrNull() ?: (1 to "1.0")
// sync from https://github.com/JingMatrix/LSPosed/blob/master/build.gradle.kts // sync from https://github.com/LSPosed/LSPosed/blob/master/build.gradle.kts
val defaultManagerPackageName by extra("org.lsposed.lspatch") val defaultManagerPackageName by extra("org.lsposed.npatch")
val apiCode by extra(93) val apiCode by extra(100)
val verCode by extra(commitCount) val verCode by extra(commitCount)
val verName by extra("0.7.1") val verName by extra("0.7.1")
val coreVerCode by extra(coreCommitCount) val coreVerCode by extra(coreCommitCount)

View File

@ -241,7 +241,7 @@ private fun SupportCard() {
HtmlText( HtmlText(
stringResource( stringResource(
R.string.home_view_source_code, 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>" "<b><a href=\"https://t.me/NPatch\">Telegram</a></b>"
) )
) )

View File

@ -1,5 +1,7 @@
package org.lsposed.lspatch.ui.page package org.lsposed.lspatch.ui.page
import android.content.ComponentName
import android.content.pm.PackageManager
import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
@ -28,6 +30,7 @@ import kotlinx.coroutines.launch
import org.lsposed.lspatch.R import org.lsposed.lspatch.R
import org.lsposed.lspatch.config.Configs import org.lsposed.lspatch.config.Configs
import org.lsposed.lspatch.config.MyKeyStore import org.lsposed.lspatch.config.MyKeyStore
import org.lsposed.lspatch.lspApp
import org.lsposed.lspatch.ui.component.AnywhereDropdown import org.lsposed.lspatch.ui.component.AnywhereDropdown
import org.lsposed.lspatch.ui.component.CenterTopBar import org.lsposed.lspatch.ui.component.CenterTopBar
import org.lsposed.lspatch.ui.component.settings.SettingsItem import org.lsposed.lspatch.ui.component.settings.SettingsItem
@ -50,6 +53,7 @@ fun SettingsScreen() {
) { ) {
KeyStore() KeyStore()
DetailPatchLogs() DetailPatchLogs()
SwitchInstallPackage()
} }
} }
} }
@ -240,3 +244,28 @@ private fun DetailPatchLogs() {
title = stringResource(R.string.settings_detail_patch_logs) 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)
)
}