feat: switch install package
Co-Authored-By: o0kam1 <duzhaokun2@outlook.com>
This commit is contained in:
parent
7881387bb2
commit
6be5f6ed7c
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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>"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
)
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue