From 9cddbb5969c2430f1775c76b6e62494254ef7a60 Mon Sep 17 00:00:00 2001 From: sspanak Date: Tue, 2 Jul 2024 17:24:57 +0300 Subject: [PATCH] fixed the command keys not working in invisible mode --- .../io/github/sspanak/tt9/ui/main/BaseMainLayout.java | 4 ++++ .../github/sspanak/tt9/ui/main/MainLayoutNumpad.java | 5 +++++ .../io/github/sspanak/tt9/ui/main/MainLayoutSmall.java | 6 ++++++ .../github/sspanak/tt9/ui/main/MainLayoutStealth.java | 5 +++++ .../io/github/sspanak/tt9/ui/main/MainLayoutTray.java | 3 --- .../java/io/github/sspanak/tt9/ui/main/MainView.java | 10 +++++----- .../java/io/github/sspanak/tt9/ui/tray/StatusBar.java | 4 +++- 7 files changed, 28 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/BaseMainLayout.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/BaseMainLayout.java index c9a75588..6249cc4d 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/main/BaseMainLayout.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/BaseMainLayout.java @@ -83,6 +83,10 @@ abstract class BaseMainLayout { void resetHeight() {} + abstract void showCommandPalette(); + abstract void hideCommandPalette(); + abstract boolean isCommandPaletteShown(); + /** * render * Do all the necessary stuff to display the View. diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutNumpad.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutNumpad.java index 7503ba5b..6533c872 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutNumpad.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutNumpad.java @@ -77,6 +77,11 @@ class MainLayoutNumpad extends BaseMainLayout { } + @Override void showCommandPalette() {} + @Override void hideCommandPalette() {} + @Override boolean isCommandPaletteShown() { return false; } + + /** * Uses the key height from the settings, but if it takes up too much of the screen, it will * be adjusted so that the entire Main View would take up around 50% of the screen in landscape mode diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutSmall.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutSmall.java index b332eb98..3105bbbf 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutSmall.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutSmall.java @@ -37,6 +37,12 @@ class MainLayoutSmall extends MainLayoutTray { } } + @Override + void hideCommandPalette() { + super.hideCommandPalette(); + view.findViewById(R.id.main_soft_keys).setVisibility(LinearLayout.VISIBLE); + } + @Override protected void enableClickHandlers() { super.enableClickHandlers(); diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutStealth.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutStealth.java index 3081977a..1584ece4 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutStealth.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutStealth.java @@ -4,7 +4,12 @@ import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.ime.TraditionalT9; class MainLayoutStealth extends BaseMainLayout { + private boolean isCommandPaletteShown = false; + MainLayoutStealth(TraditionalT9 tt9) { super(tt9, R.layout.main_stealth); } + @Override void showCommandPalette() { isCommandPaletteShown = true; } + @Override void hideCommandPalette() { isCommandPaletteShown = false; } + @Override boolean isCommandPaletteShown() { return isCommandPaletteShown; } @Override void render() {} } diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutTray.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutTray.java index 0d6366ad..111dc024 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutTray.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/MainLayoutTray.java @@ -43,9 +43,6 @@ class MainLayoutTray extends BaseMainLayout { void hideCommandPalette() { view.findViewById(R.id.main_command_keys).setVisibility(LinearLayout.GONE); - if (this instanceof MainLayoutSmall) { - view.findViewById(R.id.main_soft_keys).setVisibility(LinearLayout.VISIBLE); - } } boolean isCommandPaletteShown() { diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/MainView.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/MainView.java index be333779..dc8b9d95 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/main/MainView.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/MainView.java @@ -58,18 +58,18 @@ public class MainView { } public void showCommandPalette() { - if (main instanceof MainLayoutTray) { - ((MainLayoutTray) main).showCommandPalette(); + if (main != null) { + main.showCommandPalette(); } } public void hideCommandPalette() { - if (main instanceof MainLayoutTray) { - ((MainLayoutTray) main).hideCommandPalette(); + if (main != null) { + main.hideCommandPalette(); } } public boolean isCommandPaletteShown() { - return main != null && main instanceof MainLayoutTray && ((MainLayoutTray) main).isCommandPaletteShown(); + return main != null && main.isCommandPaletteShown(); } } diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/tray/StatusBar.java b/app/src/main/java/io/github/sspanak/tt9/ui/tray/StatusBar.java index fa720e13..0d5be78e 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/tray/StatusBar.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/tray/StatusBar.java @@ -32,7 +32,9 @@ public class StatusBar { public void setText(int stringResourceId) { - setText(statusView.getContext().getString(stringResourceId)); + if (statusView != null) { + setText(statusView.getContext().getString(stringResourceId)); + } }