android: save SOCKS setting to preference and enable on start (#848)
* android: save SOCKS setting to preference and enable on start * use socks proxy preference
This commit is contained in:
committed by
GitHub
parent
999923bcf9
commit
ce91dcde7f
@@ -84,6 +84,7 @@ class AppPreferences(val context: Context) {
|
||||
val chatArchiveName = mkStrPreference(SHARED_PREFS_CHAT_ARCHIVE_NAME, null)
|
||||
val chatArchiveTime = mkDatePreference(SHARED_PREFS_CHAT_ARCHIVE_TIME, null)
|
||||
val chatLastStart = mkDatePreference(SHARED_PREFS_CHAT_LAST_START, null)
|
||||
val useSocksProxy = mkBoolPreference(SHARED_PREFS_USE_SOCKS_PROXY, false)
|
||||
|
||||
private fun mkIntPreference(prefName: String, default: Int) =
|
||||
Preference(
|
||||
@@ -128,6 +129,7 @@ class AppPreferences(val context: Context) {
|
||||
private const val SHARED_PREFS_CHAT_ARCHIVE_NAME = "ChatArchiveName"
|
||||
private const val SHARED_PREFS_CHAT_ARCHIVE_TIME = "ChatArchiveTime"
|
||||
private const val SHARED_PREFS_CHAT_LAST_START = "ChatLastStart"
|
||||
private const val SHARED_PREFS_USE_SOCKS_PROXY = "UseSocksProxy"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -146,6 +148,9 @@ open class ChatController(private val ctrl: ChatCtrl, val ntfManager: NtfManager
|
||||
Log.d(TAG, "user: $user")
|
||||
try {
|
||||
if (chatModel.chatRunning.value == true) return
|
||||
if (chatModel.controller.appPrefs.useSocksProxy.get()) {
|
||||
setNetworkConfig(NetCfg(socksProxy = ":9050", tcpTimeout = 10_000_000))
|
||||
}
|
||||
val justStarted = apiStartChat()
|
||||
if (justStarted) {
|
||||
apiSetFilesFolder(getAppFilesDirectory(appContext))
|
||||
|
||||
@@ -19,6 +19,10 @@ import chat.simplex.app.views.helpers.*
|
||||
@Composable
|
||||
fun NetworkSettingsView(chatModel: ChatModel, netCfg: NetCfg) {
|
||||
val useSocksProxy = remember { mutableStateOf(netCfg.socksProxy != null) }
|
||||
fun setSocksProxy(value: Boolean) {
|
||||
chatModel.controller.appPrefs.useSocksProxy.set(value)
|
||||
useSocksProxy.value = value
|
||||
}
|
||||
|
||||
NetworkSettingsLayout(
|
||||
useSocksProxy,
|
||||
@@ -31,7 +35,7 @@ fun NetworkSettingsView(chatModel: ChatModel, netCfg: NetCfg) {
|
||||
onConfirm = {
|
||||
withApi {
|
||||
chatModel.controller.setNetworkConfig(NetCfg(socksProxy = ":9050", tcpTimeout = 10_000_000))
|
||||
useSocksProxy.value = true
|
||||
setSocksProxy(true)
|
||||
}
|
||||
}
|
||||
)
|
||||
@@ -43,7 +47,7 @@ fun NetworkSettingsView(chatModel: ChatModel, netCfg: NetCfg) {
|
||||
onConfirm = {
|
||||
withApi {
|
||||
chatModel.controller.setNetworkConfig(NetCfg(tcpTimeout = 5_000_000))
|
||||
useSocksProxy.value = false
|
||||
setSocksProxy(false)
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user