diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 36ed2cff..aede1752 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -44,7 +44,7 @@
activityFinisher) {
- super(context, activityFinisher);
- LanguageCollection.init(context);
- parseIntent(intent);
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ processIntent(getIntent());
+ finish();
}
-
- private void parseIntent(@NonNull Intent intent) {
+ private void processIntent(@NonNull Intent intent) {
+ LanguageCollection.init(this);
int languageId = intent.getIntExtra(PARAMETER_LANGUAGE, -1);
- language = LanguageCollection.getLanguage(languageId);
+ Language language = LanguageCollection.getLanguage(languageId);
if (language == null) {
Logger.e(getClass().getSimpleName(), "Auto-updating is not possible. Intent parameter '" + PARAMETER_LANGUAGE + "' is invalid: " + languageId);
+ } else {
+ DictionaryLoader.load(this, language);
}
}
-
- @Override
- void show() {
- if (language != null) {
- DictionaryLoader.load(context, language);
- }
- close();
- }
-
-
public static Intent generateShowIntent(Context context, int language) {
- Intent intent = new Intent(context, PopupDialogActivity.class);
+ Intent intent = new Intent(context, AutoUpdateMonologActivity.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);
return intent;
diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/PopupDialogActivity.java b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/PopupDialogActivity.java
deleted file mode 100644
index dd8450a0..00000000
--- a/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/PopupDialogActivity.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package io.github.sspanak.tt9.ui.dialogs;
-
-import android.content.Intent;
-import android.os.Bundle;
-
-import androidx.annotation.NonNull;
-import androidx.appcompat.app.AppCompatActivity;
-
-import io.github.sspanak.tt9.ime.TraditionalT9;
-import io.github.sspanak.tt9.util.Logger;
-
-public class PopupDialogActivity extends AppCompatActivity {
- private static final String LOG_TAG = PopupDialogActivity.class.getSimpleName();
-
-
- @Override
- protected void onCreate(Bundle savedData) {
- super.onCreate(savedData);
- PopupDialog dialog = getDialog();
- if (dialog != null) {
- dialog.show();
- } else {
- onDialogClose("");
- }
- }
-
-
- private PopupDialog getDialog() {
- Intent i = getIntent();
-
- String popupType = i != null ? i.getStringExtra(PopupDialog.PARAMETER_DIALOG_TYPE) : "";
- popupType = popupType != null ? popupType : "";
-
- return switch (popupType) {
- case AutoUpdateMonolog.TYPE -> new AutoUpdateMonolog(this, i, this::onDialogClose);
- default -> {
- Logger.w(LOG_TAG, "Unknown popup type: '" + popupType + "'. Not displaying anything.");
- yield null;
- }
- };
- }
-
- private void onDialogClose(String message) {
- finish();
- Intent intent = new Intent(this, TraditionalT9.class);
- if (message != null) {
- intent.putExtra(PopupDialog.INTENT_CLOSE, message);
- }
- startService(intent);
- }
-
-
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- super.onRequestPermissionsResult(requestCode, permissions, grantResults);
- onDialogClose(null);
- }
-}
diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryUpdateNotification.java b/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryUpdateNotification.java
index 3823e7f9..90430ac8 100644
--- a/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryUpdateNotification.java
+++ b/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryUpdateNotification.java
@@ -10,7 +10,7 @@ import androidx.core.app.NotificationCompat;
import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.languages.Language;
-import io.github.sspanak.tt9.ui.dialogs.AutoUpdateMonolog;
+import io.github.sspanak.tt9.ui.dialogs.AutoUpdateMonologActivity;
public class DictionaryUpdateNotification extends DictionaryNotification {
private final Language language;
@@ -25,7 +25,7 @@ public class DictionaryUpdateNotification extends DictionaryNotification {
@Override
protected PendingIntent createNavigationIntent(@NonNull Context context, @Nullable Language language) {
- Intent intent = AutoUpdateMonolog.generateShowIntent(context, language != null ? language.getId() : -1);
+ Intent intent = AutoUpdateMonologActivity.generateShowIntent(context, language != null ? language.getId() : -1);
return PendingIntent.getActivity(context, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
}