1
0
Fork 0

Preferences cleanup

* DictionariesScreen -> LanguagesScreen

  * reorganized the Preference Items

  * removed unnecessary public access

  * Load Dictionary -> Load Selected
This commit is contained in:
sspanak 2024-03-06 10:12:45 +02:00 committed by Dimo Karaivanov
parent 29b2ac2cb6
commit 5a43fba3d5
38 changed files with 100 additions and 97 deletions

View file

@ -20,15 +20,15 @@ import io.github.sspanak.tt9.db.WordStoreAsync;
import io.github.sspanak.tt9.ime.helpers.InputModeValidator; import io.github.sspanak.tt9.ime.helpers.InputModeValidator;
import io.github.sspanak.tt9.ime.helpers.SystemSettings; import io.github.sspanak.tt9.ime.helpers.SystemSettings;
import io.github.sspanak.tt9.preferences.helpers.Hotkeys; import io.github.sspanak.tt9.preferences.helpers.Hotkeys;
import io.github.sspanak.tt9.preferences.screens.AppearanceScreen;
import io.github.sspanak.tt9.preferences.screens.BaseScreenFragment; import io.github.sspanak.tt9.preferences.screens.BaseScreenFragment;
import io.github.sspanak.tt9.preferences.screens.DebugScreen;
import io.github.sspanak.tt9.preferences.screens.DictionariesScreen;
import io.github.sspanak.tt9.preferences.screens.HotkeysScreen;
import io.github.sspanak.tt9.preferences.screens.KeyPadScreen;
import io.github.sspanak.tt9.preferences.screens.MainSettingsScreen; import io.github.sspanak.tt9.preferences.screens.MainSettingsScreen;
import io.github.sspanak.tt9.preferences.screens.SetupScreen;
import io.github.sspanak.tt9.preferences.screens.UsageStatsScreen; import io.github.sspanak.tt9.preferences.screens.UsageStatsScreen;
import io.github.sspanak.tt9.preferences.screens.appearance.AppearanceScreen;
import io.github.sspanak.tt9.preferences.screens.debug.DebugScreen;
import io.github.sspanak.tt9.preferences.screens.hotkeys.HotkeysScreen;
import io.github.sspanak.tt9.preferences.screens.keypad.KeyPadScreen;
import io.github.sspanak.tt9.preferences.screens.languages.LanguagesScreen;
import io.github.sspanak.tt9.preferences.screens.setup.SetupScreen;
public class PreferencesActivity extends AppCompatActivity implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback { public class PreferencesActivity extends AppCompatActivity implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback {
public SettingsStore settings; public SettingsStore settings;
@ -110,12 +110,12 @@ public class PreferencesActivity extends AppCompatActivity implements Preference
return new AppearanceScreen(this); return new AppearanceScreen(this);
case DebugScreen.NAME: case DebugScreen.NAME:
return new DebugScreen(this); return new DebugScreen(this);
case DictionariesScreen.NAME:
return new DictionariesScreen(this);
case HotkeysScreen.NAME: case HotkeysScreen.NAME:
return new HotkeysScreen(this); return new HotkeysScreen(this);
case KeyPadScreen.NAME: case KeyPadScreen.NAME:
return new KeyPadScreen(this); return new KeyPadScreen(this);
case LanguagesScreen.NAME:
return new LanguagesScreen(this);
case SetupScreen.NAME: case SetupScreen.NAME:
return new SetupScreen(this); return new SetupScreen(this);
case UsageStatsScreen.NAME: case UsageStatsScreen.NAME:

View file

@ -16,7 +16,7 @@ import java.util.Set;
import io.github.sspanak.tt9.Logger; import io.github.sspanak.tt9.Logger;
import io.github.sspanak.tt9.ime.modes.InputMode; import io.github.sspanak.tt9.ime.modes.InputMode;
import io.github.sspanak.tt9.languages.LanguageCollection; import io.github.sspanak.tt9.languages.LanguageCollection;
import io.github.sspanak.tt9.preferences.items.SectionKeymap; import io.github.sspanak.tt9.preferences.screens.hotkeys.SectionKeymap;
public class SettingsStore { public class SettingsStore {

View file

@ -92,8 +92,8 @@ public class MainSettingsScreen extends BaseScreenFragment {
ArrayList<Preference> screens = new ArrayList<>(Arrays.asList( ArrayList<Preference> screens = new ArrayList<>(Arrays.asList(
findPreference("screen_appearance"), findPreference("screen_appearance"),
findPreference("screen_dictionaries"), findPreference("screen_keypad"),
findPreference("screen_keypad") findPreference("screen_languages")
)); ));
for (Preference goToScreen : screens) { for (Preference goToScreen : screens) {

View file

@ -1,8 +1,8 @@
package io.github.sspanak.tt9.preferences.screens; package io.github.sspanak.tt9.preferences.screens.appearance;
import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.preferences.PreferencesActivity; import io.github.sspanak.tt9.preferences.PreferencesActivity;
import io.github.sspanak.tt9.preferences.items.ItemSelectTheme; import io.github.sspanak.tt9.preferences.screens.BaseScreenFragment;
public class AppearanceScreen extends BaseScreenFragment { public class AppearanceScreen extends BaseScreenFragment {
final public static String NAME = "Appearance"; final public static String NAME = "Appearance";

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.appearance;
import android.content.Context; import android.content.Context;
@ -9,13 +9,14 @@ import androidx.preference.Preference;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.preferences.items.ItemDropDown;
public class ItemSelectTheme extends ItemDropDown { class ItemSelectTheme extends ItemDropDown {
public static final String NAME = "pref_theme"; public static final String NAME = "pref_theme";
private final Context context; private final Context context;
public ItemSelectTheme(Context context, DropDownPreference item) { ItemSelectTheme(Context context, DropDownPreference item) {
super(item); super(item);
this.context = context; this.context = context;
} }

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.screens; package io.github.sspanak.tt9.preferences.screens.debug;
import android.content.ClipData; import android.content.ClipData;
import android.content.ClipboardManager; import android.content.ClipboardManager;
@ -15,7 +15,7 @@ import java.io.InputStreamReader;
import io.github.sspanak.tt9.Logger; import io.github.sspanak.tt9.Logger;
import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.preferences.PreferencesActivity; import io.github.sspanak.tt9.preferences.PreferencesActivity;
import io.github.sspanak.tt9.preferences.items.ItemLogLevel; import io.github.sspanak.tt9.preferences.screens.BaseScreenFragment;
import io.github.sspanak.tt9.ui.UI; import io.github.sspanak.tt9.ui.UI;
public class DebugScreen extends BaseScreenFragment { public class DebugScreen extends BaseScreenFragment {

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.debug;
import android.util.Log; import android.util.Log;
@ -8,11 +8,12 @@ import androidx.preference.Preference;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import io.github.sspanak.tt9.Logger; import io.github.sspanak.tt9.Logger;
import io.github.sspanak.tt9.preferences.items.ItemDropDown;
public class ItemLogLevel extends ItemDropDown { class ItemLogLevel extends ItemDropDown {
public static final String NAME = "pref_log_level"; public static final String NAME = "pref_log_level";
public ItemLogLevel(DropDownPreference item) { ItemLogLevel(DropDownPreference item) {
super(item); super(item);
} }

View file

@ -1,13 +1,12 @@
package io.github.sspanak.tt9.preferences.screens; package io.github.sspanak.tt9.preferences.screens.hotkeys;
import androidx.preference.DropDownPreference; import androidx.preference.DropDownPreference;
import java.util.Arrays; import java.util.Arrays;
import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.preferences.items.ItemResetKeys;
import io.github.sspanak.tt9.preferences.PreferencesActivity; import io.github.sspanak.tt9.preferences.PreferencesActivity;
import io.github.sspanak.tt9.preferences.items.SectionKeymap; import io.github.sspanak.tt9.preferences.screens.BaseScreenFragment;
public class HotkeysScreen extends BaseScreenFragment { public class HotkeysScreen extends BaseScreenFragment {
final public static String NAME = "Hotkeys"; final public static String NAME = "Hotkeys";

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.hotkeys;
import android.content.Context; import android.content.Context;
@ -7,10 +7,11 @@ import androidx.preference.Preference;
import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.preferences.SettingsStore; import io.github.sspanak.tt9.preferences.SettingsStore;
import io.github.sspanak.tt9.preferences.helpers.Hotkeys; import io.github.sspanak.tt9.preferences.helpers.Hotkeys;
import io.github.sspanak.tt9.preferences.items.ItemClickable;
import io.github.sspanak.tt9.ui.UI; import io.github.sspanak.tt9.ui.UI;
public class ItemResetKeys extends ItemClickable { class ItemResetKeys extends ItemClickable {
public static final String NAME = "reset_keys"; public static final String NAME = "reset_keys";
private final Context context; private final Context context;
@ -18,7 +19,7 @@ public class ItemResetKeys extends ItemClickable {
private final SettingsStore settings; private final SettingsStore settings;
public ItemResetKeys(Preference item, Context context, SettingsStore settings, SectionKeymap dropdowns) { ItemResetKeys(Preference item, Context context, SettingsStore settings, SectionKeymap dropdowns) {
super(item); super(item);
this.context = context; this.context = context;
this.dropdowns = dropdowns; this.dropdowns = dropdowns;

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.hotkeys;
import android.content.Context; import android.content.Context;

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.keypad;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
@ -10,13 +10,13 @@ import java.util.LinkedHashMap;
import io.github.sspanak.tt9.Logger; import io.github.sspanak.tt9.Logger;
import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.R;
public class ItemSelectZeroKeyCharacter { class ItemSelectZeroKeyCharacter {
public static final String NAME = "pref_double_zero_char"; public static final String NAME = "pref_double_zero_char";
private final DropDownPreference item; private final DropDownPreference item;
private final LinkedHashMap<String, String> KEYS = new LinkedHashMap<>(); private final LinkedHashMap<String, String> KEYS = new LinkedHashMap<>();
public ItemSelectZeroKeyCharacter(DropDownPreference dropDown, Context context) { ItemSelectZeroKeyCharacter(DropDownPreference dropDown, Context context) {
this.item = dropDown; this.item = dropDown;
Resources resources = context.getResources(); Resources resources = context.getResources();

View file

@ -1,8 +1,8 @@
package io.github.sspanak.tt9.preferences.screens; package io.github.sspanak.tt9.preferences.screens.keypad;
import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.preferences.PreferencesActivity; import io.github.sspanak.tt9.preferences.PreferencesActivity;
import io.github.sspanak.tt9.preferences.items.ItemSelectZeroKeyCharacter; import io.github.sspanak.tt9.preferences.screens.BaseScreenFragment;
public class KeyPadScreen extends BaseScreenFragment { public class KeyPadScreen extends BaseScreenFragment {
final public static String NAME = "KeyPad"; final public static String NAME = "KeyPad";

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.languages;
import android.app.Activity; import android.app.Activity;
@ -6,14 +6,15 @@ import androidx.preference.Preference;
import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.db.exporter.AbstractExporter; import io.github.sspanak.tt9.db.exporter.AbstractExporter;
import io.github.sspanak.tt9.preferences.items.ItemClickable;
import io.github.sspanak.tt9.ui.DictionaryNotification; import io.github.sspanak.tt9.ui.DictionaryNotification;
abstract public class ItemExportAbstract extends ItemClickable { abstract class ItemExportAbstract extends ItemClickable {
final protected Activity activity; final protected Activity activity;
final private Runnable onStart; final private Runnable onStart;
final private Runnable onFinish; final private Runnable onFinish;
public ItemExportAbstract(Preference item, Activity activity, Runnable onStart, Runnable onFinish) { ItemExportAbstract(Preference item, Activity activity, Runnable onStart, Runnable onFinish) {
super(item); super(item);
this.activity = activity; this.activity = activity;
this.onStart = onStart; this.onStart = onStart;

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.languages;
import android.app.Activity; import android.app.Activity;
@ -7,11 +7,11 @@ import androidx.preference.Preference;
import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.db.exporter.CustomWordsExporter; import io.github.sspanak.tt9.db.exporter.CustomWordsExporter;
public class ItemExportCustomWords extends ItemExportAbstract { class ItemExportCustomWords extends ItemExportAbstract {
final public static String NAME = "dictionary_export_custom"; final public static String NAME = "dictionary_export_custom";
public ItemExportCustomWords(Preference item, Activity activity, Runnable onStart, Runnable onFinish) { ItemExportCustomWords(Preference item, Activity activity, Runnable onStart, Runnable onFinish) {
super(item, activity, onStart, onFinish); super(item, activity, onStart, onFinish);
} }

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.languages;
import android.app.Activity; import android.app.Activity;
@ -11,17 +11,18 @@ import io.github.sspanak.tt9.languages.Language;
import io.github.sspanak.tt9.languages.LanguageCollection; import io.github.sspanak.tt9.languages.LanguageCollection;
import io.github.sspanak.tt9.preferences.SettingsStore; import io.github.sspanak.tt9.preferences.SettingsStore;
public class ItemExportDictionary extends ItemExportAbstract { class ItemExportDictionary extends ItemExportAbstract {
final public static String NAME = "dictionary_export"; final public static String NAME = "dictionary_export";
protected final SettingsStore settings; protected final SettingsStore settings;
public ItemExportDictionary(Preference item, Activity activity, SettingsStore settings, Runnable onStart, Runnable onFinish) { ItemExportDictionary(Preference item, Activity activity, SettingsStore settings, Runnable onStart, Runnable onFinish) {
super(item, activity, onStart, onFinish); super(item, activity, onStart, onFinish);
this.settings = settings; this.settings = settings;
} }
@Override @Override
public ItemExportAbstract refreshStatus() { public ItemExportAbstract refreshStatus() {
if (item != null) { if (item != null) {
@ -30,6 +31,7 @@ public class ItemExportDictionary extends ItemExportAbstract {
return super.refreshStatus(); return super.refreshStatus();
} }
@Override @Override
protected DictionaryExporter getExporter() { protected DictionaryExporter getExporter() {
return DictionaryExporter.getInstance(); return DictionaryExporter.getInstance();

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.languages;
import android.content.Context; import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
@ -12,11 +12,12 @@ import io.github.sspanak.tt9.db.DictionaryLoader;
import io.github.sspanak.tt9.languages.Language; import io.github.sspanak.tt9.languages.Language;
import io.github.sspanak.tt9.languages.LanguageCollection; import io.github.sspanak.tt9.languages.LanguageCollection;
import io.github.sspanak.tt9.preferences.SettingsStore; import io.github.sspanak.tt9.preferences.SettingsStore;
import io.github.sspanak.tt9.preferences.items.ItemClickable;
import io.github.sspanak.tt9.ui.DictionaryLoadingBar; import io.github.sspanak.tt9.ui.DictionaryLoadingBar;
import io.github.sspanak.tt9.ui.UI; import io.github.sspanak.tt9.ui.UI;
public class ItemLoadDictionary extends ItemClickable { class ItemLoadDictionary extends ItemClickable {
public final static String NAME = "dictionary_load"; public final static String NAME = "dictionary_load";
private final Context context; private final Context context;
@ -28,7 +29,7 @@ public class ItemLoadDictionary extends ItemClickable {
private final DictionaryLoadingBar progressBar; private final DictionaryLoadingBar progressBar;
public ItemLoadDictionary(Preference item, Context context, SettingsStore settings, Runnable onStart, Runnable onFinish) { ItemLoadDictionary(Preference item, Context context, SettingsStore settings, Runnable onStart, Runnable onFinish) {
super(item); super(item);
this.context = context; this.context = context;

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.languages;
import android.content.Context; import android.content.Context;
@ -13,14 +13,14 @@ import io.github.sspanak.tt9.languages.LanguageCollection;
import io.github.sspanak.tt9.preferences.SettingsStore; import io.github.sspanak.tt9.preferences.SettingsStore;
import io.github.sspanak.tt9.ui.UI; import io.github.sspanak.tt9.ui.UI;
public class ItemSelectLanguage { class ItemSelectLanguage {
public static final String NAME = "pref_languages"; public static final String NAME = "pref_languages";
private final Context context; private final Context context;
private final SettingsStore settings; private final SettingsStore settings;
private final MultiSelectListPreference item; private final MultiSelectListPreference item;
public ItemSelectLanguage(Context context, MultiSelectListPreference multiSelect, SettingsStore settings) { ItemSelectLanguage(Context context, MultiSelectListPreference multiSelect, SettingsStore settings) {
this.context = context; this.context = context;
this.item = multiSelect; this.item = multiSelect;
this.settings = settings; this.settings = settings;
@ -63,7 +63,7 @@ public class ItemSelectLanguage {
item.setOnPreferenceChangeListener((preference, newValue) -> { item.setOnPreferenceChangeListener((preference, newValue) -> {
@SuppressWarnings("unchecked") HashSet<String> newLanguages = (HashSet<String>) newValue; @SuppressWarnings("unchecked") HashSet<String> newLanguages = (HashSet<String>) newValue;
if (newLanguages.size() == 0) { if (newLanguages.isEmpty()) {
newLanguages.add("1"); newLanguages.add("1");
} }

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.languages;
import androidx.preference.Preference; import androidx.preference.Preference;
@ -9,10 +9,11 @@ import io.github.sspanak.tt9.db.WordStoreAsync;
import io.github.sspanak.tt9.languages.Language; import io.github.sspanak.tt9.languages.Language;
import io.github.sspanak.tt9.languages.LanguageCollection; import io.github.sspanak.tt9.languages.LanguageCollection;
import io.github.sspanak.tt9.preferences.PreferencesActivity; import io.github.sspanak.tt9.preferences.PreferencesActivity;
import io.github.sspanak.tt9.preferences.items.ItemClickable;
import io.github.sspanak.tt9.ui.UI; import io.github.sspanak.tt9.ui.UI;
public class ItemTruncateAll extends ItemClickable { class ItemTruncateAll extends ItemClickable {
public static final String NAME = "dictionary_truncate"; public static final String NAME = "dictionary_truncate";
protected final PreferencesActivity activity; protected final PreferencesActivity activity;
@ -20,7 +21,7 @@ public class ItemTruncateAll extends ItemClickable {
private final Runnable onFinish; private final Runnable onFinish;
public ItemTruncateAll(Preference item, PreferencesActivity activity, Runnable onStart, Runnable onFinish) { ItemTruncateAll(Preference item, PreferencesActivity activity, Runnable onStart, Runnable onFinish) {
super(item); super(item);
this.activity = activity; this.activity = activity;
this.onStart = onStart; this.onStart = onStart;

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.languages;
import androidx.preference.Preference; import androidx.preference.Preference;
@ -11,13 +11,13 @@ import io.github.sspanak.tt9.preferences.PreferencesActivity;
import io.github.sspanak.tt9.preferences.SettingsStore; import io.github.sspanak.tt9.preferences.SettingsStore;
public class ItemTruncateUnselected extends ItemTruncateAll { class ItemTruncateUnselected extends ItemTruncateAll {
public static final String NAME = "dictionary_truncate_unselected"; public static final String NAME = "dictionary_truncate_unselected";
private final SettingsStore settings; private final SettingsStore settings;
public ItemTruncateUnselected(Preference item, PreferencesActivity context, SettingsStore settings, Runnable onStart, Runnable onFinish) { ItemTruncateUnselected(Preference item, PreferencesActivity context, SettingsStore settings, Runnable onStart, Runnable onFinish) {
super(item, context, onStart, onFinish); super(item, context, onStart, onFinish);
this.settings = settings; this.settings = settings;
} }

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.screens; package io.github.sspanak.tt9.preferences.screens.languages;
import java.util.ArrayList; import java.util.ArrayList;
@ -8,15 +8,10 @@ import io.github.sspanak.tt9.db.exporter.CustomWordsExporter;
import io.github.sspanak.tt9.db.exporter.DictionaryExporter; import io.github.sspanak.tt9.db.exporter.DictionaryExporter;
import io.github.sspanak.tt9.preferences.PreferencesActivity; import io.github.sspanak.tt9.preferences.PreferencesActivity;
import io.github.sspanak.tt9.preferences.items.ItemClickable; import io.github.sspanak.tt9.preferences.items.ItemClickable;
import io.github.sspanak.tt9.preferences.items.ItemExportCustomWords; import io.github.sspanak.tt9.preferences.screens.BaseScreenFragment;
import io.github.sspanak.tt9.preferences.items.ItemExportDictionary;
import io.github.sspanak.tt9.preferences.items.ItemLoadDictionary;
import io.github.sspanak.tt9.preferences.items.ItemSelectLanguage;
import io.github.sspanak.tt9.preferences.items.ItemTruncateAll;
import io.github.sspanak.tt9.preferences.items.ItemTruncateUnselected;
public class DictionariesScreen extends BaseScreenFragment { public class LanguagesScreen extends BaseScreenFragment {
public static final String NAME = "Dictionaries"; public static final String NAME = "Languages";
private final ArrayList<ItemClickable> clickables = new ArrayList<>(); private final ArrayList<ItemClickable> clickables = new ArrayList<>();
@ -24,12 +19,12 @@ public class DictionariesScreen extends BaseScreenFragment {
private ItemExportDictionary exportDictionaryItem; private ItemExportDictionary exportDictionaryItem;
private ItemExportCustomWords exportCustomWordsItem; private ItemExportCustomWords exportCustomWordsItem;
public DictionariesScreen() { init(); } public LanguagesScreen() { init(); }
public DictionariesScreen(PreferencesActivity activity) { init(activity); } public LanguagesScreen(PreferencesActivity activity) { init(activity); }
@Override public String getName() { return NAME; } @Override public String getName() { return NAME; }
@Override protected int getTitle() { return R.string.pref_choose_languages; } @Override protected int getTitle() { return R.string.pref_choose_languages; }
@Override protected int getXml() { return R.xml.prefs_screen_dictionaries; } @Override protected int getXml() { return R.xml.prefs_screen_languages; }
@Override @Override
protected void onCreate() { protected void onCreate() {

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.setup;
import android.content.Context; import android.content.Context;
@ -7,13 +7,14 @@ import androidx.preference.DropDownPreference;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.preferences.items.ItemDropDown;
public class ItemKeyPadDebounceTime extends ItemDropDown { class ItemKeyPadDebounceTime extends ItemDropDown {
public static final String NAME = "pref_key_pad_debounce_time"; public static final String NAME = "pref_key_pad_debounce_time";
private final Context context; private final Context context;
public ItemKeyPadDebounceTime(Context context, DropDownPreference item) { ItemKeyPadDebounceTime(Context context, DropDownPreference item) {
super(item); super(item);
this.context = context; this.context = context;
} }

View file

@ -1,4 +1,4 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.setup;
import android.content.Intent; import android.content.Intent;
import android.provider.Settings; import android.provider.Settings;
@ -6,12 +6,13 @@ import android.provider.Settings;
import androidx.preference.Preference; import androidx.preference.Preference;
import io.github.sspanak.tt9.preferences.PreferencesActivity; import io.github.sspanak.tt9.preferences.PreferencesActivity;
import io.github.sspanak.tt9.preferences.items.ItemClickable;
public class ItemSelectGlobalKeyboard extends ItemClickable { class ItemSelectGlobalKeyboard extends ItemClickable {
private final Intent clickIntent; private final Intent clickIntent;
private final PreferencesActivity activity; private final PreferencesActivity activity;
public ItemSelectGlobalKeyboard(Preference item, PreferencesActivity prefs) { ItemSelectGlobalKeyboard(Preference item, PreferencesActivity prefs) {
super(item); super(item);
this.activity = prefs; this.activity = prefs;

View file

@ -1,14 +1,15 @@
package io.github.sspanak.tt9.preferences.items; package io.github.sspanak.tt9.preferences.screens.setup;
import androidx.preference.Preference; import androidx.preference.Preference;
import io.github.sspanak.tt9.preferences.PreferencesActivity; import io.github.sspanak.tt9.preferences.PreferencesActivity;
import io.github.sspanak.tt9.preferences.items.ItemClickable;
import io.github.sspanak.tt9.ui.UI; import io.github.sspanak.tt9.ui.UI;
public class ItemSetDefaultGlobalKeyboard extends ItemClickable { class ItemSetDefaultGlobalKeyboard extends ItemClickable {
private final PreferencesActivity activity; private final PreferencesActivity activity;
public ItemSetDefaultGlobalKeyboard(Preference item, PreferencesActivity prefs) { ItemSetDefaultGlobalKeyboard(Preference item, PreferencesActivity prefs) {
super(item); super(item);
this.activity = prefs; this.activity = prefs;
} }

View file

@ -1,13 +1,11 @@
package io.github.sspanak.tt9.preferences.screens; package io.github.sspanak.tt9.preferences.screens.setup;
import androidx.preference.Preference; import androidx.preference.Preference;
import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.ime.helpers.SystemSettings; import io.github.sspanak.tt9.ime.helpers.SystemSettings;
import io.github.sspanak.tt9.preferences.PreferencesActivity; import io.github.sspanak.tt9.preferences.PreferencesActivity;
import io.github.sspanak.tt9.preferences.items.ItemKeyPadDebounceTime; import io.github.sspanak.tt9.preferences.screens.BaseScreenFragment;
import io.github.sspanak.tt9.preferences.items.ItemSelectGlobalKeyboard;
import io.github.sspanak.tt9.preferences.items.ItemSetDefaultGlobalKeyboard;
public class SetupScreen extends BaseScreenFragment { public class SetupScreen extends BaseScreenFragment {
final public static String NAME = "Setup"; final public static String NAME = "Setup";

View file

@ -13,7 +13,7 @@ import androidx.core.app.NotificationCompat;
import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.preferences.PreferencesActivity; import io.github.sspanak.tt9.preferences.PreferencesActivity;
import io.github.sspanak.tt9.preferences.screens.DictionariesScreen; import io.github.sspanak.tt9.preferences.screens.languages.LanguagesScreen;
public abstract class DictionaryNotification { public abstract class DictionaryNotification {
private static DictionaryNotification self; private static DictionaryNotification self;
@ -57,7 +57,7 @@ public abstract class DictionaryNotification {
private PendingIntent createNavigationIntent(Context context) { private PendingIntent createNavigationIntent(Context context) {
Intent intent = new Intent(context, PreferencesActivity.class); Intent intent = new Intent(context, PreferencesActivity.class);
intent.putExtra("screen", DictionariesScreen.NAME); intent.putExtra("screen", LanguagesScreen.NAME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
return PendingIntent.getActivity(context, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); return PendingIntent.getActivity(context, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
} }

View file

@ -22,7 +22,7 @@
<string name="dictionary_loaded">Зареждането на речник приключи.</string> <string name="dictionary_loaded">Зареждането на речник приключи.</string>
<string name="dictionary_loading">Зареждане на речник (%1$s)…</string> <string name="dictionary_loading">Зареждане на речник (%1$s)…</string>
<string name="dictionary_loading_please_wait">Моля, изчакайте да завърши зареждането на речник.</string> <string name="dictionary_loading_please_wait">Моля, изчакайте да завърши зареждането на речник.</string>
<string name="dictionary_load_title">Зареди речник</string> <string name="dictionary_load_title">Зареди избраните</string>
<string name="dictionary_not_found">Неуспешно зареждане. Липсва речник за „%1$s“.</string> <string name="dictionary_not_found">Неуспешно зареждане. Липсва речник за „%1$s“.</string>
<string name="dictionary_truncated">Речникът е изтрит успешно.</string> <string name="dictionary_truncated">Речникът е изтрит успешно.</string>
<string name="pref_category_abc_mode">Режим АБВ</string> <string name="pref_category_abc_mode">Режим АБВ</string>

View file

@ -17,7 +17,7 @@
<string name="dictionary_loading">Lade Wörterbuch (%1$s)…</string> <string name="dictionary_loading">Lade Wörterbuch (%1$s)…</string>
<string name="dictionary_loading_please_wait">Bitte warten Sie, bis das Wörterbuch geladen ist.</string> <string name="dictionary_loading_please_wait">Bitte warten Sie, bis das Wörterbuch geladen ist.</string>
<string name="dictionary_load_title">Wörterbuch laden</string> <string name="dictionary_load_title">Ausgewählte laden</string>
<string name="dictionary_not_found">Wird nicht geladen. Wörterbuch für \"%1$s\" nicht gefunden.</string> <string name="dictionary_not_found">Wird nicht geladen. Wörterbuch für \"%1$s\" nicht gefunden.</string>
<string name="pref_category_hacks">Kompatibilität</string> <string name="pref_category_hacks">Kompatibilität</string>
<string name="dictionary_loading_indeterminate">Lade Wörterbuch</string> <string name="dictionary_loading_indeterminate">Lade Wörterbuch</string>

View file

@ -27,7 +27,7 @@
<string name="setup_default_keyboard">Selecciona teclado predeterminado</string> <string name="setup_default_keyboard">Selecciona teclado predeterminado</string>
<string name="char_newline">Nueva línea</string> <string name="char_newline">Nueva línea</string>
<string name="dictionary_loading_please_wait">Por favor, espera a que se cargue el diccionario.</string> <string name="dictionary_loading_please_wait">Por favor, espera a que se cargue el diccionario.</string>
<string name="dictionary_load_title">Cargar diccionario</string> <string name="dictionary_load_title">Cargar los seleccionados</string>
<string name="dictionary_loading_indeterminate">Cargando diccionario</string> <string name="dictionary_loading_indeterminate">Cargando diccionario</string>
<string name="dictionary_loading">Cargando diccionario (%1$s)…</string> <string name="dictionary_loading">Cargando diccionario (%1$s)…</string>
<string name="pref_category_about">Acerca de esta aplicación</string> <string name="pref_category_about">Acerca de esta aplicación</string>

View file

@ -21,7 +21,7 @@
<string name="dictionary_loaded">Chargement du dictionnaire terminé.</string> <string name="dictionary_loaded">Chargement du dictionnaire terminé.</string>
<string name="dictionary_loading">Chargement du dictionnaire (%1$s)…</string> <string name="dictionary_loading">Chargement du dictionnaire (%1$s)…</string>
<string name="dictionary_loading_please_wait">Veuillez patienter pendant le chargement du dictionnaire.</string> <string name="dictionary_loading_please_wait">Veuillez patienter pendant le chargement du dictionnaire.</string>
<string name="dictionary_load_title">Charger le dictionnaire</string> <string name="dictionary_load_title">Charger les sélectionnées</string>
<string name="dictionary_not_found">Echec du chargement. Dictionnaire «%1$s» introuvable.</string> <string name="dictionary_not_found">Echec du chargement. Dictionnaire «%1$s» introuvable.</string>
<string name="pref_category_function_keys">Raccourcis clavier</string> <string name="pref_category_function_keys">Raccourcis clavier</string>
<string name="pref_category_abc_mode">Saisie ABC</string> <string name="pref_category_abc_mode">Saisie ABC</string>

View file

@ -20,7 +20,7 @@
<string name="dictionary_loaded">Caricamento del dizionario terminato.</string> <string name="dictionary_loaded">Caricamento del dizionario terminato.</string>
<string name="dictionary_loading">Caricamento del dizionario (%1$s)…</string> <string name="dictionary_loading">Caricamento del dizionario (%1$s)…</string>
<string name="dictionary_loading_please_wait">Attendi che il dizionario si carichi, per favore.</string> <string name="dictionary_loading_please_wait">Attendi che il dizionario si carichi, per favore.</string>
<string name="dictionary_load_title">Carica il dizionario</string> <string name="dictionary_load_title">Carica le selezionate</string>
<string name="dictionary_not_found">Impossibile caricare. Dizionario per “%1$s” non trovato.</string> <string name="dictionary_not_found">Impossibile caricare. Dizionario per “%1$s” non trovato.</string>
<string name="pref_category_hacks">Compatibilità</string> <string name="pref_category_hacks">Compatibilità</string>
<string name="pref_category_function_keys">Scorciatoie da tastiera</string> <string name="pref_category_function_keys">Scorciatoie da tastiera</string>

View file

@ -35,9 +35,9 @@
<string name="dictionary_loading">טוען מילון (%1$s)…</string> <string name="dictionary_loading">טוען מילון (%1$s)…</string>
<string name="dictionary_loading_indeterminate">טוען מילון</string> <string name="dictionary_loading_indeterminate">טוען מילון</string>
<string name="dictionary_loading_please_wait">אנא המתינו עד שהמילון יטען.</string> <string name="dictionary_loading_please_wait">אנא המתינו עד שהמילון יטען.</string>
<string name="dictionary_load_title">טעינת מילון</string>
<string name="setup_keyboard_status">סטטוס</string> <string name="setup_keyboard_status">סטטוס</string>
<string name="setup_default_keyboard">בחר מקלדת ברירת מחדל</string> <string name="setup_default_keyboard">בחר מקלדת ברירת מחדל</string>
<string name="dictionary_load_title">טען את הנבחרים</string>
<string name="dictionary_not_found">הטעינה נכשלה, לא נמצא מילון עבור \"%1$s\".</string> <string name="dictionary_not_found">הטעינה נכשלה, לא נמצא מילון עבור \"%1$s\".</string>
<string name="dictionary_truncate_title">מחק הכל</string> <string name="dictionary_truncate_title">מחק הכל</string>
<string name="dictionary_truncate_unselected">מחק את הבלתי נבחר</string> <string name="dictionary_truncate_unselected">מחק את הבלתי נבחר</string>

View file

@ -15,7 +15,7 @@
<string name="pref_choose_languages">Talen</string> <string name="pref_choose_languages">Talen</string>
<string name="dictionary_loading">Woordenboek laden (%1$s)…</string> <string name="dictionary_loading">Woordenboek laden (%1$s)…</string>
<string name="dictionary_loading_please_wait">Wacht alsjeblieft tot het woordenboek geladen is.</string> <string name="dictionary_loading_please_wait">Wacht alsjeblieft tot het woordenboek geladen is.</string>
<string name="dictionary_load_title">Woordenboek laden</string> <string name="dictionary_load_title">Geselecteerde laden</string>
<string name="dictionary_not_found">Laden mislukt. Woordenboek voor %1$s niet gevonden.</string> <string name="dictionary_not_found">Laden mislukt. Woordenboek voor %1$s niet gevonden.</string>
<string name="dictionary_truncated">Woordenboek succesvol gewist.</string> <string name="dictionary_truncated">Woordenboek succesvol gewist.</string>
<string name="pref_category_hacks">Compatibiliteit</string> <string name="pref_category_hacks">Compatibiliteit</string>

View file

@ -36,7 +36,7 @@
<string name="dictionary_loading">Carregando dicionário (%1$s)…</string> <string name="dictionary_loading">Carregando dicionário (%1$s)…</string>
<string name="dictionary_loading_indeterminate">Carregando dicionário…</string> <string name="dictionary_loading_indeterminate">Carregando dicionário…</string>
<string name="dictionary_loading_please_wait">Aguarde o carregamento do dicionário, por favor</string> <string name="dictionary_loading_please_wait">Aguarde o carregamento do dicionário, por favor</string>
<string name="dictionary_load_title">Carregar Dicionário</string> <string name="dictionary_load_title">Carregar os selecionados</string>
<string name="dictionary_not_found">Falha no carregamento. Não foi encontrado um dicionário para o idioma \"%1$s\".</string> <string name="dictionary_not_found">Falha no carregamento. Não foi encontrado um dicionário para o idioma \"%1$s\".</string>
<string name="dictionary_truncate_title">Limpar Dicionário</string> <string name="dictionary_truncate_title">Limpar Dicionário</string>
<string name="dictionary_truncated">Dicionário apagado com sucesso.</string> <string name="dictionary_truncated">Dicionário apagado com sucesso.</string>

View file

@ -21,7 +21,7 @@
<string name="dictionary_loaded">Загрузка словаря завершена.</string> <string name="dictionary_loaded">Загрузка словаря завершена.</string>
<string name="dictionary_loading">Загрузка словаря (%1$s)…</string> <string name="dictionary_loading">Загрузка словаря (%1$s)…</string>
<string name="dictionary_loading_please_wait">Пожалуйста, подождите, пока словарь загружается.</string> <string name="dictionary_loading_please_wait">Пожалуйста, подождите, пока словарь загружается.</string>
<string name="dictionary_load_title">Загрузить словарь</string> <string name="dictionary_load_title">Загрузить выбранные</string>
<string name="dictionary_not_found">Ошибка загрузки. Словарь «%1$s» не найден.</string> <string name="dictionary_not_found">Ошибка загрузки. Словарь «%1$s» не найден.</string>
<string name="dictionary_truncated">Словарь успешно удален.</string> <string name="dictionary_truncated">Словарь успешно удален.</string>
<string name="dictionary_loading_indeterminate">Загрузка словаря</string> <string name="dictionary_loading_indeterminate">Загрузка словаря</string>
@ -79,7 +79,7 @@
<string name="pref_dark_theme_no">Нет</string> <string name="pref_dark_theme_no">Нет</string>
<string name="pref_dark_theme_auto">Автоматически</string> <string name="pref_dark_theme_auto">Автоматически</string>
<string name="add_word_confirm">Добавить слово «%1$s» в %2$s?</string> <string name="add_word_confirm">Добавить слово «%1$s» в %2$s?</string>
<string name="dictionary_export">Экспорт выбранные</string> <string name="dictionary_export">Экспортировать выбранные</string>
<string name="dictionary_export_custom_words_button">Экспортировать</string> <string name="dictionary_export_custom_words_button">Экспортировать</string>
<string name="dictionary_export_custom_words_summary">Экспорт CSV со всеми добавленными словами в: «%1$s».</string> <string name="dictionary_export_custom_words_summary">Экспорт CSV со всеми добавленными словами в: «%1$s».</string>
<string name="dictionary_export_failed">Ошибка экспорта</string> <string name="dictionary_export_failed">Ошибка экспорта</string>

View file

@ -57,14 +57,14 @@
<string name="dictionary_loading">Словник завантажується (%1$s)…</string> <string name="dictionary_loading">Словник завантажується (%1$s)…</string>
<string name="dictionary_loading_indeterminate">Словник завантажується</string> <string name="dictionary_loading_indeterminate">Словник завантажується</string>
<string name="dictionary_loading_please_wait">Будь ласка, дочекайтесь завантаження словника.</string> <string name="dictionary_loading_please_wait">Будь ласка, дочекайтесь завантаження словника.</string>
<string name="dictionary_load_title">Завантажити словник</string> <string name="dictionary_load_title">Завантажити вибрані</string>
<string name="dictionary_not_found">Помилка завантаження. Словник для мови \"%1$s\" не знайдений.</string> <string name="dictionary_not_found">Помилка завантаження. Словник для мови \"%1$s\" не знайдений.</string>
<string name="dictionary_truncate_title">Видалити все</string> <string name="dictionary_truncate_title">Видалити все</string>
<string name="dictionary_truncate_unselected">Видалити невибрані</string> <string name="dictionary_truncate_unselected">Видалити невибрані</string>
<string name="dictionary_truncated">Словник видалено.</string> <string name="dictionary_truncated">Словник видалено.</string>
<string name="dictionary_truncating">Видаляється…</string> <string name="dictionary_truncating">Видаляється…</string>
<string name="dictionary_export">Експорт вибрані</string> <string name="dictionary_export">Експортувати вибрані</string>
<string name="dictionary_export_custom_words_button">Експортувати</string> <string name="dictionary_export_custom_words_button">Експортувати</string>
<string name="dictionary_export_custom_words_summary">Експорт CSV з усіма доданими словами в: \"%1$s\".</string> <string name="dictionary_export_custom_words_summary">Експорт CSV з усіма доданими словами в: \"%1$s\".</string>
<string name="dictionary_export_failed">Помилка експорту</string> <string name="dictionary_export_failed">Помилка експорту</string>

View file

@ -65,7 +65,7 @@
<string name="dictionary_loading">Loading dictionary (%1$s)…</string> <string name="dictionary_loading">Loading dictionary (%1$s)…</string>
<string name="dictionary_loading_indeterminate">Loading dictionary</string> <string name="dictionary_loading_indeterminate">Loading dictionary</string>
<string name="dictionary_loading_please_wait">Please wait for the dictionary to load.</string> <string name="dictionary_loading_please_wait">Please wait for the dictionary to load.</string>
<string name="dictionary_load_title">Load Dictionary</string> <string name="dictionary_load_title">Load Selected</string>
<string name="dictionary_not_found">Loading failed. Dictionary for \"%1$s\" not found.</string> <string name="dictionary_not_found">Loading failed. Dictionary for \"%1$s\" not found.</string>
<string name="dictionary_truncate_title">Delete All</string> <string name="dictionary_truncate_title">Delete All</string>
<string name="dictionary_truncate_unselected">Delete Unselected</string> <string name="dictionary_truncate_unselected">Delete Unselected</string>

View file

@ -21,8 +21,8 @@
app:title="@string/pref_category_appearance" /> app:title="@string/pref_category_appearance" />
<Preference <Preference
app:fragment="io.github.sspanak.tt9.preferences.DictionariesScreen" app:fragment="io.github.sspanak.tt9.preferences.LanguagesScreen"
app:key="screen_dictionaries" app:key="screen_languages"
app:layout="@layout/pref_text" app:layout="@layout/pref_text"
app:title="@string/pref_choose_languages" /> app:title="@string/pref_choose_languages" />