Advertisement
Guest User

Untitled

a guest
May 15th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.07 KB | None | 0 0
  1. package com.example.jaderedworth.androidmobileapplication.Fragments;
  2.  
  3. import android.annotation.TargetApi;
  4. import android.app.AlertDialog;
  5. import android.app.Fragment;
  6. import android.app.FragmentTransaction;
  7. import android.content.DialogInterface;
  8. import android.os.Build;
  9. import android.os.Bundle;
  10. import android.util.Log;
  11. import android.view.LayoutInflater;
  12. import android.view.View;
  13. import android.view.ViewGroup;
  14. import android.widget.Button;
  15. import android.widget.EditText;
  16. import android.widget.Toast;
  17.  
  18. import com.example.jaderedworth.androidmobileapplication.DataValidator;
  19. import com.example.jaderedworth.androidmobileapplication.R;// TODO: 04/05/2016
  20.  
  21. public class RegisterFragmentMain extends Fragment {
  22.  
  23. public EditText emailInput;
  24. public EditText passwordInput;
  25. public EditText confirmPasswordInput;
  26.  
  27. public EditText forenameInput;
  28. public EditText surnameInput;
  29. public EditText usernameInput;
  30. public EditText homePhoneInput;
  31. public EditText mobilePhoneInput;
  32.  
  33. public Button proceedButton;
  34.  
  35. public String email;
  36. public String password;
  37. public String confirmPass;
  38. public String forename;
  39. public String surname;
  40. public String username;
  41. public String homePhone;
  42. public String mobilePhone;
  43.  
  44. private AlertDialog.Builder builder;
  45. private String alertTitle;
  46. private String mandatoryMessage;
  47. private String invalidMessage;
  48.  
  49.  
  50. @Override
  51. public View onCreateView(LayoutInflater i, ViewGroup vg, Bundle savedInstanceState ){
  52. super.onCreateView(i, vg, savedInstanceState);
  53. View rootView = i.inflate(R.layout.fragment_register_main, vg, false);
  54.  
  55. //Reference layout elements
  56. emailInput = (EditText) rootView.findViewById(R.id.editTextEmail);
  57. passwordInput = (EditText) rootView.findViewById(R.id.editTextPassword);
  58. confirmPasswordInput = (EditText) rootView.findViewById(R.id.editTextConfirmPassword);
  59.  
  60. forenameInput = (EditText) rootView.findViewById(R.id.editTextForename);
  61. surnameInput = (EditText) rootView.findViewById(R.id.editTextSurname);
  62. usernameInput = (EditText) rootView.findViewById(R.id.editTextUsername);
  63. homePhoneInput = (EditText) rootView.findViewById(R.id.editTextHomePhone);
  64. mobilePhoneInput = (EditText) rootView.findViewById(R.id.editTextMobilePhone);
  65.  
  66. proceedButton = (Button) rootView.findViewById(R.id.btnCompleteRegistrationStepOne);
  67.  
  68. //Set listener to Register button
  69. proceedButton.setOnClickListener(new View.OnClickListener(){
  70.  
  71. @Override
  72. public void onClick(View v) {
  73.  
  74. email = emailInput.getText().toString();
  75. Log.d("email", ""+email);
  76. password = passwordInput.getText().toString();
  77. Log.d("password", ""+password);
  78. confirmPass = confirmPasswordInput.getText().toString();
  79. Log.d("password2", ""+confirmPass);
  80.  
  81. forename = forenameInput.getText().toString();
  82. Log.d("forename", ""+forename);
  83. surname = surnameInput.getText().toString();
  84. Log.d("surname", ""+surname);
  85. username = usernameInput.getText().toString();
  86. Log.d("username", ""+username);
  87. homePhone = homePhoneInput.getText().toString();
  88. Log.d("homephone", ""+homePhone);
  89. mobilePhone = mobilePhoneInput.getText().toString();
  90. Log.d("mobilephone", ""+mobilePhone);
  91.  
  92. if(ValidInput()){
  93. //Proceed to next page
  94. RegisterFragmentShippingInfo targetFragment = new RegisterFragmentShippingInfo();
  95.  
  96. //Pass user's info
  97. Bundle userData = new Bundle();
  98. userData.putString("EMAIL", email);
  99. userData.putString("PASSWORD_HASH", password);
  100. userData.putString("FORENAME", forename);
  101. userData.putString("SURNAME", surname);
  102. userData.putString("USERNAME", username);
  103. userData.putString("HOME_PHONE", homePhone);
  104. userData.putString("MOB_PHONE", mobilePhone);
  105.  
  106. targetFragment.setArguments(userData);
  107. FragmentTransaction t = getFragmentManager().beginTransaction();
  108. t.replace(R.id.fragment_login_main, targetFragment);
  109. t.addToBackStack(null);
  110. getFragmentManager().popBackStack();
  111.  
  112. t.commit();
  113. }
  114.  
  115. }
  116. });
  117.  
  118. return rootView;
  119. }
  120.  
  121. @TargetApi(Build.VERSION_CODES.M)
  122. public Boolean ValidInput(){
  123. Boolean inputIsValid = false;
  124.  
  125. DataValidator dataValidator = new DataValidator(this.getContext());
  126. Boolean validPassword = false;
  127. Boolean validEmail;
  128. Boolean validForename;
  129. Boolean validSurname;
  130. Boolean validUsername;
  131. Boolean validHomePhone;
  132. Boolean validMobilePhone;
  133.  
  134. //Check password is acceptable
  135. //Check pass matches confirm
  136. dataValidator.setArguments(password, "Password");
  137. if (password.matches(confirmPass)) {
  138. //Check valid pass
  139. validPassword = dataValidator.passwordIsValid();
  140. }
  141. //Ugly, however more elegant to just handle this one here instead of generating the necessary code to adapt validator
  142. //for the single check.
  143. else if(!password.matches(confirmPass)){
  144. builder = new AlertDialog.Builder(getActivity());
  145. builder.setMessage("Password does not match").setTitle(alertTitle);
  146. AlertDialog dialog = builder.create();
  147. dialog.show();
  148. validPassword = false;
  149. }
  150.  
  151. //Check mandatory fields are not empty
  152. dataValidator.setArguments(email, "Email");
  153. validEmail = dataValidator.fieldIsNotEmpty()&&dataValidator.emailIsValid();
  154. dataValidator.setArguments(forename, "Forename");
  155. validForename = dataValidator.fieldIsNotEmpty()&&dataValidator.alphabeticStringIsValid();
  156. dataValidator.setArguments(surname, "Surname");
  157. validSurname= dataValidator.fieldIsNotEmpty()&&dataValidator.alphabeticStringIsValid();
  158.  
  159. //Nullable fields are valid
  160. dataValidator.setArguments(username, "Username");
  161. validUsername= dataValidator.alphanumericStringIsValid();
  162. dataValidator.setArguments(homePhone, "Home Phone Number");
  163. validHomePhone= dataValidator.numericStringIsValid();
  164. dataValidator.setArguments(mobilePhone, "Mobile Phone Number");
  165. validMobilePhone= dataValidator.numericStringIsValid();
  166.  
  167. if (validPassword&&validEmail&&validForename&&validSurname&&validUsername&&validHomePhone&&validMobilePhone){
  168. inputIsValid = true;
  169. Log.d("validInput", "true");
  170. }
  171. else{
  172. Log.d("validInput", "false");
  173. }
  174.  
  175. return inputIsValid;
  176. }
  177.  
  178.  
  179. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement