Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.jaderedworth.androidmobileapplication.Fragments;
- import android.annotation.TargetApi;
- import android.app.AlertDialog;
- import android.app.Fragment;
- import android.app.FragmentTransaction;
- import android.content.DialogInterface;
- import android.os.Build;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
- import com.example.jaderedworth.androidmobileapplication.DataValidator;
- import com.example.jaderedworth.androidmobileapplication.R;// TODO: 04/05/2016
- public class RegisterFragmentMain extends Fragment {
- public EditText emailInput;
- public EditText passwordInput;
- public EditText confirmPasswordInput;
- public EditText forenameInput;
- public EditText surnameInput;
- public EditText usernameInput;
- public EditText homePhoneInput;
- public EditText mobilePhoneInput;
- public Button proceedButton;
- public String email;
- public String password;
- public String confirmPass;
- public String forename;
- public String surname;
- public String username;
- public String homePhone;
- public String mobilePhone;
- private AlertDialog.Builder builder;
- private String alertTitle;
- private String mandatoryMessage;
- private String invalidMessage;
- @Override
- public View onCreateView(LayoutInflater i, ViewGroup vg, Bundle savedInstanceState ){
- super.onCreateView(i, vg, savedInstanceState);
- View rootView = i.inflate(R.layout.fragment_register_main, vg, false);
- //Reference layout elements
- emailInput = (EditText) rootView.findViewById(R.id.editTextEmail);
- passwordInput = (EditText) rootView.findViewById(R.id.editTextPassword);
- confirmPasswordInput = (EditText) rootView.findViewById(R.id.editTextConfirmPassword);
- forenameInput = (EditText) rootView.findViewById(R.id.editTextForename);
- surnameInput = (EditText) rootView.findViewById(R.id.editTextSurname);
- usernameInput = (EditText) rootView.findViewById(R.id.editTextUsername);
- homePhoneInput = (EditText) rootView.findViewById(R.id.editTextHomePhone);
- mobilePhoneInput = (EditText) rootView.findViewById(R.id.editTextMobilePhone);
- proceedButton = (Button) rootView.findViewById(R.id.btnCompleteRegistrationStepOne);
- //Set listener to Register button
- proceedButton.setOnClickListener(new View.OnClickListener(){
- @Override
- public void onClick(View v) {
- email = emailInput.getText().toString();
- Log.d("email", ""+email);
- password = passwordInput.getText().toString();
- Log.d("password", ""+password);
- confirmPass = confirmPasswordInput.getText().toString();
- Log.d("password2", ""+confirmPass);
- forename = forenameInput.getText().toString();
- Log.d("forename", ""+forename);
- surname = surnameInput.getText().toString();
- Log.d("surname", ""+surname);
- username = usernameInput.getText().toString();
- Log.d("username", ""+username);
- homePhone = homePhoneInput.getText().toString();
- Log.d("homephone", ""+homePhone);
- mobilePhone = mobilePhoneInput.getText().toString();
- Log.d("mobilephone", ""+mobilePhone);
- if(ValidInput()){
- //Proceed to next page
- RegisterFragmentShippingInfo targetFragment = new RegisterFragmentShippingInfo();
- //Pass user's info
- Bundle userData = new Bundle();
- userData.putString("EMAIL", email);
- userData.putString("PASSWORD_HASH", password);
- userData.putString("FORENAME", forename);
- userData.putString("SURNAME", surname);
- userData.putString("USERNAME", username);
- userData.putString("HOME_PHONE", homePhone);
- userData.putString("MOB_PHONE", mobilePhone);
- targetFragment.setArguments(userData);
- FragmentTransaction t = getFragmentManager().beginTransaction();
- t.replace(R.id.fragment_login_main, targetFragment);
- t.addToBackStack(null);
- getFragmentManager().popBackStack();
- t.commit();
- }
- }
- });
- return rootView;
- }
- @TargetApi(Build.VERSION_CODES.M)
- public Boolean ValidInput(){
- Boolean inputIsValid = false;
- DataValidator dataValidator = new DataValidator(this.getContext());
- Boolean validPassword = false;
- Boolean validEmail;
- Boolean validForename;
- Boolean validSurname;
- Boolean validUsername;
- Boolean validHomePhone;
- Boolean validMobilePhone;
- //Check password is acceptable
- //Check pass matches confirm
- dataValidator.setArguments(password, "Password");
- if (password.matches(confirmPass)) {
- //Check valid pass
- validPassword = dataValidator.passwordIsValid();
- }
- //Ugly, however more elegant to just handle this one here instead of generating the necessary code to adapt validator
- //for the single check.
- else if(!password.matches(confirmPass)){
- builder = new AlertDialog.Builder(getActivity());
- builder.setMessage("Password does not match").setTitle(alertTitle);
- AlertDialog dialog = builder.create();
- dialog.show();
- validPassword = false;
- }
- //Check mandatory fields are not empty
- dataValidator.setArguments(email, "Email");
- validEmail = dataValidator.fieldIsNotEmpty()&&dataValidator.emailIsValid();
- dataValidator.setArguments(forename, "Forename");
- validForename = dataValidator.fieldIsNotEmpty()&&dataValidator.alphabeticStringIsValid();
- dataValidator.setArguments(surname, "Surname");
- validSurname= dataValidator.fieldIsNotEmpty()&&dataValidator.alphabeticStringIsValid();
- //Nullable fields are valid
- dataValidator.setArguments(username, "Username");
- validUsername= dataValidator.alphanumericStringIsValid();
- dataValidator.setArguments(homePhone, "Home Phone Number");
- validHomePhone= dataValidator.numericStringIsValid();
- dataValidator.setArguments(mobilePhone, "Mobile Phone Number");
- validMobilePhone= dataValidator.numericStringIsValid();
- if (validPassword&&validEmail&&validForename&&validSurname&&validUsername&&validHomePhone&&validMobilePhone){
- inputIsValid = true;
- Log.d("validInput", "true");
- }
- else{
- Log.d("validInput", "false");
- }
- return inputIsValid;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement