improve backspace behaviour in enter phone number screen
This commit is contained in:
		
							parent
							
								
									52ecd9347c
								
							
						
					
					
						commit
						e80fbcfd61
					
				| @ -10,7 +10,9 @@ import android.text.Html; | |||||||
| import android.text.TextUtils; | import android.text.TextUtils; | ||||||
| import android.text.TextWatcher; | import android.text.TextWatcher; | ||||||
| import android.util.Log; | import android.util.Log; | ||||||
|  | import android.view.KeyEvent; | ||||||
| import android.view.View; | import android.view.View; | ||||||
|  | import android.widget.EditText; | ||||||
| 
 | 
 | ||||||
| import eu.siacs.conversations.Config; | import eu.siacs.conversations.Config; | ||||||
| import eu.siacs.conversations.R; | import eu.siacs.conversations.R; | ||||||
| @ -92,6 +94,23 @@ public class EnterPhoneNumberActivity extends XmppActivity implements QuickConve | |||||||
|         setSupportActionBar((Toolbar) this.binding.toolbar); |         setSupportActionBar((Toolbar) this.binding.toolbar); | ||||||
|         this.binding.countryCode.addTextChangedListener(this.countryCodeTextWatcher); |         this.binding.countryCode.addTextChangedListener(this.countryCodeTextWatcher); | ||||||
|         this.binding.countryCode.setText(String.valueOf(PhoneNumberUtilWrapper.getInstance(this).getCountryCodeForRegion(this.region))); |         this.binding.countryCode.setText(String.valueOf(PhoneNumberUtilWrapper.getInstance(this).getCountryCodeForRegion(this.region))); | ||||||
|  |         this.binding.number.setOnKeyListener((v, keyCode, event) -> { | ||||||
|  |             if (event.getAction() != KeyEvent.ACTION_DOWN) { | ||||||
|  |                 return false; | ||||||
|  |             } | ||||||
|  |             final EditText editText = (EditText) v; | ||||||
|  |             final boolean cursorAtZero = editText.getSelectionEnd() == 0 && editText.getSelectionStart() == 0; | ||||||
|  |             if (keyCode == KeyEvent.KEYCODE_DEL && (cursorAtZero || editText.getText().length() == 0)) { | ||||||
|  |                 final Editable countryCode = this.binding.countryCode.getText(); | ||||||
|  |                 if (countryCode.length() > 0) { | ||||||
|  |                     countryCode.delete(countryCode.length() - 1, countryCode.length()); | ||||||
|  |                     this.binding.countryCode.setSelection(countryCode.length()); | ||||||
|  |                 } | ||||||
|  |                 this.binding.countryCode.requestFocus(); | ||||||
|  |                 return true; | ||||||
|  |             } | ||||||
|  |             return false; | ||||||
|  |         }); | ||||||
|         setRequestingVerificationState(requestingVerification); |         setRequestingVerificationState(requestingVerification); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Daniel Gultsch
						Daniel Gultsch