diff options
| author | Jules Aguillon | 2023-12-30 00:56:55 +0100 |
|---|---|---|
| committer | Jules Aguillon | 2023-12-30 00:56:55 +0100 |
| commit | 51a41ec90af505b153cc7a016de3c1e8a18dc427 (patch) | |
| tree | d8e0464eadb3032c36192c483370d5c720fe43ae /srcs/juloo.keyboard2/Utils.java | |
| parent | 7e7a5e4425a7825a9b0d899d6d13710acae82600 (diff) | |
| download | unexpected-keyboard-51a41ec90af505b153cc7a016de3c1e8a18dc427.tar.gz unexpected-keyboard-51a41ec90af505b153cc7a016de3c1e8a18dc427.zip | |
Voice IME chooser popup
Bring a popup for choosing the voice IME when the voice key is pressed
for the first time or the list of voice IMEs installed on the device
change.
A preference stores the last selected IME and the last seen list of
IMEs.
Diffstat (limited to 'srcs/juloo.keyboard2/Utils.java')
| -rw-r--r-- | srcs/juloo.keyboard2/Utils.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/srcs/juloo.keyboard2/Utils.java b/srcs/juloo.keyboard2/Utils.java new file mode 100644 index 0000000..cd28dfa --- /dev/null +++ b/srcs/juloo.keyboard2/Utils.java @@ -0,0 +1,30 @@ +package juloo.keyboard2; + +import android.app.AlertDialog; +import android.os.IBinder; +import android.view.Window; +import android.view.WindowManager; + +class Utils +{ + /** Turn the first letter of a string uppercase. */ + public static String capitalize_string(String s) + { + // Make sure not to cut a code point in half + int i = s.offsetByCodePoints(0, 1); + return s.substring(0, i).toUpperCase() + s.substring(i); + } + + /** Like [dialog.show()] but properly configure layout params when called + from an IME. [token] is the input view's [getWindowToken()]. */ + public static void show_dialog_on_ime(AlertDialog dialog, IBinder token) + { + Window win = dialog.getWindow(); + WindowManager.LayoutParams lp = win.getAttributes(); + lp.token = token; + lp.type = WindowManager.LayoutParams.TYPE_APPLICATION_ATTACHED_DIALOG; + win.setAttributes(lp); + win.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); + dialog.show(); + } +} |
