Нет описания

RegisterActivity.java 6.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. /*************************************************************
  2. * By: Coralys Cubero Rivera
  3. * Date: 2019
  4. *************************************************************/
  5. package uprrp.tania.activities;
  6. import android.app.DatePickerDialog;
  7. import android.content.SharedPreferences;
  8. import android.graphics.Color;
  9. import android.graphics.drawable.ColorDrawable;
  10. import android.os.Bundle;
  11. import android.util.Log;
  12. import android.view.View;
  13. import android.widget.Button;
  14. import android.widget.DatePicker;
  15. import android.widget.EditText;
  16. import android.widget.RadioButton;
  17. import android.widget.TextView;
  18. import android.widget.Toast;
  19. import androidx.appcompat.app.AppCompatActivity;
  20. import org.json.JSONException;
  21. import org.json.JSONObject;
  22. import java.util.Calendar;
  23. import java.util.Objects;
  24. import uprrp.tania.GlobalValues;
  25. import uprrp.tania.R;
  26. import uprrp.tania.SendRegistrationToServer;
  27. public class RegisterActivity extends AppCompatActivity {
  28. private static final String TAG = "RegisterActivity";
  29. private JSONObject registrationInfo = new JSONObject();
  30. private DatePickerDialog.OnDateSetListener mDateSetListener;
  31. private String name;
  32. @Override
  33. protected void onCreate(Bundle savedInstanceState) {
  34. super.onCreate(savedInstanceState);
  35. setContentView(R.layout.activity_registration);
  36. final EditText nameEditText = findViewById(R.id.nameEditText);
  37. final TextView birthDateText = findViewById(R.id.birthDateText);
  38. final RadioButton maleGender = findViewById(R.id.maleRadioButton);
  39. final RadioButton femaleGender = findViewById(R.id.femaleRadioButton);
  40. final RadioButton notSpecifyGender = findViewById(R.id.notSayRadioButton);
  41. final RadioButton otherGender = findViewById(R.id.otherRadioButton);
  42. final RadioButton partTime = findViewById(R.id.partTimeRadioButton);
  43. final RadioButton fullTime = findViewById(R.id.fullTimeRadioButton);
  44. final RadioButton noJob = findViewById(R.id.noJobRadioButton);
  45. final EditText emailText = findViewById(R.id.emailText);
  46. final EditText passwordText = findViewById(R.id.passwordText);
  47. birthDateText.setOnClickListener(new View.OnClickListener() {
  48. @Override
  49. public void onClick(View view) {
  50. Calendar cal = Calendar.getInstance();
  51. int year = cal.get(Calendar.YEAR);
  52. int month = cal.get(Calendar.MONTH);
  53. int day = cal.get(Calendar.DAY_OF_MONTH);
  54. DatePickerDialog dialog = new DatePickerDialog(
  55. RegisterActivity.this,
  56. android.R.style.Theme_Holo_Light_Dialog_MinWidth,
  57. mDateSetListener,
  58. year, month, day);
  59. Objects.requireNonNull(dialog.getWindow()).setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
  60. dialog.show();
  61. }
  62. });
  63. mDateSetListener = new DatePickerDialog.OnDateSetListener() {
  64. @Override
  65. public void onDateSet(DatePicker datePicker, int year, int month, int day) {
  66. month = month + 1;
  67. Log.d(TAG, "onDateSet: mm/dd/yyy: " + month + "/" + day + "/" + year);
  68. String date = month + "/" + day + "/" + year;
  69. birthDateText.setText(date);
  70. }
  71. };
  72. Button buttonRegister = findViewById(R.id.registerButton);
  73. buttonRegister.setOnClickListener(new View.OnClickListener() {
  74. @Override
  75. public void onClick(View v) {
  76. try {
  77. if (nameEditText != null) {
  78. name = nameEditText.getText().toString();
  79. }
  80. if (birthDateText.getText() != null && emailText.getText() != null && passwordText.getText() != null && (maleGender.isChecked() || femaleGender.isChecked() || notSpecifyGender.isChecked() || otherGender.isChecked()) && (partTime.isChecked() || fullTime.isChecked() || noJob.isChecked())) {
  81. registrationInfo.put("birthDate", birthDateText.getText().toString());
  82. registrationInfo.put("email", emailText.getText().toString());
  83. registrationInfo.put("password", passwordText.getText().toString());
  84. if (maleGender.isChecked()) {
  85. registrationInfo.put("gender", "Male");
  86. } else if (femaleGender.isChecked()) {
  87. registrationInfo.put("gender", "Female");
  88. } else if (notSpecifyGender.isChecked()) {
  89. registrationInfo.put("gender", "Prefer not to say");
  90. } else if (otherGender.isChecked()){
  91. registrationInfo.put("gender", "Other");
  92. }
  93. if (partTime.isChecked()) {
  94. registrationInfo.put("hasJob", "Part time");
  95. } else if (fullTime.isChecked()) {
  96. registrationInfo.put("hasJob", "Full time");
  97. } else if (noJob.isChecked()) {
  98. registrationInfo.put("hasJob", "No job");
  99. }
  100. registrationInfo.put("token", GlobalValues.getInstance().getDeviceToken());
  101. } else {
  102. Toast.makeText(RegisterActivity.this, "All the fields are needed to complete registration.", Toast.LENGTH_LONG).show();
  103. }
  104. SharedPreferences prefs = getSharedPreferences("prefs", MODE_PRIVATE);
  105. SharedPreferences.Editor editor = prefs.edit();
  106. editor.putString("consentName", name);
  107. editor.apply();
  108. Log.d("REGISTER ACTIVITY", registrationInfo.toString());
  109. new SendRegistrationToServer(getApplicationContext()).execute(registrationInfo.toString());
  110. } catch (JSONException e) {
  111. Log.e("REGISTRATION ERROR", e.getMessage());
  112. }
  113. }
  114. });
  115. }
  116. }