new dev bug: fixed the language selection dialog better
This commit is contained in:
parent
2b79e6ad66
commit
c2c2e2b75e
1 changed files with 8 additions and 12 deletions
|
|
@ -1,7 +1,6 @@
|
|||
package io.github.sspanak.tt9.ui.dialogs;
|
||||
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Handler;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
|
|
@ -51,8 +50,12 @@ public class ChangeLanguageDialog extends PopupDialog {
|
|||
|
||||
@Override
|
||||
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
|
||||
if (event.getAction() == KeyEvent.ACTION_DOWN) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Key.isBack(keyCode)) {
|
||||
closeAsync();
|
||||
close();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -62,21 +65,19 @@ public class ChangeLanguageDialog extends PopupDialog {
|
|||
languageId = getSelected();
|
||||
} else if (Key.isNumber(keyCode)) {
|
||||
languageId = getByIndex(Key.codeToNumber(settings, keyCode) - 1);
|
||||
} else if (event.getAction() == KeyEvent.ACTION_UP && (keyCode == KeyEvent.KEYCODE_DPAD_DOWN || keyCode == KeyEvent.KEYCODE_DPAD_UP)) {
|
||||
} else if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN || keyCode == KeyEvent.KEYCODE_DPAD_UP) {
|
||||
for (LanguageRadioButton radio : radioButtonsCache) radio.autoHighlightCompat(); // yet another device hack
|
||||
}
|
||||
|
||||
if (languageId == -1) {
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (onLanguageChanged != null) {
|
||||
onLanguageChanged.accept(languageId);
|
||||
}
|
||||
|
||||
|
||||
// close after returning to prevent the key event from leaking into the current input field
|
||||
closeAsync();
|
||||
close();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -97,11 +98,6 @@ public class ChangeLanguageDialog extends PopupDialog {
|
|||
}
|
||||
|
||||
|
||||
private void closeAsync() {
|
||||
new Handler().post(this::close);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void close() {
|
||||
detachRadioButtons();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue