mirror of
https://github.com/Nezumi-2711/Foodify.git
synced 2026-09-22 13:38:41 +00:00
Add sign in method
This commit is contained in:
@@ -16,14 +16,16 @@ import java.util.List;
|
|||||||
import retrofit2.Call;
|
import retrofit2.Call;
|
||||||
import retrofit2.Retrofit;
|
import retrofit2.Retrofit;
|
||||||
import retrofit2.converter.gson.GsonConverterFactory;
|
import retrofit2.converter.gson.GsonConverterFactory;
|
||||||
|
import retrofit2.http.Body;
|
||||||
import retrofit2.http.GET;
|
import retrofit2.http.GET;
|
||||||
|
import retrofit2.http.Headers;
|
||||||
import retrofit2.http.POST;
|
import retrofit2.http.POST;
|
||||||
import retrofit2.http.Path;
|
import retrofit2.http.Path;
|
||||||
import retrofit2.http.Query;
|
import retrofit2.http.Query;
|
||||||
|
|
||||||
|
|
||||||
public interface FoodApi {
|
public interface FoodApi {
|
||||||
Gson gson = new GsonBuilder().setDateFormat("HH:mm:ss dd-MM-yyyy").create();
|
Gson gson = new GsonBuilder().setDateFormat("HH:mm:ss dd-MM-yyyy").setLenient().create();
|
||||||
|
|
||||||
FoodApi apiService = new Retrofit.Builder()
|
FoodApi apiService = new Retrofit.Builder()
|
||||||
.baseUrl("http://192.168.1.183:8080/api/").addConverterFactory(GsonConverterFactory.create(gson))
|
.baseUrl("http://192.168.1.183:8080/api/").addConverterFactory(GsonConverterFactory.create(gson))
|
||||||
@@ -69,6 +71,7 @@ public interface FoodApi {
|
|||||||
@GET("sliders")
|
@GET("sliders")
|
||||||
Call<List<Slider>> listSlider();
|
Call<List<Slider>> listSlider();
|
||||||
|
|
||||||
@POST("api/auth/signup")
|
@Headers({"accept: */*", "Content-Type: application/json"})
|
||||||
Call<User> register(User user);
|
@POST("auth/signup")
|
||||||
|
Call<User> register(@Body User user);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,9 @@ import android.widget.Toast;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import com.capstone.foodify.API.FoodApi;
|
||||||
import com.capstone.foodify.Common;
|
import com.capstone.foodify.Common;
|
||||||
|
import com.capstone.foodify.Model.User;
|
||||||
import com.capstone.foodify.R;
|
import com.capstone.foodify.R;
|
||||||
import com.google.android.gms.tasks.OnCompleteListener;
|
import com.google.android.gms.tasks.OnCompleteListener;
|
||||||
import com.google.android.gms.tasks.Task;
|
import com.google.android.gms.tasks.Task;
|
||||||
@@ -25,7 +27,13 @@ import com.google.firebase.auth.GetTokenResult;
|
|||||||
import com.saadahmedsoft.popupdialog.PopupDialog;
|
import com.saadahmedsoft.popupdialog.PopupDialog;
|
||||||
import com.saadahmedsoft.popupdialog.Styles;
|
import com.saadahmedsoft.popupdialog.Styles;
|
||||||
|
|
||||||
|
import org.json.JSONException;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import io.paperdb.Paper;
|
import io.paperdb.Paper;
|
||||||
|
import retrofit2.Call;
|
||||||
|
import retrofit2.Callback;
|
||||||
|
import retrofit2.Response;
|
||||||
|
|
||||||
public class SignInActivity extends AppCompatActivity {
|
public class SignInActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import com.capstone.foodify.API.FoodApi;
|
import com.capstone.foodify.API.FoodApi;
|
||||||
import com.capstone.foodify.Common;
|
import com.capstone.foodify.Common;
|
||||||
|
import com.capstone.foodify.Model.Address;
|
||||||
import com.capstone.foodify.Model.DistrictWardResponse;
|
import com.capstone.foodify.Model.DistrictWardResponse;
|
||||||
import com.capstone.foodify.Model.User;
|
import com.capstone.foodify.Model.User;
|
||||||
import com.capstone.foodify.R;
|
import com.capstone.foodify.R;
|
||||||
@@ -157,6 +158,7 @@ public class SignUpActivity extends AppCompatActivity {
|
|||||||
signUpButton.setOnClickListener(new View.OnClickListener() {
|
signUpButton.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
|
//TODO Check user have exits in database before sign up
|
||||||
if(validateData()){
|
if(validateData()){
|
||||||
loading();
|
loading();
|
||||||
signUp();
|
signUp();
|
||||||
@@ -288,8 +290,19 @@ public class SignUpActivity extends AppCompatActivity {
|
|||||||
loadCompleted();
|
loadCompleted();
|
||||||
|
|
||||||
//Create user object
|
//Create user object
|
||||||
|
User user = new User();
|
||||||
|
user.setAddress(new Address(address, ward, district));
|
||||||
|
user.setDateOfBirth(dateOfBirth);
|
||||||
|
user.setEmail(email);
|
||||||
|
user.setFullName(name);
|
||||||
|
user.setIdentifiedCode("");
|
||||||
|
user.setImageUrl("");
|
||||||
|
user.setLocked(false);
|
||||||
|
user.setPhoneNumber(phone);
|
||||||
|
user.setRoleName("ROLE_USER");
|
||||||
|
|
||||||
Intent intent = new Intent(SignUpActivity.this, VerifyAccountActivity.class);
|
Intent intent = new Intent(SignUpActivity.this, VerifyAccountActivity.class);
|
||||||
|
intent.putExtra("user", user);
|
||||||
intent.putExtra("phone", edt_phone.getText().toString());
|
intent.putExtra("phone", edt_phone.getText().toString());
|
||||||
intent.putExtra("verificationId", verificationId);
|
intent.putExtra("verificationId", verificationId);
|
||||||
intent.putExtra("token", forceResendingToken);
|
intent.putExtra("token", forceResendingToken);
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ import android.widget.TextView;
|
|||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.capstone.foodify.API.FoodApi;
|
import com.capstone.foodify.API.FoodApi;
|
||||||
|
import com.capstone.foodify.Common;
|
||||||
|
import com.capstone.foodify.Model.User;
|
||||||
import com.capstone.foodify.R;
|
import com.capstone.foodify.R;
|
||||||
import com.google.android.gms.tasks.OnCompleteListener;
|
import com.google.android.gms.tasks.OnCompleteListener;
|
||||||
import com.google.android.gms.tasks.Task;
|
import com.google.android.gms.tasks.Task;
|
||||||
@@ -32,6 +34,10 @@ import com.saadahmedsoft.popupdialog.Styles;
|
|||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import retrofit2.Call;
|
||||||
|
import retrofit2.Callback;
|
||||||
|
import retrofit2.Response;
|
||||||
|
|
||||||
public class VerifyAccountActivity extends AppCompatActivity {
|
public class VerifyAccountActivity extends AppCompatActivity {
|
||||||
private static final String PHONE_CODE = "+84";
|
private static final String PHONE_CODE = "+84";
|
||||||
|
|
||||||
@@ -41,6 +47,7 @@ public class VerifyAccountActivity extends AppCompatActivity {
|
|||||||
String verificationId, phone = null;
|
String verificationId, phone = null;
|
||||||
ConstraintLayout progressLayout;
|
ConstraintLayout progressLayout;
|
||||||
TextView resendCodeText, resendCodeTextButton, countDown, errorText;
|
TextView resendCodeText, resendCodeTextButton, countDown, errorText;
|
||||||
|
User user;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
@@ -53,6 +60,7 @@ public class VerifyAccountActivity extends AppCompatActivity {
|
|||||||
if(getIntent() != null){
|
if(getIntent() != null){
|
||||||
verificationId = getIntent().getStringExtra("verificationId");
|
verificationId = getIntent().getStringExtra("verificationId");
|
||||||
phone = getIntent().getStringExtra("phone");
|
phone = getIntent().getStringExtra("phone");
|
||||||
|
user = (User) getIntent().getSerializableExtra("user");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -176,10 +184,19 @@ public class VerifyAccountActivity extends AppCompatActivity {
|
|||||||
if(task.isSuccessful()) {
|
if(task.isSuccessful()) {
|
||||||
|
|
||||||
//Add information user to server
|
//Add information user to server
|
||||||
// FoodApi.apiService.register()
|
FoodApi.apiService.register(user).enqueue(new Callback<User>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<User> call, Response<User> response) {
|
||||||
|
//Create user success;
|
||||||
|
Toast.makeText(VerifyAccountActivity.this, "Tạo tài khoản thành công!", Toast.LENGTH_SHORT).show();
|
||||||
|
startActivity(new Intent(VerifyAccountActivity.this, SignInActivity.class));
|
||||||
|
}
|
||||||
|
|
||||||
Toast.makeText(VerifyAccountActivity.this, "Tạo tài khoản thành công!", Toast.LENGTH_SHORT).show();
|
@Override
|
||||||
startActivity(new Intent(VerifyAccountActivity.this, SignInActivity.class));
|
public void onFailure(Call<User> call, Throwable t) {
|
||||||
|
Common.showErrorServerNotification(VerifyAccountActivity.this);
|
||||||
|
}
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(VerifyAccountActivity.this, "Mã code không đúng. Vui lòng kiểm tra lại!", Toast.LENGTH_SHORT).show();
|
Toast.makeText(VerifyAccountActivity.this, "Mã code không đúng. Vui lòng kiểm tra lại!", Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ public class Common {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void showErrorServerNotification(Activity activity){
|
public static void showErrorServerNotification(Activity activity){
|
||||||
PopupDialog.getInstance(activity)
|
PopupDialog.getInstance(activity)
|
||||||
.setStyle(Styles.FAILED)
|
.setStyle(Styles.FAILED)
|
||||||
.setHeading("Lỗi")
|
.setHeading("Lỗi")
|
||||||
|
|||||||
@@ -1,11 +1,19 @@
|
|||||||
package com.capstone.foodify.Model;
|
package com.capstone.foodify.Model;
|
||||||
|
|
||||||
public class Address {
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class Address implements Serializable {
|
||||||
private int id;
|
private int id;
|
||||||
private String address;
|
private String address;
|
||||||
private String ward;
|
private String ward;
|
||||||
private String district;
|
private String district;
|
||||||
|
|
||||||
|
public Address(String address, String ward, String district) {
|
||||||
|
this.address = address;
|
||||||
|
this.ward = ward;
|
||||||
|
this.district = district;
|
||||||
|
}
|
||||||
|
|
||||||
public Address(int id, String address, String ward, String district) {
|
public Address(int id, String address, String ward, String district) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.address = address;
|
this.address = address;
|
||||||
|
|||||||
@@ -1,24 +1,38 @@
|
|||||||
package com.capstone.foodify.Model;
|
package com.capstone.foodify.Model;
|
||||||
|
|
||||||
public class User {
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class User implements Serializable {
|
||||||
|
@SerializedName("addressDto")
|
||||||
|
private Address address;
|
||||||
private String dateOfBirth;
|
private String dateOfBirth;
|
||||||
private String email;
|
private String email;
|
||||||
private String fullName;
|
private String fullName;
|
||||||
private String identifiedCode;
|
private String identifiedCode;
|
||||||
private String imageUrl;
|
private String imageUrl;
|
||||||
private String isLocked;
|
private boolean isLocked;
|
||||||
private String phoneNumber;
|
private String phoneNumber;
|
||||||
private String roleName;
|
private String roleName;
|
||||||
|
|
||||||
public User(String dateOfBirth, String email, String fullName, String identifiedCode, String imageUrl, String isLocked, String phoneNumber, String roleName) {
|
public User() {
|
||||||
this.dateOfBirth = dateOfBirth;
|
}
|
||||||
this.email = email;
|
|
||||||
this.fullName = fullName;
|
public Address getAddress() {
|
||||||
this.identifiedCode = identifiedCode;
|
return address;
|
||||||
this.imageUrl = imageUrl;
|
}
|
||||||
this.isLocked = isLocked;
|
|
||||||
this.phoneNumber = phoneNumber;
|
public void setAddress(Address address) {
|
||||||
this.roleName = roleName;
|
this.address = address;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isLocked() {
|
||||||
|
return isLocked;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLocked(boolean locked) {
|
||||||
|
isLocked = locked;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDateOfBirth() {
|
public String getDateOfBirth() {
|
||||||
@@ -61,11 +75,11 @@ public class User {
|
|||||||
this.imageUrl = imageUrl;
|
this.imageUrl = imageUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getIsLocked() {
|
public boolean getIsLocked() {
|
||||||
return isLocked;
|
return isLocked;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setIsLocked(String isLocked) {
|
public void setIsLocked(boolean isLocked) {
|
||||||
this.isLocked = isLocked;
|
this.isLocked = isLocked;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user