removed unused items from settings & translate main items

This commit is contained in:
2024-07-13 15:48:08 +03:00
parent 9c6fdc1d42
commit 93ae63fadd
7 changed files with 67 additions and 51 deletions
@@ -65,8 +65,8 @@ class MainViewModelImpl(
) )
override val startOnlineService = MutableStateFlow( override val startOnlineService = MutableStateFlow(
SettingsController.getBoolean( SettingsController.getBoolean(
SettingsKeys.KEY_VISIBILITY_SEND_ONLINE_STATUS, SettingsKeys.KEY_ACTIVITY_SEND_ONLINE_STATUS,
SettingsKeys.DEFAULT_VALUE_KEY_VISIBILITY_SEND_ONLINE_STATUS SettingsKeys.DEFAULT_VALUE_KEY_ACTIVITY_SEND_ONLINE_STATUS
) )
) )
@@ -27,19 +27,17 @@ object SettingsKeys {
const val KEY_APPEARANCE_BLUR = "appearance_blur" const val KEY_APPEARANCE_BLUR = "appearance_blur"
const val DEFAULT_VALUE_KEY_APPEARANCE_BLUR = false const val DEFAULT_VALUE_KEY_APPEARANCE_BLUR = false
const val KEY_FEATURES_HIDE_KEYBOARD_ON_SCROLL = "features_hide_keyboard_on_scroll"
const val KEY_FEATURES_FAST_TEXT = "features_fast_text" const val KEY_FEATURES_FAST_TEXT = "features_fast_text"
const val DEFAULT_VALUE_FEATURES_FAST_TEXT = "¯\\_(ツ)_/¯" const val DEFAULT_VALUE_FEATURES_FAST_TEXT = "¯\\_(ツ)_/¯"
const val KEY_FEATURES_LONG_POLL_IN_BACKGROUND = "features_lp_background" const val KEY_FEATURES_LONG_POLL_IN_BACKGROUND = "features_lp_background"
const val DEFAULT_VALUE_FEATURES_LONG_POLL_IN_BACKGROUND = false const val DEFAULT_VALUE_FEATURES_LONG_POLL_IN_BACKGROUND = false
const val KEY_VISIBILITY_SEND_ONLINE_STATUS = "visibility_send_online_status" const val KEY_ACTIVITY_SEND_ONLINE_STATUS = "activity_send_online_status"
const val DEFAULT_VALUE_KEY_VISIBILITY_SEND_ONLINE_STATUS = false const val DEFAULT_VALUE_KEY_ACTIVITY_SEND_ONLINE_STATUS = false
const val KEY_DEBUG_PERFORM_CRASH = "debug_perform_crash" const val KEY_DEBUG_PERFORM_CRASH = "debug_perform_crash"
const val KEY_DEBUG_SHOW_CRASH_ALERT = "debug_show_crash_alert" const val KEY_DEBUG_SHOW_CRASH_ALERT = "debug_show_crash_alert"
const val KEY_DEBUG_HIDE_DEBUG_LIST = "debug_hide_debug_list" const val KEY_DEBUG_HIDE_DEBUG_LIST = "debug_hide_debug_list"
const val KEY_SHOW_EXACT_TIME_ON_TIME_STAMP = "wip_show_exact_time_on_time_stamp"
const val KEY_SHOW_NAME_IN_BUBBLES = "debug_show_title_in_bubbles" const val KEY_SHOW_NAME_IN_BUBBLES = "debug_show_title_in_bubbles"
const val KEY_SHOW_DATE_UNDER_BUBBLES = "debug_show_date_under_bubbles" const val KEY_SHOW_DATE_UNDER_BUBBLES = "debug_show_date_under_bubbles"
const val KEY_ENABLE_ANIMATIONS_IN_MESSAGES = "debug_enable_animations_in_messages" const val KEY_ENABLE_ANIMATIONS_IN_MESSAGES = "debug_enable_animations_in_messages"
@@ -50,8 +50,8 @@ class UserSettingsImpl(
) )
override val online = MutableStateFlow( override val online = MutableStateFlow(
SettingsController.getBoolean( SettingsController.getBoolean(
SettingsKeys.KEY_VISIBILITY_SEND_ONLINE_STATUS, SettingsKeys.KEY_ACTIVITY_SEND_ONLINE_STATUS,
SettingsKeys.DEFAULT_VALUE_KEY_VISIBILITY_SEND_ONLINE_STATUS SettingsKeys.DEFAULT_VALUE_KEY_ACTIVITY_SEND_ONLINE_STATUS
) )
) )
@@ -171,4 +171,21 @@
<string name="title_friends_all">Все</string> <string name="title_friends_all">Все</string>
<string name="title_friends_online">В сети</string> <string name="title_friends_online">В сети</string>
<string name="no_items">Нет элементов</string> <string name="no_items">Нет элементов</string>
<string name="settings_account_title">Аккаунт</string>
<string name="settings_account_logout_title">Выйти из аккаунта</string>
<string name="settings_account_logout_summary">Выход из аккаунта удалит все связанные с текущим аккаунтом данные</string>
<string name="settings_general_title">Основное</string>
<string name="settings_general_contact_names_title">Использовать имена контактов</string>
<string name="settings_general_contact_names_summary">Приложение будет использовать доступные имена контактов для пользователей</string>
<string name="settings_appearance_title">Внешний вид</string>
<string name="settings_appearance_multiline_title">Многострочные заголовки и сообщения</string>
<string name="settings_appearance_multiline_summary">Заголовок чата и текст сообщения смогут занимать несколько строчек</string>
<string name="settings_features_title">Фичи</string>
<string name="settings_features_fast_text_title">Fast текст</string>
<string name="settings_features_long_poll_in_background_title">[WIP] LongPoll в фоне</string>
<string name="settings_features_long_poll_in_background_summary">Ваши сообщения будут обновляться, даже если приложение находится в фоне</string>
<string name="settings_activity_title">Активность</string>
<string name="settings_activity_send_online_title">Быть «в сети»</string>
<string name="settings_activity_send_online_summary">Статус «в сети» будет отправляться каждые 5 минут</string>
<string name="settings_debug_title">Отладка</string>
</resources> </resources>
@@ -229,5 +229,22 @@
<string name="title_friends_all">All</string> <string name="title_friends_all">All</string>
<string name="title_friends_online">Online</string> <string name="title_friends_online">Online</string>
<string name="no_items">No items</string> <string name="no_items">No items</string>
<string name="settings_account_title">Account</string>
<string name="settings_account_logout_title">Log out</string>
<string name="settings_account_logout_summary">Log out from account and delete all local data related to this account</string>
<string name="settings_general_title">General</string>
<string name="settings_general_contact_names_title">Use contact names</string>
<string name="settings_general_contact_names_summary">App will use available contact names for users</string>
<string name="settings_appearance_title">Appearance</string>
<string name="settings_appearance_multiline_title">Multiline titles and messages</string>
<string name="settings_appearance_multiline_summary">The title of the conversation and the text of the message can take up multiple lines</string>
<string name="settings_features_title">Features</string>
<string name="settings_features_fast_text_title">Fast text</string>
<string name="settings_features_long_poll_in_background_title">[WIP] LongPoll in background</string>
<string name="settings_features_long_poll_in_background_summary">Your messages will be updates even when app is not on the screen</string>
<string name="settings_activity_title">Activity</string>
<string name="settings_activity_send_online_title">Send online status</string>
<string name="settings_activity_send_online_summary">Online status will be sent every five minutes</string>
<string name="settings_debug_title">Debug</string>
</resources> </resources>
@@ -137,7 +137,7 @@ class SettingsViewModelImpl(
override fun onSettingsItemLongClicked(key: String) { override fun onSettingsItemLongClicked(key: String) {
when (key) { when (key) {
SettingsKeys.KEY_VISIBILITY_SEND_ONLINE_STATUS -> { SettingsKeys.KEY_ACTIVITY_SEND_ONLINE_STATUS -> {
val showDebugCategory = isDebugSettingsShown() val showDebugCategory = isDebugSettingsShown()
if (showDebugCategory) return if (showDebugCategory) return
@@ -190,38 +190,38 @@ class SettingsViewModelImpl(
val accountVisible = UserConfig.isLoggedIn() val accountVisible = UserConfig.isLoggedIn()
val accountTitle = SettingsItem.Title.build( val accountTitle = SettingsItem.Title.build(
key = SettingsKeys.KEY_ACCOUNT, key = SettingsKeys.KEY_ACCOUNT,
title = UiText.Simple("Account") title = UiText.Resource(UiR.string.settings_account_title)
) { ) {
isVisible = accountVisible isVisible = accountVisible
} }
val accountLogOut = SettingsItem.TitleSummary.build( val accountLogOut = SettingsItem.TitleSummary.build(
key = SettingsKeys.KEY_ACCOUNT_LOGOUT, key = SettingsKeys.KEY_ACCOUNT_LOGOUT,
title = UiText.Simple("Log out"), title = UiText.Resource(UiR.string.settings_account_logout_title),
summary = UiText.Simple("Log out from account and delete all local data related to this account") summary = UiText.Resource(UiR.string.settings_account_logout_summary)
) { ) {
isVisible = accountVisible isVisible = accountVisible
} }
val generalTitle = SettingsItem.Title.build( val generalTitle = SettingsItem.Title.build(
key = SettingsKeys.KEY_GENERAL, key = SettingsKeys.KEY_GENERAL,
title = UiText.Simple("General") title = UiText.Resource(UiR.string.settings_general_title)
) )
val generalUseContactNames = SettingsItem.Switch.build( val generalUseContactNames = SettingsItem.Switch.build(
key = SettingsKeys.KEY_USE_CONTACT_NAMES, key = SettingsKeys.KEY_USE_CONTACT_NAMES,
title = UiText.Simple("Use contact names"), title = UiText.Resource(UiR.string.settings_general_contact_names_title),
summary = UiText.Simple("App will use available contact names for users"), summary = UiText.Resource(UiR.string.settings_general_contact_names_summary),
defaultValue = SettingsKeys.DEFAULT_VALUE_USE_CONTACT_NAMES defaultValue = SettingsKeys.DEFAULT_VALUE_USE_CONTACT_NAMES
) )
val appearanceTitle = SettingsItem.Title.build( val appearanceTitle = SettingsItem.Title.build(
key = SettingsKeys.KEY_APPEARANCE, key = SettingsKeys.KEY_APPEARANCE,
title = UiText.Simple("Appearance") title = UiText.Resource(UiR.string.settings_appearance_title)
) )
val appearanceMultiline = SettingsItem.Switch.build( val appearanceMultiline = SettingsItem.Switch.build(
key = SettingsKeys.KEY_APPEARANCE_MULTILINE, key = SettingsKeys.KEY_APPEARANCE_MULTILINE,
defaultValue = SettingsKeys.DEFAULT_VALUE_MULTILINE, defaultValue = SettingsKeys.DEFAULT_VALUE_MULTILINE,
title = UiText.Simple("Multiline titles and messages"), title = UiText.Resource(UiR.string.settings_appearance_multiline_title),
summary = UiText.Simple("The title of the dialog and the text of the message can take up two lines") summary = UiText.Resource(UiR.string.settings_appearance_multiline_summary)
) )
val darkThemeValues = listOf( val darkThemeValues = listOf(
@@ -271,17 +271,11 @@ class SettingsViewModelImpl(
val featuresTitle = SettingsItem.Title.build( val featuresTitle = SettingsItem.Title.build(
key = "features", key = "features",
title = UiText.Simple("Features") title = UiText.Resource(UiR.string.settings_features_title)
)
val featuresHideKeyboardOnScroll = SettingsItem.Switch.build(
key = SettingsKeys.KEY_FEATURES_HIDE_KEYBOARD_ON_SCROLL,
defaultValue = true,
title = UiText.Simple("Hide keyboard on scroll"),
summary = UiText.Simple("Hides keyboard when you scrolling messages up in messages history screen")
) )
val featuresFastText = SettingsItem.TextField.build( val featuresFastText = SettingsItem.TextField.build(
key = SettingsKeys.KEY_FEATURES_FAST_TEXT, key = SettingsKeys.KEY_FEATURES_FAST_TEXT,
title = UiText.Simple("Fast text"), title = UiText.Resource(UiR.string.settings_features_fast_text_title),
defaultValue = SettingsKeys.DEFAULT_VALUE_FEATURES_FAST_TEXT defaultValue = SettingsKeys.DEFAULT_VALUE_FEATURES_FAST_TEXT
).apply { ).apply {
summaryProvider = SettingsItem.SummaryProvider { settingsItem -> summaryProvider = SettingsItem.SummaryProvider { settingsItem ->
@@ -291,29 +285,27 @@ class SettingsViewModelImpl(
) )
} }
} }
val featuresLongPollBackground = SettingsItem.Switch.build( val debugLongPollBackground = SettingsItem.Switch.build(
key = SettingsKeys.KEY_FEATURES_LONG_POLL_IN_BACKGROUND, key = SettingsKeys.KEY_FEATURES_LONG_POLL_IN_BACKGROUND,
defaultValue = SettingsKeys.DEFAULT_VALUE_FEATURES_LONG_POLL_IN_BACKGROUND, defaultValue = SettingsKeys.DEFAULT_VALUE_FEATURES_LONG_POLL_IN_BACKGROUND,
title = UiText.Simple("LongPoll in background"), title = UiText.Resource(UiR.string.settings_features_long_poll_in_background_title),
summary = UiText.Simple( summary = UiText.Resource(UiR.string.settings_features_long_poll_in_background_summary)
"Your messages will be updates even when app is not on the screen.\nApp will be restarted"
)
) )
val visibilityTitle = SettingsItem.Title.build( val activityTitle = SettingsItem.Title.build(
key = "visibility", key = "activity",
title = UiText.Simple("Visibility") title = UiText.Resource(UiR.string.settings_activity_title)
) )
val visibilitySendOnlineStatus = SettingsItem.Switch.build( val visibilitySendOnlineStatus = SettingsItem.Switch.build(
key = SettingsKeys.KEY_VISIBILITY_SEND_ONLINE_STATUS, key = SettingsKeys.KEY_ACTIVITY_SEND_ONLINE_STATUS,
defaultValue = SettingsKeys.DEFAULT_VALUE_KEY_VISIBILITY_SEND_ONLINE_STATUS, defaultValue = SettingsKeys.DEFAULT_VALUE_KEY_ACTIVITY_SEND_ONLINE_STATUS,
title = UiText.Simple("Send online status"), title = UiText.Resource(UiR.string.settings_activity_send_online_title),
summary = UiText.Simple("Online status will be sent every five minutes") summary = UiText.Resource(UiR.string.settings_activity_send_online_summary)
) )
val debugTitle = SettingsItem.Title.build( val debugTitle = SettingsItem.Title.build(
key = "debug", key = "debug",
title = UiText.Simple("Debug") title = UiText.Resource(UiR.string.settings_debug_title)
) )
val debugPerformCrash = SettingsItem.TitleSummary.build( val debugPerformCrash = SettingsItem.TitleSummary.build(
key = SettingsKeys.KEY_DEBUG_PERFORM_CRASH, key = SettingsKeys.KEY_DEBUG_PERFORM_CRASH,
@@ -326,12 +318,6 @@ class SettingsViewModelImpl(
title = UiText.Simple("Show alert after crash"), title = UiText.Simple("Show alert after crash"),
summary = UiText.Simple("Shows alert dialog with stacktrace after app crashed\n(it will be not shown if you perform crash manually)") summary = UiText.Simple("Shows alert dialog with stacktrace after app crashed\n(it will be not shown if you perform crash manually)")
) )
val debugShowExactTimeOnTimeStamp = SettingsItem.Switch.build(
key = SettingsKeys.KEY_SHOW_EXACT_TIME_ON_TIME_STAMP,
title = UiText.Simple("[WIP] Show exact time on time stamp"),
summary = UiText.Simple("Shows hours and minutes on time stamp in messages history"),
defaultValue = false
)
val debugUseBlur = SettingsItem.Switch.build( val debugUseBlur = SettingsItem.Switch.build(
key = SettingsKeys.KEY_APPEARANCE_BLUR, key = SettingsKeys.KEY_APPEARANCE_BLUR,
defaultValue = SettingsKeys.DEFAULT_VALUE_KEY_APPEARANCE_BLUR, defaultValue = SettingsKeys.DEFAULT_VALUE_KEY_APPEARANCE_BLUR,
@@ -368,12 +354,10 @@ class SettingsViewModelImpl(
) )
val featuresList = listOf( val featuresList = listOf(
featuresTitle, featuresTitle,
featuresHideKeyboardOnScroll, featuresFastText
featuresFastText,
featuresLongPollBackground
) )
val visibilityList = listOf( val visibilityList = listOf(
visibilityTitle, activityTitle,
visibilitySendOnlineStatus, visibilitySendOnlineStatus,
) )
val debugList = mutableListOf<SettingsItem<*>>() val debugList = mutableListOf<SettingsItem<*>>()
@@ -381,7 +365,7 @@ class SettingsViewModelImpl(
debugTitle, debugTitle,
debugPerformCrash, debugPerformCrash,
debugShowCrashAlert, debugShowCrashAlert,
debugShowExactTimeOnTimeStamp, debugLongPollBackground,
debugUseBlur, debugUseBlur,
debugShowEmojiButton debugShowEmojiButton
).forEach(debugList::add) ).forEach(debugList::add)
@@ -147,7 +147,7 @@ fun SettingsScreen(
userSettings.setLongPollBackground(isUsing) userSettings.setLongPollBackground(isUsing)
} }
SettingsKeys.KEY_VISIBILITY_SEND_ONLINE_STATUS -> { SettingsKeys.KEY_ACTIVITY_SEND_ONLINE_STATUS -> {
val isUsing = newValue as? Boolean ?: false val isUsing = newValue as? Boolean ?: false
userSettings.setOnline(isUsing) userSettings.setOnline(isUsing)
} }