diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8aa1e18..4b265cd 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -13,6 +13,7 @@ android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" + android:usesCleartextTraffic="true" android:theme="@style/Theme.Foodify" tools:replace="android:theme" tools:targetApi="31"> diff --git a/app/src/main/java/com/capstone/foodify/API/FoodApi.java b/app/src/main/java/com/capstone/foodify/API/FoodApi.java index b6d42de..d4cb7b3 100644 --- a/app/src/main/java/com/capstone/foodify/API/FoodApi.java +++ b/app/src/main/java/com/capstone/foodify/API/FoodApi.java @@ -3,7 +3,8 @@ package com.capstone.foodify.API; import com.capstone.foodify.Model.Category.Category; import com.capstone.foodify.Model.DistrictWard.DistrictWardResponse; import com.capstone.foodify.Model.Food.Food; -import com.capstone.foodify.Model.Food.ImageFood; +import com.capstone.foodify.Model.Response.Foods; +import com.capstone.foodify.Model.Response.Shops; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -25,18 +26,21 @@ public interface FoodApi { Gson gson = new GsonBuilder().setDateFormat("HH:mm:ss dd-MM-yyyy").create(); FoodApi apiService = new Retrofit.Builder() - .baseUrl("https://63eb52abbfdd4299674540d4.mockapi.io/api/v1/").addConverterFactory(GsonConverterFactory.create(gson)) + .baseUrl("http://10.0.2.2:8080/api/").addConverterFactory(GsonConverterFactory.create(gson)) .build() .create(FoodApi.class); - @GET("randomProduct") - Call> bestFoodResponse(); + @GET("products?pageNo=0&pageSize=10&sortBy=id&sortDir=asc") + Call recommendFood(); - @GET("recommend") - Call> drinksFoodResponse(); + @GET("products?pageNo=0&pageSize=10&sortBy=createdTime&sortDir=desc") + Call recentFood(); - @GET("listFood") - Call> listFood(@Query("search") String search, @Query("page") int page, @Query("limit") int limit); + @GET("shops?pageNo=0&pageSize=10&sortBy=id&sortDir=asc") + Call allShops(); + + @GET("products/search/") + Call> listFood(@Path("search") String search, @Query("pageNo") int pageNo, @Query("pageSize") int pageSize, @Query("sortBy") String sortBy, @Query("sortDir") String sortDir); @GET("listFood") Call> listFood(@Query("page") int page, @Query("limit") int limit); @@ -50,8 +54,8 @@ public interface FoodApi { @GET("detail/{id}") Call detailFood(@Path("id") String id); - @GET("detail/{id}/image") - Call> getImageFoodById(@Path("id") String id); +// @GET("detail/{id}/image") +// Call> getImageFoodById(@Path("id") String id); @GET("district/{districtId}/ward") Call> wardResponse(@Path("districtId") int district_id); 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 22ffa60..f14d72e 100644 --- a/app/src/main/java/com/capstone/foodify/Activity/FoodDetailActivity.java +++ b/app/src/main/java/com/capstone/foodify/Activity/FoodDetailActivity.java @@ -13,8 +13,6 @@ import android.view.WindowManager; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; @@ -27,7 +25,6 @@ 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.Food.ImageFood; import com.capstone.foodify.Model.Review.Review; import com.capstone.foodify.Model.Review.ReviewAdapter; import com.capstone.foodify.R; @@ -41,10 +38,8 @@ import com.saadahmedsoft.popupdialog.PopupDialog; import com.saadahmedsoft.popupdialog.Styles; import com.willy.ratingbar.RotationRatingBar; -import java.text.NumberFormat; import java.util.ArrayList; import java.util.List; -import java.util.Locale; import retrofit2.Call; import retrofit2.Callback; @@ -153,38 +148,38 @@ 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 = 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(); +// } } }); @@ -227,23 +222,23 @@ public class FoodDetailActivity extends AppCompatActivity { } 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 slideModels = new ArrayList<>(); - if(imageFood != null){ - for(String imageUrl: imageFood) - slideModels.add(new SlideModel(imageUrl, null)); - } - imageSlider.setImageList(slideModels, ScaleTypes.FIT); +// 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 slideModels = new ArrayList<>(); +// if(imageFood != null){ +// for(String imageUrl: imageFood) +// slideModels.add(new SlideModel(imageUrl, null)); +// } +// imageSlider.setImageList(slideModels, ScaleTypes.FIT); } @@ -267,25 +262,25 @@ public class FoodDetailActivity extends AppCompatActivity { } private void getImageFoodById(String foodId) { - FoodApi.apiService.getImageFoodById(foodId).enqueue(new Callback>() { - @Override - public void onResponse(Call> call, Response> response) { - List imageFoodData = response.body(); - if (imageFoodData != null){ - imageFood.clear(); - for(ImageFood imageFoodTemp: imageFoodData){ - imageFood.add(imageFoodTemp.getImageUrl()); - } - } - - getFoodById(foodId); - } - - @Override - public void onFailure(Call> call, Throwable t) { - Toast.makeText(FoodDetailActivity.this, "Lỗi Image" + t, Toast.LENGTH_SHORT).show(); - } - }); +// FoodApi.apiService.getImageFoodById(foodId).enqueue(new Callback>() { +// @Override +// public void onResponse(Call> call, Response> response) { +// List imageFoodData = response.body(); +// if (imageFoodData != null){ +// imageFood.clear(); +// for(ImageFood imageFoodTemp: imageFoodData){ +// imageFood.add(imageFoodTemp.getImageUrl()); +// } +// } +// +// getFoodById(foodId); +// } +// +// @Override +// public void onFailure(Call> call, Throwable t) { +// Toast.makeText(FoodDetailActivity.this, "Lỗi Image" + t, Toast.LENGTH_SHORT).show(); +// } +// }); } diff --git a/app/src/main/java/com/capstone/foodify/Activity/ShopDetailActivity.java b/app/src/main/java/com/capstone/foodify/Activity/ShopDetailActivity.java index baf7ceb..77b5528 100644 --- a/app/src/main/java/com/capstone/foodify/Activity/ShopDetailActivity.java +++ b/app/src/main/java/com/capstone/foodify/Activity/ShopDetailActivity.java @@ -40,9 +40,9 @@ public class ShopDetailActivity extends AppCompatActivity { //Init temp data Picasso.get().load("https://firebasestorage.googleapis.com/v0/b/foodify-55954.appspot.com/o/Free%20Food%20Advertising%20Banner%20Template.jpg?alt=media&token=8b836fd7-f18f-46c6-a14f-27680e51a1d5").into(imageShop); - for(int i = 1; i <= 10; i++){ - listFood.add(new Food("https://images.unsplash.com/photo-1546069901-ba9599a7e63c?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxleHBsb3JlLWZlZWR8MXx8fGVufDB8fHx8&w=1000&q=80", "Food " + i, "50.000đ")); - } +// for(int i = 1; i <= 10; i++){ +// listFood.add(new Food("https://images.unsplash.com/photo-1546069901-ba9599a7e63c?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxleHBsb3JlLWZlZWR8MXx8fGVufDB8fHx8&w=1000&q=80", "Food " + i, "50.000đ")); +// } LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); recycler_view_food_shop.setLayoutManager(linearLayoutManager); diff --git a/app/src/main/java/com/capstone/foodify/Fragment/HomeFragment.java b/app/src/main/java/com/capstone/foodify/Fragment/HomeFragment.java index 862c21c..6869a0a 100644 --- a/app/src/main/java/com/capstone/foodify/Fragment/HomeFragment.java +++ b/app/src/main/java/com/capstone/foodify/Fragment/HomeFragment.java @@ -17,6 +17,8 @@ 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.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.R; @@ -39,7 +41,9 @@ import retrofit2.Response; public class HomeFragment extends Fragment { public static List listFood = new ArrayList<>(); - private static List drinkFood = new ArrayList<>(); + private static List recentFood = new ArrayList<>(); + + private static List shopList = new ArrayList<>(); private ImageSlider imageSlider; @@ -61,7 +65,7 @@ public class HomeFragment extends Fragment { shopAdapter = new ShopAdapter(getContext()); - if(listFood.isEmpty() || drinkFood.isEmpty()){ + if(listFood.isEmpty() || recentFood.isEmpty()){ getListFood(); } else { menuAdapter.setData(getListMenu()); @@ -81,16 +85,8 @@ public class HomeFragment extends Fragment { imageSlider.setImageList(slideModels, ScaleTypes.FIT); - //Restaurant - List shopList = new ArrayList<>(); - shopList.add(new Shop(R.drawable.burgerking)); - shopList.add(new Shop(R.drawable.dominopizza)); - shopList.add(new Shop(R.drawable.mcdonals)); - shopList.add(new Shop(R.drawable.pizzahut)); - shopList.add(new Shop(R.drawable.subway)); - - shopAdapter.setData(shopList); - recyclerView_restaurant.setAdapter(shopAdapter); + //Get list shop + getListShop(); // Inflate the layout for this fragment return view; @@ -100,54 +96,88 @@ public class HomeFragment extends Fragment { List listMenu = new ArrayList<>(); listMenu.add(new Menu("Recommend Food", listFood)); - listMenu.add(new Menu("Popular Food", drinkFood)); + listMenu.add(new Menu("Popular Food", recentFood)); return listMenu; } private void getListFood() { - FoodApi.apiService.bestFoodResponse().enqueue(new Callback>() { + FoodApi.apiService.recommendFood().enqueue(new Callback() { @Override - public void onResponse(Call> call, Response> response) { - List foodData = response.body(); + public void onResponse(Call call, Response response) { + Foods foodResponse = response.body(); - if(foodData != null) - listFood.addAll(foodData); + //Check null data + if(foodResponse == null) + return; - drinkListFood(); + listFood = foodResponse.getProducts(); + + + recentFood(); } @Override - public void onFailure(Call> call, Throwable t) { + public void onFailure(Call call, Throwable t) { //Check internet connection - if(getContext() != null){ - if(Common.checkInternetConnection(getContext())){ - //Has internet connection - Toast.makeText(getContext(), "Error: " + t, Toast.LENGTH_SHORT).show(); - } else { - //No internet, show notification - Common.showErrorInternetConnectionNotification(getActivity()); - } + if(Common.checkInternetConnection(getContext())){ + //Has internet connection + Toast.makeText(getContext(), "Error: " + t, Toast.LENGTH_SHORT).show(); + } else { + //No internet, show notification + Common.showErrorInternetConnectionNotification(getActivity()); } } }); } - private void drinkListFood() { - FoodApi.apiService.drinksFoodResponse().enqueue(new Callback>() { + private void recentFood() { + FoodApi.apiService.recentFood().enqueue(new Callback() { @Override - public void onResponse(Call> call, Response> response) { - List foodData = response.body(); + public void onResponse(Call call, Response response) { + Foods foodResponse = response.body(); - if(foodData != null) - drinkFood.addAll(foodData); + //Check null data + if(foodResponse == null) + return; + + recentFood = foodResponse.getProducts(); menuAdapter.setData(getListMenu()); rcvMenu.setAdapter(menuAdapter); } @Override - public void onFailure(Call> call, Throwable t) { + public void onFailure(Call call, Throwable t) { + //Check internet connection + if(Common.checkInternetConnection(getContext())){ + //Has internet connection + Toast.makeText(getContext(), "Error: " + t, Toast.LENGTH_SHORT).show(); + } else { + //No internet, show notification + Common.showErrorInternetConnectionNotification(getActivity()); + } + } + }); + } + + private void getListShop(){ + FoodApi.apiService.allShops().enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + Shops shopData = response.body(); + + if(shopData == null) + return; + + shopList = shopData.getShops(); + + shopAdapter.setData(shopList); + recyclerView_restaurant.setAdapter(shopAdapter); + } + + @Override + public void onFailure(Call call, Throwable t) { //Check internet connection if(Common.checkInternetConnection(getContext())){ //Has internet connection diff --git a/app/src/main/java/com/capstone/foodify/Fragment/SearchFragment.java b/app/src/main/java/com/capstone/foodify/Fragment/SearchFragment.java index 8850b39..707ef9d 100644 --- a/app/src/main/java/com/capstone/foodify/Fragment/SearchFragment.java +++ b/app/src/main/java/com/capstone/foodify/Fragment/SearchFragment.java @@ -135,7 +135,7 @@ public class SearchFragment extends Fragment { } private void getListFoodBySearch(String query, int page) { - FoodApi.apiService.listFood(query, page, LIMIT).enqueue(new Callback>() { + FoodApi.apiService.listFood(query, page, LIMIT, "id", "asc").enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) { loadFoodAdapter(response); diff --git a/app/src/main/java/com/capstone/foodify/Model/Food/Food.java b/app/src/main/java/com/capstone/foodify/Model/Food/Food.java index f20e54e..85e5526 100644 --- a/app/src/main/java/com/capstone/foodify/Model/Food/Food.java +++ b/app/src/main/java/com/capstone/foodify/Model/Food/Food.java @@ -1,86 +1,112 @@ package com.capstone.foodify.Model.Food; +import com.capstone.foodify.Model.Category.Category; +import com.capstone.foodify.Model.Image; +import com.capstone.foodify.Model.Shop.Shop; + +import java.util.List; + public class Food implements Comparable{ private String id; - private String img; private String name; - private String price; - private String discount; private String description; - private String shopName; + private boolean isEnabled; + private float discountPercent; + private float cost; + private float averageRating; private String reviewCount; - private String quantity_sold; + private Shop shop; + private List categories; + private List images; public Food() { } - public Food(String id, String img, String name, String price, String shopName) { - this.id = id; - this.img = img; - this.name = name; - this.price = price; - this.shopName = shopName; - } - - public Food(String img, String name, String price) { - this.img = img; - this.name = name; - this.price = price; - } public String getId() { return id; } + public void setId(String id) { this.id = id; } - public String getImg() { - return img; - } - public void setImg(String img) { - this.img = img; - } + public String getName() { return name; } + public void setName(String name) { this.name = name; } - public String getPrice() { - return price; - } - public void setPrice(String price) { - this.price = price; - } - public String getDiscount() { - return discount; - } - public void setDiscount(String discount) { - this.discount = discount; - } + public String getDescription() { return description; } + public void setDescription(String description) { this.description = description; } - public String getShopName() { - return shopName; + + public boolean isEnabled() { + return isEnabled; } - public void setShopName(String shopName) { - this.shopName = shopName; + + public void setEnabled(boolean enabled) { + isEnabled = enabled; } + + public float getDiscountPercent() { + return discountPercent; + } + + public void setDiscountPercent(float discountPercent) { + this.discountPercent = discountPercent; + } + + public float getCost() { + return cost; + } + + public void setCost(float cost) { + this.cost = cost; + } + + public float getAverageRating() { + return averageRating; + } + + public void setAverageRating(float averageRating) { + this.averageRating = averageRating; + } + public String getReviewCount() { return reviewCount; } + public void setReviewCount(String reviewCount) { this.reviewCount = reviewCount; } - public String getQuantity_sold() { - return quantity_sold; + public Shop getShop() { + return shop; } - public void setQuantity_sold(String quantity_sold) { - this.quantity_sold = quantity_sold; + public void setShop(Shop shop) { + this.shop = shop; + } + + public List getCategories() { + return categories; + } + + public void setCategories(List categories) { + this.categories = categories; + } + + public List getImages() { + return images; + } + + public void setImages(List images) { + this.images = images; } @Override diff --git a/app/src/main/java/com/capstone/foodify/Model/Food/FoodAdapter.java b/app/src/main/java/com/capstone/foodify/Model/Food/FoodAdapter.java index d477285..1460d9b 100644 --- a/app/src/main/java/com/capstone/foodify/Model/Food/FoodAdapter.java +++ b/app/src/main/java/com/capstone/foodify/Model/Food/FoodAdapter.java @@ -55,8 +55,24 @@ public class FoodAdapter extends RecyclerView.Adapter 0){ + + //Calculate final cost when apply discountPercent + cost = food.getCost() - (food.getCost() * food.getDiscountPercent()/100); + + //Show discountPercent value on screen + holder.discount.setVisibility(View.VISIBLE); + holder.discount.setText("-" + food.getDiscountPercent()+ "%"); + } else { + cost = food.getCost(); + } + + holder.price.setText(Common.changeCurrencyUnit(cost)); + holder.itemView.setOnClickListener(new View.OnClickListener() { @Override @@ -80,7 +96,7 @@ public class FoodAdapter extends RecyclerView.Adapter products; + private Page page; + + public List getProducts() { + return products; + } + + public void setProducts(List products) { + this.products = products; + } + + public Page getPage() { + return page; + } + + public void setPage(Page page) { + this.page = page; + } +} diff --git a/app/src/main/java/com/capstone/foodify/Model/Response/Shops.java b/app/src/main/java/com/capstone/foodify/Model/Response/Shops.java new file mode 100644 index 0000000..9836411 --- /dev/null +++ b/app/src/main/java/com/capstone/foodify/Model/Response/Shops.java @@ -0,0 +1,27 @@ +package com.capstone.foodify.Model.Response; + +import com.capstone.foodify.Model.Page; +import com.capstone.foodify.Model.Shop.Shop; + +import java.util.List; + +public class Shops { + private List shops; + private Page page; + + public List getShops() { + return shops; + } + + public void setShops(List shops) { + this.shops = shops; + } + + public Page getPage() { + return page; + } + + public void setPage(Page page) { + this.page = page; + } +} diff --git a/app/src/main/java/com/capstone/foodify/Model/Shop/Shop.java b/app/src/main/java/com/capstone/foodify/Model/Shop/Shop.java index 6002599..d2ac269 100644 --- a/app/src/main/java/com/capstone/foodify/Model/Shop/Shop.java +++ b/app/src/main/java/com/capstone/foodify/Model/Shop/Shop.java @@ -1,17 +1,58 @@ package com.capstone.foodify.Model.Shop; public class Shop { - private int resourceId; + private int id; + private String description; + private String imageUrl; + private boolean isEnabled; + private boolean isStudent; + private int userId; - public Shop(int resourceId) { - this.resourceId = resourceId; + public int getId() { + return id; } - public int getResourceId() { - return resourceId; + public void setId(int id) { + this.id = id; } - public void setResourceId(int resourceId) { - this.resourceId = resourceId; + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getImageUrl() { + return imageUrl; + } + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } + + public boolean isEnabled() { + return isEnabled; + } + + public void setEnabled(boolean enabled) { + isEnabled = enabled; + } + + public boolean isStudent() { + return isStudent; + } + + public void setStudent(boolean student) { + isStudent = student; + } + + public int getUserId() { + return userId; + } + + public void setUserId(int userId) { + this.userId = userId; } } diff --git a/app/src/main/java/com/capstone/foodify/Model/Shop/ShopAdapter.java b/app/src/main/java/com/capstone/foodify/Model/Shop/ShopAdapter.java index 05cdcbc..676babe 100644 --- a/app/src/main/java/com/capstone/foodify/Model/Shop/ShopAdapter.java +++ b/app/src/main/java/com/capstone/foodify/Model/Shop/ShopAdapter.java @@ -6,12 +6,14 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; +import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.capstone.foodify.Activity.ShopDetailActivity; import com.capstone.foodify.R; +import com.squareup.picasso.Picasso; import java.util.List; @@ -44,7 +46,10 @@ public class ShopAdapter extends RecyclerView.Adapter - - + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_food.xml b/app/src/main/res/layout/item_food.xml index be79439..578d135 100644 --- a/app/src/main/res/layout/item_food.xml +++ b/app/src/main/res/layout/item_food.xml @@ -1,7 +1,7 @@ @@ -64,11 +64,13 @@ android:layout_height="match_parent" /> - - + + \ No newline at end of file