diff --git a/app/src/main/java/com/capstone/foodify/API/DistrictWardApi.java b/app/src/main/java/com/capstone/foodify/API/DistrictWardApi.java deleted file mode 100644 index 92ee002..0000000 --- a/app/src/main/java/com/capstone/foodify/API/DistrictWardApi.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.capstone.foodify.API; - -import com.capstone.foodify.Model.DistrictWard.DisctrictWardResponse; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; - -import retrofit2.Call; -import retrofit2.Retrofit; -import retrofit2.converter.gson.GsonConverterFactory; -import retrofit2.http.GET; -import retrofit2.http.Query; - - -public interface DistrictWardApi { - - Gson gson = new GsonBuilder().setDateFormat("HH:mm:ss dd-MM-yyyy").create(); - - DistrictWardApi apiService = new Retrofit.Builder() - .baseUrl("https://vn-public-apis.fpo.vn/").addConverterFactory(GsonConverterFactory.create(gson)) - .build() - .create(DistrictWardApi.class); - - @GET("wards/getByDistrict") - Call wardResponse(@Query("districtCode") int districtCode, @Query("limit") int limit); - - @GET("districts/getByProvince") - Call districtResponse(@Query("provinceCode") int provinceCode, @Query("limit") int limit); -} diff --git a/app/src/main/java/com/capstone/foodify/API/FoodApi.java b/app/src/main/java/com/capstone/foodify/API/FoodApi.java index c6bfcc3..1b760cb 100644 --- a/app/src/main/java/com/capstone/foodify/API/FoodApi.java +++ b/app/src/main/java/com/capstone/foodify/API/FoodApi.java @@ -1,6 +1,7 @@ package com.capstone.foodify.API; import com.capstone.foodify.Model.Category.Category; +import com.capstone.foodify.Model.DistrictWard.DistrictWardResponse; import com.capstone.foodify.Model.Food.Food; import com.capstone.foodify.Model.Food.ImageFood; import com.google.gson.Gson; @@ -48,4 +49,10 @@ public interface FoodApi { @GET("detail/{id}/image") Call> getImageFoodById(@Path("id") String id); + + @GET("district/{districtId}/ward") + Call> wardResponse(@Path("districtId") int district_id); + + @GET("district") + Call> districtResponse(); } diff --git a/app/src/main/java/com/capstone/foodify/Activity/SignUpActivity.java b/app/src/main/java/com/capstone/foodify/Activity/SignUpActivity.java index 6e0600e..c4bb27e 100644 --- a/app/src/main/java/com/capstone/foodify/Activity/SignUpActivity.java +++ b/app/src/main/java/com/capstone/foodify/Activity/SignUpActivity.java @@ -18,9 +18,8 @@ import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; -import com.capstone.foodify.API.DistrictWardApi; -import com.capstone.foodify.Model.DistrictWard.Datas; -import com.capstone.foodify.Model.DistrictWard.DisctrictWardResponse; +import com.capstone.foodify.API.FoodApi; +import com.capstone.foodify.Model.DistrictWard.DistrictWardResponse; import com.capstone.foodify.R; import com.google.android.material.textfield.TextInputLayout; @@ -36,9 +35,6 @@ import retrofit2.Response; public class SignUpActivity extends AppCompatActivity { - private static final int PROVINCE_CODE = 48; - private static final int LIMIT = -1; - TextInputLayout textInput_email, textInput_password, textInput_phone, textInput_address, textInput_repeatPassword, textInput_firstName, textInput_lastName, textInput_birthDay; final Calendar myCalendar= Calendar.getInstance(); @@ -49,8 +45,6 @@ public class SignUpActivity extends AppCompatActivity { private static final ArrayList wardList = new ArrayList<>(); private static final ArrayList districtList = new ArrayList<>(); - private static List districtListData = new ArrayList<>(); - private static List wardListData = new ArrayList<>(); String selectedDistrict = ""; @@ -65,7 +59,7 @@ public class SignUpActivity extends AppCompatActivity { setFontUI(); chooseDateOfBirth(); - if(districtListData.size() == 0){ + if(districtList.size() == 0){ getListDistrict(); } else { setAdapter(districtList, "---Quận", districtSpinner); @@ -88,18 +82,7 @@ public class SignUpActivity extends AppCompatActivity { districtSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView adapterView, View view, int i, long l) { - int districtCode = 0; - - selectedDistrict = districtSpinner.getSelectedItem().toString(); - - //Get id district from selected item district; - for(Datas dataTemp: districtListData){ - if(selectedDistrict.equals(dataTemp.getName_with_type())){ - districtCode = Integer.parseInt(dataTemp.getCode()); - break; - } - } - getListWard(districtCode); + getListWard(i); } @Override @@ -134,23 +117,21 @@ public class SignUpActivity extends AppCompatActivity { districtList.add("---Quận"); - DistrictWardApi.apiService.districtResponse(PROVINCE_CODE, LIMIT).enqueue(new Callback() { + FoodApi.apiService.districtResponse().enqueue(new Callback>() { @Override - public void onResponse(Call call, Response response) { - DisctrictWardResponse districtResponse = response.body(); - if(districtResponse != null && districtResponse.getExitcode() == 1){ - - districtListData = districtResponse.getData().getData(); - for(Datas tempData: districtListData){ - districtList.add(tempData.getName_with_type()); + public void onResponse(Call> call, Response> response) { + List districtResponse = response.body(); + if(districtResponse != null){ + for(DistrictWardResponse tempDistrict: districtResponse){ + districtList.add(tempDistrict.getName()); } - }; + } setAdapter(districtList, "---Quận", districtSpinner); } @Override - public void onFailure(Call call, Throwable t) { + public void onFailure(Call> call, Throwable t) { Toast.makeText(SignUpActivity.this, "Đã xảy ra lỗi hệ thống. Vui lòng thử lại sau!", Toast.LENGTH_SHORT).show(); } }); @@ -164,25 +145,31 @@ public class SignUpActivity extends AppCompatActivity { if(wardList.size() == 0) wardList.add("---Phường"); + wardSpinner.setEnabled(false); + if(districtCode != 0){ - DistrictWardApi.apiService.wardResponse(districtCode, LIMIT).enqueue(new Callback() { + FoodApi.apiService.wardResponse(districtCode).enqueue(new Callback>() { @Override - public void onResponse(Call call, Response response) { + public void onResponse(Call> call, Response> response) { + List wardData = response.body(); - DisctrictWardResponse wardResponse = response.body(); - if(wardResponse != null && wardResponse.getExitcode() == 1){ - - wardListData = wardResponse.getData().getData(); - for(Datas tempData: wardListData){ - wardList.add(tempData.getName_with_type()); + if(wardData != null){ + for(DistrictWardResponse tempWard: wardData){ + wardList.add(tempWard.getName()); } - }; + } + + if(wardList.size() <= 1){ + wardSpinner.setEnabled(false); + } else { + wardSpinner.setEnabled(true); + } setAdapter(wardList, "---Phường", wardSpinner); } @Override - public void onFailure(Call call, Throwable t) { + public void onFailure(Call> call, Throwable t) { Toast.makeText(SignUpActivity.this, "Đã xảy ra lỗi hệ thống. Vui lòng thử lại sau!", Toast.LENGTH_SHORT).show(); } }); diff --git a/app/src/main/java/com/capstone/foodify/Model/DistrictWard/Data.java b/app/src/main/java/com/capstone/foodify/Model/DistrictWard/Data.java deleted file mode 100644 index 79f5898..0000000 --- a/app/src/main/java/com/capstone/foodify/Model/DistrictWard/Data.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.capstone.foodify.Model.DistrictWard; - -import java.util.List; - -public class Data { - private int nItems; - private int nPages; - private List data; - - public int getnItems() { - return nItems; - } - - public void setnItems(int nItems) { - this.nItems = nItems; - } - - public int getnPages() { - return nPages; - } - - public void setnPages(int nPages) { - this.nPages = nPages; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } -} diff --git a/app/src/main/java/com/capstone/foodify/Model/DistrictWard/Datas.java b/app/src/main/java/com/capstone/foodify/Model/DistrictWard/Datas.java deleted file mode 100644 index 0b66fed..0000000 --- a/app/src/main/java/com/capstone/foodify/Model/DistrictWard/Datas.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.capstone.foodify.Model.DistrictWard; - -public class Datas { - private String _id; - private String name; - private String type; - private String slug; - private String name_with_type; - private String path; - private String path_with_type; - private String code; - private String parent_code; - private String isDeleted; - - public String get_id() { - return _id; - } - - public void set_id(String _id) { - this._id = _id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getSlug() { - return slug; - } - - public void setSlug(String slug) { - this.slug = slug; - } - - public String getName_with_type() { - return name_with_type; - } - - public void setName_with_type(String name_with_type) { - this.name_with_type = name_with_type; - } - - public String getPath() { - return path; - } - - public void setPath(String path) { - this.path = path; - } - - public String getPath_with_type() { - return path_with_type; - } - - public void setPath_with_type(String paht_with_type) { - this.path_with_type = paht_with_type; - } - - public String getCode() { - return code; - } - - public void setCode(String code) { - this.code = code; - } - - public String getParent_code() { - return parent_code; - } - - public void setParent_code(String parent_code) { - this.parent_code = parent_code; - } - - public String getIsDeleted() { - return isDeleted; - } - - public void setIsDeleted(String isDeleted) { - this.isDeleted = isDeleted; - } -} diff --git a/app/src/main/java/com/capstone/foodify/Model/DistrictWard/DisctrictWardResponse.java b/app/src/main/java/com/capstone/foodify/Model/DistrictWard/DisctrictWardResponse.java deleted file mode 100644 index 6edad3c..0000000 --- a/app/src/main/java/com/capstone/foodify/Model/DistrictWard/DisctrictWardResponse.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.capstone.foodify.Model.DistrictWard; - -public class DisctrictWardResponse { - private int exitcode; - private Data data; - private String message; - - public int getExitcode() { - return exitcode; - } - - public void setExitcode(int exitcode) { - this.exitcode = exitcode; - } - - public Data getData() { - return data; - } - - public void setData(Data data) { - this.data = data; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } -} diff --git a/app/src/main/java/com/capstone/foodify/Model/DistrictWard/DistrictWardResponse.java b/app/src/main/java/com/capstone/foodify/Model/DistrictWard/DistrictWardResponse.java new file mode 100644 index 0000000..1b64fb3 --- /dev/null +++ b/app/src/main/java/com/capstone/foodify/Model/DistrictWard/DistrictWardResponse.java @@ -0,0 +1,22 @@ +package com.capstone.foodify.Model.DistrictWard; + +public class DistrictWardResponse { + private String id; + private String name; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/app/src/main/res/layout/activity_sign_up.xml b/app/src/main/res/layout/activity_sign_up.xml index aa590c8..78856cc 100644 --- a/app/src/main/res/layout/activity_sign_up.xml +++ b/app/src/main/res/layout/activity_sign_up.xml @@ -188,22 +188,24 @@