Facebook
From Sludgy Eider, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 261
  1. package com.example.garella.kftta;
  2.  
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.support.design.widget.FloatingActionButton;
  6. import android.support.design.widget.Snackbar;
  7. import android.support.v7.widget.LinearLayoutManager;
  8. import android.support.v7.widget.RecyclerView;
  9. import android.view.View;
  10. import android.support.design.widget.NavigationView;
  11. import android.support.v4.view.GravityCompat;
  12. import android.support.v4.widget.DrawerLayout;
  13. import android.support.v7.app.ActionBarDrawerToggle;
  14. import android.support.v7.app.AppCompatActivity;
  15. import android.support.v7.widget.Toolbar;
  16. import android.view.Menu;
  17. import android.view.MenuItem;
  18. import android.widget.TextView;
  19. import android.widget.Toast;
  20.  
  21. import com.example.garella.kftta.Common.Common;
  22. import com.example.garella.kftta.Interface.ItemClickListener;
  23. import com.example.garella.kftta.Model.Food;
  24. import com.example.garella.kftta.Model.FoodTruck;
  25. import com.example.garella.kftta.ViewHolder.FoodTruckViewHolder;
  26. import com.firebase.ui.database.FirebaseRecyclerAdapter;
  27. import com.google.firebase.database.DatabaseReference;
  28. import com.google.firebase.database.FirebaseDatabase;
  29. import com.squareup.picasso.Picasso;
  30.  
  31. public class Home extends AppCompatActivity
  32.         implements NavigationView.OnNavigationItemSelectedListener {
  33.  
  34.     FirebaseDatabase database;
  35.     DatabaseReference foodtruck;
  36.     TextView txtFullName;
  37.     RecyclerView recycler_foodtruck;
  38.     RecyclerView.LayoutManager layoutManager;
  39.  
  40.     FirebaseRecyclerAdapter<FoodTruck,FoodTruckViewHolder> adapter;
  41.  
  42.     @Override
  43.     protected void onCreate(Bundle savedInstanceState) {
  44.         super.onCreate (savedInstanceState);
  45.         setContentView (R.layout.activity_home);
  46.  
  47.         Toolbar toolbar = (Toolbar) findViewById (R.id.toolbar);
  48.         toolbar.setTitle ("Food Truck Name");
  49.         setSupportActionBar (toolbar);
  50.  
  51.         //Init Firebase
  52.         database = FirebaseDatabase.getInstance ();
  53.         foodtruck = database.getReference ("FoodTruck");
  54.  
  55.  
  56.  
  57.         FloatingActionButton fab = (FloatingActionButton) findViewById (R.id.fab);
  58.         fab.setOnClickListener (new View.OnClickListener () {
  59.             @Override
  60.             public void onClick(View view) {
  61.                 Snackbar.make (view, "Replace with your own action", Snackbar.LENGTH_LONG)
  62.                         .setAction ("Action", null).show ();
  63.             }
  64.         });
  65.  
  66.         DrawerLayout drawer = (DrawerLayout) findViewById (R.id.drawer_layout);
  67.         ActionBarDrawerToggle toggle = new ActionBarDrawerToggle (
  68.                 this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
  69.         drawer.addDrawerListener (toggle);
  70.         toggle.syncState ();
  71.  
  72.         NavigationView navigationView = (NavigationView) findViewById (R.id.nav_view);
  73.         navigationView.setNavigationItemSelectedListener (this);
  74.  
  75.         //Set Name for User
  76.         View headerView = navigationView.getHeaderView (0);
  77.         txtFullName = (TextView)headerView.findViewById (R.id.txtFullName);
  78.         txtFullName.setText (Common.currentUser.getName ());
  79.  
  80.         //Load Foodtruck
  81.         recycler_foodtruck = (RecyclerView)findViewById (R.id.recyclerviewfoodtruck);
  82.         recycler_foodtruck.setHasFixedSize (true);
  83.         layoutManager = new LinearLayoutManager (this);
  84.         recycler_foodtruck.setLayoutManager (layoutManager);
  85.  
  86.         loadMenu();
  87.  
  88.     }
  89.  
  90.     private void loadMenu() {
  91.  
  92.         adapter = new FirebaseRecyclerAdapter<FoodTruck, FoodTruckViewHolder> (FoodTruck.class,R.layout.foodtruckname,FoodTruckViewHolder.class,foodtruck) {
  93.             @Override
  94.             protected void populateViewHolder(FoodTruckViewHolder viewHolder, FoodTruck model, int position) {
  95.                 viewHolder.txtFoodtruckName.setText (model.getName ());
  96.                 Picasso.with(getBaseContext ()).load (model.getImage ())
  97.                         .into (viewHolder.imageView);
  98.                 final FoodTruck clickItem = model;
  99.  
  100.                 viewHolder.setItemClickListener (new ItemClickListener () {
  101.                     @Override
  102.                     public void onClick(View view, int position, boolean isLongClick) {
  103.                        //Get Food truck Id and send to new Activity
  104.                         Intent foodList = new Intent (Home.this, FoodList.class);
  105.                         //FoodTruck Id is key
  106.                         foodList.putExtra ("FoodTruckID",adapter.getRef (position).getKey ());
  107.                         startActivity (foodList);
  108.                     }
  109.                 });
  110.             }
  111.         };
  112.         recycler_foodtruck.setAdapter (adapter);
  113.  
  114.     }
  115.  
  116.     @Override
  117.     public void onBackPressed() {
  118.         DrawerLayout drawer = (DrawerLayout) findViewById (R.id.drawer_layout);
  119.         if (drawer.isDrawerOpen (GravityCompat.START)) {
  120.             drawer.closeDrawer (GravityCompat.START);
  121.         } else {
  122.             super.onBackPressed ();
  123.         }
  124.     }
  125.  
  126.     @Override
  127.     public boolean onCreateOptionsMenu(Menu menu) {
  128.         // Inflate the menu; this adds items to the action bar if it is present.
  129.         getMenuInflater ().inflate (R.menu.home, menu);
  130.         return true;
  131.     }
  132.  
  133.     @Override
  134.     public boolean onOptionsItemSelected(MenuItem item) {
  135.  
  136.         return super.onOptionsItemSelected (item);
  137.     }
  138.  
  139.     @SuppressWarnings("StatementWithEmptyBody")
  140.     @Override
  141.     public boolean onNavigationItemSelected(MenuItem item) {
  142.         // Handle navigation view item clicks here.
  143.         int id = item.getItemId ();
  144.  
  145.         if (id == R.id.nav_foodtruck) {
  146.  
  147.         } else if (id == R.id.nav_cart) {
  148.  
  149.         } else if (id == R.id.nav_order) {
  150.  
  151.         } else if (id == R.id.nav_location) {
  152.  
  153.         } else if (id == R.id.nav_logout) {
  154.  
  155.         }
  156.  
  157.         DrawerLayout drawer = (DrawerLayout) findViewById (R.id.drawer_layout);
  158.         drawer.closeDrawer (GravityCompat.START);
  159.         return true;
  160.     }
  161. }
  162.