From 17ce01ce4f1b2326c85a9dde21f9fe879254fbe8 Mon Sep 17 00:00:00 2001 From: Nezumi <123229563+Nez27@users.noreply.github.com> Date: Thu, 16 Mar 2023 16:05:40 +0700 Subject: [PATCH] Change position favorite screen --- .idea/misc.xml | 3 +- app/src/main/AndroidManifest.xml | 13 +- .../capstone/foodify/API/FoodApiToken.java | 17 ++- .../FavoriteFoodActivity.java} | 60 +++++---- .../foodify/Activity/FoodDetailActivity.java | 119 ++++++++++++------ .../foodify/Activity/MainActivity.java | 39 +++--- .../foodify/Activity/SignInActivity.java | 2 +- .../foodify/Adapter/FoodFavoriteAdapter.java | 22 ++-- .../java/com/capstone/foodify/Common.java | 5 +- .../foodify/Fragment/ProfileFragment.java | 11 +- .../java/com/capstone/foodify/Model/User.java | 19 +++ .../capstone/foodify/ViewPagerAdapter.java | 6 +- .../res/drawable/baseline_favorite_24.xml | 5 + ...vourite.xml => activity_favorite_food.xml} | 18 ++- app/src/main/res/layout/fragment_profile.xml | 47 ++++++- app/src/main/res/menu/menu_bottom_nav.xml | 6 - 16 files changed, 277 insertions(+), 115 deletions(-) rename app/src/main/java/com/capstone/foodify/{Fragment/FavoriteFragment.java => Activity/FavoriteFoodActivity.java} (73%) create mode 100644 app/src/main/res/drawable/baseline_favorite_24.xml rename app/src/main/res/layout/{fragment_favourite.xml => activity_favorite_food.xml} (73%) diff --git a/.idea/misc.xml b/.idea/misc.xml index 773fe0f..0ad17cb 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,7 @@ + - + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d2b4a2a..00ef14c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,7 +10,7 @@ - + @@ -24,14 +24,16 @@ android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" - android:usesCleartextTraffic="true" android:theme="@style/Theme.Foodify" + android:usesCleartextTraffic="true" tools:replace="android:theme" tools:targetApi="31"> + + android:exported="false" /> @@ -50,8 +52,7 @@ + android:noHistory="true" /> > getListFavoriteFood(); @POST("users/{userId}/loves/{productId}") - Call addFoodToFavorite(@Path("userId") String userId, @Path("productId") String productId); + Call addFoodToFavorite(@Path("userId") int userId, @Path("productId") int productId); - @DELETE("wishlist/{id}") - Call removeFoodFromFavorite(@Path("id") int id); + @DELETE("users/{userId}/loves/{productId}") + Call removeFoodFromFavorite(@Path("userId") int userId, @Path("productId") int productId); + + @GET("users/email/{userEmail}") + Call getUserFromEmail(@Path("userEmail") String userEmail); + + @GET("users/{userId}/loves") + Call getListFavoriteFood(@Path("userId") int userId, @Query("pageNo") int pageNo, @Query("pageSize") int pageSize, @Query("sortBy") String sortBy, @Query("sortDir") String sortDir); } diff --git a/app/src/main/java/com/capstone/foodify/Fragment/FavoriteFragment.java b/app/src/main/java/com/capstone/foodify/Activity/FavoriteFoodActivity.java similarity index 73% rename from app/src/main/java/com/capstone/foodify/Fragment/FavoriteFragment.java rename to app/src/main/java/com/capstone/foodify/Activity/FavoriteFoodActivity.java index 8f03808..4a34491 100644 --- a/app/src/main/java/com/capstone/foodify/Fragment/FavoriteFragment.java +++ b/app/src/main/java/com/capstone/foodify/Activity/FavoriteFoodActivity.java @@ -1,59 +1,73 @@ -package com.capstone.foodify.Fragment; - -import android.graphics.Color; -import android.os.Bundle; +package com.capstone.foodify.Activity; +import androidx.appcompat.app.AppCompatActivity; import androidx.core.widget.NestedScrollView; -import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.ItemTouchHelper; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; -import android.view.LayoutInflater; +import android.content.Intent; +import android.graphics.Color; +import android.os.Bundle; import android.view.View; -import android.view.ViewGroup; +import android.widget.ImageView; +import com.capstone.foodify.Adapter.FoodFavoriteAdapter; +import com.capstone.foodify.Adapter.RecyclerViewItemTouchHelperFavoriteFood; +import com.capstone.foodify.Common; import com.capstone.foodify.ItemTouchHelperListener; import com.capstone.foodify.Model.Food; -import com.capstone.foodify.Adapter.FoodFavoriteAdapter; import com.capstone.foodify.R; -import com.capstone.foodify.Adapter.RecyclerViewItemTouchHelperFavoriteFood; import com.google.android.material.snackbar.Snackbar; import java.util.ArrayList; import java.util.List; -public class FavoriteFragment extends Fragment implements ItemTouchHelperListener { +public class FavoriteFoodActivity extends AppCompatActivity implements ItemTouchHelperListener { private RecyclerView recyclerView_favorite_food; private FoodFavoriteAdapter adapter; private final List listFavoriteFood = new ArrayList<>(); - + private ImageView back_image; private NestedScrollView listFavoriteFoodView; - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - // Inflate the layout for this fragment - View rootView = inflater.inflate(R.layout.fragment_favourite, container, false); - recyclerView_favorite_food = rootView.findViewById(R.id.recycler_view_favorite_food); - listFavoriteFoodView = rootView.findViewById(R.id.list_favorite_food_view); + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_favorite_food); + + //Init component + back_image = findViewById(R.id.back_image); + + //Set event for back image + back_image.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + onBackPressed(); + } + }); + + //If user not sign in yet, app will move to sign in screen + if(Common.CURRENT_USER == null) + startActivity(new Intent(FavoriteFoodActivity.this, SignInActivity.class)); + + recyclerView_favorite_food = findViewById(R.id.recycler_view_favorite_food); + listFavoriteFoodView = findViewById(R.id.list_favorite_food_view); //Get list favorite food getListFavoriteFood(); //Set layout recyclerview - LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext()); + LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); recyclerView_favorite_food.setLayoutManager(linearLayoutManager); adapter = new FoodFavoriteAdapter(); - RecyclerView.ItemDecoration itemDecoration = new DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL); + RecyclerView.ItemDecoration itemDecoration = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL); recyclerView_favorite_food.addItemDecoration(itemDecoration); ItemTouchHelper.SimpleCallback simpleCallback = new RecyclerViewItemTouchHelperFavoriteFood(0, ItemTouchHelper.LEFT, this); new ItemTouchHelper(simpleCallback).attachToRecyclerView(recyclerView_favorite_food); - return rootView; } private void getListFavoriteFood() { @@ -97,14 +111,14 @@ public class FavoriteFragment extends Fragment implements ItemTouchHelperListene int indexDelete = viewHolder.getAdapterPosition(); //Remove Item - adapter.removeItem(indexDelete, getContext()); + adapter.removeItem(indexDelete, this); //Show notification food has been delete Snackbar snackbar = Snackbar.make(listFavoriteFoodView, foodNameDelete + " remove!", Snackbar.LENGTH_LONG); snackbar.setAction("Undo", new View.OnClickListener() { @Override public void onClick(View view) { - adapter.undoItem(foodDelete, indexDelete, getContext()); + adapter.undoItem(foodDelete, indexDelete, FavoriteFoodActivity.this); } }); snackbar.setActionTextColor(Color.YELLOW); diff --git a/app/src/main/java/com/capstone/foodify/Activity/FoodDetailActivity.java b/app/src/main/java/com/capstone/foodify/Activity/FoodDetailActivity.java index 84fdcb3..c554d56 100644 --- a/app/src/main/java/com/capstone/foodify/Activity/FoodDetailActivity.java +++ b/app/src/main/java/com/capstone/foodify/Activity/FoodDetailActivity.java @@ -22,6 +22,7 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.capstone.foodify.API.FoodApi; +import com.capstone.foodify.API.FoodApiToken; import com.capstone.foodify.Common; import com.capstone.foodify.Model.Basket; import com.capstone.foodify.Model.Food; @@ -50,7 +51,7 @@ public class FoodDetailActivity extends AppCompatActivity { private HorizontalQuantitizer horizontalQuantitizer; private ImageSlider imageSlider; - private ImageView back_image, favourite_icon; + private ImageView back_image, favorite_icon; private String foodId = ""; private Food food; private TextView foodName_txt, shopName_txt, discount_txt, price_txt, total_txt, countRating_txt, description_content_txt; @@ -77,7 +78,7 @@ public class FoodDetailActivity extends AppCompatActivity { discount_txt = findViewById(R.id.discount); price_txt = findViewById(R.id.price); add_to_basket_button = findViewById(R.id.add_to_basket_button); - favourite_icon = findViewById(R.id.favorite_icon); + favorite_icon = findViewById(R.id.favorite_icon); total_txt = findViewById(R.id.total_text_view); countRating_txt = findViewById(R.id.count_rating_text_view); description_content_txt = findViewById(R.id.content_description_text_view); @@ -147,42 +148,7 @@ public class FoodDetailActivity extends AppCompatActivity { add_to_basket_button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if(horizontalQuantitizer.getValue() > 0){ - Basket foodInBasket = Common.getFoodExistInBasket(food.getId()); - if(foodInBasket == null){ - //If item is not exist in basket - - //Check food image is null or not - String imageTemp = null; - if(food.getImages().size() > 0) - imageTemp = food.getImages().get(0).getImageUrl(); - - Common.LIST_BASKET_FOOD.add(new Basket(food.getId(), imageTemp, food.getName(), food.getCost(), food.getShop().getName(), - String.valueOf(horizontalQuantitizer.getValue()), food.getDiscountPercent())); - } else { - //If item is exist in basket - - for(int i = 0; i < Common.LIST_BASKET_FOOD.size(); i++){ - String foodId = Common.LIST_BASKET_FOOD.get(i).getId(); - //Find foodId exist - if(foodId.equals(food.getId())){ - //Get quantity food from basket - String quantity = Common.LIST_BASKET_FOOD.get(i).getQuantity(); - - //Change quantity food from basket - int quantityInt = Integer.parseInt(quantity) + horizontalQuantitizer.getValue(); - Common.LIST_BASKET_FOOD.get(i).setQuantity(String.valueOf(quantityInt)); - break; - } - } - - } - Toast.makeText(FoodDetailActivity.this, "Đã thêm " + food.getName() + " vào giỏ hàng!", Toast.LENGTH_SHORT).show(); - startActivity(new Intent(FoodDetailActivity.this, MainActivity.class)); - - } else { - Toast.makeText(FoodDetailActivity.this, "Bạn chưa chọn số lượng đồ ăn cần đặt!", Toast.LENGTH_SHORT).show(); - } + addFoodToBasket(); } }); @@ -193,6 +159,83 @@ public class FoodDetailActivity extends AppCompatActivity { startActivity(new Intent(FoodDetailActivity.this, ShopDetailActivity.class)); } }); + + //Add food to favorite when user on click + favorite_icon.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + addFoodToFavorite(); + } + }); + } + + private void addFoodToFavorite() { + FoodApiToken.apiService.addFoodToFavorite(Common.CURRENT_USER.getId(), Integer.parseInt(foodId)).enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + Toast.makeText(FoodDetailActivity.this, "Đã thêm " + food.getName() + " vào danh sách yêu thích!", Toast.LENGTH_SHORT).show(); + favorite_icon.setImageResource(R.drawable.baseline_favorite_24); + } + + @Override + public void onFailure(Call call, Throwable t) { + Toast.makeText(FoodDetailActivity.this, "Oops! Đã có lỗi, vui lòng thử lại sau!", Toast.LENGTH_SHORT).show(); + } + }); + } + + private void removeFavoriteFood(){ + FoodApiToken.apiService.removeFoodFromFavorite(Common.CURRENT_USER.getId(), Integer.parseInt(foodId)).enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + Toast.makeText(FoodDetailActivity.this, "Đã xoá " + food.getName() + " khỏi danh sách yêu thích!", Toast.LENGTH_SHORT).show(); + favorite_icon.setImageResource(R.drawable.baseline_favorite_border_24); + } + + @Override + public void onFailure(Call call, Throwable t) { + Toast.makeText(FoodDetailActivity.this, "Oops! Đã có lỗi, vui lòng thử lại sau!", Toast.LENGTH_SHORT).show(); + } + }); + } + + private void addFoodToBasket(){ + if(horizontalQuantitizer.getValue() > 0){ + Basket foodInBasket = Common.getFoodExistInBasket(food.getId()); + if(foodInBasket == null){ + //If item is not exist in basket + + //Check food image is null or not + String imageTemp = null; + if(food.getImages().size() > 0) + imageTemp = food.getImages().get(0).getImageUrl(); + + Common.LIST_BASKET_FOOD.add(new Basket(food.getId(), imageTemp, food.getName(), food.getCost(), food.getShop().getName(), + String.valueOf(horizontalQuantitizer.getValue()), food.getDiscountPercent())); + } else { + //If item is exist in basket + + for(int i = 0; i < Common.LIST_BASKET_FOOD.size(); i++){ + String foodId = Common.LIST_BASKET_FOOD.get(i).getId(); + //Find foodId exist + if(foodId.equals(food.getId())){ + //Get quantity food from basket + String quantity = Common.LIST_BASKET_FOOD.get(i).getQuantity(); + + //Change quantity food from basket + int quantityInt = Integer.parseInt(quantity) + horizontalQuantitizer.getValue(); + Common.LIST_BASKET_FOOD.get(i).setQuantity(String.valueOf(quantityInt)); + break; + } + } + + } + Toast.makeText(FoodDetailActivity.this, "Đã thêm " + food.getName() + " vào giỏ hàng!", Toast.LENGTH_SHORT).show(); + startActivity(new Intent(FoodDetailActivity.this, MainActivity.class)); + + } else { + Toast.makeText(FoodDetailActivity.this, "Bạn chưa chọn số lượng đồ ăn cần đặt!", Toast.LENGTH_SHORT).show(); + } } private List getListReview() { diff --git a/app/src/main/java/com/capstone/foodify/Activity/MainActivity.java b/app/src/main/java/com/capstone/foodify/Activity/MainActivity.java index a656bc4..82f5089 100644 --- a/app/src/main/java/com/capstone/foodify/Activity/MainActivity.java +++ b/app/src/main/java/com/capstone/foodify/Activity/MainActivity.java @@ -13,7 +13,9 @@ import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.viewpager2.widget.ViewPager2; +import com.capstone.foodify.API.FoodApiToken; import com.capstone.foodify.Common; +import com.capstone.foodify.Model.User; import com.capstone.foodify.R; import com.capstone.foodify.ViewPagerAdapter; import com.google.android.gms.tasks.OnCompleteListener; @@ -25,6 +27,9 @@ import com.google.firebase.auth.FirebaseUser; import com.google.firebase.auth.GetTokenResult; import io.paperdb.Paper; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; public class MainActivity extends AppCompatActivity { @@ -49,14 +54,29 @@ public class MainActivity extends AppCompatActivity { public void onComplete(@NonNull Task task) { if(task.isSuccessful()){ Common.TOKEN = task.getResult().getToken(); + + //Get user from database + FoodApiToken.apiService.getUserFromEmail(user.getEmail()).enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + User userData = response.body(); + if(userData != null){ + Common.CURRENT_USER = userData; + } + } + + @Override + public void onFailure(Call call, Throwable t) { + System.out.println("ERROR: " + t); + Common.showErrorServerNotification(MainActivity.this); + } + }); } else { Toast.makeText(MainActivity.this, "Error when taking token!", Toast.LENGTH_SHORT).show(); } } }); } - - } @Override @@ -100,16 +120,9 @@ public class MainActivity extends AppCompatActivity { case R.id.activity_basket: viewPager2.setCurrentItem(2); break; - case R.id.activity_favorite: - if(Common.TOKEN != null){ - viewPager2.setCurrentItem(3); - } else { - startActivity(new Intent(MainActivity.this, SignInActivity.class)); - } - break; case R.id.activity_profile: - if(Common.TOKEN != null){ - viewPager2.setCurrentItem(4); + if(Common.CURRENT_USER != null){ + viewPager2.setCurrentItem(3); } else { startActivity(new Intent(MainActivity.this, SignInActivity.class)); } @@ -133,9 +146,6 @@ public class MainActivity extends AppCompatActivity { bottomNavigationView.getMenu().findItem(R.id.activity_basket).setChecked(true); break; case 3: - bottomNavigationView.getMenu().findItem(R.id.activity_favorite).setChecked(true); - break; - case 4: bottomNavigationView.getMenu().findItem(R.id.activity_profile).setChecked(true); break; } @@ -143,4 +153,5 @@ public class MainActivity extends AppCompatActivity { } }); } + } \ No newline at end of file diff --git a/app/src/main/java/com/capstone/foodify/Activity/SignInActivity.java b/app/src/main/java/com/capstone/foodify/Activity/SignInActivity.java index b108125..6953fcb 100644 --- a/app/src/main/java/com/capstone/foodify/Activity/SignInActivity.java +++ b/app/src/main/java/com/capstone/foodify/Activity/SignInActivity.java @@ -60,7 +60,7 @@ public class SignInActivity extends AppCompatActivity { //Init Paper Paper.init(this); - if(Common.TOKEN != null) + if(Common.CURRENT_USER != null) startActivity(new Intent(this, MainActivity.class)); // Initialize Firebase Auth diff --git a/app/src/main/java/com/capstone/foodify/Adapter/FoodFavoriteAdapter.java b/app/src/main/java/com/capstone/foodify/Adapter/FoodFavoriteAdapter.java index 1336d4e..c45c4e0 100644 --- a/app/src/main/java/com/capstone/foodify/Adapter/FoodFavoriteAdapter.java +++ b/app/src/main/java/com/capstone/foodify/Adapter/FoodFavoriteAdapter.java @@ -81,17 +81,17 @@ public class FoodFavoriteAdapter extends RecyclerView.Adapter() { - @Override - public void onResponse(Call call, Response response) { - Toast.makeText(context, "Remove successful!", Toast.LENGTH_SHORT).show(); - } - - @Override - public void onFailure(Call call, Throwable t) { - Toast.makeText(context, "Error: " + t, Toast.LENGTH_SHORT).show(); - } - }); +// FoodApiToken.apiService.removeFoodFromFavorite(index).enqueue(new Callback() { +// @Override +// public void onResponse(Call call, Response response) { +// Toast.makeText(context, "Remove successful!", Toast.LENGTH_SHORT).show(); +// } +// +// @Override +// public void onFailure(Call call, Throwable t) { +// Toast.makeText(context, "Error: " + t, Toast.LENGTH_SHORT).show(); +// } +// }); } public void undoItem(Food food, int index, Context context){ diff --git a/app/src/main/java/com/capstone/foodify/Common.java b/app/src/main/java/com/capstone/foodify/Common.java index 43b1113..cbfa8e1 100644 --- a/app/src/main/java/com/capstone/foodify/Common.java +++ b/app/src/main/java/com/capstone/foodify/Common.java @@ -14,6 +14,8 @@ import androidx.annotation.IntRange; import androidx.annotation.NonNull; import com.capstone.foodify.Model.Basket; +import com.capstone.foodify.Model.Food; +import com.capstone.foodify.Model.User; import com.saadahmedsoft.popupdialog.PopupDialog; import com.saadahmedsoft.popupdialog.Styles; import com.saadahmedsoft.popupdialog.listener.OnDialogButtonClickListener; @@ -33,8 +35,9 @@ public class Common { public static final String PASSWORD_PATTERN = "^(?=.*[0-9])(?=.*[A-Z])(?=.*[@#$%^&+=!_])(?=\\S+$).{4,}$"; public static final String PHONE_PATTERN = "^0[98753]{1}\\d{8}$"; public static List LIST_BASKET_FOOD = new ArrayList<>(); - + public static List LIST_FAVORITE_FOOD = new ArrayList<>(); public static String TOKEN = null; + public static User CURRENT_USER = null; public static String changeCurrencyUnit(float price){ Locale locale = new Locale("vi", "VN"); diff --git a/app/src/main/java/com/capstone/foodify/Fragment/ProfileFragment.java b/app/src/main/java/com/capstone/foodify/Fragment/ProfileFragment.java index bbcbff1..7a3e5ec 100644 --- a/app/src/main/java/com/capstone/foodify/Fragment/ProfileFragment.java +++ b/app/src/main/java/com/capstone/foodify/Fragment/ProfileFragment.java @@ -14,6 +14,7 @@ import androidx.fragment.app.Fragment; import com.capstone.foodify.Activity.AccountAndProfileActivity; import com.capstone.foodify.Activity.AddressManagerActivity; +import com.capstone.foodify.Activity.FavoriteFoodActivity; import com.capstone.foodify.Activity.MainActivity; import com.capstone.foodify.Activity.OrderActivity; import com.capstone.foodify.Activity.SignInActivity; @@ -28,7 +29,7 @@ import com.saadahmedsoft.popupdialog.listener.OnDialogButtonClickListener; import io.paperdb.Paper; public class ProfileFragment extends Fragment { - LinearLayout account_and_profile, manage_address, order_history, log_out; + LinearLayout account_and_profile, manage_address, favorite_food, order_history, log_out; PopupDialog popupDialog; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, @@ -37,6 +38,7 @@ public class ProfileFragment extends Fragment { View rootView = inflater.inflate(R.layout.fragment_profile, container, false); account_and_profile = rootView.findViewById(R.id.account_and_profile); manage_address = rootView.findViewById(R.id.manage_address); + favorite_food = rootView.findViewById(R.id.favorite_food); order_history = rootView.findViewById(R.id.order_history); log_out = rootView.findViewById(R.id.log_out); @@ -56,6 +58,13 @@ public class ProfileFragment extends Fragment { } }); + favorite_food.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + startActivity(new Intent(getActivity(), FavoriteFoodActivity.class)); + } + }); + order_history.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { diff --git a/app/src/main/java/com/capstone/foodify/Model/User.java b/app/src/main/java/com/capstone/foodify/Model/User.java index 6f45634..7a76d65 100644 --- a/app/src/main/java/com/capstone/foodify/Model/User.java +++ b/app/src/main/java/com/capstone/foodify/Model/User.java @@ -3,8 +3,10 @@ package com.capstone.foodify.Model; import com.google.gson.annotations.SerializedName; import java.io.Serializable; +import java.util.List; public class User implements Serializable { + private int id; @SerializedName("addressDto") private Address address; private String dateOfBirth; @@ -15,10 +17,19 @@ public class User implements Serializable { private boolean isLocked; private String phoneNumber; private String roleName; + private List
addresses; public User() { } + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + public Address getAddress() { return address; } @@ -98,4 +109,12 @@ public class User implements Serializable { public void setRoleName(String roleName) { this.roleName = roleName; } + + public List
getAddresses() { + return addresses; + } + + public void setAddresses(List
addresses) { + this.addresses = addresses; + } } diff --git a/app/src/main/java/com/capstone/foodify/ViewPagerAdapter.java b/app/src/main/java/com/capstone/foodify/ViewPagerAdapter.java index 1e6f806..dc23658 100644 --- a/app/src/main/java/com/capstone/foodify/ViewPagerAdapter.java +++ b/app/src/main/java/com/capstone/foodify/ViewPagerAdapter.java @@ -6,7 +6,6 @@ import androidx.fragment.app.FragmentActivity; import androidx.viewpager2.adapter.FragmentStateAdapter; import com.capstone.foodify.Fragment.BasketFragment; -import com.capstone.foodify.Fragment.FavoriteFragment; import com.capstone.foodify.Fragment.HomeFragment; import com.capstone.foodify.Fragment.ProfileFragment; import com.capstone.foodify.Fragment.SearchFragment; @@ -23,14 +22,13 @@ public class ViewPagerAdapter extends FragmentStateAdapter { switch(position) { case 1: return new SearchFragment(); case 2: return new BasketFragment(); - case 3: return new FavoriteFragment(); - case 4: return new ProfileFragment(); + case 3: return new ProfileFragment(); default: return new HomeFragment(); } } @Override public int getItemCount() { - return 5; + return 4; } } diff --git a/app/src/main/res/drawable/baseline_favorite_24.xml b/app/src/main/res/drawable/baseline_favorite_24.xml new file mode 100644 index 0000000..e653ed2 --- /dev/null +++ b/app/src/main/res/drawable/baseline_favorite_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/fragment_favourite.xml b/app/src/main/res/layout/activity_favorite_food.xml similarity index 73% rename from app/src/main/res/layout/fragment_favourite.xml rename to app/src/main/res/layout/activity_favorite_food.xml index 3f303d0..da3cff5 100644 --- a/app/src/main/res/layout/fragment_favourite.xml +++ b/app/src/main/res/layout/activity_favorite_food.xml @@ -4,14 +4,26 @@ android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" - tools:context=".Fragment.FavoriteFragment" + tools:context=".Activity.FavoriteFoodActivity" android:id="@+id/list_favorite_food_view" > + + + + diff --git a/app/src/main/res/layout/fragment_profile.xml b/app/src/main/res/layout/fragment_profile.xml index 8221140..8045f38 100644 --- a/app/src/main/res/layout/fragment_profile.xml +++ b/app/src/main/res/layout/fragment_profile.xml @@ -132,7 +132,7 @@ + + + + + + + + + + - -