From 57df99f58433f8744e0425521e5844140e8ebb4f Mon Sep 17 00:00:00 2001 From: phanhuuloi27 <73208452+Nezumi2711@users.noreply.github.com> Date: Tue, 5 Jul 2022 21:31:02 +0700 Subject: [PATCH] Fix font and improve UI --- Foodify/app/src/main/assets/fonts/font.otf | Bin 0 -> 45164 bytes Foodify/app/src/main/assets/fonts/font.ttf | Bin 74736 -> 0 bytes .../main/java/com/waterbase/foodify/Cart.java | 2 +- .../com/waterbase/foodify/ChangePassword.java | 2 +- .../waterbase/foodify/CustomTypefaceSpan.java | 47 ++++++++++++++++++ .../waterbase/foodify/FavoritesActivity.java | 21 ++++++++ .../com/waterbase/foodify/FoodDetail.java | 23 +-------- .../java/com/waterbase/foodify/FoodList.java | 2 +- .../com/waterbase/foodify/ForgotPassword.java | 2 +- .../main/java/com/waterbase/foodify/Home.java | 30 ++++++++++- .../com/waterbase/foodify/OrderDetail.java | 28 +++++++++-- .../com/waterbase/foodify/OrderStatus.java | 2 +- .../com/waterbase/foodify/SearchActivity.java | 2 +- .../com/waterbase/foodify/ShowComment.java | 2 +- .../java/com/waterbase/foodify/SignIn.java | 4 +- .../java/com/waterbase/foodify/SignUp.java | 4 +- .../com/waterbase/foodify/VerifyPhone.java | 2 +- .../java/com/waterbase/foodify/Welcome.java | 4 +- .../foodify/Zalopay/Api/CreateOrder.java | 8 +-- Foodify/app/src/main/res/layout/food_item.xml | 9 ++-- Foodify/app/src/main/res/values/themes.xml | 4 ++ .../app/src/main/AndroidManifest.xml | 9 ++-- .../foodifyServer/BannerActivity.java | 17 +++++++ .../com/waterbase/foodifyServer/FoodList.java | 19 +++++++ .../com/waterbase/foodifyServer/Home.java | 2 +- .../waterbase/foodifyServer/OrderDetail.java | 19 +++++++ .../waterbase/foodifyServer/OrderStatus.java | 18 +++++++ .../waterbase/foodifyServer/SendMessage.java | 26 +++++++--- .../app/src/main/res/drawable/avatar.png | Bin 0 -> 18906 bytes .../app/src/main/res/layout/activity_home.xml | 6 +-- .../src/main/res/layout/nav_header_home.xml | 14 ++---- .../app/src/main/res/values/themes.xml | 2 +- 32 files changed, 253 insertions(+), 77 deletions(-) create mode 100644 Foodify/app/src/main/assets/fonts/font.otf delete mode 100644 Foodify/app/src/main/assets/fonts/font.ttf create mode 100644 Foodify/app/src/main/java/com/waterbase/foodify/CustomTypefaceSpan.java create mode 100644 FoodifyServer/app/src/main/res/drawable/avatar.png diff --git a/Foodify/app/src/main/assets/fonts/font.otf b/Foodify/app/src/main/assets/fonts/font.otf new file mode 100644 index 0000000000000000000000000000000000000000..03c8bc75d8963e45967d9d0d18e8bcaa58909d10 GIT binary patch literal 45164 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 literal 0 HcmV?d00001 diff --git a/Foodify/app/src/main/assets/fonts/font.ttf b/Foodify/app/src/main/assets/fonts/font.ttf deleted file mode 100644 index 22d6180bb980e40bda882b9750d81a58de39c67b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74736 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 oj)!=N>FPDWq6s>85>zv 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 diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/Cart.java b/Foodify/app/src/main/java/com/waterbase/foodify/Cart.java index 91c1eea..833cb5e 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/Cart.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/Cart.java @@ -116,7 +116,7 @@ public class Cart extends AppCompatActivity implements GoogleApiClient.Connectio ViewPump.init(ViewPump.builder() .addInterceptor(new CalligraphyInterceptor( new CalligraphyConfig.Builder() - .setDefaultFontPath("fonts/font.ttf") + .setDefaultFontPath("fonts/font.otf") .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) .build())) .build()); diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/ChangePassword.java b/Foodify/app/src/main/java/com/waterbase/foodify/ChangePassword.java index 8ca9ce8..b7110d6 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/ChangePassword.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/ChangePassword.java @@ -43,7 +43,7 @@ public class ChangePassword extends AppCompatActivity { ViewPump.init(ViewPump.builder() .addInterceptor(new CalligraphyInterceptor( new CalligraphyConfig.Builder() - .setDefaultFontPath("fonts/font.ttf") + .setDefaultFontPath("fonts/font.otf") .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) .build())) .build()); diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/CustomTypefaceSpan.java b/Foodify/app/src/main/java/com/waterbase/foodify/CustomTypefaceSpan.java new file mode 100644 index 0000000..6385206 --- /dev/null +++ b/Foodify/app/src/main/java/com/waterbase/foodify/CustomTypefaceSpan.java @@ -0,0 +1,47 @@ +package com.waterbase.foodify; + +import android.graphics.Paint; +import android.graphics.Typeface; +import android.text.TextPaint; +import android.text.style.TypefaceSpan; + +public class CustomTypefaceSpan extends TypefaceSpan { + + private final Typeface newType; + + public CustomTypefaceSpan(String family, Typeface type) { + super(family); + newType = type; + } + + @Override + public void updateDrawState(TextPaint ds) { + applyCustomTypeFace(ds, newType); + } + + @Override + public void updateMeasureState(TextPaint paint) { + applyCustomTypeFace(paint, newType); + } + + private static void applyCustomTypeFace(Paint paint, Typeface tf) { + int oldStyle; + Typeface old = paint.getTypeface(); + if (old == null) { + oldStyle = 0; + } else { + oldStyle = old.getStyle(); + } + + int fake = oldStyle & ~tf.getStyle(); + if ((fake & Typeface.BOLD) != 0) { + paint.setFakeBoldText(true); + } + + if ((fake & Typeface.ITALIC) != 0) { + paint.setTextSkewX(-0.25f); + } + + paint.setTypeface(tf); + } +} \ No newline at end of file diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/FavoritesActivity.java b/Foodify/app/src/main/java/com/waterbase/foodify/FavoritesActivity.java index f08757e..c12a6b6 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/FavoritesActivity.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/FavoritesActivity.java @@ -1,5 +1,6 @@ package com.waterbase.foodify; +import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.view.View; @@ -19,6 +20,11 @@ import com.waterbase.foodify.Model.Favorites; import com.waterbase.foodify.ViewHolder.FavoritesAdapter; import com.waterbase.foodify.ViewHolder.FavoritesViewHolder; +import io.github.inflationx.calligraphy3.CalligraphyConfig; +import io.github.inflationx.calligraphy3.CalligraphyInterceptor; +import io.github.inflationx.viewpump.ViewPump; +import io.github.inflationx.viewpump.ViewPumpContextWrapper; + public class FavoritesActivity extends AppCompatActivity implements RecyclerItemTouchHelperListener { RecyclerView recyclerView; @@ -28,9 +34,24 @@ public class FavoritesActivity extends AppCompatActivity implements RecyclerItem RelativeLayout rootLayout; + @Override + protected void attachBaseContext(Context newBase) { + super.attachBaseContext(ViewPumpContextWrapper.wrap(newBase)); + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + //Set font all activity + ViewPump.init(ViewPump.builder() + .addInterceptor(new CalligraphyInterceptor( + new CalligraphyConfig.Builder() + .setDefaultFontPath("fonts/font.otf") + .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) + .build())) + .build()); + setContentView(R.layout.activity_favorites); rootLayout = findViewById(R.id.rootLayout); diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/FoodDetail.java b/Foodify/app/src/main/java/com/waterbase/foodify/FoodDetail.java index 3896b18..2da5e2c 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/FoodDetail.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/FoodDetail.java @@ -77,7 +77,7 @@ public class FoodDetail extends AppCompatActivity implements RatingDialogListene ViewPump.init(ViewPump.builder() .addInterceptor(new CalligraphyInterceptor( new CalligraphyConfig.Builder() - .setDefaultFontPath("fonts/font.ttf") + .setDefaultFontPath("fonts/font.otf") .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) .build())) .build()); @@ -265,26 +265,5 @@ public class FoodDetail extends AppCompatActivity implements RatingDialogListene Toast.makeText(FoodDetail.this, "Cảm ơn bạn đã đánh giá!", Toast.LENGTH_SHORT).show(); } }); -// ratingTbl.child(Common.currentUser.getPhone()).addValueEventListener(new ValueEventListener() { -// @Override -// public void onDataChange(DataSnapshot dataSnapshot) { -// if (dataSnapshot.child(Common.currentUser.getPhone()).exists()) { -// //Remove old feedback -// ratingTbl.child(Common.currentUser.getPhone()).removeValue(); -// //Update new feedback -// ratingTbl.child(Common.currentUser.getPhone()).setValue(rating); -// } else { -// -// //Update new value -// ratingTbl.child(Common.currentUser.getPhone()).setValue(rating); -// } -// Toast.makeText(FoodDetail.this, "Cảm ơn bạn đã đánh giá món ăn!", Toast.LENGTH_SHORT).show(); -// } -// -// @Override -// public void onCancelled(DatabaseError databaseError) { -// -// } -// }); } } \ No newline at end of file diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/FoodList.java b/Foodify/app/src/main/java/com/waterbase/foodify/FoodList.java index 2c322f5..1901ff7 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/FoodList.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/FoodList.java @@ -82,7 +82,7 @@ public class FoodList extends AppCompatActivity { ViewPump.init(ViewPump.builder() .addInterceptor(new CalligraphyInterceptor( new CalligraphyConfig.Builder() - .setDefaultFontPath("fonts/font.ttf") + .setDefaultFontPath("fonts/font.otf") .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) .build())) .build()); diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/ForgotPassword.java b/Foodify/app/src/main/java/com/waterbase/foodify/ForgotPassword.java index 89303de..804b544 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/ForgotPassword.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/ForgotPassword.java @@ -53,7 +53,7 @@ public class ForgotPassword extends AppCompatActivity { ViewPump.init(ViewPump.builder() .addInterceptor(new CalligraphyInterceptor( new CalligraphyConfig.Builder() - .setDefaultFontPath("fonts/font.ttf") + .setDefaultFontPath("fonts/font.otf") .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) .build())) .build()); 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 2f68986..50818a2 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/Home.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/Home.java @@ -3,11 +3,15 @@ package com.waterbase.foodify; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.graphics.Typeface; import android.os.Bundle; +import android.text.Spannable; +import android.text.SpannableString; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; +import android.view.SubMenu; import android.view.View; import android.view.ViewGroup; import android.view.animation.AnimationUtils; @@ -96,7 +100,7 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati ViewPump.init(ViewPump.builder() .addInterceptor(new CalligraphyInterceptor( new CalligraphyConfig.Builder() - .setDefaultFontPath("fonts/font.ttf") + .setDefaultFontPath("fonts/font.otf") .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) .build())) .build()); @@ -156,6 +160,23 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); + //Set font to navigation + Menu m = navigationView.getMenu(); + for (int i=0;i 0) { + for (int j = 0; j < subMenu.size(); j++) { + MenuItem subMenuItem = subMenu.getItem(j); + applyFontToMenuItem(subMenuItem); + } + } + + //the method we have create in activity + applyFontToMenuItem(mi); + } //Init database database = FirebaseDatabase.getInstance(); @@ -217,6 +238,13 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati } + private void applyFontToMenuItem(MenuItem mi) { + Typeface font = Typeface.createFromAsset(getAssets(), "fonts/font.otf"); + SpannableString mNewTitle = new SpannableString(mi.getTitle()); + mNewTitle.setSpan(new CustomTypefaceSpan("" , font), 0 , mNewTitle.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE); + mi.setTitle(mNewTitle); + } + private void setupSlider() { mSlider = findViewById(R.id.slider); image_list = new HashMap<>(); diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/OrderDetail.java b/Foodify/app/src/main/java/com/waterbase/foodify/OrderDetail.java index d934869..d91bf8b 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/OrderDetail.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/OrderDetail.java @@ -1,6 +1,7 @@ package com.waterbase.foodify; import android.annotation.SuppressLint; +import android.content.Context; import android.content.Intent; import android.os.Build; import android.os.Bundle; @@ -41,6 +42,10 @@ import org.json.JSONObject; import java.util.HashMap; import java.util.Map; +import io.github.inflationx.calligraphy3.CalligraphyConfig; +import io.github.inflationx.calligraphy3.CalligraphyInterceptor; +import io.github.inflationx.viewpump.ViewPump; +import io.github.inflationx.viewpump.ViewPumpContextWrapper; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -62,9 +67,24 @@ public class OrderDetail extends AppCompatActivity { APIService mService; + @Override + protected void attachBaseContext(Context newBase) { + super.attachBaseContext(ViewPumpContextWrapper.wrap(newBase)); + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + //Set font all activity + ViewPump.init(ViewPump.builder() + .addInterceptor(new CalligraphyInterceptor( + new CalligraphyConfig.Builder() + .setDefaultFontPath("fonts/font.otf") + .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) + .build())) + .build()); + setContentView(R.layout.activity_order_detail); String comment = ""; @@ -135,14 +155,13 @@ public class OrderDetail extends AppCompatActivity { @SuppressLint("SetTextI18n") @Override public void onClick(View v) { - + String order_number = String.valueOf(System.currentTimeMillis()); String totalPrice = request.getTotal().substring(0, request.getTotal().length() - 2).replace(".", ""); //Remove character " đ" CreateOrder orderApi = new CreateOrder(); try { - JSONObject data = orderApi.createOrder(totalPrice); - Log.d("Amount", totalPrice); + JSONObject data = orderApi.createOrder(totalPrice, order_number); String code = data.getString("return_code"); if (code.equals("1")) { @@ -156,7 +175,6 @@ public class OrderDetail extends AppCompatActivity { request.setPaymentStatus("Đã thanh toán!"); //Summit to Firebase //We will using System.CurrentMilli to key - String order_number = String.valueOf(System.currentTimeMillis()); requests.child(order_number).setValue(request); sendNotificationOrder(order_number); @@ -209,7 +227,7 @@ public class OrderDetail extends AppCompatActivity { //Create raw payload to send Map dataSend = new HashMap<>(); dataSend.put("title", "Foodify"); - dataSend.put("message", "Bạn có 1 đơn hàng mới +" + order_number); + dataSend.put("message", "Bạn có 1 đơn hàng mới #" + order_number); DataMessage dataMessage = new DataMessage(serverToken.getToken(), dataSend); mService.sendNotification(dataMessage) diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/OrderStatus.java b/Foodify/app/src/main/java/com/waterbase/foodify/OrderStatus.java index 9b3d1ed..7d989f4 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/OrderStatus.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/OrderStatus.java @@ -52,7 +52,7 @@ public class OrderStatus extends AppCompatActivity { ViewPump.init(ViewPump.builder() .addInterceptor(new CalligraphyInterceptor( new CalligraphyConfig.Builder() - .setDefaultFontPath("fonts/font.ttf") + .setDefaultFontPath("fonts/font.otf") .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) .build())) .build()); diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/SearchActivity.java b/Foodify/app/src/main/java/com/waterbase/foodify/SearchActivity.java index a09dd13..7ce4d04 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/SearchActivity.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/SearchActivity.java @@ -73,7 +73,7 @@ public class SearchActivity extends AppCompatActivity { ViewPump.init(ViewPump.builder() .addInterceptor(new CalligraphyInterceptor( new CalligraphyConfig.Builder() - .setDefaultFontPath("fonts/font.ttf") + .setDefaultFontPath("fonts/font.otf") .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) .build())) .build()); diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/ShowComment.java b/Foodify/app/src/main/java/com/waterbase/foodify/ShowComment.java index fc2ac26..6573b44 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/ShowComment.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/ShowComment.java @@ -63,7 +63,7 @@ public class ShowComment extends AppCompatActivity { ViewPump.init(ViewPump.builder() .addInterceptor(new CalligraphyInterceptor( new CalligraphyConfig.Builder() - .setDefaultFontPath("fonts/font.ttf") + .setDefaultFontPath("fonts/font.otf") .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) .build())) .build()); diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/SignIn.java b/Foodify/app/src/main/java/com/waterbase/foodify/SignIn.java index ade927c..14538e6 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/SignIn.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/SignIn.java @@ -49,7 +49,7 @@ public class SignIn extends AppCompatActivity { ViewPump.init(ViewPump.builder() .addInterceptor(new CalligraphyInterceptor( new CalligraphyConfig.Builder() - .setDefaultFontPath("fonts/font.ttf") + .setDefaultFontPath("fonts/font.otf") .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) .build())) .build()); @@ -67,7 +67,7 @@ public class SignIn extends AppCompatActivity { txtAppName = (TextView) findViewById(R.id.txtAppName); - Typeface face = Typeface.createFromAsset(getAssets(), "fonts/NABILA.TTF"); + Typeface face = Typeface.createFromAsset(getAssets(), "fonts/Nabila.ttf"); txtAppName.setTypeface(face); //Init Firebase diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/SignUp.java b/Foodify/app/src/main/java/com/waterbase/foodify/SignUp.java index 834abda..b628c82 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/SignUp.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/SignUp.java @@ -57,7 +57,7 @@ public class SignUp extends AppCompatActivity { ViewPump.init(ViewPump.builder() .addInterceptor(new CalligraphyInterceptor( new CalligraphyConfig.Builder() - .setDefaultFontPath("fonts/font.ttf") + .setDefaultFontPath("fonts/font.otf") .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) .build())) .build()); @@ -74,7 +74,7 @@ public class SignUp extends AppCompatActivity { txtAppName = (TextView) findViewById(R.id.txtAppName); - Typeface face = Typeface.createFromAsset(getAssets(), "fonts/NABILA.TTF"); + Typeface face = Typeface.createFromAsset(getAssets(), "fonts/Nabila.ttf"); txtAppName.setTypeface(face); //Init Firebase diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/VerifyPhone.java b/Foodify/app/src/main/java/com/waterbase/foodify/VerifyPhone.java index a27be16..7c3ac0f 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/VerifyPhone.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/VerifyPhone.java @@ -58,7 +58,7 @@ public class VerifyPhone extends AppCompatActivity { ViewPump.init(ViewPump.builder() .addInterceptor(new CalligraphyInterceptor( new CalligraphyConfig.Builder() - .setDefaultFontPath("fonts/font.ttf") + .setDefaultFontPath("fonts/font.otf") .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) .build())) .build()); diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/Welcome.java b/Foodify/app/src/main/java/com/waterbase/foodify/Welcome.java index 2b0f393..ae61358 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/Welcome.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/Welcome.java @@ -42,7 +42,7 @@ public class Welcome extends AppCompatActivity { ViewPump.init(ViewPump.builder() .addInterceptor(new CalligraphyInterceptor( new CalligraphyConfig.Builder() - .setDefaultFontPath("fonts/font.ttf") + .setDefaultFontPath("fonts/font.otf") .setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath) .build())) .build()); @@ -53,7 +53,7 @@ public class Welcome extends AppCompatActivity { txtSlogan = (TextView) findViewById(R.id.txtSlogan); txtAppName = (TextView) findViewById(R.id.txtAppName); - Typeface face = Typeface.createFromAsset(getAssets(), "fonts/NABILA.TTF"); + Typeface face = Typeface.createFromAsset(getAssets(), "fonts/Nabila.ttf"); txtSlogan.setTypeface(face); txtAppName.setTypeface(face); diff --git a/Foodify/app/src/main/java/com/waterbase/foodify/Zalopay/Api/CreateOrder.java b/Foodify/app/src/main/java/com/waterbase/foodify/Zalopay/Api/CreateOrder.java index 1c56f97..d1835ce 100644 --- a/Foodify/app/src/main/java/com/waterbase/foodify/Zalopay/Api/CreateOrder.java +++ b/Foodify/app/src/main/java/com/waterbase/foodify/Zalopay/Api/CreateOrder.java @@ -23,7 +23,7 @@ public class CreateOrder { String Description; String Mac; - private CreateOrderData(String amount) throws Exception { + private CreateOrderData(String amount, String orderId) throws Exception { long appTime = new Date().getTime(); AppId = String.valueOf(AppInfo.APP_ID); AppUser = "Android_Demo"; @@ -33,7 +33,7 @@ public class CreateOrder { EmbedData = "{}"; Items = "[]"; BankCode = "zalopayapp"; - Description = "Merchant pay for order #" + Helpers.getAppTransId(); + Description = "Thanh toán đơn hàng Foodify #" + orderId; String inputHMac = String.format("%s|%s|%s|%s|%s|%s|%s", this.AppId, this.AppTransId, @@ -47,8 +47,8 @@ public class CreateOrder { } } - public JSONObject createOrder(String amount) throws Exception { - CreateOrderData input = new CreateOrderData(amount); + public JSONObject createOrder(String amount, String orderId) throws Exception { + CreateOrderData input = new CreateOrderData(amount, orderId); RequestBody formBody = new FormBody.Builder() .add("app_id", input.AppId) diff --git a/Foodify/app/src/main/res/layout/food_item.xml b/Foodify/app/src/main/res/layout/food_item.xml index c99e391..9abf578 100644 --- a/Foodify/app/src/main/res/layout/food_item.xml +++ b/Foodify/app/src/main/res/layout/food_item.xml @@ -11,17 +11,15 @@ + android:layout_height="wrap_content"> @@ -30,8 +28,7 @@ android:orientation="horizontal" android:layout_width="match_parent" android:gravity="center_vertical" - android:layout_height="0dp" - android:layout_weight="1" + android:layout_height="wrap_content" > @android:anim/fade_out + + \ No newline at end of file diff --git a/FoodifyServer/app/src/main/AndroidManifest.xml b/FoodifyServer/app/src/main/AndroidManifest.xml index 4c5be92..3178686 100644 --- a/FoodifyServer/app/src/main/AndroidManifest.xml +++ b/FoodifyServer/app/src/main/AndroidManifest.xml @@ -58,13 +58,16 @@ android:name=".Home" android:exported="false" android:label="@string/title_activity_home" - android:theme="@style/Theme.FoodifyServer.NoActionBar" /> + android:theme="@style/Theme.FoodifyServer.NoActionBar" + /> + android:exported="false" + android:theme="@style/Theme.FoodifyServer.NoActionBar" /> + android:exported="true" + android:theme="@style/Theme.FoodifyServer.NoActionBar" > diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/BannerActivity.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/BannerActivity.java index 9a2b9b0..9f523b9 100644 --- a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/BannerActivity.java +++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/BannerActivity.java @@ -1,6 +1,7 @@ package com.waterbase.foodifyServer; import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; @@ -89,6 +90,12 @@ public class BannerActivity extends AppCompatActivity { loadListBanner(); loadListFood(); + + // calling the action bar + ActionBar actionBar = getSupportActionBar(); + + // showing the back button in action bar + actionBar.setDisplayHomeAsUpEnabled(true); } private void loadListBanner() { @@ -393,4 +400,14 @@ public class BannerActivity extends AppCompatActivity { alertDialog.show(); } + + @Override + public boolean onOptionsItemSelected(@NonNull MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + this.finish(); + return true; + } + return super.onOptionsItemSelected(item); + } } \ 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 322c790..464a0a2 100644 --- a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/FoodList.java +++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/FoodList.java @@ -2,6 +2,7 @@ package com.waterbase.foodifyServer; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; @@ -74,6 +75,8 @@ public class FoodList extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_food_list); + setTitle("Quản lý danh sách thức ăn"); + //Firebase db = FirebaseDatabase.getInstance(); foodList = db.getReference("Foods"); @@ -158,6 +161,12 @@ public class FoodList extends AppCompatActivity { } }); alertDialog.show(); + + // calling the action bar + ActionBar actionBar = getSupportActionBar(); + + // showing the back button in action bar + actionBar.setDisplayHomeAsUpEnabled(true); } private void uploadImage() { @@ -392,4 +401,14 @@ public class FoodList extends AppCompatActivity { }); } } + + @Override + public boolean onOptionsItemSelected(@NonNull MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + this.finish(); + return true; + } + return super.onOptionsItemSelected(item); + } } \ No newline at end of file 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 dbd9464..306522a 100644 --- a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Home.java +++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/Home.java @@ -86,7 +86,7 @@ public class Home extends AppCompatActivity implements NavigationView.OnNavigati setContentView(R.layout.activity_home); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); - toolbar.setTitle("Menu Management"); + toolbar.setTitle("Quản lý menu"); setSupportActionBar(toolbar); //Init database diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/OrderDetail.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/OrderDetail.java index ba8657a..79200e7 100644 --- a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/OrderDetail.java +++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/OrderDetail.java @@ -1,10 +1,13 @@ package com.waterbase.foodifyServer; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import android.os.Bundle; +import android.view.MenuItem; import android.widget.TextView; import com.waterbase.foodifyServer.Common.Common; @@ -46,5 +49,21 @@ public class OrderDetail extends AppCompatActivity { OrderDetailAdapter adapter = new OrderDetailAdapter(Common.currentRequest.getFoods()); adapter.notifyDataSetChanged(); lstFoods.setAdapter(adapter); + + // calling the action bar + ActionBar actionBar = getSupportActionBar(); + + // showing the back button in action bar + actionBar.setDisplayHomeAsUpEnabled(true); + } + + @Override + public boolean onOptionsItemSelected(@NonNull MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + this.finish(); + return true; + } + return super.onOptionsItemSelected(item); } } \ No newline at end of file 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 1a86ce0..ff9501d 100644 --- a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/OrderStatus.java +++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/OrderStatus.java @@ -1,6 +1,7 @@ package com.waterbase.foodifyServer; import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; @@ -11,6 +12,7 @@ import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.Toast; @@ -71,6 +73,12 @@ public class OrderStatus extends AppCompatActivity { recyclerView.setLayoutManager(layoutManager); loadOrders(); + + // calling the action bar + ActionBar actionBar = getSupportActionBar(); + + // showing the back button in action bar + actionBar.setDisplayHomeAsUpEnabled(true); } private void loadOrders() { @@ -275,4 +283,14 @@ public class OrderStatus extends AppCompatActivity { } }); } + + @Override + public boolean onOptionsItemSelected(@NonNull MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + this.finish(); + return true; + } + return super.onOptionsItemSelected(item); + } } \ No newline at end of file diff --git a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/SendMessage.java b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/SendMessage.java index d0d10b2..1883204 100644 --- a/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/SendMessage.java +++ b/FoodifyServer/app/src/main/java/com/waterbase/foodifyServer/SendMessage.java @@ -1,8 +1,11 @@ package com.waterbase.foodifyServer; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; +import android.view.MenuItem; import android.view.View; import android.widget.Toast; @@ -41,13 +44,6 @@ public class SendMessage extends AppCompatActivity { btnSend.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - //Create message -// Notification notification = new Notification(edtTitle.getText().toString(), edtMessage.getText().toString()); -// -// Sender toTopic = new Sender(); -// toTopic.to = new StringBuilder("/topics/").append(Common.topicName).toString(); -// toTopic.notification = notification; - Map dataSend = new HashMap<>(); dataSend.put("title",edtTitle.getText().toString()); dataSend.put("message",edtMessage.getText().toString()); @@ -68,5 +64,21 @@ public class SendMessage extends AppCompatActivity { }); } }); + + // calling the action bar + ActionBar actionBar = getSupportActionBar(); + + // showing the back button in action bar + actionBar.setDisplayHomeAsUpEnabled(true); + } + + @Override + public boolean onOptionsItemSelected(@NonNull MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + this.finish(); + return true; + } + return super.onOptionsItemSelected(item); } } \ No newline at end of file diff --git a/FoodifyServer/app/src/main/res/drawable/avatar.png b/FoodifyServer/app/src/main/res/drawable/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..d713c6f3e939e291a036ad4aee23ea6deaca0383 GIT binary patch literal 18906 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 \ No newline at end of file diff --git a/FoodifyServer/app/src/main/res/layout/nav_header_home.xml b/FoodifyServer/app/src/main/res/layout/nav_header_home.xml index 5f5c15f..ac69329 100644 --- a/FoodifyServer/app/src/main/res/layout/nav_header_home.xml +++ b/FoodifyServer/app/src/main/res/layout/nav_header_home.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="@dimen/nav_header_height" - android:background="@drawable/side_nav_bar" + android:background="@color/purple_500" android:gravity="bottom" android:orientation="vertical" android:paddingLeft="@dimen/activity_horizontal_margin" @@ -14,11 +14,11 @@ + app:srcCompat="@drawable/avatar" /> - - \ No newline at end of file diff --git a/FoodifyServer/app/src/main/res/values/themes.xml b/FoodifyServer/app/src/main/res/values/themes.xml index edbd631..50a5638 100644 --- a/FoodifyServer/app/src/main/res/values/themes.xml +++ b/FoodifyServer/app/src/main/res/values/themes.xml @@ -1,6 +1,6 @@ -