diff --git a/android/app/src/main/java/io/highfidelity/hifiinterface/fragment/LoginFragment.java b/android/app/src/main/java/io/highfidelity/hifiinterface/fragment/LoginFragment.java index 7c1a7f6dc9..c2567d77a7 100644 --- a/android/app/src/main/java/io/highfidelity/hifiinterface/fragment/LoginFragment.java +++ b/android/app/src/main/java/io/highfidelity/hifiinterface/fragment/LoginFragment.java @@ -7,6 +7,8 @@ import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; +import android.text.Editable; +import android.text.TextWatcher; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -53,6 +55,44 @@ public class LoginFragment extends Fragment { mLoginButton = rootView.findViewById(R.id.loginButton); mForgotPassword = rootView.findViewById(R.id.forgotPassword); + mUsername.addTextChangedListener(new TextWatcher() { + boolean ignoreNextChange = false; + boolean hadBlankSpace = false; + @Override + public void beforeTextChanged(CharSequence charSequence, int start, int count, int after) { + hadBlankSpace = charSequence.length() > 0 && charSequence.charAt(charSequence.length()-1) == ' '; + } + + @Override + public void onTextChanged(CharSequence charSequence, int start, int count, int after) { + + } + + @Override + public void afterTextChanged(Editable editable) { + if (!ignoreNextChange) { + ignoreNextChange = true; + boolean spaceFound=false; + for (int i=0; i< editable.length(); i++) { + if (editable.charAt(i) == ' ') { + spaceFound=true; + editable.delete(i, i+1); + i--; + } + } + + if (hadBlankSpace && !spaceFound && editable.length() > 0) { + editable.delete(editable.length()-1, editable.length()); + } + + editable.append(' '); + ignoreNextChange = false; + } + + } + }); + + mLoginButton.setOnClickListener(view -> login()); mForgotPassword.setOnClickListener(view -> forgotPassword()); @@ -93,7 +133,7 @@ public class LoginFragment extends Fragment { } public void login() { - String username = mUsername.getText().toString(); + String username = mUsername.getText().toString().trim(); String password = mPassword.getText().toString(); hideKeyboard(); if (username.isEmpty() || password.isEmpty()) { diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index a34b480c3c..9646fe0a7e 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -9,11 +9,11 @@ POPULAR BOOKMARKS Type a domain url - Username or email - Password + Username or email\u00A0 + Password\u00A0 Login Logout - Forgot password? + Forgot password?\u00A0 Username or password incorrect. Logging into High Fidelity Search for a place by name\u00A0