Skip to content

Instantly share code, notes, and snippets.

@funkyidol
Created August 17, 2016 11:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save funkyidol/f1a257bab179beb351904b64cc388441 to your computer and use it in GitHub Desktop.
Save funkyidol/f1a257bab179beb351904b64cc388441 to your computer and use it in GitHub Desktop.
package com.sample.medicalconferenceapp.login;
import android.text.TextUtils;
import com.sample.medicalconferenceapp.R;
import com.sample.medicalconferenceapp.login.LoginContract.Presenter;
import com.sample.medicalconferenceapp.model.UserRepo;
import com.sample.medicalconferenceapp.model.pojo.UserPojo;
/**
* Created by kshitij on 14/8/16.
*/
public class LoginPresenter implements Presenter {
private final LoginContract.View view;
public LoginPresenter(LoginContract.View view) {
this.view = view;
setupDummyUsers();
}
void setupDummyUsers() {
UserPojo admin = new UserPojo();
admin.setEmail("admin@admin.com");
admin.setPassword("admin");
admin.setType(UserPojo.ADMIN);
UserPojo doc1 = new UserPojo();
doc1.setEmail("doc1@doc.com");
doc1.setPassword("doc1");
doc1.setType(UserPojo.DOCTOR);
UserPojo doc2 = new UserPojo();
doc2.setEmail("doc2@doc.com");
doc2.setPassword("doc2");
doc2.setType(UserPojo.DOCTOR);
UserRepo userRepo = new UserRepo();
userRepo.createOrUpdateTopics(admin);
userRepo.createOrUpdateTopics(doc1);
userRepo.createOrUpdateTopics(doc2);
}
@Override
public void onClickLogin(String email, String password) {
boolean cancelLogin = false;
// Check for a valid email address.
cancelLogin = !isEmailValid(email);
cancelLogin = !isPasswordValid(password);
if (!cancelLogin) {
UserRepo userRepo = new UserRepo();
if (userRepo.isUserValid(email, password)) {
view.goToMainScreen();
} else {
view.showEmailError(R.string.error_invalid_email);
view.showPasswordError(R.string.error_invalid_password);
}
}
}
private boolean isEmailValid(String email) {
if (TextUtils.isEmpty(email)) {
view.showEmailError(R.string.error_field_required);
return false;
} else if (!email.contains("@")) {
view.showEmailError(R.string.error_invalid_email);
return false;
}
return true;
}
private boolean isPasswordValid(String password) {
if (!TextUtils.isEmpty(password) && password.length() > 1) {
return true;
} else {
view.showPasswordError(R.string.error_invalid_password);
}
return false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment