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