Fix bug that input cannot be deleted on non-English keybaord such as Japanese
and Chinese keyboard.
Bug: 110564298
Test: manual
PiperOrigin-RevId: 202027152
Change-Id: If27d23fb04abe6db49748dec68c4cd9be5f11fb1
diff --git a/java/com/android/incallui/rtt/impl/RttChatFragment.java b/java/com/android/incallui/rtt/impl/RttChatFragment.java
index 36235df..73adb9f 100644
--- a/java/com/android/incallui/rtt/impl/RttChatFragment.java
+++ b/java/com/android/incallui/rtt/impl/RttChatFragment.java
@@ -177,10 +177,13 @@
editText.setOnKeyListener(
(v, keyCode, event) -> {
- // This is only triggered when input method doesn't handle delete key, which means the
- // current
- // input box is empty.
- if (keyCode == KeyEvent.KEYCODE_DEL && event.getAction() == KeyEvent.ACTION_DOWN) {
+ // This is only triggered when input method doesn't handle delete key, which usually means
+ // the current input box is empty.
+ // On non-English keyboard delete key could be passed here so we still need to check if
+ // the input box is empty.
+ if (keyCode == KeyEvent.KEYCODE_DEL
+ && event.getAction() == KeyEvent.ACTION_DOWN
+ && TextUtils.isEmpty(editText.getText())) {
String lastMessage = adapter.retrieveLastLocalMessage();
if (lastMessage != null) {
resumeInput(lastMessage);