mirror of
https://github.com/Helium314/HeliBoard.git
synced 2025-04-22 07:09:10 +00:00
add missing debug settings
This commit is contained in:
parent
f07f139469
commit
0b4bbdfdc9
3 changed files with 48 additions and 10 deletions
|
@ -30,7 +30,7 @@ import helium314.keyboard.latin.R;
|
|||
public final class DebugSettingsFragment extends SubScreenFragment
|
||||
implements Preference.OnPreferenceClickListener {
|
||||
private static final String PREF_KEY_DUMP_DICTS = "dump_dictionaries";
|
||||
private static final String PREF_KEY_DUMP_DICT_PREFIX = "dump_dictionaries";
|
||||
public static final String PREF_KEY_DUMP_DICT_PREFIX = "dump_dictionaries";
|
||||
|
||||
private boolean mServiceNeedsRestart = false;
|
||||
private TwoStatePreference mDebugMode;
|
||||
|
|
|
@ -13,8 +13,11 @@ import helium314.keyboard.latin.settings.Settings
|
|||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
|
||||
// todo
|
||||
// test release vs old release for settings start speed
|
||||
// also when coming from keyboard
|
||||
// good way to measure startup time? e.g. sth in activity, or in composable, compared to settings button
|
||||
// check if there are simple ways to improve it (try kicking out "everything" at start)
|
||||
// more pref screens
|
||||
// debug
|
||||
// appearance
|
||||
// colors
|
||||
// personal dictionary
|
||||
|
@ -55,7 +58,8 @@ import kotlinx.coroutines.flow.MutableStateFlow
|
|||
// -> users confused, but probably better than the 2 above
|
||||
// adjust layout a little, there is too much empty space and titles are too large (dialogs!)
|
||||
// check dialogs have the same colors
|
||||
// list preference -> we can make auto_correct_threshold a float directly
|
||||
// list preference -> we can make auto_correct_threshold a float directly (needs pref upgrade
|
||||
// actually test all the settings
|
||||
|
||||
// maybe later
|
||||
// weird problem with app sometimes closing on back, but that's related to "old" settings (don't care if all are removed)
|
||||
|
|
|
@ -1,20 +1,28 @@
|
|||
package helium314.keyboard.settings.screens
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import helium314.keyboard.latin.BuildConfig
|
||||
import helium314.keyboard.latin.DictionaryDumpBroadcastReceiver
|
||||
import helium314.keyboard.latin.DictionaryFacilitator
|
||||
import helium314.keyboard.latin.R
|
||||
import helium314.keyboard.latin.settings.DebugSettings
|
||||
import helium314.keyboard.latin.settings.DebugSettingsFragment
|
||||
import helium314.keyboard.settings.AllPrefs
|
||||
import helium314.keyboard.settings.PrefDef
|
||||
import helium314.keyboard.settings.Preference
|
||||
import helium314.keyboard.settings.PreferenceCategory
|
||||
import helium314.keyboard.settings.SearchPrefScreen
|
||||
import helium314.keyboard.settings.SettingsActivity2
|
||||
import helium314.keyboard.settings.SwitchPreference
|
||||
import helium314.keyboard.settings.Theme
|
||||
import helium314.keyboard.settings.prefs
|
||||
import helium314.keyboard.settings.themeChanged
|
||||
|
||||
@Composable
|
||||
fun DebugScreen(
|
||||
|
@ -30,29 +38,52 @@ fun DebugScreen(
|
|||
SettingsActivity2.allPrefs.map[DebugSettings.PREF_FORCE_NON_DISTINCT_MULTITOUCH]!!.Preference()
|
||||
SettingsActivity2.allPrefs.map[DebugSettings.PREF_SLIDING_KEY_INPUT_PREVIEW]!!.Preference()
|
||||
PreferenceCategory(stringResource(R.string.prefs_dump_dynamic_dicts)) {
|
||||
// todo: fill it
|
||||
DictionaryFacilitator.DYNAMIC_DICTIONARY_TYPES.forEach {
|
||||
SettingsActivity2.allPrefs.map[DebugSettingsFragment.PREF_KEY_DUMP_DICT_PREFIX + it]!!.Preference()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun createDebugPrefs(context: Context) = listOf(
|
||||
PrefDef(context, DebugSettings.PREF_SHOW_DEBUG_SETTINGS, R.string.prefs_show_debug_settings) { def ->
|
||||
SwitchPreference(def, false)
|
||||
val prefs = LocalContext.current.prefs()
|
||||
SwitchPreference(
|
||||
name = def.title,
|
||||
pref = def.key,
|
||||
default = false,
|
||||
description = stringResource(R.string.version_text, BuildConfig.VERSION_NAME)
|
||||
) { if (!it) prefs.edit().putBoolean(DebugSettings.PREF_DEBUG_MODE, false).apply() }
|
||||
},
|
||||
PrefDef(context, DebugSettings.PREF_DEBUG_MODE, R.string.prefs_debug_mode) { def ->
|
||||
SwitchPreference(def, false)
|
||||
val prefs = LocalContext.current.prefs()
|
||||
SwitchPreference(def, false) {
|
||||
needsRestart = true
|
||||
if (!it) prefs.edit().putBoolean(DebugSettings.PREF_SHOW_SUGGESTION_INFOS, false).apply()
|
||||
}
|
||||
},
|
||||
PrefDef(context, DebugSettings.PREF_SHOW_SUGGESTION_INFOS, R.string.prefs_show_suggestion_infos) { def ->
|
||||
SwitchPreference(def, false)
|
||||
SwitchPreference(def, false) { themeChanged = true }
|
||||
},
|
||||
PrefDef(context, DebugSettings.PREF_FORCE_NON_DISTINCT_MULTITOUCH, R.string.prefs_force_non_distinct_multitouch) { def ->
|
||||
SwitchPreference(def, false)
|
||||
SwitchPreference(def, false) { needsRestart = true }
|
||||
},
|
||||
PrefDef(context, DebugSettings.PREF_SLIDING_KEY_INPUT_PREVIEW, R.string.sliding_key_input_preview, R.string.sliding_key_input_preview_summary) { def ->
|
||||
SwitchPreference(def, false)
|
||||
},
|
||||
// todo: what about "dump dictionaries"?
|
||||
)
|
||||
) + DictionaryFacilitator.DYNAMIC_DICTIONARY_TYPES.map {
|
||||
PrefDef(context, DebugSettingsFragment.PREF_KEY_DUMP_DICT_PREFIX + it, R.string.button_default) { def ->
|
||||
val ctx = LocalContext.current
|
||||
Preference(
|
||||
name = "Dump $it dictionary",
|
||||
onClick = {
|
||||
val intent = Intent(DictionaryDumpBroadcastReceiver.DICTIONARY_DUMP_INTENT_ACTION)
|
||||
intent.putExtra(DictionaryDumpBroadcastReceiver.DICTIONARY_NAME_KEY, it)
|
||||
ctx.sendBroadcast(intent)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Preview
|
||||
@Composable
|
||||
|
@ -64,3 +95,6 @@ private fun Preview() {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// todo: actually use it
|
||||
var needsRestart = false
|
||||
|
|
Loading…
Add table
Reference in a new issue