mirror of
https://github.com/Nezumi-2711/Foodify.git
synced 2026-09-22 13:38:41 +00:00
Merge API back-end to food detail screen
This commit is contained in:
@@ -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;
|
||||
|
||||
+2
-2
@@ -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;
|
||||
+5
-6
@@ -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));
|
||||
}
|
||||
+2
-1
@@ -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;
|
||||
|
||||
+2
-7
@@ -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;
|
||||
|
||||
+56
-2
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-3
@@ -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;
|
||||
|
||||
+2
-2
@@ -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;
|
||||
+2
-1
@@ -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;
|
||||
+2
-1
@@ -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;
|
||||
|
||||
+2
-1
@@ -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
-2
@@ -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{
|
||||
|
||||
+2
-2
@@ -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;
|
||||
|
||||
+2
-1
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user