diff --git a/src/io/github/sspanak/tt9/Logger.java b/src/io/github/sspanak/tt9/Logger.java
index 83264a2a..20fc723c 100644
--- a/src/io/github/sspanak/tt9/Logger.java
+++ b/src/io/github/sspanak/tt9/Logger.java
@@ -3,7 +3,7 @@ package io.github.sspanak.tt9;
import android.util.Log;
public class Logger {
- public static int LEVEL = BuildConfig.DEBUG ? Log.DEBUG : Log.ERROR;
+ public static final int LEVEL = BuildConfig.DEBUG ? Log.DEBUG : Log.ERROR;
static public void v(String tag, String msg) {
if (LEVEL <= Log.VERBOSE) {
diff --git a/src/io/github/sspanak/tt9/db/migrations/DB7.java b/src/io/github/sspanak/tt9/db/migrations/DB7.java
index 4e8b662c..36b1a5e4 100644
--- a/src/io/github/sspanak/tt9/db/migrations/DB7.java
+++ b/src/io/github/sspanak/tt9/db/migrations/DB7.java
@@ -2,6 +2,7 @@ package io.github.sspanak.tt9.db.migrations;
import android.content.Context;
+import androidx.annotation.NonNull;
import androidx.room.migration.Migration;
import androidx.sqlite.db.SupportSQLiteDatabase;
@@ -74,7 +75,7 @@ public class DB7 {
}
@Override
- public void migrate(SupportSQLiteDatabase database) {
+ public void migrate(@NonNull SupportSQLiteDatabase database) {
migrateSQL(database);
migrateSettings();
}
diff --git a/src/io/github/sspanak/tt9/ime/KeyPadHandler.java b/src/io/github/sspanak/tt9/ime/KeyPadHandler.java
index 972d601e..67b7e1f4 100644
--- a/src/io/github/sspanak/tt9/ime/KeyPadHandler.java
+++ b/src/io/github/sspanak/tt9/ime/KeyPadHandler.java
@@ -114,12 +114,6 @@ abstract class KeyPadHandler extends InputMethodService {
}
- @Override
- public void onDestroy() {
- super.onDestroy();
- }
-
-
/**
* Use this to monitor key events being delivered to the application. We get
* first crack at them, and can either resume them or let them continue to
@@ -283,7 +277,6 @@ abstract class KeyPadHandler extends InputMethodService {
// toggle handlers
abstract protected boolean shouldTrackUpDown();
abstract protected boolean shouldTrackLeftRight();
- abstract protected boolean shouldTrackNumPress();
// default hardware key handlers
abstract public boolean onBackspace();
diff --git a/src/io/github/sspanak/tt9/ime/TraditionalT9.java b/src/io/github/sspanak/tt9/ime/TraditionalT9.java
index e1799b5a..d3cb7122 100644
--- a/src/io/github/sspanak/tt9/ime/TraditionalT9.java
+++ b/src/io/github/sspanak/tt9/ime/TraditionalT9.java
@@ -383,11 +383,6 @@ public class TraditionalT9 extends KeyPadHandler {
}
- protected boolean shouldTrackNumPress() {
- return mInputMode.shouldTrackNumPress();
- }
-
-
protected boolean shouldTrackUpDown() {
return mEditing != EDITING_STRICT_NUMERIC && !isSuggestionViewHidden() && mInputMode.shouldTrackUpDown();
}
@@ -641,7 +636,6 @@ public class TraditionalT9 extends KeyPadHandler {
private void determineNextTextCase() {
mInputMode.determineNextWordTextCase(
- settings,
textField.isThereText(),
textField.getTextBeforeCursor()
);
diff --git a/src/io/github/sspanak/tt9/ime/helpers/InputType.java b/src/io/github/sspanak/tt9/ime/helpers/InputType.java
index f8ebdedc..a524fc23 100644
--- a/src/io/github/sspanak/tt9/ime/helpers/InputType.java
+++ b/src/io/github/sspanak/tt9/ime/helpers/InputType.java
@@ -25,7 +25,7 @@ public class InputType {
* Special or limited input type means the input connection is not rich,
* or it can not process or show things like candidate text, nor retrieve the current text.
*
- * https://developer.android.com/reference/android/text/InputType#TYPE_NULL
+ * ...
*/
public boolean isLimited() {
return field != null && field.inputType == android.text.InputType.TYPE_NULL;
diff --git a/src/io/github/sspanak/tt9/ime/modes/InputMode.java b/src/io/github/sspanak/tt9/ime/modes/InputMode.java
index 02157baa..bf9ea330 100644
--- a/src/io/github/sspanak/tt9/ime/modes/InputMode.java
+++ b/src/io/github/sspanak/tt9/ime/modes/InputMode.java
@@ -22,14 +22,14 @@ abstract public class InputMode {
public static final int CASE_CAPITALIZE = 1;
public static final int CASE_LOWER = 2;
public static final int CASE_DICTIONARY = 3; // do not force it, but use the dictionary word as-is
- protected ArrayList allowedTextCases = new ArrayList<>();
+ protected final ArrayList allowedTextCases = new ArrayList<>();
protected int textCase = CASE_LOWER;
protected int textFieldTextCase = CASE_UNDEFINED;
// data
protected int autoAcceptTimeout = -1;
protected Language language;
- protected ArrayList suggestions = new ArrayList<>();
+ protected final ArrayList suggestions = new ArrayList<>();
protected int keyCode = 0;
@@ -87,7 +87,7 @@ abstract public class InputMode {
public boolean shouldAddAutoSpace(InputType inputType, TextField textField, boolean isWordAcceptedManually, int incomingKey, boolean hold, boolean repeat) { return false; }
public boolean shouldDeletePrecedingSpace(InputType inputType) { return false; }
public boolean shouldSelectNextSuggestion() { return false; }
- public boolean shouldTrackNumPress() { return true; }
+
public boolean shouldTrackUpDown() { return false; }
public boolean shouldTrackLeftRight() { return false; }
@@ -122,7 +122,7 @@ abstract public class InputMode {
textCase = allowedTextCases.get(nextIndex);
}
- public void determineNextWordTextCase(SettingsStore settings, boolean isThereText, String textBeforeCursor) {}
+ public void determineNextWordTextCase(boolean isThereText, String textBeforeCursor) {}
// Based on the internal logic of the mode (punctuation or grammar rules), re-adjust the text case for when getSuggestions() is called.
protected String adjustSuggestionTextCase(String word, int newTextCase) { return word; }
diff --git a/src/io/github/sspanak/tt9/ime/modes/Mode123.java b/src/io/github/sspanak/tt9/ime/modes/Mode123.java
index 569d5d10..9b9db887 100644
--- a/src/io/github/sspanak/tt9/ime/modes/Mode123.java
+++ b/src/io/github/sspanak/tt9/ime/modes/Mode123.java
@@ -28,7 +28,6 @@ public class Mode123 extends InputMode {
@Override final public boolean is123() { return true; }
@Override public int getSequenceLength() { return 0; }
- @Override public boolean shouldTrackNumPress() { return false; }
@NonNull
@Override
diff --git a/src/io/github/sspanak/tt9/ime/modes/ModePredictive.java b/src/io/github/sspanak/tt9/ime/modes/ModePredictive.java
index c0ac1041..fbc2e854 100644
--- a/src/io/github/sspanak/tt9/ime/modes/ModePredictive.java
+++ b/src/io/github/sspanak/tt9/ime/modes/ModePredictive.java
@@ -257,7 +257,7 @@ public class ModePredictive extends InputMode {
}
@Override
- public void determineNextWordTextCase(SettingsStore settings, boolean isThereText, String textBeforeCursor) {
+ public void determineNextWordTextCase(boolean isThereText, String textBeforeCursor) {
textCase = autoTextCase.determineNextWordTextCase(isThereText, textCase, textFieldTextCase, textBeforeCursor);
}
diff --git a/src/io/github/sspanak/tt9/ime/modes/helpers/Predictions.java b/src/io/github/sspanak/tt9/ime/modes/helpers/Predictions.java
index 90929fa7..1f23a96a 100644
--- a/src/io/github/sspanak/tt9/ime/modes/helpers/Predictions.java
+++ b/src/io/github/sspanak/tt9/ime/modes/helpers/Predictions.java
@@ -73,9 +73,8 @@ public class Predictions {
return this;
}
- public Predictions setWordsChangedHandler(Handler handler) {
+ public void setWordsChangedHandler(Handler handler) {
wordsChangedHandler = handler;
- return this;
}
public ArrayList getList() {
diff --git a/src/io/github/sspanak/tt9/languages/InvalidLanguageCharactersException.java b/src/io/github/sspanak/tt9/languages/InvalidLanguageCharactersException.java
index 67ba09c0..2da2fe62 100644
--- a/src/io/github/sspanak/tt9/languages/InvalidLanguageCharactersException.java
+++ b/src/io/github/sspanak/tt9/languages/InvalidLanguageCharactersException.java
@@ -8,8 +8,5 @@ public class InvalidLanguageCharactersException extends Exception {
this.language = language;
}
- public Language getLanguage() {
- return language;
- }
}
diff --git a/src/io/github/sspanak/tt9/languages/definitions/Spanish.java b/src/io/github/sspanak/tt9/languages/definitions/Spanish.java
index 309cdd76..120c73c1 100644
--- a/src/io/github/sspanak/tt9/languages/definitions/Spanish.java
+++ b/src/io/github/sspanak/tt9/languages/definitions/Spanish.java
@@ -19,9 +19,9 @@ public class Spanish extends English {
characterMap.set(1, new ArrayList<>(Characters.Sentence));
characterMap.get(1).addAll(Arrays.asList("¡", "¿"));
- characterMap.get(2).addAll(Collections.singletonList("á"));
- characterMap.get(3).addAll(Collections.singletonList("é"));
- characterMap.get(4).addAll(Collections.singletonList("í"));
+ characterMap.get(2).add("á");
+ characterMap.get(3).add("é");
+ characterMap.get(4).add("í");
characterMap.set(6, new ArrayList<>(Arrays.asList("m", "n", "ñ", "o", "ó")));
characterMap.get(8).addAll(Arrays.asList("ú", "ü"));
}
diff --git a/src/io/github/sspanak/tt9/preferences/SettingsStore.java b/src/io/github/sspanak/tt9/preferences/SettingsStore.java
index 8271e300..8b7a1a55 100644
--- a/src/io/github/sspanak/tt9/preferences/SettingsStore.java
+++ b/src/io/github/sspanak/tt9/preferences/SettingsStore.java
@@ -198,11 +198,8 @@ public class SettingsStore {
return getFunctionKey(SectionKeymap.ITEM_SHOW_SETTINGS);
}
-
/************* UI settings *************/
- public boolean getNotifyNextLanguageInModeAbc() { return prefs.getBoolean("notify_next_language_in_mode_abc", true); }
-
public boolean getDarkTheme() { return prefs.getBoolean("pref_dark_theme", true); }
public boolean getShowSoftKeys() { return prefs.getBoolean("pref_show_soft_keys", true); }
diff --git a/src/io/github/sspanak/tt9/preferences/items/ItemClickable.java b/src/io/github/sspanak/tt9/preferences/items/ItemClickable.java
index 7d6e4c24..9a2fec07 100644
--- a/src/io/github/sspanak/tt9/preferences/items/ItemClickable.java
+++ b/src/io/github/sspanak/tt9/preferences/items/ItemClickable.java
@@ -28,7 +28,7 @@ abstract class ItemClickable {
*
* My smashed Qin F21 Pro+ occasionally does this, if I press the keys hard.
* There were reports the same happens on Kyocera KYF31, causing absolutely undesirable side effects.
- * @see: https://github.com/sspanak/tt9/issues/117
+ * @see: ...
*/
protected boolean debounceClick(Preference p) {
long now = System.currentTimeMillis();
diff --git a/src/io/github/sspanak/tt9/preferences/items/ItemSelectLanguage.java b/src/io/github/sspanak/tt9/preferences/items/ItemSelectLanguage.java
index b62db3c9..7d2e3f5f 100644
--- a/src/io/github/sspanak/tt9/preferences/items/ItemSelectLanguage.java
+++ b/src/io/github/sspanak/tt9/preferences/items/ItemSelectLanguage.java
@@ -46,9 +46,9 @@ public class ItemSelectLanguage {
}
- public ItemSelectLanguage enableValidation() {
+ public void enableValidation() {
if (item == null) {
- return this;
+ return;
}
item.setOnPreferenceChangeListener((preference, newValue) -> {
@@ -65,7 +65,6 @@ public class ItemSelectLanguage {
return false;
});
- return this;
}
diff --git a/src/io/github/sspanak/tt9/preferences/items/ItemSelectZeroKeyCharacter.java b/src/io/github/sspanak/tt9/preferences/items/ItemSelectZeroKeyCharacter.java
index a8a6dce3..003a745d 100644
--- a/src/io/github/sspanak/tt9/preferences/items/ItemSelectZeroKeyCharacter.java
+++ b/src/io/github/sspanak/tt9/preferences/items/ItemSelectZeroKeyCharacter.java
@@ -41,10 +41,10 @@ public class ItemSelectZeroKeyCharacter {
}
- public ItemSelectZeroKeyCharacter activate() {
+ public void activate() {
if (item == null) {
Logger.w("tt9/ItemSelectZeroKeyChar.activate", "Cannot set a click listener a NULL item. Ignoring.");
- return this;
+ return;
}
item.setOnPreferenceChangeListener((preference, newChar) -> {
@@ -53,7 +53,6 @@ public class ItemSelectZeroKeyCharacter {
return true;
});
- return this;
}
diff --git a/src/io/github/sspanak/tt9/preferences/items/SectionKeymap.java b/src/io/github/sspanak/tt9/preferences/items/SectionKeymap.java
index c09481c6..7592f53c 100644
--- a/src/io/github/sspanak/tt9/preferences/items/SectionKeymap.java
+++ b/src/io/github/sspanak/tt9/preferences/items/SectionKeymap.java
@@ -46,12 +46,11 @@ public class SectionKeymap {
}
- public SectionKeymap activate() {
+ public void activate() {
for (DropDownPreference item : items) {
onItemClick(item);
}
- return this;
}
diff --git a/src/io/github/sspanak/tt9/ui/AddWordAct.java b/src/io/github/sspanak/tt9/ui/AddWordAct.java
index 72611efc..005208c7 100644
--- a/src/io/github/sspanak/tt9/ui/AddWordAct.java
+++ b/src/io/github/sspanak/tt9/ui/AddWordAct.java
@@ -40,14 +40,13 @@ public class AddWordAct extends AppCompatActivity {
word = i.getStringExtra("io.github.sspanak.tt9.word");
lang = i.getIntExtra("io.github.sspanak.tt9.lang", -1);
- View v = View.inflate(this, R.layout.addwordview, null);
+ main = View.inflate(this, R.layout.addwordview, null);
- EditText et = v.findViewById(R.id.add_word_text);
+ EditText et = main.findViewById(R.id.add_word_text);
et.setOnClickListener(this::addWord);
et.setText(word);
et.setSelection(word.length());
- setContentView(v);
- main = v;
+ setContentView(main);
}
diff --git a/src/io/github/sspanak/tt9/ui/DictionaryLoadingBar.java b/src/io/github/sspanak/tt9/ui/DictionaryLoadingBar.java
index 63b352a2..7e9ce153 100644
--- a/src/io/github/sspanak/tt9/ui/DictionaryLoadingBar.java
+++ b/src/io/github/sspanak/tt9/ui/DictionaryLoadingBar.java
@@ -170,14 +170,11 @@ public class DictionaryLoadingBar {
if (lang == null || errorType.equals(InvalidLanguageException.class.getSimpleName())) {
message = resources.getString(R.string.add_word_invalid_language);
} else if (errorType.equals(DictionaryImportException.class.getSimpleName()) || errorType.equals(InvalidLanguageCharactersException.class.getSimpleName())) {
- String languageName = lang.getName();
- message = resources.getString(R.string.dictionary_load_bad_char, word, line, languageName);
+ message = resources.getString(R.string.dictionary_load_bad_char, word, line, lang.getName());
} else if (errorType.equals(IOException.class.getSimpleName()) || errorType.equals(FileNotFoundException.class.getSimpleName())) {
- String languageName = lang.getName();
- message = resources.getString(R.string.dictionary_not_found, languageName);
+ message = resources.getString(R.string.dictionary_not_found, lang.getName());
} else {
- String languageName = lang.getName();
- message = resources.getString(R.string.dictionary_load_error, languageName, errorType);
+ message = resources.getString(R.string.dictionary_load_error, lang.getName(), errorType);
}
title = generateTitle(-1);
diff --git a/src/io/github/sspanak/tt9/ui/UI.java b/src/io/github/sspanak/tt9/ui/UI.java
index e1ddeeb3..c679595a 100644
--- a/src/io/github/sspanak/tt9/ui/UI.java
+++ b/src/io/github/sspanak/tt9/ui/UI.java
@@ -4,13 +4,8 @@ import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
-import io.github.sspanak.tt9.Logger;
-import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.ime.TraditionalT9;
-import io.github.sspanak.tt9.ime.modes.InputMode;
-import io.github.sspanak.tt9.languages.Language;
import io.github.sspanak.tt9.preferences.PreferencesActivity;
-import io.github.sspanak.tt9.preferences.SettingsStore;
public class UI {
public static void showAddWordDialog(TraditionalT9 tt9, int language, String currentWord) {
diff --git a/src/io/github/sspanak/tt9/ui/main/BaseMainLayout.java b/src/io/github/sspanak/tt9/ui/main/BaseMainLayout.java
index 8f3673f2..e50a9fe3 100644
--- a/src/io/github/sspanak/tt9/ui/main/BaseMainLayout.java
+++ b/src/io/github/sspanak/tt9/ui/main/BaseMainLayout.java
@@ -9,7 +9,7 @@ import io.github.sspanak.tt9.ime.TraditionalT9;
import io.github.sspanak.tt9.ui.main.keys.SoftKey;
abstract class BaseMainLayout {
- protected TraditionalT9 tt9;
+ protected final TraditionalT9 tt9;
private final int xml;
protected View view = null;
@@ -56,18 +56,6 @@ abstract class BaseMainLayout {
return view;
}
- public void show() {
- if (view != null) {
- view.setVisibility(View.VISIBLE);
- }
- }
-
- public void hide() {
- if (view != null) {
- view.setVisibility(View.GONE);
- }
- }
-
public void enableClickHandlers() {
for (SoftKey key : getKeys()) {
key.setTT9(tt9);
diff --git a/src/io/github/sspanak/tt9/ui/tray/StatusBar.java b/src/io/github/sspanak/tt9/ui/tray/StatusBar.java
index 07075e86..efbe3fa4 100644
--- a/src/io/github/sspanak/tt9/ui/tray/StatusBar.java
+++ b/src/io/github/sspanak/tt9/ui/tray/StatusBar.java
@@ -19,17 +19,16 @@ public class StatusBar {
}
- public StatusBar setText(String text) {
+ public void setText(String text) {
statusText = "[ " + text + " ]";
this.render();
- return this;
}
- public StatusBar setDarkTheme(boolean darkTheme) {
+ public void setDarkTheme(boolean darkTheme) {
if (statusView == null) {
Logger.w("StatusBar.setDarkTheme", "Not changing the theme of a NULL View.");
- return this;
+ return;
}
Context context = statusView.getContext();
@@ -47,7 +46,6 @@ public class StatusBar {
statusView.setTextColor(color);
this.render();
- return this;
}
private void render() {
diff --git a/src/io/github/sspanak/tt9/ui/tray/SuggestionsAdapter.java b/src/io/github/sspanak/tt9/ui/tray/SuggestionsAdapter.java
index 879ce504..653cb6de 100644
--- a/src/io/github/sspanak/tt9/ui/tray/SuggestionsAdapter.java
+++ b/src/io/github/sspanak/tt9/ui/tray/SuggestionsAdapter.java
@@ -71,7 +71,7 @@ public class SuggestionsAdapter extends RecyclerView.Adapter...
*/
public void setDarkTheme(boolean darkEnabled) {
isDarkThemeEnabled = darkEnabled;