1
0
Fork 0

easier access to the setup screen

This commit is contained in:
sspanak 2023-03-30 11:52:01 +03:00 committed by Dimo Karaivanov
parent eba1e128b4
commit 9cdf82f522
10 changed files with 54 additions and 41 deletions

View file

@ -39,7 +39,8 @@
<string name="setup_default_keyboard">Избор на клавиатура по подразбиране</string>
<string name="setup_goto_main_screen">Назад към Настройки</string>
<string name="setup_tt9_on">Traditional T9 е активен</string>
<string name="setup_tt9_off">Traditional T9 е изключен. Натиснете тук, за да го включите от настройките на Андроид.</string>
<string name="setup_tt9_off">Traditional T9 е изключен</string>
<string name="setup_click_here_to_enable">Натиснете тук, за да включите TT9 от настройките на Андроид.</string>
<string name="key_hold_key">(задръж)</string>
<string name="dictionary_loading_indeterminate">Зареждане на речник</string>
<string name="dictionary_load_cancelled">Зареждането е отменено.</string>

View file

@ -41,7 +41,8 @@
<string name="setup_default_keyboard">Sélectionnez le clavier par défaut</string>
<string name="setup_goto_main_screen">Retour à l\'écran des paramètres</string>
<string name="setup_tt9_on">Traditional T9 est activé</string>
<string name="setup_tt9_off">Traditional T9 est désactivé. Cliquez ici pour l\'activer dans les paramètres Android.</string>
<string name="setup_tt9_off">Traditional T9 est désactivé</string>
<string name="setup_click_here_to_enable">Cliquez ici pour activer TT9 dans les paramètres Android.</string>
<string name="char_newline">Nouvelle ligne</string>
<string name="pref_double_zero_char">Caractère lorsque «0» est appuyé deux fois</string>
<string name="add_word_field_placeholder">Tapez un mot…</string>

View file

@ -49,7 +49,8 @@
<string name="setup_default_keyboard">Выберите клавиатуру по умолчанию</string>
<string name="setup_goto_main_screen">Вернуться к настройкам</string>
<string name="setup_tt9_on">Traditional T9 активен</string>
<string name="setup_tt9_off">Traditional T9 отключен. Нажмите здесь, чтобы включить его в настройках Android.</string>
<string name="setup_tt9_off">Traditional T9 отключен</string>
<string name="setup_click_here_to_enable">Нажмите здесь, чтобы включить TT9 в настройках Android.</string>
<string name="key_hold_key">(зажать)</string>
<string name="key_back">Назад</string>
<string name="key_call">Позвонить</string>

View file

@ -41,7 +41,8 @@
<string name="setup_default_keyboard">Вибрати стандартну клавіатуру</string>
<string name="setup_goto_main_screen">Назад до налаштувань</string>
<string name="setup_tt9_on">Traditional T9 активний</string>
<string name="setup_tt9_off">Traditional T9 вимкнено. Натисніть тут, щоб увімкнути його в налаштуваннях Android.</string>
<string name="setup_tt9_off">Traditional T9 вимкнено</string>
<string name="setup_click_here_to_enable">Натисніть тут, щоб увімкнути TT9 в налаштуваннях Android.</string>
<string name="key_hold_key">(затиснути)</string>
<string name="function_add_word_key">Додати нове слово</string>
<string name="function_backspace_key">Стерти</string>

View file

@ -60,7 +60,8 @@
<string name="setup_default_keyboard">Select Default Keyboard</string>
<string name="setup_goto_main_screen">Return to Settings</string>
<string name="setup_tt9_on">Traditional T9 is enabled</string>
<string name="setup_tt9_off">Traditional T9 is disabled. Click here to enable it from Android Settings.</string>
<string name="setup_tt9_off">Traditional T9 is disabled</string>
<string name="setup_click_here_to_enable">Click here to enable TT9 from Android Settings.</string>
<string name="key_hold_key">(hold)</string>
<string name="key_none" translatable="false">--</string>

View file

