From 084c2ce9f730f93fcd0e2c7c2122f67d2c34950d Mon Sep 17 00:00:00 2001 From: Nezumi <123229563+Nez27@users.noreply.github.com> Date: Sat, 18 Mar 2023 15:32:37 +0700 Subject: [PATCH] Add edit address for user --- .idea/deploymentTargetDropDown.xml | 11 --- .../Activity/AddressManagerActivity.java | 67 ++++++++++----- .../foodify/Adapter/AddressAdapter.java | 84 +------------------ .../main/res/layout/add_address_dialog.xml | 4 +- 4 files changed, 53 insertions(+), 113 deletions(-) diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index de6a017..b0df3ee 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -1,17 +1,6 @@ - - - - - - - - - - - diff --git a/app/src/main/java/com/capstone/foodify/Activity/AddressManagerActivity.java b/app/src/main/java/com/capstone/foodify/Activity/AddressManagerActivity.java index 51435af..3ed1c7e 100644 --- a/app/src/main/java/com/capstone/foodify/Activity/AddressManagerActivity.java +++ b/app/src/main/java/com/capstone/foodify/Activity/AddressManagerActivity.java @@ -87,7 +87,7 @@ public class AddressManagerActivity extends AppCompatActivity { add_address_button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - showAddAddressDialog(); + showAddAddressDialog(null, null, null); } }); @@ -152,7 +152,7 @@ public class AddressManagerActivity extends AppCompatActivity { }); } - private void showAddAddressDialog(){ + public void showAddAddressDialog(String addressUser, String wardUser, String districtUser){ View view = LayoutInflater.from(this).inflate(R.layout.add_address_dialog,null); //Init component @@ -166,19 +166,31 @@ public class AddressManagerActivity extends AppCompatActivity { //Set font textInput_address.setTypeface(Common.setFontOpenSans(getAssets())); - //Load district and ward - if(districtList.size() == 0){ - getListDistrict(); + if(addressUser == null && wardUser == null && districtUser == null){ + //Load district and ward + if(districtList.size() == 0){ + getListDistrict("---Quận"); + } else { + setAdapter(districtList, "---Quận", districtSpinner); + } + getListWard(0, "---Phường"); } else { - setAdapter(districtList, "---Quận", districtSpinner); + //Set default value ward and district depend on information from user + + edt_address.setText(addressUser); + + if(districtList.size() == 0){ + getListDistrict(districtUser); + } else { + setAdapter(districtList, districtUser, districtSpinner); + } } - getListWard(0); //Set event when click on district spinner districtSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView adapterView, View view, int i, long l) { - getListWard(i); + getListWard(i, wardUser); } @Override @@ -191,8 +203,16 @@ public class AddressManagerActivity extends AppCompatActivity { //Create dialog customViewDialog.Builder(this); + //Set title - customViewDialog.setTitle("Thêm địa chỉ"); + if(addressUser == null && wardUser == null && districtUser == null){ + //If this is the create address form + customViewDialog.setTitle("Thêm địa chỉ"); + } else { + //If this is a edit form + customViewDialog.setTitle("Thay đổi địa chỉ"); + } + //Create dialog width two buttons customViewDialog.dialogWithTwoButtons(); //Add custom view @@ -211,14 +231,21 @@ public class AddressManagerActivity extends AppCompatActivity { @Override public void onLeftButtonClick() { - //Get data - address = edt_address.getText().toString(); - ward = wardSpinner.getSelectedItem().toString(); - district = districtSpinner.getSelectedItem().toString(); + if(addressUser == null && wardUser == null && districtUser == null){ + //If this is the create address form - if(validData(address, ward, district)){ - addAddress(address, ward, district); - customViewDialog.dismiss(); + //Get data + address = edt_address.getText().toString(); + ward = wardSpinner.getSelectedItem().toString(); + district = districtSpinner.getSelectedItem().toString(); + + if(validData(address, ward, district)){ + addAddress(address, ward, district); + customViewDialog.dismiss(); + } + } else { + //If this is a edit form + //TODO Add edit address function } } @@ -255,7 +282,7 @@ public class AddressManagerActivity extends AppCompatActivity { return dataHasValidate; } - private void getListDistrict() { + private void getListDistrict(String defaultValue) { districtList.add("---Quận"); @@ -269,7 +296,7 @@ public class AddressManagerActivity extends AppCompatActivity { } } - setAdapter(districtList, "---Quận", districtSpinner); + setAdapter(districtList, defaultValue, districtSpinner); } @Override @@ -279,7 +306,7 @@ public class AddressManagerActivity extends AppCompatActivity { }); } - private void getListWard(int districtCode) { + private void getListWard(int districtCode, String defaultValue) { if(wardList.size() > 1) wardList.clear(); @@ -306,7 +333,7 @@ public class AddressManagerActivity extends AppCompatActivity { } else { wardSpinner.setEnabled(true); } - setAdapter(wardList, "---Phường", wardSpinner); + setAdapter(wardList, defaultValue, wardSpinner); } @Override diff --git a/app/src/main/java/com/capstone/foodify/Adapter/AddressAdapter.java b/app/src/main/java/com/capstone/foodify/Adapter/AddressAdapter.java index 41aecf9..1ec90c4 100644 --- a/app/src/main/java/com/capstone/foodify/Adapter/AddressAdapter.java +++ b/app/src/main/java/com/capstone/foodify/Adapter/AddressAdapter.java @@ -15,6 +15,7 @@ import androidx.annotation.NonNull; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.recyclerview.widget.RecyclerView; +import com.capstone.foodify.Activity.AddressManagerActivity; import com.capstone.foodify.Common; import com.capstone.foodify.Model.Address; import com.capstone.foodify.R; @@ -60,7 +61,9 @@ public class AddressAdapter extends RecyclerView.Adapter adapterView, View view, int i, long l) { -// getListWard(i); -// } -// -// @Override -// public void onNothingSelected(AdapterView adapterView) { -// -// } -// }); - - CustomViewDialog customViewDialog = new CustomViewDialog(); - - //Create dialog - customViewDialog.Builder(context); - //Set title - customViewDialog.setTitle("Thêm địa chỉ"); - //Create dialog width two buttons - customViewDialog.dialogWithTwoButtons(); - //Add custom view - customViewDialog.addCustomView(view); - //Set left button text - customViewDialog.setLeftButtonText("Thêm"); - //Set right button text - customViewDialog.setRightButtonText("Trở về"); - //Set color for left button -// customViewDialog.setLeftButtonColor(getResources().getColor(R.color.primaryColor, null)); -// //Set color for right button -// customViewDialog.setRightButtonColor(getResources().getColor(R.color.gray, null)); - - //Set event button - customViewDialog.onButtonClick(new DialogButtonEvents() { - @Override - public void onLeftButtonClick() { - - //Get data -// address = edt_address.getText().toString(); -// ward = wardSpinner.getSelectedItem().toString(); -// district = districtSpinner.getSelectedItem().toString(); -// -// if(validData(address, ward, district)){ -// addAddress(address, ward, district); -// customViewDialog.dismiss(); -// } - } - - @Override - public void onRightButtonClick() { - customViewDialog.dismiss(); - } - }); - - customViewDialog.show(); - } - public class AddressViewHolder extends RecyclerView.ViewHolder{ private TextView text_view_address, default_text_view, blank_text_view; diff --git a/app/src/main/res/layout/add_address_dialog.xml b/app/src/main/res/layout/add_address_dialog.xml index bcd469d..ae603b3 100644 --- a/app/src/main/res/layout/add_address_dialog.xml +++ b/app/src/main/res/layout/add_address_dialog.xml @@ -54,7 +54,7 @@ android:gravity="end" android:paddingEnd="25dp" android:contentDescription="district" - android:layout_weight="0.4" + android:layout_weight="0.43" />