From 67961180c917c4cf4bd7038d4782844aafdd6824 Mon Sep 17 00:00:00 2001
From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
Date: Wed, 29 Mar 2023 09:34:55 +0100
Subject: [PATCH] android: developer tools page (#2094)
---
.../app/views/usersettings/DeveloperView.kt | 34 ++++++++++++++-----
.../app/views/usersettings/SettingsView.kt | 6 ++--
.../app/src/main/res/values/strings.xml | 6 ++++
3 files changed, 34 insertions(+), 12 deletions(-)
diff --git a/apps/android/app/src/main/java/chat/simplex/app/views/usersettings/DeveloperView.kt b/apps/android/app/src/main/java/chat/simplex/app/views/usersettings/DeveloperView.kt
index e0fd6d276f..f20cde508a 100644
--- a/apps/android/app/src/main/java/chat/simplex/app/views/usersettings/DeveloperView.kt
+++ b/apps/android/app/src/main/java/chat/simplex/app/views/usersettings/DeveloperView.kt
@@ -1,6 +1,8 @@
package chat.simplex.app.views.usersettings
import SectionDivider
+import SectionSpacer
+import SectionTextFooter
import SectionView
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
@@ -14,7 +16,7 @@ import androidx.compose.ui.res.stringResource
import chat.simplex.app.R
import chat.simplex.app.model.ChatModel
import chat.simplex.app.views.TerminalView
-import chat.simplex.app.views.helpers.AppBarTitle
+import chat.simplex.app.views.helpers.*
@Composable
fun DeveloperView(
@@ -23,20 +25,34 @@ fun DeveloperView(
withAuth: (block: () -> Unit) -> Unit
) {
Column(Modifier.fillMaxWidth()) {
- val developerTools = m.controller.appPrefs.developerTools
- val confirmDBUpgrades = m.controller.appPrefs.confirmDBUpgrades
val uriHandler = LocalUriHandler.current
AppBarTitle(stringResource(R.string.settings_developer_tools))
+ val developerTools = m.controller.appPrefs.developerTools
+ val devTools = remember { mutableStateOf(developerTools.get()) }
SectionView() {
+ InstallTerminalAppItem(uriHandler)
+ SectionDivider()
ChatConsoleItem { withAuth(showCustomModal { it, close -> TerminalView(it, close) }) }
SectionDivider()
- val devTools = remember { mutableStateOf(developerTools.get()) }
- SettingsPreferenceItem(Icons.Outlined.Construction, stringResource(R.string.settings_developer_tools), developerTools, devTools)
+ SettingsPreferenceItem(Icons.Outlined.DriveFolderUpload, stringResource(R.string.confirm_database_upgrades), m.controller.appPrefs.confirmDBUpgrades)
SectionDivider()
- var confirm = remember { mutableStateOf(confirmDBUpgrades.get()) }
- SettingsPreferenceItem(Icons.Outlined.DriveFolderUpload, stringResource(R.string.confirm_database_upgrades), confirmDBUpgrades, confirm)
- SectionDivider()
- InstallTerminalAppItem(uriHandler)
+ SettingsPreferenceItem(Icons.Outlined.Code, stringResource(R.string.show_developer_options), developerTools, devTools)
+ }
+ SectionTextFooter(
+ generalGetString(if (devTools.value) R.string.show_dev_options else R.string.hide_dev_options) +
+ generalGetString(R.string.developer_options)
+ )
+ SectionSpacer()
+
+ val xftpSendEnabled = m.controller.appPrefs.xftpSendEnabled
+ val xftpEnabled = remember { mutableStateOf(xftpSendEnabled.get()) }
+ SectionView(generalGetString(R.string.settings_section_title_experimenta)) {
+ SettingsPreferenceItem(Icons.Outlined.UploadFile, stringResource(R.string.settings_send_files_via_xftp), xftpSendEnabled, xftpEnabled) {
+ withApi { m.controller.apiSetXFTPConfig(m.controller.getXFTPCfg()) }
+ }
+ }
+ if (xftpEnabled.value) {
+ SectionTextFooter(generalGetString(R.string.xftp_requires_v461))
}
}
}
diff --git a/apps/android/app/src/main/java/chat/simplex/app/views/usersettings/SettingsView.kt b/apps/android/app/src/main/java/chat/simplex/app/views/usersettings/SettingsView.kt
index f55eb941ba..e07b3443d0 100644
--- a/apps/android/app/src/main/java/chat/simplex/app/views/usersettings/SettingsView.kt
+++ b/apps/android/app/src/main/java/chat/simplex/app/views/usersettings/SettingsView.kt
@@ -205,10 +205,10 @@ fun SettingsLayout(
SectionSpacer()
SectionView(stringResource(R.string.settings_section_title_develop)) {
- SettingsActionItem(Icons.Outlined.Construction, stringResource(R.string.settings_developer_tools), showSettingsModal { DeveloperView(it, showCustomModal, withAuth) })
- SectionDivider()
- SettingsActionItem(Icons.Outlined.Science, stringResource(R.string.settings_experimental_features), showSettingsModal { ExperimentalFeaturesView(it) })
+ SettingsActionItem(Icons.Outlined.Code, stringResource(R.string.settings_developer_tools), showSettingsModal { DeveloperView(it, showCustomModal, withAuth) })
SectionDivider()
+// SettingsActionItem(Icons.Outlined.Science, stringResource(R.string.settings_experimental_features), showSettingsModal { ExperimentalFeaturesView(it) })
+// SectionDivider()
AppVersionItem(showVersion)
}
}
diff --git a/apps/android/app/src/main/res/values/strings.xml b/apps/android/app/src/main/res/values/strings.xml
index 2f8206c58a..045da6c4b4 100644
--- a/apps/android/app/src/main/res/values/strings.xml
+++ b/apps/android/app/src/main/res/values/strings.xml
@@ -509,6 +509,10 @@
Core version: v%s
Core built at: %s
simplexmq: v%s (%2s)
+ Show:\
+ Hide:\
+ Show developer options
+ Database IDs and Transport isolation option.
Create address
@@ -716,7 +720,9 @@
MESSAGES
CALLS
Incognito mode
+ EXPERIMENTAL
Send files via XFTP
+ v4.6.1+ is required to receive via XFTP.
Your chat database