diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/AbstractHandler.java b/app/src/main/java/io/github/sspanak/tt9/ime/AbstractHandler.java index cb803fba..f14e68b6 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/AbstractHandler.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/AbstractHandler.java @@ -21,7 +21,6 @@ abstract public class AbstractHandler extends InputMethodService { abstract protected boolean onStart(InputConnection inputConnection, EditorInfo inputField); abstract protected void onFinishTyping(); abstract protected void onStop(); - abstract protected void onDeath(); abstract protected void setInputField(InputConnection inputConnection, EditorInfo inputField); // UI diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java b/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java index 66b4cb58..74a6fd0d 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java @@ -175,10 +175,10 @@ public class TraditionalT9 extends MainViewHandler { * On Android 11 the IME is sometimes not killed when the user switches to a different one. * Here we attempt to detect if we are disabled, then hide and kill ourselves. */ - protected void onDeath() { + private void onDeath() { if (SystemSettings.isTT9Active(this)) { Logger.w("onDeath", "===> Still active, rescheduling"); - deathDetector.postDelayed(this::onDeath, 2000); + deathDetector.postDelayed(this::onDeath, SettingsStore.ZOMBIE_CHECK_INTERVAL); return; } else { deathDetector.removeCallbacksAndMessages(null); diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsStore.java b/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsStore.java index 33a7d35b..2e193689 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsStore.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsStore.java @@ -32,6 +32,7 @@ public class SettingsStore extends SettingsUI { public final static int WORD_FREQUENCY_MAX = 25500; public final static int WORD_FREQUENCY_NORMALIZATION_DIVIDER = 100; // normalized frequency = WORD_FREQUENCY_MAX / WORD_FREQUENCY_NORMALIZATION_DIVIDER public final static int WORD_NORMALIZATION_DELAY = 15000; // ms + public final static int ZOMBIE_CHECK_INTERVAL = 666; // ms /************* hacks *************/ public final static int PREFERENCES_CLICK_DEBOUNCE_TIME = 250; // ms