mirror of
https://github.com/Nezumi-2711/PRM392.git
synced 2026-09-22 13:48:29 +00:00
131 lines
4.3 KiB
Java
131 lines
4.3 KiB
Java
package com.waterbase.foodify;
|
|
|
|
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.ImageView;
|
|
import android.widget.TextView;
|
|
import android.widget.Toast;
|
|
|
|
import com.cepheuen.elegantnumberbutton.view.ElegantNumberButton;
|
|
import com.google.android.material.appbar.CollapsingToolbarLayout;
|
|
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
|
import com.google.firebase.database.DataSnapshot;
|
|
import com.google.firebase.database.DatabaseError;
|
|
import com.google.firebase.database.DatabaseReference;
|
|
import com.google.firebase.database.FirebaseDatabase;
|
|
import com.google.firebase.database.ValueEventListener;
|
|
import com.squareup.picasso.Picasso;
|
|
import com.waterbase.foodify.Database.Database;
|
|
import com.waterbase.foodify.Model.Food;
|
|
import com.waterbase.foodify.Model.Order;
|
|
|
|
public class FoodDetail extends AppCompatActivity {
|
|
|
|
|
|
TextView food_name, food_price, food_description;
|
|
ImageView food_image;
|
|
CollapsingToolbarLayout collapsingToolbarLayout;
|
|
FloatingActionButton btnCart;
|
|
ElegantNumberButton numberButton;
|
|
|
|
String foodId = "";
|
|
|
|
FirebaseDatabase database;
|
|
DatabaseReference foods;
|
|
|
|
Food currentFood;
|
|
|
|
@Override
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
setContentView(R.layout.activity_food_detail);
|
|
|
|
//Firebase
|
|
database = FirebaseDatabase.getInstance();
|
|
foods = database.getReference("Foods");
|
|
|
|
//Init view
|
|
numberButton = (ElegantNumberButton) findViewById(R.id.number_button);
|
|
btnCart = (FloatingActionButton) findViewById(R.id.btnCart);
|
|
|
|
btnCart.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View v) {
|
|
new Database(getBaseContext()).addToCart(new Order(
|
|
foodId,
|
|
currentFood.getName(),
|
|
numberButton.getNumber(),
|
|
currentFood.getPrice(),
|
|
currentFood.getDiscount()
|
|
));
|
|
|
|
Toast.makeText(FoodDetail.this, "Added to Cart", Toast.LENGTH_SHORT).show();
|
|
}
|
|
});
|
|
|
|
food_description = (TextView) findViewById(R.id.food_description);
|
|
food_name = (TextView) findViewById(R.id.food_name);
|
|
food_price = (TextView) findViewById(R.id.food_price);
|
|
food_image = (ImageView) findViewById(R.id.img_food);
|
|
|
|
collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsing);
|
|
collapsingToolbarLayout.setExpandedTitleTextAppearance(R.style.ExpandedAppbar);
|
|
collapsingToolbarLayout.setCollapsedTitleTextAppearance(R.style.CollapsedAppbar);
|
|
|
|
//Get Food Id from Intent
|
|
if(getIntent() != null)
|
|
foodId = getIntent().getStringExtra("FoodId");
|
|
if(!foodId.isEmpty()) {
|
|
getDetailFood(foodId);
|
|
}
|
|
|
|
setTitle("Chi tiết");
|
|
|
|
// calling the action bar
|
|
ActionBar actionBar = getSupportActionBar();
|
|
|
|
// showing the back button in action bar
|
|
actionBar.setDisplayHomeAsUpEnabled(true);
|
|
|
|
}
|
|
|
|
private void getDetailFood(String foodId) {
|
|
foods.child(foodId).addValueEventListener(new ValueEventListener() {
|
|
@Override
|
|
public void onDataChange(DataSnapshot dataSnapshot) {
|
|
currentFood = dataSnapshot.getValue(Food.class);
|
|
|
|
//Set Image
|
|
Picasso.with(getBaseContext()).load(currentFood.getImage()).into(food_image);
|
|
|
|
collapsingToolbarLayout.setTitle(currentFood.getName());
|
|
|
|
food_price.setText(currentFood.getPrice());
|
|
|
|
food_name.setText(currentFood.getName());
|
|
|
|
food_description.setText(currentFood.getDescription());
|
|
}
|
|
|
|
@Override
|
|
public void onCancelled(DatabaseError databaseError) {
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
@Override
|
|
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
|
switch (item.getItemId()) {
|
|
case android.R.id.home:
|
|
this.finish();
|
|
return true;
|
|
}
|
|
return super.onOptionsItemSelected(item);
|
|
}
|
|
} |