package com.beingdev.magicprint.prodcutscategory; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.StaggeredGridLayoutManager; import android.support.v7.widget.Toolbar; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import com.airbnb.lottie.LottieAnimationView; import com.beingdev.magicprint.Cart; import com.beingdev.magicprint.IndividualProduct; import com.beingdev.magicprint.NotificationActivity; import com.beingdev.magicprint.R; import com.beingdev.magicprint.models.GenericProductModel; import com.beingdev.magicprint.networksync.CheckInternetConnection; import com.firebase.ui.database.FirebaseRecyclerAdapter; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; import com.squareup.picasso.Picasso; /** * Created by kshitij on 22/1/18. */ public class Tshirts extends AppCompatActivity { //created for firebaseui android tutorial by Vamsi Tallapudi private RecyclerView mRecyclerView; private StaggeredGridLayoutManager mLayoutManager; private LottieAnimationView tv_no_item; //Getting reference to Firebase Database FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference mDatabaseReference = database.getReference(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_cards); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); //check Internet Connection new CheckInternetConnection(this).checkConnection(); //Initializing our Recyclerview mRecyclerView = findViewById(R.id.my_recycler_view); tv_no_item = findViewById(R.id.tv_no_cards); if (mRecyclerView != null) { //to enable optimization of recyclerview mRecyclerView.setHasFixedSize(true); } //using staggered grid pattern in recyclerview mLayoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL); mRecyclerView.setLayoutManager(mLayoutManager); //Say Hello to our new FirebaseUI android Element, i.e., FirebaseRecyclerAdapter final FirebaseRecyclerAdapter<GenericProductModel,Cards.MovieViewHolder> adapter = new FirebaseRecyclerAdapter<GenericProductModel, Cards.MovieViewHolder>( GenericProductModel.class, R.layout.cards_cardview_layout, Cards.MovieViewHolder.class, //referencing the node where we want the database to store the data from our Object mDatabaseReference.child("Products").child("Tshirt").getRef() ) { @Override protected void populateViewHolder(final Cards.MovieViewHolder viewHolder, final GenericProductModel model, final int position) { if(tv_no_item.getVisibility()== View.VISIBLE){ tv_no_item.setVisibility(View.GONE); } viewHolder.cardname.setText(model.getCardname()); viewHolder.cardprice.setText("₹ "+Float.toString(model.getCardprice())); Picasso.with(Tshirts.this).load(model.getCardimage()).into(viewHolder.cardimage); viewHolder.mView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Tshirts.this,IndividualProduct.class); intent.putExtra("product",getItem(position)); startActivity(intent); } }); } }; mRecyclerView.setAdapter(adapter); } public void viewCart(View view) { startActivity(new Intent(Tshirts.this,Cart.class)); finish(); } //viewHolder for our Firebase UI public static class MovieViewHolder extends RecyclerView.ViewHolder{ TextView cardname; ImageView cardimage; TextView cardprice; View mView; public MovieViewHolder(View v) { super(v); mView =v; cardname = v.findViewById(R.id.cardcategory); cardimage = v.findViewById(R.id.cardimage); cardprice = v.findViewById(R.id.cardprice); } } public void Notifications(View view) { startActivity(new Intent(Tshirts.this,NotificationActivity.class)); finish(); } @Override public boolean onSupportNavigateUp() { onBackPressed(); return true; } @Override protected void onResume() { super.onResume(); //check Internet Connection new CheckInternetConnection(this).checkConnection(); } }