diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5b75ec99..97a00c83 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -33,7 +33,7 @@
diff --git a/app/src/main/java/io/github/sspanak/tt9/db/DictionaryLoader.java b/app/src/main/java/io/github/sspanak/tt9/db/DictionaryLoader.java
index 97497fd7..de4b8238 100644
--- a/app/src/main/java/io/github/sspanak/tt9/db/DictionaryLoader.java
+++ b/app/src/main/java/io/github/sspanak/tt9/db/DictionaryLoader.java
@@ -25,7 +25,7 @@ import io.github.sspanak.tt9.languages.exceptions.InvalidLanguageCharactersExcep
import io.github.sspanak.tt9.languages.exceptions.InvalidLanguageException;
import io.github.sspanak.tt9.preferences.SettingsStore;
import io.github.sspanak.tt9.ui.DictionaryLoadingBar;
-import io.github.sspanak.tt9.ui.UI;
+import io.github.sspanak.tt9.ui.dialogs.ConfirmDictionaryUpdateDialog;
import io.github.sspanak.tt9.util.ConsumerCompat;
import io.github.sspanak.tt9.util.Logger;
import io.github.sspanak.tt9.util.Timer;
@@ -130,7 +130,7 @@ public class DictionaryLoader {
}
// or if the database is outdated, compared to the dictionary file, ask for confirmation and load
else if (!hash.equals(new WordFile(language.getDictionaryFile(), self.assets).getHash())) {
- UI.showConfirmDictionaryUpdateDialog(context, language.getId());
+ ConfirmDictionaryUpdateDialog.show(context, language.getId());
}
},
language
diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/HotkeyHandler.java b/app/src/main/java/io/github/sspanak/tt9/ime/HotkeyHandler.java
index 235d8791..7960495a 100644
--- a/app/src/main/java/io/github/sspanak/tt9/ime/HotkeyHandler.java
+++ b/app/src/main/java/io/github/sspanak/tt9/ime/HotkeyHandler.java
@@ -14,6 +14,7 @@ import io.github.sspanak.tt9.languages.LanguageCollection;
import io.github.sspanak.tt9.languages.LanguageKind;
import io.github.sspanak.tt9.preferences.helpers.Hotkeys;
import io.github.sspanak.tt9.ui.UI;
+import io.github.sspanak.tt9.ui.dialogs.AddWordDialog;
public abstract class HotkeyHandler extends TypingHandler {
private boolean isSystemRTL = false;
@@ -114,7 +115,7 @@ public abstract class HotkeyHandler extends TypingHandler {
if (word.isEmpty()) {
UI.toastLong(this, R.string.add_word_no_selection);
} else {
- UI.showAddWordDialog(this, mLanguage.getId(), word);
+ AddWordDialog.show(this, mLanguage.getId(), word);
}
return true;
diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/UI.java b/app/src/main/java/io/github/sspanak/tt9/ui/UI.java
index 89f6cf7e..94562ca7 100644
--- a/app/src/main/java/io/github/sspanak/tt9/ui/UI.java
+++ b/app/src/main/java/io/github/sspanak/tt9/ui/UI.java
@@ -12,32 +12,10 @@ import androidx.annotation.NonNull;
import io.github.sspanak.tt9.languages.Language;
import io.github.sspanak.tt9.preferences.PreferencesActivity;
-import io.github.sspanak.tt9.ui.dialogs.AddWordDialog;
-import io.github.sspanak.tt9.ui.dialogs.ConfirmDictionaryUpdateDialog;
public class UI {
private static Toast toastLang = null;
- public static void showAddWordDialog(InputMethodService ims, int language, String currentWord) {
- Intent intent = new Intent(ims, PopupDialogActivity.class);
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
- intent.putExtra(AddWordDialog.PARAMETER_DIALOG_TYPE, AddWordDialog.TYPE);
- intent.putExtra(AddWordDialog.PARAMETER_LANGUAGE, language);
- intent.putExtra(AddWordDialog.PARAMETER_WORD, currentWord);
- ims.startActivity(intent);
- }
-
-
- public static void showConfirmDictionaryUpdateDialog(InputMethodService ims, int language) {
- Intent intent = new Intent(ims, PopupDialogActivity.class);
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
- intent.putExtra(ConfirmDictionaryUpdateDialog.PARAMETER_DIALOG_TYPE, ConfirmDictionaryUpdateDialog.TYPE);
- intent.putExtra(ConfirmDictionaryUpdateDialog.PARAMETER_LANGUAGE, language);
- ims.startActivity(intent);
- }
-
public static void showChangeKeyboardDialog(Context context) {
((InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE)).showInputMethodPicker();
diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/AddWordDialog.java b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/AddWordDialog.java
index 65eea3bd..de3ef589 100644
--- a/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/AddWordDialog.java
+++ b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/AddWordDialog.java
@@ -2,6 +2,7 @@ package io.github.sspanak.tt9.ui.dialogs;
import android.content.Context;
import android.content.Intent;
+import android.inputmethodservice.InputMethodService;
import androidx.annotation.NonNull;
@@ -26,8 +27,8 @@ public class AddWordDialog extends PopupDialog {
private String word;
- public AddWordDialog(@NonNull Context context, @NonNull Intent intent, ConsumerCompat activityFinisher) {
- super(context, intent, activityFinisher);
+ AddWordDialog(@NonNull Context context, @NonNull Intent intent, ConsumerCompat activityFinisher) {
+ super(context, activityFinisher);
title = context.getResources().getString(R.string.add_word_title);
OKLabel = context.getResources().getString(R.string.add_word_add);
@@ -35,7 +36,7 @@ public class AddWordDialog extends PopupDialog {
}
- protected void parseIntent(@NonNull Context context, @NonNull Intent intent) {
+ private void parseIntent(@NonNull Context context, @NonNull Intent intent) {
word = intent.getStringExtra(PARAMETER_WORD);
int languageId = intent.getIntExtra(PARAMETER_LANGUAGE, -1);
@@ -84,7 +85,8 @@ public class AddWordDialog extends PopupDialog {
}
- public void render() {
+ @Override
+ void render() {
if (message == null || word == null || word.isEmpty()) {
close();
return;
@@ -92,4 +94,15 @@ public class AddWordDialog extends PopupDialog {
super.render(this::onOK);
}
+
+
+ public static void show(InputMethodService ims, int language, String currentWord) {
+ Intent intent = new Intent(ims, PopupDialogActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
+ intent.putExtra(PARAMETER_DIALOG_TYPE, TYPE);
+ intent.putExtra(PARAMETER_LANGUAGE, language);
+ intent.putExtra(PARAMETER_WORD, currentWord);
+ ims.startActivity(intent);
+ }
}
diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/ConfirmDictionaryUpdateDialog.java b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/ConfirmDictionaryUpdateDialog.java
index b6bb71ff..4b46e8e9 100644
--- a/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/ConfirmDictionaryUpdateDialog.java
+++ b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/ConfirmDictionaryUpdateDialog.java
@@ -2,6 +2,7 @@ package io.github.sspanak.tt9.ui.dialogs;
import android.content.Context;
import android.content.Intent;
+import android.inputmethodservice.InputMethodService;
import androidx.annotation.NonNull;
@@ -17,15 +18,18 @@ public class ConfirmDictionaryUpdateDialog extends PopupDialog {
public static final String PARAMETER_LANGUAGE = "lang";
private Language language;
- public ConfirmDictionaryUpdateDialog(@NonNull Context context, @NonNull Intent intent, ConsumerCompat activityFinisher) {
- super(context, intent, activityFinisher);
+
+
+ ConfirmDictionaryUpdateDialog(@NonNull Context context, @NonNull Intent intent, ConsumerCompat activityFinisher) {
+ super(context, activityFinisher);
title = context.getString(R.string.app_name);
OKLabel = context.getString(R.string.dictionary_update_update);
parseIntent(context, intent);
}
- protected void parseIntent(@NonNull Context context, @NonNull Intent intent) {
+
+ private void parseIntent(@NonNull Context context, @NonNull Intent intent) {
int languageId = intent.getIntExtra(PARAMETER_LANGUAGE, -1);
language = LanguageCollection.getLanguage(context, languageId);
@@ -36,8 +40,15 @@ public class ConfirmDictionaryUpdateDialog extends PopupDialog {
}
}
+
+ private void loadDictionary() {
+ DictionaryLoader.load(context, language);
+ close();
+ }
+
+
@Override
- public void render() {
+ void render() {
if (language == null) {
close();
} else {
@@ -45,8 +56,13 @@ public class ConfirmDictionaryUpdateDialog extends PopupDialog {
}
}
- private void loadDictionary() {
- DictionaryLoader.load(context, language);
- close();
+
+ public static void show(InputMethodService ims, int language) {
+ Intent intent = new Intent(ims, PopupDialogActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
+ intent.putExtra(PARAMETER_DIALOG_TYPE, TYPE);
+ intent.putExtra(PARAMETER_LANGUAGE, language);
+ ims.startActivity(intent);
}
}
diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/PopupDialog.java b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/PopupDialog.java
index c3c28876..66a1c3ef 100644
--- a/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/PopupDialog.java
+++ b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/PopupDialog.java
@@ -1,7 +1,6 @@
package io.github.sspanak.tt9.ui.dialogs;
import android.content.Context;
-import android.content.Intent;
import androidx.annotation.NonNull;
@@ -19,7 +18,7 @@ abstract public class PopupDialog {
protected String message;
protected String OKLabel;
- public PopupDialog(@NonNull Context context, @NonNull Intent intent, ConsumerCompat activityFinisher) {
+ PopupDialog(@NonNull Context context, ConsumerCompat activityFinisher) {
this.activityFinisher = activityFinisher;
this.context = context;
}
@@ -34,5 +33,5 @@ abstract public class PopupDialog {
UI.confirm(context, title, message, OKLabel, OKAction, () -> activityFinisher.accept(""));
}
- abstract public void render();
+ abstract void render();
}
diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/PopupDialogActivity.java b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/PopupDialogActivity.java
similarity index 86%
rename from app/src/main/java/io/github/sspanak/tt9/ui/PopupDialogActivity.java
rename to app/src/main/java/io/github/sspanak/tt9/ui/dialogs/PopupDialogActivity.java
index d83622c6..a8d7ccad 100644
--- a/app/src/main/java/io/github/sspanak/tt9/ui/PopupDialogActivity.java
+++ b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/PopupDialogActivity.java
@@ -1,4 +1,4 @@
-package io.github.sspanak.tt9.ui;
+package io.github.sspanak.tt9.ui.dialogs;
import android.content.Intent;
import android.os.Bundle;
@@ -6,9 +6,6 @@ import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import io.github.sspanak.tt9.ime.TraditionalT9;
-import io.github.sspanak.tt9.ui.dialogs.AddWordDialog;
-import io.github.sspanak.tt9.ui.dialogs.ConfirmDictionaryUpdateDialog;
-import io.github.sspanak.tt9.ui.dialogs.PopupDialog;
import io.github.sspanak.tt9.util.Logger;
public class PopupDialogActivity extends AppCompatActivity {