package me.corriekay.pokegoutil.data.models;
import me.corriekay.pokegoutil.data.enums.LoginType;
public class LoginData {
private String token;
private String username;
private String password;
private LoginType loginType;
private boolean isSavedToken;
public LoginData() {
this.loginType = LoginType.NONE;
}
public LoginData(String token) {
this.token = token;
this.loginType = LoginType.GOOGLE_AUTH;
}
public LoginData(String username, String password) {
this.username = username;
this.password = password;
this.loginType = LoginType.PTC;
}
public LoginData(String username, String password, String token) {
this.username = username;
this.password = password;
this.token = token;
this.loginType = LoginType.ALL;
}
public LoginType getLoginType() {
return loginType;
}
public String getPassword() {
return password;
}
public String getToken() {
return token;
}
public String getUsername() {
return username;
}
public boolean hasPassword() {
return password != null && password.length() > 0;
}
public boolean hasSavedCredentials() {
return isValidPtcLogin() || isValidGoogleLogin();
}
public boolean hasToken() {
return token != null && token.length() > 0;
}
public boolean hasUsername() {
return username != null && username.length() > 0;
}
public boolean isSavedToken() {
return isSavedToken;
}
public boolean isValidGoogleLogin() {
return hasToken();
}
public boolean isValidPtcLogin() {
return hasUsername() && hasPassword();
}
public void setLoginType(LoginType loginType) {
this.loginType = loginType;
}
public void setPassword(String password) {
this.password = password;
}
public void setSavedToken(boolean isSavedToken) {
this.isSavedToken = isSavedToken;
}
public void setToken(String token) {
this.token = token;
}
public void setUsername(String username) {
this.username = username;
}
@Override
public String toString() {
return String.format("Username: %s | Password: %s | Token: %s | LoginType: %s | isSavedToken %b",
username, password, token, loginType, isSavedToken);
}
}