Merge API back-end to food detail screen

This commit is contained in:
Nezumi
2023-03-11 11:45:47 +07:00
parent 2e0d3c6c08
commit d917aa4f6a
29 changed files with 214 additions and 166 deletions
@@ -26,7 +26,7 @@ public interface FoodApi {
Gson gson = new GsonBuilder().setDateFormat("HH:mm:ss dd-MM-yyyy").create();
FoodApi apiService = new Retrofit.Builder()
.baseUrl("http://192.168.1.183:8080/api/").addConverterFactory(GsonConverterFactory.create(gson))
.baseUrl("http://10.0.2.2:8080/api/").addConverterFactory(GsonConverterFactory.create(gson))
.build()
.create(FoodApi.class);
@@ -51,7 +51,7 @@ public interface FoodApi {
@GET("products/categories")
Call<Foods> listFoodByCategory(@Query("id") List<Integer> id, @Query("pageNo") int pageNo, @Query("pageSize") int pageSize, @Query("sortBy") String sortBy, @Query("sortDir") String sortDir);
@GET("detail/{id}")
@GET("products/{id}")
Call<Food> detailFood(@Path("id") String id);
// @GET("detail/{id}/image")
@@ -21,7 +21,7 @@ import android.widget.Toast;
import com.capstone.foodify.API.FoodApi;
import com.capstone.foodify.Common;
import com.capstone.foodify.Model.Address.Address;
import com.capstone.foodify.Model.Address.AddressAdapter;
import com.capstone.foodify.Adapter.AddressAdapter;
import com.capstone.foodify.Model.DistrictWard.DistrictWardResponse;
import com.capstone.foodify.R;
import com.google.android.material.textfield.TextInputLayout;
@@ -25,8 +25,9 @@ import com.capstone.foodify.API.FoodApi;
import com.capstone.foodify.Common;
import com.capstone.foodify.Model.Basket.Basket;
import com.capstone.foodify.Model.Food.Food;
import com.capstone.foodify.Model.Image;
import com.capstone.foodify.Model.Review.Review;
import com.capstone.foodify.Model.Review.ReviewAdapter;
import com.capstone.foodify.Adapter.ReviewAdapter;
import com.capstone.foodify.R;
import com.denzcoskun.imageslider.ImageSlider;
import com.denzcoskun.imageslider.constants.ScaleTypes;
@@ -52,7 +53,6 @@ public class FoodDetailActivity extends AppCompatActivity {
private ImageView back_image, favourite_icon;
private String foodId = "";
private Food food;
private static final List<String> imageFood = new ArrayList<>();
private TextView foodName_txt, shopName_txt, discount_txt, price_txt, total_txt, countRating_txt, description_content_txt;
private ConstraintLayout content_view;
private Button add_to_basket_button;
@@ -116,17 +116,17 @@ public class FoodDetailActivity extends AppCompatActivity {
@Override
public void onValueChanged(int i) {
if(totalPrice >= 0)
if (totalPrice >= 0)
totalPrice = price * i;
add_to_basket_button.setText("Add to basket - " + Common.changeCurrencyUnit(totalPrice));
}
});
//Get data
if(getIntent() != null)
if (getIntent() != null)
foodId = getIntent().getStringExtra("FoodId");
getImageFoodById(foodId);
getFoodById(foodId);
//Turn previous action when click
back_image.setOnClickListener(new View.OnClickListener() {
@@ -148,38 +148,42 @@ 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 = getFoodExistInBasket(food.getId());
// if(foodInBasket == null){
// //If item is not exist in basket
// Common.LIST_BASKET_FOOD.add(new Basket(food.getId(), imageFood.get(0), food.getName(), food.getPrice(), "Shop Name",
// String.valueOf(horizontalQuantitizer.getValue()), "0"));
// Toast.makeText(FoodDetailActivity.this, "Thêm vào giỏ hàng thành công!", Toast.LENGTH_SHORT).show();
// startActivity(new Intent(FoodDetailActivity.this, MainActivity.class));
// } 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 vào giỏ hàng thành cô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();
// }
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();
}
}
});
@@ -192,11 +196,7 @@ public class FoodDetailActivity extends AppCompatActivity {
});
}
private Basket getFoodExistInBasket(String foodId){
return Common.LIST_BASKET_FOOD.stream().filter(food -> foodId.equals(food.getId())).findFirst().orElse(null);
}
private List<Review> getListReview(){
private List<Review> getListReview() {
ArrayList<Review> listReview = new ArrayList<>();
listReview.add(new Review("User A", 5, "Very Good!"));
@@ -221,33 +221,43 @@ public class FoodDetailActivity extends AppCompatActivity {
popupDialog.dismissDialog();
}
private void initData(){
// price = Float.parseFloat(food.getPrice());
//
// foodName_txt.setText(food.getName());
// shopName_txt.setText("Shop Name");
// price_txt.setText(Common.changeCurrencyUnit(Float.parseFloat(food.getPrice())));
// discount_txt.setText("-" + food.getDiscount() + "%");
// description_content_txt.setText(food.getDescription());
// countRating_txt.setText(food.getReviewCount() + " rating");
//
// add_to_basket_button.setText("ADD TO BASKET - " + Common.changeCurrencyUnit(0));
//
// List<SlideModel> slideModels = new ArrayList<>();
// if(imageFood != null){
// for(String imageUrl: imageFood)
// slideModels.add(new SlideModel(imageUrl, null));
// }
// imageSlider.setImageList(slideModels, ScaleTypes.FIT);
private void initData() {
//Set data price to calculate
price = food.getCost();
foodName_txt.setText(food.getName());
shopName_txt.setText(food.getShop().getName());
price_txt.setText(Common.changeCurrencyUnit(food.getCost()));
description_content_txt.setText(food.getDescription());
countRating_txt.setText(food.getReviewCount() + " rating");
add_to_basket_button.setText("ADD TO BASKET - " + Common.changeCurrencyUnit(0));
//Set slider image food
List<SlideModel> slideModels = new ArrayList<>();
//Get image food
if (food.getImages().size() > 0) {
for (Image imageUrl : food.getImages())
slideModels.add(new SlideModel(imageUrl.getImageUrl(), null));
} else {
slideModels.add(new SlideModel(R.drawable.dish, null));
}
imageSlider.setImageList(slideModels, ScaleTypes.FIT);
//Show discount percent when value greater than 0
if (food.getDiscountPercent() > 0) {
discount_txt.setText("-" + food.getDiscountPercent() + "%");
} else {
discount_txt.setVisibility(View.GONE);
}
}
private void getFoodById(String foodId){
private void getFoodById(String foodId) {
FoodApi.apiService.detailFood(foodId).enqueue(new Callback<Food>() {
@Override
public void onResponse(Call<Food> call, Response<Food> response) {
Food tempFood = response.body();
if(tempFood != null)
if (tempFood != null)
food = tempFood;
initData();
@@ -261,29 +271,6 @@ public class FoodDetailActivity extends AppCompatActivity {
});
}
private void getImageFoodById(String foodId) {
// FoodApi.apiService.getImageFoodById(foodId).enqueue(new Callback<List<ImageFood>>() {
// @Override
// public void onResponse(Call<List<ImageFood>> call, Response<List<ImageFood>> response) {
// List<ImageFood> imageFoodData = response.body();
// if (imageFoodData != null){
// imageFood.clear();
// for(ImageFood imageFoodTemp: imageFoodData){
// imageFood.add(imageFoodTemp.getImageUrl());
// }
// }
//
// getFoodById(foodId);
// }
//
// @Override
// public void onFailure(Call<List<ImageFood>> call, Throwable t) {
// Toast.makeText(FoodDetailActivity.this, "Lỗi Image" + t, Toast.LENGTH_SHORT).show();
// }
// });
}
private void openReviewDialog(int gravity){
final Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -318,7 +305,7 @@ public class FoodDetailActivity extends AppCompatActivity {
}
});
//TO DO
//TODO: Update review dialog
dialog.show();
}
@@ -10,7 +10,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.capstone.foodify.Model.Order.OrderDetail;
import com.capstone.foodify.Model.Order.OrderDetailAdapter;
import com.capstone.foodify.Adapter.OrderDetailAdapter;
import com.capstone.foodify.R;
import java.time.LocalDateTime;
@@ -10,10 +10,8 @@ import android.view.View;
import android.widget.ImageView;
import com.capstone.foodify.Model.Food.Food;
import com.capstone.foodify.Model.Food.FoodFavoriteAdapter;
import com.capstone.foodify.Model.Food.FoodShopAdapter;
import com.capstone.foodify.Adapter.FoodShopAdapter;
import com.capstone.foodify.R;
import com.google.android.material.appbar.CollapsingToolbarLayout;
import com.squareup.picasso.Picasso;
import java.util.ArrayList;
@@ -1,4 +1,4 @@
package com.capstone.foodify.Model.Address;
package com.capstone.foodify.Adapter;
import android.view.LayoutInflater;
import android.view.View;
@@ -9,7 +9,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.capstone.foodify.Model.Food.FoodAdapter;
import com.capstone.foodify.Model.Address.Address;
import com.capstone.foodify.R;
import java.util.List;
@@ -1,4 +1,4 @@
package com.capstone.foodify.Model.Basket;
package com.capstone.foodify.Adapter;
import android.annotation.SuppressLint;
import android.content.Context;
@@ -14,13 +14,12 @@ import androidx.recyclerview.widget.RecyclerView;
import com.capstone.foodify.Common;
import com.capstone.foodify.Fragment.BasketFragment;
import com.capstone.foodify.Model.Basket.Basket;
import com.capstone.foodify.R;
import com.cepheuen.elegantnumberbutton.view.ElegantNumberButton;
import com.squareup.picasso.Picasso;
import java.text.NumberFormat;
import java.util.List;
import java.util.Locale;
public class BasketAdapter extends RecyclerView.Adapter<BasketAdapter.BasketViewHolder> {
@@ -35,7 +34,7 @@ public class BasketAdapter extends RecyclerView.Adapter<BasketAdapter.BasketView
@SuppressLint("NotifyDataSetChanged")
public void setData(List<Basket> listBasketFood){
this.listBasketFood = listBasketFood;
notifyDataSetChanged();
this.notifyDataSetChanged();
}
@NonNull
@@ -55,7 +54,7 @@ public class BasketAdapter extends RecyclerView.Adapter<BasketAdapter.BasketView
//Init data
holder.foodName.setText(foodBasket.getName());
holder.shopName.setText(foodBasket.getShopName());
holder.price.setText(Common.changeCurrencyUnit(Float.parseFloat(foodBasket.getPrice())));
holder.price.setText(Common.changeCurrencyUnit(foodBasket.getCost()));
Picasso.get().load(foodBasket.getImg()).into(holder.imageView);
holder.quantity.setNumber(foodBasket.getQuantity());
@@ -83,7 +82,7 @@ public class BasketAdapter extends RecyclerView.Adapter<BasketAdapter.BasketView
float total = 0;
for(Basket foodTemp: listBasketFood){
total += (Float.parseFloat(foodTemp.getPrice())) * (Float.parseFloat(foodTemp.getQuantity())) * (100 - Long.parseLong(foodTemp.getDiscount()))/100;
total += (foodTemp.getCost()) * (Float.parseFloat(foodTemp.getQuantity())) * (100 - foodTemp.getDiscount())/100;
}
basketFragment.total.setText(Common.changeCurrencyUnit(total));
}
@@ -1,4 +1,4 @@
package com.capstone.foodify.Model.Food;
package com.capstone.foodify.Adapter;
import android.content.Context;
import android.content.Intent;
@@ -13,6 +13,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.capstone.foodify.Activity.FoodDetailActivity;
import com.capstone.foodify.Common;
import com.capstone.foodify.Model.Food.Food;
import com.capstone.foodify.R;
import com.squareup.picasso.Picasso;
@@ -1,4 +1,4 @@
package com.capstone.foodify.Model.Food;
package com.capstone.foodify.Adapter;
import android.content.Context;
import android.view.LayoutInflater;
@@ -10,16 +10,11 @@ import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.RecyclerView;
import com.capstone.foodify.API.FoodApi;
import com.capstone.foodify.Model.Food.Food;
import com.capstone.foodify.R;
import com.squareup.picasso.Picasso;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.List;
@@ -1,16 +1,22 @@
package com.capstone.foodify.Model.Food;
package com.capstone.foodify.Adapter;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.capstone.foodify.Activity.FoodDetailActivity;
import com.capstone.foodify.Activity.MainActivity;
import com.capstone.foodify.Common;
import com.capstone.foodify.Model.Basket.Basket;
import com.capstone.foodify.Model.Food.Food;
import com.capstone.foodify.R;
import com.squareup.picasso.Picasso;
@@ -78,6 +84,53 @@ public class FoodSearchAdapter extends RecyclerView.Adapter<FoodSearchAdapter.Fo
}
holder.price.setText(Common.changeCurrencyUnit(cost));
//Set event basket icon
holder.basket_icon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
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(),
"1", 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) + 1;
Common.LIST_BASKET_FOOD.get(i).setQuantity(String.valueOf(quantityInt));
break;
}
}
}
Toast.makeText(context, "Đã thêm " + food.getName() + " vào giỏ hàng!", Toast.LENGTH_SHORT).show();
}
});
//Set event when user click to item food, it will move to screen detail
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, FoodDetailActivity.class);
intent.putExtra("FoodId", food.getId());
context.startActivity(intent);
}
});
}
@Override
@@ -90,7 +143,7 @@ public class FoodSearchAdapter extends RecyclerView.Adapter<FoodSearchAdapter.Fo
public static class FoodViewHolder extends RecyclerView.ViewHolder{
private final ImageView image;
private final ImageView image, basket_icon;
private final TextView price, name, discount;
public FoodViewHolder(@NonNull View itemView) {
@@ -100,6 +153,7 @@ public class FoodSearchAdapter extends RecyclerView.Adapter<FoodSearchAdapter.Fo
name = itemView.findViewById(R.id.food_name_text_view);
price = itemView.findViewById(R.id.price_text_view);
discount = itemView.findViewById(R.id.discount);
basket_icon = itemView.findViewById(R.id.basket_icon);
}
}
}
@@ -1,4 +1,4 @@
package com.capstone.foodify.Model.Food;
package com.capstone.foodify.Adapter;
import android.view.LayoutInflater;
import android.view.View;
@@ -9,9 +9,8 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.capstone.foodify.Model.Food.Food;
import com.capstone.foodify.R;
import com.google.android.material.appbar.CollapsingToolbarLayout;
import com.squareup.picasso.Picasso;
import java.util.List;
@@ -1,4 +1,4 @@
package com.capstone.foodify.Model.Menu;
package com.capstone.foodify.Adapter;
import android.content.Context;
import android.view.LayoutInflater;
@@ -10,7 +10,7 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.capstone.foodify.Model.Food.FoodAdapter;
import com.capstone.foodify.Model.Menu.Menu;
import com.capstone.foodify.R;
import java.util.List;
@@ -1,4 +1,4 @@
package com.capstone.foodify.Model.Order;
package com.capstone.foodify.Adapter;
import android.content.Context;
import android.content.Intent;
@@ -11,6 +11,7 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.capstone.foodify.Activity.OrderDetailActivity;
import com.capstone.foodify.Model.Order.Order;
import com.capstone.foodify.R;
import java.time.LocalDateTime;
@@ -1,4 +1,4 @@
package com.capstone.foodify.Model.Order;
package com.capstone.foodify.Adapter;
import android.view.LayoutInflater;
import android.view.View;
@@ -9,6 +9,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.capstone.foodify.Model.Order.OrderDetail;
import com.capstone.foodify.R;
import com.squareup.picasso.Picasso;
@@ -1,4 +1,4 @@
package com.capstone.foodify.Model.Basket;
package com.capstone.foodify.Adapter;
import android.graphics.Canvas;
import android.view.View;
@@ -8,6 +8,7 @@ import androidx.annotation.Nullable;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.RecyclerView;
import com.capstone.foodify.Adapter.BasketAdapter;
import com.capstone.foodify.ItemTouchHelperListener;
public class RecyclerViewItemTouchHelperBasketFood extends ItemTouchHelper.SimpleCallback{
@@ -1,4 +1,4 @@
package com.capstone.foodify.Model.Food;
package com.capstone.foodify.Adapter;
import android.graphics.Canvas;
import android.view.View;
@@ -9,7 +9,6 @@ import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.RecyclerView;
import com.capstone.foodify.ItemTouchHelperListener;
import com.capstone.foodify.Model.Food.FoodFavoriteAdapter;
public class RecyclerViewItemTouchHelperFavoriteFood extends ItemTouchHelper.SimpleCallback{
@@ -1,4 +1,4 @@
package com.capstone.foodify.Model.Review;
package com.capstone.foodify.Adapter;
import android.content.Context;
import android.view.LayoutInflater;
@@ -9,7 +9,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.capstone.foodify.Model.Menu.MenuAdapter;
import com.capstone.foodify.Model.Review.Review;
import com.capstone.foodify.R;
import com.willy.ratingbar.ScaleRatingBar;
@@ -1,4 +1,4 @@
package com.capstone.foodify.Model.Shop;
package com.capstone.foodify.Adapter;
import android.content.Context;
import android.content.Intent;
@@ -12,6 +12,7 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.capstone.foodify.Activity.ShopDetailActivity;
import com.capstone.foodify.Model.Shop.Shop;
import com.capstone.foodify.R;
import com.squareup.picasso.Picasso;
@@ -69,4 +69,8 @@ public class Common {
})
.show();
}
public static Basket getFoodExistInBasket(String foodId) {
return Common.LIST_BASKET_FOOD.stream().filter(food -> foodId.equals(food.getId())).findFirst().orElse(null);
}
}
@@ -7,7 +7,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.fragment.app.Fragment;
@@ -19,8 +18,8 @@ import androidx.recyclerview.widget.RecyclerView;
import com.capstone.foodify.Common;
import com.capstone.foodify.ItemTouchHelperListener;
import com.capstone.foodify.Model.Basket.Basket;
import com.capstone.foodify.Model.Basket.BasketAdapter;
import com.capstone.foodify.Model.Basket.RecyclerViewItemTouchHelperBasketFood;
import com.capstone.foodify.Adapter.BasketAdapter;
import com.capstone.foodify.Adapter.RecyclerViewItemTouchHelperBasketFood;
import com.capstone.foodify.R;
import com.google.android.material.snackbar.Snackbar;
@@ -57,11 +56,7 @@ public class BasketFragment extends Fragment implements ItemTouchHelperListener
getListBasketFood();
//Check list basket is null or not!
if(Common.LIST_BASKET_FOOD.size() > 0){
showRecycleViewAndHideNotificationEmpty();
} else {
hideRecyclerViewAndShowNotificationEmpty();
}
checkListBasket();
//Set layout recyclerview
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
@@ -76,6 +71,14 @@ public class BasketFragment extends Fragment implements ItemTouchHelperListener
return view;
}
private void checkListBasket() {
if(Common.LIST_BASKET_FOOD.size() > 0){
showRecycleViewAndHideNotificationEmpty();
} else {
hideRecyclerViewAndShowNotificationEmpty();
}
}
private void showRecycleViewAndHideNotificationEmpty(){
recyclerView_basket_food.setVisibility(View.VISIBLE);
empty_layout.setVisibility(View.GONE);
@@ -114,4 +117,14 @@ public class BasketFragment extends Fragment implements ItemTouchHelperListener
snackbar.show();
}
}
@Override
public void onResume() {
super.onResume();
listBasketFood = Common.LIST_BASKET_FOOD;
adapter.setData(listBasketFood);
checkListBasket();
}
}
@@ -20,9 +20,9 @@ import com.capstone.foodify.API.FoodApi;
import com.capstone.foodify.Common;
import com.capstone.foodify.ItemTouchHelperListener;
import com.capstone.foodify.Model.Food.Food;
import com.capstone.foodify.Model.Food.FoodFavoriteAdapter;
import com.capstone.foodify.Adapter.FoodFavoriteAdapter;
import com.capstone.foodify.R;
import com.capstone.foodify.Model.Food.RecyclerViewItemTouchHelperFavoriteFood;
import com.capstone.foodify.Adapter.RecyclerViewItemTouchHelperFavoriteFood;
import com.google.android.material.snackbar.Snackbar;
import java.util.ArrayList;
@@ -1,13 +1,11 @@
package com.capstone.foodify.Fragment;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -16,23 +14,18 @@ import com.capstone.foodify.API.FoodApi;
import com.capstone.foodify.Common;
import com.capstone.foodify.Model.Food.Food;
import com.capstone.foodify.Model.Menu.Menu;
import com.capstone.foodify.Model.Menu.MenuAdapter;
import com.capstone.foodify.Adapter.MenuAdapter;
import com.capstone.foodify.Model.Response.Foods;
import com.capstone.foodify.Model.Response.Shops;
import com.capstone.foodify.Model.Shop.Shop;
import com.capstone.foodify.Model.Shop.ShopAdapter;
import com.capstone.foodify.Adapter.ShopAdapter;
import com.capstone.foodify.R;
import com.denzcoskun.imageslider.ImageSlider;
import com.denzcoskun.imageslider.constants.ScaleTypes;
import com.denzcoskun.imageslider.models.SlideModel;
import com.thecode.aestheticdialogs.AestheticDialog;
import com.thecode.aestheticdialogs.DialogStyle;
import com.thecode.aestheticdialogs.DialogType;
import com.thecode.aestheticdialogs.OnDialogClickListener;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import retrofit2.Call;
import retrofit2.Callback;
@@ -3,7 +3,6 @@ package com.capstone.foodify.Fragment.Order;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -12,7 +11,7 @@ import android.view.View;
import android.view.ViewGroup;
import com.capstone.foodify.Model.Order.Order;
import com.capstone.foodify.Model.Order.OrderAdapter;
import com.capstone.foodify.Adapter.OrderAdapter;
import com.capstone.foodify.R;
import java.util.ArrayList;
@@ -3,7 +3,6 @@ package com.capstone.foodify.Fragment.Order;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -12,7 +11,7 @@ import android.view.View;
import android.view.ViewGroup;
import com.capstone.foodify.Model.Order.Order;
import com.capstone.foodify.Model.Order.OrderAdapter;
import com.capstone.foodify.Adapter.OrderAdapter;
import com.capstone.foodify.R;
import java.util.ArrayList;
@@ -3,7 +3,6 @@ package com.capstone.foodify.Fragment.Order;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -12,7 +11,7 @@ import android.view.View;
import android.view.ViewGroup;
import com.capstone.foodify.Model.Order.Order;
import com.capstone.foodify.Model.Order.OrderAdapter;
import com.capstone.foodify.Adapter.OrderAdapter;
import com.capstone.foodify.R;
import java.util.ArrayList;
@@ -3,7 +3,6 @@ package com.capstone.foodify.Fragment.Order;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -12,7 +11,7 @@ import android.view.View;
import android.view.ViewGroup;
import com.capstone.foodify.Model.Order.Order;
import com.capstone.foodify.Model.Order.OrderAdapter;
import com.capstone.foodify.Adapter.OrderAdapter;
import com.capstone.foodify.R;
import java.util.ArrayList;
@@ -1,7 +1,5 @@
package com.capstone.foodify.Fragment;
import static com.capstone.foodify.Fragment.HomeFragment.listFood;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -17,7 +15,6 @@ import androidx.appcompat.widget.SearchView;
import androidx.core.widget.NestedScrollView;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -25,13 +22,12 @@ import com.capstone.foodify.API.FoodApi;
import com.capstone.foodify.Common;
import com.capstone.foodify.Model.Category.Category;
import com.capstone.foodify.Model.Food.Food;
import com.capstone.foodify.Model.Food.FoodSearchAdapter;
import com.capstone.foodify.Adapter.FoodSearchAdapter;
import com.capstone.foodify.Model.Response.Foods;
import com.capstone.foodify.R;
import com.google.android.material.chip.Chip;
import com.google.android.material.chip.ChipGroup;
import java.nio.file.LinkOption;
import java.util.ArrayList;
import java.util.List;
@@ -4,16 +4,16 @@ public class Basket {
private String id;
private String img;
private String name;
private String price;
private float cost;
private String shopName;
private String quantity;
private String discount;
private float discount;
public Basket(String id, String img, String name, String price, String shopName, String quantity, String discount) {
public Basket(String id, String img, String name, float cost, String shopName, String quantity, float discount) {
this.id = id;
this.img = img;
this.name = name;
this.price = price;
this.cost = cost;
this.shopName = shopName;
this.quantity = quantity;
this.discount = discount;
@@ -43,12 +43,12 @@ public class Basket {
this.name = name;
}
public String getPrice() {
return price;
public float getCost() {
return cost;
}
public void setPrice(String price) {
this.price = price;
public void setCost(float cost) {
this.cost = cost;
}
public String getShopName() {
@@ -66,11 +66,12 @@ public class Basket {
public void setQuantity(String quantity) {
this.quantity = quantity;
}
public String getDiscount() {
public float getDiscount() {
return discount;
}
public void setDiscount(String discount) {
public void setDiscount(float discount) {
this.discount = discount;
}
}
@@ -2,6 +2,7 @@ package com.capstone.foodify.Model.Shop;
public class Shop {
private int id;
private String name;
private String description;
private String imageUrl;
private boolean isEnabled;
@@ -16,6 +17,14 @@ public class Shop {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}