initial commit

This commit is contained in:
Mieszko Wrzeszczyński 2019-01-17 22:28:16 +01:00
parent 5770bff725
commit f389b0e1f4
2 changed files with 41 additions and 18 deletions

View File

@ -19,6 +19,7 @@ import android.widget.EditText;
import com.auth0.android.jwt.Claim;
import com.auth0.android.jwt.JWT;
import com.jakewharton.retrofit2.adapter.rxjava2.HttpException;
import com.jakewharton.rxbinding.widget.RxTextView;
import com.uam.wmi.findmytutor.R;
import com.uam.wmi.findmytutor.model.JwtToken;
import com.uam.wmi.findmytutor.model.LdapUser;
@ -35,8 +36,12 @@ import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import butterknife.BindView;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.functions.BiFunction;
import io.reactivex.functions.Function;
import io.reactivex.schedulers.Schedulers;
import okhttp3.ResponseBody;
@ -49,6 +54,13 @@ public class LoginActivity extends AppCompatActivity {
private LdapService ldapService;
private UserService userService;
private CompositeDisposable disposable = new CompositeDisposable();
private Observable<Boolean> observable;
@BindView(R.id.password)
EditText password;
@BindView(R.id.email)
EditText email;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -75,46 +87,57 @@ public class LoginActivity extends AppCompatActivity {
mLoginFormView = findViewById(R.id.login_form);
mProgressView = findViewById(R.id.login_progress);
rx.Observable<String> nameObservable = RxTextView.textChanges(password).map(CharSequence::toString);
rx.Observable<String> passwordObservable = RxTextView.textChanges(password).map(CharSequence::toString);
observable = Observable.combineLatest(nameObservable, passwordObservable, this::isValidForm);
}
private void attemptLogin() {
if (cancel) {
focusView.requestFocus();
} else {
showProgress(true);
loginProcess(loginName, password);
}
}
public Boolean isValidForm(String name, String password) {
return true;
}
private Boolean isFormValid(String loginName, String password){
// Reset errors.
mLoginNameView.setError(null);
mPasswordView.setError(null);
// Store values at the time of the login attempt.
String loginName = mLoginNameView.getText().toString();
String password = mPasswordView.getText().toString();
boolean cancel = false;
View focusView = null;
// Check for a valid email address.
if (TextUtils.isEmpty(loginName)) {
mLoginNameView.setError(getString(R.string.error_field_required));
focusView = mLoginNameView;
cancel = true;
return false;
} else if (!isEmailValid(loginName)) {
mLoginNameView.setError(getString(R.string.error_invalid_login_name));
focusView = mLoginNameView;
cancel = true;
return false;
}
// Check for a valid password address.
if (TextUtils.isEmpty(password)) {
mPasswordView.setError(getString(R.string.error_field_required));
focusView = mPasswordView;
cancel = true;
return false;
}
if (cancel) {
focusView.requestFocus();
} else {
showProgress(true);
loginProcess(loginName, password);
return true;
}
}
private boolean isEmailValid(String loginName) {

View File

@ -45,7 +45,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
<AutoCompleteTextView
<android.support.design.widget.TextInputEditText
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -61,7 +61,7 @@
app:passwordToggleEnabled="true"
android:layout_height="wrap_content">
<EditText
<android.support.design.widget.TextInputEditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"