Advertisement
perdiatmaja

register

Apr 25th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.84 KB | None | 0 0
  1. package god.believe.in.kerassyik.controller;
  2.  
  3. import android.app.Activity;
  4. import android.app.DatePickerDialog;
  5. import android.content.Intent;
  6. import android.databinding.DataBindingUtil;
  7. import android.os.Bundle;
  8. import android.support.annotation.Nullable;
  9. import android.support.v7.app.AppCompatActivity;
  10. import android.widget.DatePicker;
  11. import android.widget.Toast;
  12.  
  13. import com.google.common.hash.Hashing;
  14. import com.google.gson.JsonObject;
  15.  
  16. import java.nio.charset.Charset;
  17. import java.nio.charset.StandardCharsets;
  18. import java.text.SimpleDateFormat;
  19. import java.util.Calendar;
  20. import java.util.Date;
  21. import java.util.Locale;
  22.  
  23. import god.believe.in.kerassyik.R;
  24. import god.believe.in.kerassyik.databinding.ActivityRegisterBinding;
  25. import god.believe.in.kerassyik.global.ApiServices;
  26. import god.believe.in.kerassyik.models.ModelMain;
  27. import god.believe.in.kerassyik.models.user.ModelUser;
  28. import god.believe.in.kerassyik.viewmodel.register.handlers.ViewHandlerRegister;
  29. import god.believe.in.kerassyik.viewmodel.register.handlers.ViewInterfaceRegister;
  30. import retrofit2.Call;
  31. import retrofit2.Callback;
  32. import retrofit2.Response;
  33. import retrofit2.Retrofit;
  34. import retrofit2.converter.gson.GsonConverterFactory;
  35.  
  36. public class Register extends AppCompatActivity implements ViewInterfaceRegister {
  37.  
  38.     private Activity activity;
  39.     private ActivityRegisterBinding registerBinding;
  40.     private Calendar calendar;
  41.     DatePickerDialog.OnDateSetListener date;
  42.  
  43.     @Override
  44.     protected void onCreate(@Nullable Bundle savedInstanceState) {
  45.         super.onCreate(savedInstanceState);
  46.         registerBinding = DataBindingUtil
  47.                 .setContentView(this, R.layout.activity_register);
  48.  
  49.         activity = this;
  50.  
  51.         ViewHandlerRegister handlerRegister = ViewHandlerRegister.create(this);
  52.  
  53.         registerBinding.setHandlers(handlerRegister);
  54.  
  55.         calendar = Calendar.getInstance();
  56.  
  57.         date = new DatePickerDialog.OnDateSetListener() {
  58.  
  59.             @Override
  60.             public void onDateSet(DatePicker view, int year, int monthOfYear,
  61.                                   int dayOfMonth) {
  62.                 calendar.set(Calendar.YEAR, year);
  63.                 calendar.set(Calendar.MONTH, monthOfYear);
  64.                 calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
  65.                 setDate();
  66.             }
  67.         };
  68.     }
  69.  
  70.     private void setDate(){
  71.         String myFormat = "dd-MM-yyyy";
  72.         SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
  73.  
  74.         registerBinding.dateOfBirth.setText(sdf.format(calendar.getTime()));
  75.     }
  76.  
  77.     @Override
  78.     public void signUp() {
  79.         String name = registerBinding.name.getText().toString(),
  80.                 email = registerBinding.email.getText().toString(),
  81.                 address = registerBinding.address.getText().toString(),
  82.                 phone = registerBinding.phone.getText().toString(),
  83.                 password = registerBinding.password.getText().toString(),
  84.                 birtDate = registerBinding.dateOfBirth.getText().toString();
  85.  
  86.         if ((name!= null && !name.equals("")) &&
  87.                 (email!=null && !email.equals("")) &&
  88.                 (address!=null && !address.equals("")) &&
  89.                 (phone!=null && !phone.equals("")) &&
  90.                 (password!= null && !password.equals("")) &&
  91.                 (birtDate!= null && !birtDate.equals(""))){
  92.  
  93.             password = Hashing.sha256()
  94.                     .hashString(password, Charset.defaultCharset())
  95.                     .toString();
  96.  
  97.             Retrofit retrofit = new Retrofit
  98.                     .Builder()
  99.                     .baseUrl(ApiServices.BASE_URL)
  100.                     .addConverterFactory(GsonConverterFactory.create())
  101.                     .build();
  102.  
  103.             JsonObject object = new JsonObject();
  104.  
  105.             object.addProperty("phone", phone);
  106.             object.addProperty("password", password);
  107.             object.addProperty("birthdate", birtDate);
  108.             object.addProperty("email", email);
  109.             object.addProperty("address", address);
  110.             object.addProperty("name", name);
  111.  
  112.             ApiServices services = retrofit.create(ApiServices.class);
  113.  
  114.             Call<ModelMain> repos = services.register(object);
  115.  
  116.             repos.enqueue(new Callback<ModelMain>() {
  117.                 @Override
  118.                 public void onResponse(Call<ModelMain> call, Response<ModelMain> response) {
  119.                     if (response.body()!= null){
  120.                         if (response.body().getCode() == 200){
  121.                             Toast.makeText(activity, response.body().getMessage(), Toast.LENGTH_SHORT).show();
  122.                             finish();
  123.                         } else {
  124.                             Toast.makeText(activity, response.body().getMessage(), Toast.LENGTH_SHORT).show();
  125.                         }
  126.                     }
  127.                 }
  128.  
  129.                 @Override
  130.                 public void onFailure(Call<ModelMain> call, Throwable t) {
  131.                     call.cancel();
  132.                     t.printStackTrace();
  133.                     Toast.makeText(activity,
  134.                             "Oops something went wrong",
  135.                             Toast.LENGTH_SHORT).show();
  136.                 }
  137.             });
  138.  
  139.         }
  140.  
  141.     }
  142.  
  143.     @Override
  144.     public void datePicker() {
  145.         Date minDate = new Date("1900/1/1");
  146.  
  147.         long minMs = System.currentTimeMillis() - minDate.getTime();
  148.  
  149.         DatePickerDialog dialog =
  150.         new DatePickerDialog(this, date, calendar
  151.                 .get(Calendar.YEAR), calendar.get(Calendar.MONTH),
  152.                 calendar.get(Calendar.DAY_OF_MONTH));
  153.         dialog.getDatePicker()
  154.                 .setMinDate(minDate.getTime());
  155.         dialog.getDatePicker().setMaxDate(System.currentTimeMillis());
  156.         dialog.show();
  157.     }
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement