Trigger managed mode scan when enabling per-app proxy

This commit is contained in:
世界
2025-12-24 16:50:14 +08:00
parent b1f0ba2417
commit 104da5d312

View File

@@ -208,6 +208,12 @@ fun ProfileOverrideScreen(navController: NavController) {
}, },
trailingContent = { trailingContent = {
if (isPerAppProxyAvailable) { if (isPerAppProxyAvailable) {
if (isScanning) {
CircularProgressIndicator(
modifier = Modifier.size(24.dp),
strokeWidth = 2.dp,
)
} else {
Switch( Switch(
checked = perAppProxyEnabled, checked = perAppProxyEnabled,
onCheckedChange = { checked -> onCheckedChange = { checked ->
@@ -215,9 +221,20 @@ fun ProfileOverrideScreen(navController: NavController) {
scope.launch(Dispatchers.IO) { scope.launch(Dispatchers.IO) {
Settings.perAppProxyEnabled = checked Settings.perAppProxyEnabled = checked
} }
if (checked && managedModeEnabled) {
isScanning = true
scope.launch {
val chinaApps = scanAllChinaApps()
withContext(Dispatchers.IO) {
Settings.perAppProxyManagedList = chinaApps
}
isScanning = false
}
}
}, },
) )
} }
}
}, },
modifier = modifier =
Modifier.clip( Modifier.clip(