ADD: Registration
This commit is contained in:
		
							parent
							
								
									83a6c27c56
								
							
						
					
					
						commit
						272e1f4242
					
				@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					package com.stormtales.notevault.network;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class StatusResponse {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private String status;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String getStatus() {
 | 
				
			||||||
 | 
					        return status;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void setStatus(String status) {
 | 
				
			||||||
 | 
					        this.status = status;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,5 +1,6 @@
 | 
				
			|||||||
package com.stormtales.notevault.network.auth;
 | 
					package com.stormtales.notevault.network.auth;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.stormtales.notevault.network.StatusResponse;
 | 
				
			||||||
import retrofit2.Call;
 | 
					import retrofit2.Call;
 | 
				
			||||||
import retrofit2.http.Body;
 | 
					import retrofit2.http.Body;
 | 
				
			||||||
import retrofit2.http.Headers;
 | 
					import retrofit2.http.Headers;
 | 
				
			||||||
@ -10,7 +11,7 @@ public interface AuthAPI {
 | 
				
			|||||||
    @POST("/login/")
 | 
					    @POST("/login/")
 | 
				
			||||||
    Call<LoginResponse> login(@Body LoginRequest loginRequest);
 | 
					    Call<LoginResponse> login(@Body LoginRequest loginRequest);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*@POST("/register/")
 | 
					    @POST("/register/")
 | 
				
			||||||
    @Headers("Content-Type: application/json")
 | 
					    @Headers("Content-Type: application/json")
 | 
				
			||||||
    Call<StatusResponse> registration(@Body RegisterRequest registerRequest);*/
 | 
					    Call<StatusResponse> registration(@Body RegisterRequest registerRequest);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -4,6 +4,7 @@ import android.content.Context;
 | 
				
			|||||||
import android.text.TextUtils;
 | 
					import android.text.TextUtils;
 | 
				
			||||||
import com.stormtales.notevault.network.APICallback;
 | 
					import com.stormtales.notevault.network.APICallback;
 | 
				
			||||||
import com.stormtales.notevault.network.NetworkModule;
 | 
					import com.stormtales.notevault.network.NetworkModule;
 | 
				
			||||||
 | 
					import com.stormtales.notevault.network.StatusResponse;
 | 
				
			||||||
import retrofit2.Call;
 | 
					import retrofit2.Call;
 | 
				
			||||||
import retrofit2.Callback;
 | 
					import retrofit2.Callback;
 | 
				
			||||||
import retrofit2.Response;
 | 
					import retrofit2.Response;
 | 
				
			||||||
@ -44,8 +45,8 @@ public class AuthService {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public void performRegistration(String email, String username, String password, APICallback callback) {
 | 
					    public void performRegistration(String email, String username, String password, APICallback callback) {
 | 
				
			||||||
        /*RegisterRequest registerRequest = new RegisterRequest(username, password, email);
 | 
					        RegisterRequest registerRequest = new RegisterRequest(username, password, email);
 | 
				
			||||||
        authService.registration(registerRequest).enqueue(new Callback<StatusResponse>() {
 | 
					        authAPI.registration(registerRequest).enqueue(new Callback<StatusResponse>() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            @Override
 | 
					            @Override
 | 
				
			||||||
            public void onResponse(Call<StatusResponse> call, Response<StatusResponse> response) {
 | 
					            public void onResponse(Call<StatusResponse> call, Response<StatusResponse> response) {
 | 
				
			||||||
@ -60,7 +61,7 @@ public class AuthService {
 | 
				
			|||||||
            public void onFailure(Call<StatusResponse> call, Throwable throwable) {
 | 
					            public void onFailure(Call<StatusResponse> call, Throwable throwable) {
 | 
				
			||||||
                callback.onError("Netzwerkfehler: " + throwable.getMessage());
 | 
					                callback.onError("Netzwerkfehler: " + throwable.getMessage());
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        });*/
 | 
					        });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private void saveToken(String token) {
 | 
					    private void saveToken(String token) {
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					package com.stormtales.notevault.network.auth;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class RegisterRequest {
 | 
				
			||||||
 | 
					    private String username;
 | 
				
			||||||
 | 
					    private String email;
 | 
				
			||||||
 | 
					    private String password;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public RegisterRequest(String username, String password, String email) {
 | 
				
			||||||
 | 
					        this.username = username;
 | 
				
			||||||
 | 
					        this.password = password;
 | 
				
			||||||
 | 
					        this.email = email;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -33,6 +33,8 @@ public class LoginDialog extends DialogFragment {
 | 
				
			|||||||
    private EditText editTextUsername;
 | 
					    private EditText editTextUsername;
 | 
				
			||||||
    private EditText editTextPassword;
 | 
					    private EditText editTextPassword;
 | 
				
			||||||
    private EditText editTextEmail;
 | 
					    private EditText editTextEmail;
 | 
				
			||||||
 | 
					    private TextView textViewTitle;
 | 
				
			||||||
 | 
					    private TextView textViewSwitch;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void onAttach(Context context) {
 | 
					    public void onAttach(Context context) {
 | 
				
			||||||
@ -51,12 +53,12 @@ public class LoginDialog extends DialogFragment {
 | 
				
			|||||||
        LayoutInflater inflater = requireActivity().getLayoutInflater();
 | 
					        LayoutInflater inflater = requireActivity().getLayoutInflater();
 | 
				
			||||||
        View view = inflater.inflate(R.layout.fragment_login_dialog, null);
 | 
					        View view = inflater.inflate(R.layout.fragment_login_dialog, null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        TextView textViewTitle = view.findViewById(R.id.textViewTitle);
 | 
					        textViewTitle = view.findViewById(R.id.textViewTitle);
 | 
				
			||||||
        editTextUsername = view.findViewById(R.id.editTextUsername);
 | 
					        editTextUsername = view.findViewById(R.id.editTextUsername);
 | 
				
			||||||
        editTextEmail = view.findViewById(R.id.editTextEmail);
 | 
					        editTextEmail = view.findViewById(R.id.editTextEmail);
 | 
				
			||||||
        editTextPassword = view.findViewById(R.id.editTextPassword);
 | 
					        editTextPassword = view.findViewById(R.id.editTextPassword);
 | 
				
			||||||
        loginButton = view.findViewById(R.id.buttonAction);
 | 
					        loginButton = view.findViewById(R.id.buttonAction);
 | 
				
			||||||
        TextView textViewSwitch = view.findViewById(R.id.textViewSwitch);
 | 
					        textViewSwitch = view.findViewById(R.id.textViewSwitch);
 | 
				
			||||||
        loadingProgressBar = view.findViewById(R.id.loading);
 | 
					        loadingProgressBar = view.findViewById(R.id.loading);
 | 
				
			||||||
        // Handle action button click
 | 
					        // Handle action button click
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -114,13 +116,21 @@ public class LoginDialog extends DialogFragment {
 | 
				
			|||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                // Handle registration logic
 | 
					                // Handle registration logic
 | 
				
			||||||
                String username = editTextUsername.getText().toString();
 | 
					                String username = editTextUsername.getText().toString();
 | 
				
			||||||
                AuthService authRepository = new AuthService(this.getContext());
 | 
					                this.loginViewModel.performRegistration(email, password, username, this::onSuccessFullRegistration);
 | 
				
			||||||
                //authRepository.performRegistration(email, username, password, registerCallback);
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        return dialog;
 | 
					        return dialog;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private void onSuccessFullRegistration() {
 | 
				
			||||||
 | 
					        Toast.makeText(getContext(), "Successfully registered", Toast.LENGTH_LONG).show();
 | 
				
			||||||
 | 
					        this.isLoginMode = true;
 | 
				
			||||||
 | 
					        textViewTitle.setText(isLoginMode ? "Login" : "Register");
 | 
				
			||||||
 | 
					        editTextUsername.setVisibility(isLoginMode ? View.GONE : View.VISIBLE);
 | 
				
			||||||
 | 
					        loginButton.setText(isLoginMode ? "Login" : "Register");
 | 
				
			||||||
 | 
					        textViewSwitch.setText(isLoginMode ? "Don't have an account? Register" : "Already have an account? Login");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void onViewCreated(@NonNull @NotNull View view, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
 | 
					    public void onViewCreated(@NonNull @NotNull View view, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
 | 
				
			||||||
        super.onViewCreated(view, savedInstanceState);
 | 
					        super.onViewCreated(view, savedInstanceState);
 | 
				
			||||||
 | 
				
			|||||||
@ -6,6 +6,7 @@ import android.widget.Toast;
 | 
				
			|||||||
import androidx.lifecycle.MutableLiveData;
 | 
					import androidx.lifecycle.MutableLiveData;
 | 
				
			||||||
import androidx.lifecycle.ViewModel;
 | 
					import androidx.lifecycle.ViewModel;
 | 
				
			||||||
import com.stormtales.notevault.R;
 | 
					import com.stormtales.notevault.R;
 | 
				
			||||||
 | 
					import com.stormtales.notevault.network.APICallback;
 | 
				
			||||||
import com.stormtales.notevault.network.auth.AuthService;
 | 
					import com.stormtales.notevault.network.auth.AuthService;
 | 
				
			||||||
import com.stormtales.notevault.network.auth.LoginResponse;
 | 
					import com.stormtales.notevault.network.auth.LoginResponse;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -29,6 +30,22 @@ public class LoginViewModel extends ViewModel {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void performRegistration(String email, String password, String username, SuccessFullLoginCallback successFullLoginCallback) {
 | 
				
			||||||
 | 
					        if(authService != null) {
 | 
				
			||||||
 | 
					            authService.performRegistration(email, username, password, new APICallback() {
 | 
				
			||||||
 | 
					                @Override
 | 
				
			||||||
 | 
					                public void onSuccess() {
 | 
				
			||||||
 | 
					                    successFullLoginCallback.onSuccess();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                @Override
 | 
				
			||||||
 | 
					                public void onError(String error) {
 | 
				
			||||||
 | 
					                    Log.d("LoginService", error);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public void setAuthService(AuthService authService) {
 | 
					    public void setAuthService(AuthService authService) {
 | 
				
			||||||
        this.authService = authService;
 | 
					        this.authService = authService;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user