@ -32,6 +32,12 @@
app:layout="@layout/pref_text"
app:title="@string/pref_category_keypad" />
<Preference
app:fragment="io.github.sspanak.tt9.preferences.SetupScreen"
app:key="screen_setup"
app:layout="@layout/pref_text"
app:title="@string/pref_category_setup" />
<PreferenceCategory
android:title="@string/pref_category_about"
app:layout="@layout/pref_category"

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"
app:layout="@layout/pref_text"
app:orderingFromXml="true">
<Preference
@ -12,21 +11,4 @@
app:key="global_default_keyboard"
app:layout="@layout/pref_text"
app:title="@string/setup_default_keyboard" />
<Preference
app:fragment="io.github.sspanak.tt9.preferences.MainScreen"
app:key="goto_main_screen"
app:layout="@layout/pref_text"
app:title="@string/setup_goto_main_screen"
app:enabled="false" />
<PreferenceCategory
android:title="@string/pref_category_about"
app:layout="@layout/pref_category"
app:singleLineTitle="true">
<Preference
app:key="version_info"
app:layout="@layout/pref_text"
app:title="@string/app_name" />
</PreferenceCategory>
</PreferenceScreen>

View file

@ -20,9 +20,9 @@ import io.github.sspanak.tt9.ime.helpers.InputModeValidator;
import io.github.sspanak.tt9.preferences.screens.AppearanceScreen;
import io.github.sspanak.tt9.preferences.screens.DictionariesScreen;
import io.github.sspanak.tt9.preferences.screens.HotkeysScreen;
import io.github.sspanak.tt9.preferences.screens.SetupScreen;
import io.github.sspanak.tt9.preferences.screens.KeyPadScreen;
import io.github.sspanak.tt9.preferences.screens.MainSettingsScreen;
import io.github.sspanak.tt9.preferences.screens.SetupScreen;
import io.github.sspanak.tt9.ui.DictionaryLoadingBar;
public class PreferencesActivity extends AppCompatActivity implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback {
@ -82,8 +82,10 @@ public class PreferencesActivity extends AppCompatActivity implements Preference
return new HotkeysScreen(this);
case "KeyPad":
return new KeyPadScreen(this);
case "Setup":
return new SetupScreen(this);
default:
return globalKeyboardSettings.isTT9Enabled() ? new MainSettingsScreen(this) : new SetupScreen(this);
return new MainSettingsScreen(this);
}
}

View file

@ -5,6 +5,8 @@ import android.net.Uri;
import androidx.preference.Preference;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.regex.Pattern;
import io.github.sspanak.tt9.BuildConfig;
@ -21,13 +23,22 @@ public class MainSettingsScreen extends BaseScreenFragment {
@Override protected int getTitle() { return R.string.app_settings;}
@Override protected int getXml() { return R.xml.prefs; }
@Override
public void onCreate() {
createSettingsSection();
addHelpLink();
createAboutSection();
}
@Override
public void onResume() {
super.onResume();
createSettingsSection();
}
private void addHelpLink() {
try {
if (!releaseVersionRegex.matcher(BuildConfig.VERSION_NAME).find()) {
@ -58,4 +69,26 @@ public class MainSettingsScreen extends BaseScreenFragment {
vi.setSummary(BuildConfig.VERSION_FULL);
}
}
private void createSettingsSection() {
boolean isTT9Enabled = activity.globalKeyboardSettings.isTT9Enabled();
Preference gotoSetup = findPreference("screen_setup");
if (gotoSetup != null) {
gotoSetup.setSummary(isTT9Enabled ? "" : activity.getString(R.string.setup_click_here_to_enable));
}
ArrayList<Preference> screens = new ArrayList<>(Arrays.asList(
findPreference("screen_appearance"),
findPreference("screen_dictionaries"),
findPreference("screen_keypad")
));
for (Preference goToScreen : screens) {
if (goToScreen != null) {
goToScreen.setEnabled(isTT9Enabled);
}
}
}
}

View file

@ -2,7 +2,6 @@ package io.github.sspanak.tt9.preferences.screens;
import androidx.preference.Preference;
import io.github.sspanak.tt9.BuildConfig;
import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.preferences.PreferencesActivity;
import io.github.sspanak.tt9.preferences.items.ItemSelectGlobalKeyboard;
@ -18,7 +17,6 @@ public class SetupScreen extends BaseScreenFragment {
@Override
public void onCreate() {
createKeyboardSection();
createAboutSection();
}
@Override
@ -43,18 +41,5 @@ public class SetupScreen extends BaseScreenFragment {
if (defaultKeyboardItem != null) {
new ItemSetDefaultGlobalKeyboard(defaultKeyboardItem, activity).enableClickHandler();
}
Preference goToMain = findPreference("goto_main_screen");
if (goToMain != null) {
goToMain.setEnabled(isTT9On);
}
}
private void createAboutSection() {
Preference vi = findPreference("version_info");
if (vi != null) {
vi.setSummary(BuildConfig.VERSION_FULL);
}
}
}