VpnService policy

This commit is contained in:
arm64v8a 2023-10-30 17:43:45 +09:00 committed by purofle
parent 5dc09caf22
commit b77d1fc82e

View File

@ -37,6 +37,7 @@ import io.nekohasekai.sagernet.group.GroupUpdater
import io.nekohasekai.sagernet.ktx.* import io.nekohasekai.sagernet.ktx.*
import io.nekohasekai.sagernet.widget.ListHolderListener import io.nekohasekai.sagernet.widget.ListHolderListener
import moe.matsuri.nb4a.utils.Util import moe.matsuri.nb4a.utils.Util
import java.io.File
import java.util.* import java.util.*
class MainActivity : ThemedActivity(), class MainActivity : ThemedActivity(),
@ -97,6 +98,8 @@ class MainActivity : ThemedActivity(),
onNewIntent(intent) onNewIntent(intent)
} }
refreshNavMenu(DataStore.enableClashAPI)
// sdk 33 notification // sdk 33 notification
if (Build.VERSION.SDK_INT >= 33) { if (Build.VERSION.SDK_INT >= 33) {
val checkPermission = val checkPermission =
@ -109,7 +112,24 @@ class MainActivity : ThemedActivity(),
} }
} }
refreshNavMenu(DataStore.enableClashAPI) // consent
try {
val f = File(application.filesDir, "consent")
if (!f.exists()) {
MaterialAlertDialogBuilder(this@MainActivity)
.setTitle("VpnService policy")
.setMessage("Since the main function of this application is VPN, it must use VpnService.")
.setPositiveButton(R.string.yes) { _, _ ->
f.createNewFile()
}
.setNegativeButton(android.R.string.cancel) { _, _ ->
finish()
}
.show()
}
} catch (e: Exception) {
Logs.w(e)
}
} }
fun refreshNavMenu(clashApi: Boolean) { fun refreshNavMenu(clashApi: Boolean) {