Advertisement
Guest User

RegisterFragment

a guest
Apr 26th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.26 KB | None | 0 0
  1. package id.co.kargo.registration;
  2.  
  3. /**
  4.  * Created by farahclara on 26/04/2016.
  5.  */
  6.  
  7. import android.app.Fragment;
  8. import android.app.FragmentTransaction;
  9. import android.os.Bundle;
  10. import android.support.design.widget.Snackbar;
  11. import android.support.v7.widget.AppCompatButton;
  12. import android.util.Log;
  13. import android.view.LayoutInflater;
  14. import android.view.View;
  15. import android.view.ViewGroup;
  16. import android.widget.EditText;
  17. import android.widget.ProgressBar;
  18. import android.widget.TextView;
  19.  
  20. import id.co.kargo.registration.ServerRequest;
  21. import id.co.kargo.registration.ServerResponse;
  22. import id.co.kargo.registration.User;
  23.  
  24. import retrofit2.Call;
  25. import retrofit2.Callback;
  26. import retrofit2.Retrofit;
  27. import retrofit2.converter.gson.GsonConverterFactory;
  28.  
  29. public class RegisterFragment extends Fragment  implements View.OnClickListener{
  30.  
  31.     private AppCompatButton btn_register;
  32.     private EditText et_email,et_password,et_name;
  33.     private TextView tv_login;
  34.     private ProgressBar progress;
  35.  
  36.     @Override
  37.     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  38.  
  39.         View view = inflater.inflate(R.layout.fragment_register,container,false);
  40.         initViews(view);
  41.         return view;
  42.     }
  43.  
  44.     private void initViews(View view){
  45.  
  46.         btn_register = (AppCompatButton)view.findViewById(R.id.btn_register);
  47.         tv_login = (TextView)view.findViewById(R.id.tv_login);
  48.         et_name = (EditText)view.findViewById(R.id.et_name);
  49.         et_email = (EditText)view.findViewById(R.id.et_email);
  50.         et_password = (EditText)view.findViewById(R.id.et_password);
  51.  
  52.         progress = (ProgressBar)view.findViewById(R.id.progress);
  53.  
  54.         btn_register.setOnClickListener(this);
  55.         tv_login.setOnClickListener(this);
  56.     }
  57.  
  58.     @Override
  59.     public void onClick(View v) {
  60.  
  61.         switch (v.getId()){
  62.             case R.id.tv_login:
  63.                 goToLogin();
  64.                 break;
  65.  
  66.             case R.id.btn_register:
  67.  
  68.                 String name = et_name.getText().toString();
  69.                 String email = et_email.getText().toString();
  70.                 String password = et_password.getText().toString();
  71.  
  72.                 if(!name.isEmpty() && !email.isEmpty() && !password.isEmpty()) {
  73.  
  74.                     progress.setVisibility(View.VISIBLE);
  75.                     registerProcess(name,email,password);
  76.  
  77.                 } else {
  78.  
  79.                     Snackbar.make(getView(), "Fields are empty !", Snackbar.LENGTH_LONG).show();
  80.                 }
  81.                 break;
  82.  
  83.         }
  84.  
  85.     }
  86.  
  87.     private void registerProcess(String name, String email,String password){
  88.  
  89.         Retrofit retrofit = new Retrofit.Builder()
  90.                 .baseUrl(Constants.BASE_URL)
  91.                 .addConverterFactory(GsonConverterFactory.create())
  92.                 .build();
  93.  
  94.         RequestInterface requestInterface = retrofit.create(RequestInterface.class);
  95.  
  96.         User user = new User();
  97.         user.setName(name);
  98.         user.setEmail(email);
  99.         user.setPassword(password);
  100.         ServerRequest request = new ServerRequest();
  101.         request.setOperation(Constants.REGISTER_OPERATION);
  102.         request.setUser(user);
  103.         Call<ServerResponse> response = requestInterface.operation(request);
  104.  
  105.         response.enqueue(new Callback<ServerResponse>() {
  106.             @Override
  107.             public void onResponse(Call<ServerResponse> call, retrofit2.Response<ServerResponse> response) {
  108.  
  109.                 ServerResponse resp = response.body();
  110.                 Snackbar.make(getView(), resp.getMessage(), Snackbar.LENGTH_LONG).show();
  111.                 progress.setVisibility(View.INVISIBLE);
  112.             }
  113.  
  114.             @Override
  115.             public void onFailure(Call<ServerResponse> call, Throwable t) {
  116.  
  117.                 progress.setVisibility(View.INVISIBLE);
  118.                 Log.d(Constants.TAG,"failed");
  119.                 Snackbar.make(getView(), t.getLocalizedMessage(), Snackbar.LENGTH_LONG).show();
  120.  
  121.             }
  122.         });
  123.     }
  124.  
  125.     private void goToLogin(){
  126.  
  127.         Fragment login = new LoginFragment();
  128.         FragmentTransaction ft = getFragmentManager().beginTransaction();
  129.         ft.replace(R.id.fragment_frame,login);
  130.         ft.commit();
  131.     }{
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement