diff --git a/app/src/main/java/org/deke/risk/riskahead/LoginActivity.java b/app/src/main/java/org/deke/risk/riskahead/LoginActivity.java
index d409a7a..bf532d6 100644
--- a/app/src/main/java/org/deke/risk/riskahead/LoginActivity.java
+++ b/app/src/main/java/org/deke/risk/riskahead/LoginActivity.java
@@ -10,6 +10,7 @@ import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
+import android.util.Patterns;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@@ -23,6 +24,7 @@ import org.deke.risk.riskahead.fragments.TwitterButtonFragment;
import org.deke.risk.riskahead.helper.AppConfig;
import org.deke.risk.riskahead.helper.AppController;
import org.deke.risk.riskahead.helper.SessionManager;
+import org.deke.risk.riskahead.helper.TextValidator;
import org.json.JSONException;
import org.json.JSONObject;
@@ -40,10 +42,13 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
private final static String EXTRA_MESSAGE = "org.deke.risk.riskahead.MESSAGE";
private final static String mActivityTitle = "RiskAhead";
private String msg_intent;
+ private boolean emailIsValid = false;
+ private boolean fullnameIsValid = false;
+ private boolean passwordIsValid = false;
private Button btn_login;
private TextView input_email;
- private TextView input_full_name;
+ private TextView input_username;
private TextView input_password;
private ProgressDialog pDialog;
@@ -64,15 +69,52 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
if(msg_intent.equals("login")){
setContentView(R.layout.activity_login);
- input_email = (TextView) findViewById(R.id.input_register_email);
- input_password = (TextView) findViewById(R.id.input_register_password);
}else if(msg_intent.equals("register")){
setContentView(R.layout.activity_register);
- input_full_name = (TextView) findViewById(R.id.input_register_name);
- input_email = (TextView) findViewById(R.id.input_register_email);
- input_password = (TextView) findViewById(R.id.input_register_password);
+ input_username = (TextView) findViewById(R.id.input_register_name);
+
+ input_username.addTextChangedListener(new TextValidator(input_username) {
+ @Override
+ public void validate(TextView textView, String text) {
+ if (text.length() < 5) {
+ textView.setError("Your username must be at least\n" +
+ "5 characters in length.");
+ fullnameIsValid = false;
+ } else {
+ fullnameIsValid = true;
+ }
+ }
+ });
}
+ input_email = (TextView) findViewById(R.id.input_register_email);
+ input_password = (TextView) findViewById(R.id.input_register_password);
+
+ input_email.addTextChangedListener(new TextValidator(input_email) {
+ @Override
+ public void validate(TextView textView, String text) {
+ if(!Patterns.EMAIL_ADDRESS.matcher(text).matches()){
+ textView.setError("Please enter a valid email address\n" +
+ "e.g.: text@abc.de");
+ emailIsValid = false;
+ }else{
+ emailIsValid = true;
+ }
+ }
+ });
+
+ input_password.addTextChangedListener(new TextValidator(input_password) {
+ @Override
+ public void validate(TextView textView, String text) {
+ if(text.length() < 5) {
+ textView.setError("Your password must be at least\n" +
+ "5 characters in length.");
+ passwordIsValid = false;
+ }else{
+ passwordIsValid = true;
+ }
+ }
+ });
FragmentManager fragmentManager = getSupportFragmentManager();
FacebookButtonFragment fragmentFB = new FacebookButtonFragment();
@@ -95,16 +137,18 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
String password = input_password.getText().toString();
if (msg_intent.equals("login")) {
- if (isEmpty(input_email) || isEmpty(input_password)) {
- showMessage("Please enter all fields before logging in");
+ if (!emailIsValid || !passwordIsValid) {
+ showMessage("Entered fields not valid\n" +
+ "Please check errors first.");
} else {
showDialog();
checkLogin(email, password);
}
} else if (msg_intent.equals("register")) {
- String name = input_full_name.getText().toString();
- if (isEmpty(input_email) || isEmpty(input_password) || isEmpty(input_full_name)) {
- showMessage("Please enter all fields before registration");
+ String name = input_username.getText().toString();
+ if (!emailIsValid || !passwordIsValid || !fullnameIsValid) {
+ showMessage("Entered fields not valid\n" +
+ "Please check errors first.");
} else {
showDialog();
registerUser(name, email, password);
@@ -463,11 +507,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");
if (!error) {
- // do nothing actually
} else {
-
- // Error occurred in registration. Get the error
- // message
String errorMsg = jObj.getString("error_msg");
Toast.makeText(getApplicationContext(),
errorMsg, Toast.LENGTH_LONG).show();
@@ -545,9 +585,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
};
}
- private boolean isEmpty(TextView etText) {
- return etText.getText().toString().trim().length() == 0;
- }
public void showMessage(String statusText){
Toast.makeText(this, statusText, Toast.LENGTH_LONG).show();
@@ -575,4 +612,5 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
if (pDialog.isShowing())
pDialog.dismiss();
}
+
}
diff --git a/app/src/main/java/org/deke/risk/riskahead/ViewReportActivity.java b/app/src/main/java/org/deke/risk/riskahead/ViewReportActivity.java
index b32f508..601de90 100644
--- a/app/src/main/java/org/deke/risk/riskahead/ViewReportActivity.java
+++ b/app/src/main/java/org/deke/risk/riskahead/ViewReportActivity.java
@@ -176,7 +176,6 @@ public class ViewReportActivity extends BaseActivity {
return params;
}
-
};
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 23d7e6d..241c2af 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -11,7 +11,7 @@
Or use following social networks to sign in
Register to RiskAhead
- Full Name
+ Username
E-Mail
Password