Trapping backspace at EditText level to prevent popping Docs.
When the EditText is empty, pressing backspace on soft/hardware keyboard
will call on the EditText's OnKeyListener. Since we don't handle
backspace, it will then bubble up to Activity-level, which will then pop
the document stack due to the feature of using backspace as navigation.
This will trap the call correctly if the EditText is empty.
Bug: 30066261
Change-Id: I231507b9469bfa52478872491f1d2713a1ac58ba
This commit is contained in:
@@ -22,6 +22,7 @@ import android.app.FragmentTransaction;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -91,6 +92,14 @@ public class SaveFragment extends Fragment {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Returning false in this method will bubble the event up to
|
||||
// {@link BaseActivity#onKeyDown}. In order to prevent backspace popping
|
||||
// documents once the textView is empty, we are going to trap it here.
|
||||
if (keyCode == KeyEvent.KEYCODE_DEL
|
||||
&& TextUtils.isEmpty(mDisplayName.getText())) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (keyCode == KeyEvent.KEYCODE_ENTER && mSave.isEnabled()) {
|
||||
performSave();
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user