Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package god.believe.in.kerassyik.controller;
- import android.app.Activity;
- import android.app.DatePickerDialog;
- import android.content.Intent;
- import android.databinding.DataBindingUtil;
- import android.os.Bundle;
- import android.support.annotation.Nullable;
- import android.support.v7.app.AppCompatActivity;
- import android.widget.DatePicker;
- import android.widget.Toast;
- import com.google.common.hash.Hashing;
- import com.google.gson.JsonObject;
- import java.nio.charset.Charset;
- import java.nio.charset.StandardCharsets;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.Locale;
- import god.believe.in.kerassyik.R;
- import god.believe.in.kerassyik.databinding.ActivityRegisterBinding;
- import god.believe.in.kerassyik.global.ApiServices;
- import god.believe.in.kerassyik.models.ModelMain;
- import god.believe.in.kerassyik.models.user.ModelUser;
- import god.believe.in.kerassyik.viewmodel.register.handlers.ViewHandlerRegister;
- import god.believe.in.kerassyik.viewmodel.register.handlers.ViewInterfaceRegister;
- import retrofit2.Call;
- import retrofit2.Callback;
- import retrofit2.Response;
- import retrofit2.Retrofit;
- import retrofit2.converter.gson.GsonConverterFactory;
- public class Register extends AppCompatActivity implements ViewInterfaceRegister {
- private Activity activity;
- private ActivityRegisterBinding registerBinding;
- private Calendar calendar;
- DatePickerDialog.OnDateSetListener date;
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- registerBinding = DataBindingUtil
- .setContentView(this, R.layout.activity_register);
- activity = this;
- ViewHandlerRegister handlerRegister = ViewHandlerRegister.create(this);
- registerBinding.setHandlers(handlerRegister);
- calendar = Calendar.getInstance();
- date = new DatePickerDialog.OnDateSetListener() {
- @Override
- public void onDateSet(DatePicker view, int year, int monthOfYear,
- int dayOfMonth) {
- calendar.set(Calendar.YEAR, year);
- calendar.set(Calendar.MONTH, monthOfYear);
- calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
- setDate();
- }
- };
- }
- private void setDate(){
- String myFormat = "dd-MM-yyyy";
- SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
- registerBinding.dateOfBirth.setText(sdf.format(calendar.getTime()));
- }
- @Override
- public void signUp() {
- String name = registerBinding.name.getText().toString(),
- email = registerBinding.email.getText().toString(),
- address = registerBinding.address.getText().toString(),
- phone = registerBinding.phone.getText().toString(),
- password = registerBinding.password.getText().toString(),
- birtDate = registerBinding.dateOfBirth.getText().toString();
- if ((name!= null && !name.equals("")) &&
- (email!=null && !email.equals("")) &&
- (address!=null && !address.equals("")) &&
- (phone!=null && !phone.equals("")) &&
- (password!= null && !password.equals("")) &&
- (birtDate!= null && !birtDate.equals(""))){
- password = Hashing.sha256()
- .hashString(password, Charset.defaultCharset())
- .toString();
- Retrofit retrofit = new Retrofit
- .Builder()
- .baseUrl(ApiServices.BASE_URL)
- .addConverterFactory(GsonConverterFactory.create())
- .build();
- JsonObject object = new JsonObject();
- object.addProperty("phone", phone);
- object.addProperty("password", password);
- object.addProperty("birthdate", birtDate);
- object.addProperty("email", email);
- object.addProperty("address", address);
- object.addProperty("name", name);
- ApiServices services = retrofit.create(ApiServices.class);
- Call<ModelMain> repos = services.register(object);
- repos.enqueue(new Callback<ModelMain>() {
- @Override
- public void onResponse(Call<ModelMain> call, Response<ModelMain> response) {
- if (response.body()!= null){
- if (response.body().getCode() == 200){
- Toast.makeText(activity, response.body().getMessage(), Toast.LENGTH_SHORT).show();
- finish();
- } else {
- Toast.makeText(activity, response.body().getMessage(), Toast.LENGTH_SHORT).show();
- }
- }
- }
- @Override
- public void onFailure(Call<ModelMain> call, Throwable t) {
- call.cancel();
- t.printStackTrace();
- Toast.makeText(activity,
- "Oops something went wrong",
- Toast.LENGTH_SHORT).show();
- }
- });
- }
- }
- @Override
- public void datePicker() {
- Date minDate = new Date("1900/1/1");
- long minMs = System.currentTimeMillis() - minDate.getTime();
- DatePickerDialog dialog =
- new DatePickerDialog(this, date, calendar
- .get(Calendar.YEAR), calendar.get(Calendar.MONTH),
- calendar.get(Calendar.DAY_OF_MONTH));
- dialog.getDatePicker()
- .setMinDate(minDate.getTime());
- dialog.getDatePicker().setMaxDate(System.currentTimeMillis());
- dialog.show();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement