From d2872f6b0437a8b0f420436fcaaf987174c0b33a Mon Sep 17 00:00:00 2001
From: phanhuuloi27 <73208452+Nezumi2711@users.noreply.github.com>
Date: Thu, 30 Jun 2022 08:05:35 +0700
Subject: [PATCH] Update Firebase ServerApp
---
.../main/java/com/waterbase/foodify/Home.java | 15 ---
Foodify/app/src/main/res/menu/home.xml | 11 --
FoodifyServer/app/build.gradle | 15 ++-
.../app/src/main/AndroidManifest.xml | 5 +-
.../foodifyServer/BannerActivity.java | 107 ++++++++++++++++++
.../com/waterbase/foodifyServer/FoodList.java | 47 +++++---
.../com/waterbase/foodifyServer/Home.java | 41 +++++--
.../waterbase/foodifyServer/Model/Banner.java | 38 +++++++
.../waterbase/foodifyServer/OrderStatus.java | 44 +++++--
.../ViewHolder/BannerViewHolder.java | 36 ++++++
.../res/drawable/ic_baseline_laptop_24.xml | 5 +
.../src/main/res/layout/activity_banner.xml | 28 +++++
.../app/src/main/res/layout/banner_layout.xml | 33 ++++++
.../main/res/menu/activity_main_drawer.xml | 6 +-
FoodifyServer/app/src/main/res/menu/home.xml | 9 --
15 files changed, 357 insertions(+), 83 deletions(-)
delete mode 100644 Foodify/app/src/main/res/menu/home.xml
create mode 100644 FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/BannerActivity.java
create mode 100644 FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Model/Banner.java
create mode 100644 FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/ViewHolder/BannerViewHolder.java
create mode 100644 FoodifyServer/app/src/main/res/drawable/ic_baseline_laptop_24.xml
create mode 100644 FoodifyServer/app/src/main/res/layout/activity_banner.xml
create mode 100644 FoodifyServer/app/src/main/res/layout/banner_layout.xml
delete mode 100644 FoodifyServer/app/src/main/res/menu/home.xml
diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/Home.java b/Foodify/app/src/main/java/com/waterbase/foodify/Home.java
index 9d4218c..ad928c0 100644
--- a/Foodify/app/src/main/java/com/waterbase/foodify/Home.java
+++ b/Foodify/app/src/main/java/com/waterbase/foodify/Home.java
@@ -307,21 +307,6 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati
recyler_menu.scheduleLayoutAnimation();
}
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.home, menu);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(@NonNull MenuItem item) {
- if (item.getItemId() == R.id.refresh)
- loadMenu();
-
- return super.onOptionsItemSelected(item);
- }
-
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
diff --git a/Foodify/app/src/main/res/menu/home.xml b/Foodify/app/src/main/res/menu/home.xml
deleted file mode 100644
index 5336e7e..0000000
--- a/Foodify/app/src/main/res/menu/home.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
\ No newline at end of file
diff --git a/FoodifyServer/app/build.gradle b/FoodifyServer/app/build.gradle
index a58eb35..46ab543 100644
--- a/FoodifyServer/app/build.gradle
+++ b/FoodifyServer/app/build.gradle
@@ -46,22 +46,25 @@ dependencies {
//Add library
- implementation 'com.google.firebase:firebase-core:11.8.0'
- implementation 'com.google.firebase:firebase-database:11.8.0'
- implementation 'com.firebaseui:firebase-ui-database:1.2.0'
+
+
implementation 'com.squareup.picasso:picasso:2.5.2'
- implementation 'com.google.firebase:firebase-auth:11.8.0'
- implementation 'com.google.firebase:firebase-storage:11.8.0'
implementation 'com.github.jd-alexander:android-flat-button:v1.1'
implementation 'com.rengwuxian.materialedittext:library:2.1.4'
implementation 'com.jaredrummler:material-spinner:1.1.0'
implementation 'com.google.android.gms:play-services-maps:11.8.0'
implementation 'com.google.android.gms:play-services:11.8.0'
-
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
+
+ //Firebase
+ implementation 'com.google.firebase:firebase-core:11.8.0'
+ implementation 'com.google.firebase:firebase-database:11.8.0'
+ implementation 'com.google.firebase:firebase-auth:11.8.0'
+ implementation 'com.google.firebase:firebase-storage:11.8.0'
implementation 'com.google.firebase:firebase-messaging:11.8.0'
+ implementation 'com.firebaseui:firebase-ui-database:3.2.0'
}
diff --git a/FoodifyServer/app/src/main/AndroidManifest.xml b/FoodifyServer/app/src/main/AndroidManifest.xml
index a36fc99..1ac27f1 100644
--- a/FoodifyServer/app/src/main/AndroidManifest.xml
+++ b/FoodifyServer/app/src/main/AndroidManifest.xml
@@ -16,6 +16,9 @@
android:supportsRtl="true"
android:theme="@style/Theme.FoodifyServer"
tools:targetApi="31">
+
@@ -71,7 +74,6 @@
-
@@ -79,7 +81,6 @@
-
\ No newline at end of file
diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/BannerActivity.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/BannerActivity.java
new file mode 100644
index 0000000..7141de0
--- /dev/null
+++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/BannerActivity.java
@@ -0,0 +1,107 @@
+package com.waterbase.foodifyServer;
+
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import android.net.Uri;
+import android.os.Bundle;
+import android.view.ViewGroup;
+import android.widget.RelativeLayout;
+
+import com.firebase.ui.database.FirebaseRecyclerAdapter;
+import com.firebase.ui.database.FirebaseRecyclerOptions;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
+import com.google.firebase.database.DatabaseReference;
+import com.google.firebase.database.FirebaseDatabase;
+import com.google.firebase.storage.FirebaseStorage;
+import com.google.firebase.storage.StorageReference;
+import com.rengwuxian.materialedittext.MaterialEditText;
+import com.squareup.picasso.Picasso;
+import com.waterbase.foodifyServer.Model.Banner;
+import com.waterbase.foodifyServer.ViewHolder.BannerViewHolder;
+
+import info.hoang8f.widget.FButton;
+
+public class BannerActivity extends AppCompatActivity {
+
+ RecyclerView recyclerView;
+ RecyclerView.LayoutManager layoutManager;
+
+ RelativeLayout rootLayout;
+
+ FloatingActionButton fab;
+
+ //Firebase
+ FirebaseDatabase db;
+ DatabaseReference banners;
+ FirebaseStorage storage;
+ StorageReference storageReference;
+
+ FirebaseRecyclerAdapter adapter;
+
+ //Add new Banner
+ MaterialEditText edtName, edtFoodId;
+ FButton btnUpload, btnSelect;
+
+ Banner newBanner;
+ Uri filePath;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_banner);
+
+ //Init firebase
+ db = FirebaseDatabase.getInstance();
+ banners = db.getReference("Banner");
+ storage = FirebaseStorage.getInstance();
+ storageReference = storage.getReference();
+
+ recyclerView = findViewById(R.id.recycler_banner);
+ recyclerView.setHasFixedSize(true);
+ layoutManager = new LinearLayoutManager(this);
+ recyclerView.setLayoutManager(layoutManager);
+
+ rootLayout = findViewById(R.id.rootLayout);
+
+ fab = findViewById(R.id.fab);
+ fab.setOnClickListener((view) -> { showAddBanner(); });
+
+ loadListBanner();
+ }
+
+ private void loadListBanner() {
+ FirebaseRecyclerOptions allBanner = new FirebaseRecyclerOptions.Builder()
+ .setQuery(banners, Banner.class)
+ .build();
+
+ adapter = new FirebaseRecyclerAdapter(allBanner) {
+ @Override
+ protected void onBindViewHolder(@NonNull BannerViewHolder holder, int position, @NonNull Banner model) {
+ holder.banner_name.setText(model.getName());
+ Picasso.with(getBaseContext())
+ .load(model.getImage())
+ .into(holder.banner_image);
+ }
+
+ @NonNull
+ @Override
+ public BannerViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ return null;
+ }
+ };
+ adapter.startListening();
+ }
+
+ @Override
+ protected void onStop() {
+ super.onStop();
+ adapter.stopListening();
+ }
+
+ private void showAddBanner() {
+
+ }
+}
\ No newline at end of file
diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/FoodList.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/FoodList.java
index 3c22c33..861dd7b 100644
--- a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/FoodList.java
+++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/FoodList.java
@@ -16,15 +16,18 @@ import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
+import android.view.ViewGroup;
import android.widget.RelativeLayout;
import android.widget.Toast;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
+import com.firebase.ui.database.FirebaseRecyclerOptions;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
+import com.google.firebase.database.Query;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.OnProgressListener;
import com.google.firebase.storage.StorageReference;
@@ -211,29 +214,41 @@ public class FoodList extends AppCompatActivity {
}
private void loadListFood(String categoryId) {
- adapter = new FirebaseRecyclerAdapter(
- Food.class,
- R.layout.food_item,
- FoodViewHolder.class,
- foodList.orderByChild("menuId").equalTo(categoryId)
- ) {
- @Override
- protected void populateViewHolder(FoodViewHolder viewHolder, Food model, int i) {
- viewHolder.txtFoodName.setText(model.getName());
- Picasso.with(getBaseContext()).load(model.getImage()).into(viewHolder.imageView);
- viewHolder.setItemClickListener(new ItemClickListener() {
- @Override
- public void onClick(View view, int position, boolean isLongClick) {
- //Code later
- }
- });
+ Query listFoodByCategoryId = foodList.orderByChild("menuId").equalTo(categoryId);
+ FirebaseRecyclerOptions options = new FirebaseRecyclerOptions.Builder()
+ .setQuery(listFoodByCategoryId, Food.class)
+ .build();
+
+ adapter = new FirebaseRecyclerAdapter(options) {
+ @Override
+ protected void onBindViewHolder(@NonNull FoodViewHolder viewHolder, int i, @NonNull Food model) {
+ viewHolder.txtFoodName.setText(model.getName());
+ Picasso.with(getBaseContext())
+ .load(model.getImage())
+ .into(viewHolder.imageView);
+ }
+
+ @NonNull
+ @Override
+ public FoodViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View itemView = LayoutInflater.from(parent.getContext())
+ .inflate(R.layout.food_item, parent, false);
+ return new FoodViewHolder(itemView);
}
};
+ adapter.startListening();
+
adapter.notifyDataSetChanged();
recyclerView.setAdapter(adapter);
}
+ @Override
+ protected void onStop() {
+ super.onStop();
+ adapter.stopListening();
+ }
+
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Home.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Home.java
index fd48dfb..ed1ab03 100644
--- a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Home.java
+++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Home.java
@@ -9,10 +9,12 @@ import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.Menu;
+import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
+import com.firebase.ui.database.FirebaseRecyclerOptions;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
@@ -222,6 +224,12 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati
}
}
+ @Override
+ protected void onResume() {
+ super.onResume();
+ loadMenu();
+ }
+
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
@@ -241,14 +249,14 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati
}
private void loadMenu() {
- adapter = new FirebaseRecyclerAdapter(
- Category.class,
- R.layout.menu_item,
- MenuViewHolder.class,
- categories
- ) {
+
+ FirebaseRecyclerOptions options = new FirebaseRecyclerOptions.Builder()
+ .setQuery(categories, Category.class)
+ .build();
+
+ adapter = new FirebaseRecyclerAdapter(options) {
@Override
- protected void populateViewHolder(MenuViewHolder viewHolder, Category model, int i) {
+ protected void onBindViewHolder(@NonNull MenuViewHolder viewHolder, int i, @NonNull Category model) {
viewHolder.txtMenuName.setText(model.getName());
Picasso.with(Home.this).load(model.getImage()).into(viewHolder.imageView);
@@ -262,17 +270,25 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati
}
});
}
+
+ @NonNull
+ @Override
+ public MenuViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View itemView = LayoutInflater.from(parent.getContext())
+ .inflate(R.layout.menu_item, parent, false);
+ return new MenuViewHolder(itemView);
+ }
};
+ adapter.startListening();
adapter.notifyDataSetChanged(); //Refresh data if have data changed
recycler_menu.setAdapter(adapter);
}
@Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.home, menu);
- return true;
+ protected void onStop() {
+ super.onStop();
+ adapter.stopListening();
}
@Override
@@ -282,6 +298,9 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati
if(id == R.id.nav_orders) {
Intent orders = new Intent(Home.this, OrderStatus.class);
startActivity(orders);
+ } else if(id == R.id.nav_banner) {
+ Intent banner = new Intent(Home.this, BannerActivity.class);
+ startActivity(banner);
}
DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Model/Banner.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Model/Banner.java
new file mode 100644
index 0000000..e3a9862
--- /dev/null
+++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Model/Banner.java
@@ -0,0 +1,38 @@
+package com.waterbase.foodifyServer.Model;
+
+public class Banner {
+ private String id, name, image;
+
+ public Banner(String id, String name, String image) {
+ this.id = id;
+ this.name = name;
+ this.image = image;
+ }
+
+ public Banner() {
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getImage() {
+ return image;
+ }
+
+ public void setImage(String image) {
+ this.image = image;
+ }
+}
diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/OrderStatus.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/OrderStatus.java
index 5a1a3bf..fb4f3cf 100644
--- a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/OrderStatus.java
+++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/OrderStatus.java
@@ -13,9 +13,11 @@ import android.util.Log;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
+import android.view.ViewGroup;
import android.widget.Toast;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
+import com.firebase.ui.database.FirebaseRecyclerOptions;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
@@ -72,14 +74,14 @@ public class OrderStatus extends AppCompatActivity {
}
private void loadOrders() {
- adapter = new FirebaseRecyclerAdapter(
- Request.class,
- R.layout.order_layout,
- OrderViewHolder.class,
- requests
- ) {
+
+ FirebaseRecyclerOptions options = new FirebaseRecyclerOptions.Builder()
+ .setQuery(requests, Request.class)
+ .build();
+
+ adapter = new FirebaseRecyclerAdapter(options) {
@Override
- protected void populateViewHolder(OrderViewHolder viewHolder, Request model, int i) {
+ protected void onBindViewHolder(@NonNull OrderViewHolder viewHolder, int i, @NonNull Request model) {
viewHolder.txtOrderId.setText(adapter.getRef(i).getKey());
viewHolder.txtOrderStatus.setText(Common.coverCodeToStatus(model.getStatus()));
viewHolder.txtOrderAddress.setText(model.getAddress());
@@ -89,14 +91,14 @@ public class OrderStatus extends AppCompatActivity {
viewHolder.btnEdit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- showUpdateDialog(adapter.getRef(i).getKey(), adapter.getItem(i));
+ showUpdateDialog(adapter.getRef(viewHolder.getAdapterPosition()).getKey(), adapter.getItem(viewHolder.getAdapterPosition()));
}
});
viewHolder.btnRemove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- deleteOrder(adapter.getRef(i).getKey());
+ deleteOrder(adapter.getRef(viewHolder.getAdapterPosition()).getKey());
}
});
@@ -105,7 +107,7 @@ public class OrderStatus extends AppCompatActivity {
public void onClick(View v) {
Intent orderDetail = new Intent(OrderStatus.this, OrderDetail.class);
Common.currentRequest = model;
- orderDetail.putExtra("OrderId", adapter.getRef(i).getKey());
+ orderDetail.putExtra("OrderId", adapter.getRef(viewHolder.getAdapterPosition()).getKey());
startActivity(orderDetail);
}
});
@@ -119,11 +121,33 @@ public class OrderStatus extends AppCompatActivity {
}
});
}
+
+ @NonNull
+ @Override
+ public OrderViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View itemView = LayoutInflater.from(parent.getContext())
+ .inflate(R.layout.order_layout, parent, false);
+ return new OrderViewHolder(itemView);
+ }
};
+ adapter.startListening();
+
adapter.notifyDataSetChanged();
recyclerView.setAdapter(adapter);
}
+ @Override
+ protected void onStop() {
+ super.onStop();
+ adapter.stopListening();
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ loadOrders();
+ }
+
private void deleteOrder(String key) {
requests.child(key).removeValue();
adapter.notifyDataSetChanged();
diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/ViewHolder/BannerViewHolder.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/ViewHolder/BannerViewHolder.java
new file mode 100644
index 0000000..9918d28
--- /dev/null
+++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/ViewHolder/BannerViewHolder.java
@@ -0,0 +1,36 @@
+package com.waterbase.foodifyServer.ViewHolder;
+
+import android.view.ContextMenu;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.waterbase.foodifyServer.Common.Common;
+import com.waterbase.foodifyServer.Interface.ItemClickListener;
+import com.waterbase.foodifyServer.R;
+
+public class BannerViewHolder extends RecyclerView.ViewHolder implements View.OnCreateContextMenuListener{
+
+ public TextView banner_name;
+ public ImageView banner_image;
+
+ public BannerViewHolder(@NonNull View itemView) {
+ super(itemView);
+
+ banner_name = itemView.findViewById(R.id.banner_name);
+ banner_image = itemView.findViewById(R.id.banner_image);
+
+ itemView.setOnCreateContextMenuListener(this);
+ }
+
+ @Override
+ public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
+ menu.setHeaderTitle("Tuỳ chọn:");
+
+ menu.add(0,0, getAdapterPosition(), Common.UPDATE);
+ menu.add(0,1, getAdapterPosition(), Common.DELETE);
+ }
+}
diff --git a/FoodifyServer/app/src/main/res/drawable/ic_baseline_laptop_24.xml b/FoodifyServer/app/src/main/res/drawable/ic_baseline_laptop_24.xml
new file mode 100644
index 0000000..071cc11
--- /dev/null
+++ b/FoodifyServer/app/src/main/res/drawable/ic_baseline_laptop_24.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/FoodifyServer/app/src/main/res/layout/activity_banner.xml b/FoodifyServer/app/src/main/res/layout/activity_banner.xml
new file mode 100644
index 0000000..e6cb18f
--- /dev/null
+++ b/FoodifyServer/app/src/main/res/layout/activity_banner.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/FoodifyServer/app/src/main/res/layout/banner_layout.xml b/FoodifyServer/app/src/main/res/layout/banner_layout.xml
new file mode 100644
index 0000000..09eaccc
--- /dev/null
+++ b/FoodifyServer/app/src/main/res/layout/banner_layout.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/FoodifyServer/app/src/main/res/menu/activity_main_drawer.xml b/FoodifyServer/app/src/main/res/menu/activity_main_drawer.xml
index 30bcb55..3904ce2 100644
--- a/FoodifyServer/app/src/main/res/menu/activity_main_drawer.xml
+++ b/FoodifyServer/app/src/main/res/menu/activity_main_drawer.xml
@@ -5,9 +5,9 @@
+ android:id="@+id/nav_banner"
+ android:icon="@drawable/ic_baseline_laptop_24"
+ android:title="Banner" />
-
-
\ No newline at end of file