package com.vacuum.app.plex.Adapter; import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentTransaction; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.RatingBar; import android.widget.TextView; import android.widget.Toast; import com.bumptech.glide.Glide; import com.vacuum.app.plex.Fragments.DetailsMovie_Fragment; import com.vacuum.app.plex.Fragments.DetailsTV_Fragment; import com.vacuum.app.plex.MainActivity; import com.vacuum.app.plex.Model.Movie; import com.vacuum.app.plex.R; import com.vacuum.app.plex.Utility.DownloadImage; import java.util.List; import me.samthompson.bubbleactions.BubbleActions; import me.samthompson.bubbleactions.Callback; import static com.vacuum.app.plex.Fragments.MainFragment.HomeFragment.mInterstitialAd; /** * Created by Home on 2/20/2018. */ public class MoviesAdapter extends RecyclerView.Adapter<MoviesAdapter.MovieViewHolder> { private List<Movie> movies; private Context mContext; public static class MovieViewHolder extends RecyclerView.ViewHolder { TextView movieTitle; TextView rating; ImageView thumbnail; RatingBar ratingBar; ProgressBar vote_average_progressbar; public MovieViewHolder(View v) { super(v); movieTitle = v.findViewById(R.id.title); rating = v.findViewById(R.id.rating); thumbnail = v.findViewById(R.id.thumbnail); ratingBar = v.findViewById(R.id.ratingbar); vote_average_progressbar = v.findViewById(R.id.vote_average_progressbar); } } public MoviesAdapter(List<Movie> movies, Context mContext) { this.movies = movies; this.mContext = mContext; } @Override public MoviesAdapter.MovieViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_movie, parent, false); return new MovieViewHolder(view); } @Override public void onBindViewHolder(final MovieViewHolder holder, final int position) { final Movie movie = movies.get(position); if(movie.getTitle()==null) { holder.movieTitle.setText(movie.getOriginal_name()); }else { holder.movieTitle.setText(movie.getTitle()); } holder.rating.setText(movie.getVoteAverage().toString()); holder.ratingBar.setRating(movie.getVoteAverage().floatValue()/2); //================================================= holder.vote_average_progressbar.setProgress(movie.getVoteAverage().intValue()*10); Glide.with(mContext).load("http://image.tmdb.org/t/p/w342"+movies.get(position).getPosterPath()).into(holder.thumbnail); //onClick //================================================================== holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(movie.getTitle() == null){ Fragment(movie,new DetailsTV_Fragment(),DetailsTV_Fragment.TAG_DetailsTV_Fragment); }else { if (mInterstitialAd.isLoaded()) { mInterstitialAd.show(); } else { //Toast.makeText(mContext, "The interstitial wasn't loaded yet.", Toast.LENGTH_SHORT).show(); } Fragment(movie,new DetailsMovie_Fragment(),DetailsMovie_Fragment.TAG_DetailsMovie_Fragment); } } }); holder.itemView.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(final View view) { BubbleActions.on(view) .addAction("Star", R.drawable.if_heart_119_111093, new Callback() { @Override public void doAction() { //new RequestMovie(movie.getId().toString(),movie.getTitle()+" : "+movie.getReleaseDate().substring(0, 4),mContext); Toast.makeText(view.getContext(), "Favourite!", Toast.LENGTH_SHORT).show(); } }) .addAction("Share", R.drawable.if_share4_216719, new Callback() { @Override public void doAction() { // share(movie.getPosterPath()); new DownloadImage(mContext,movie.getPosterPath()).shareX(); Toast.makeText(view.getContext(), "Wait for share!", Toast.LENGTH_SHORT).show(); } }) .addAction("Hide", R.drawable.if_icon_close_round_211651, new Callback() { @Override public void doAction() { Toast.makeText(view.getContext(), "Hide pressed!", Toast.LENGTH_SHORT).show(); } }) .show(); return false; } }); } @Override public int getItemCount() { return movies.size(); } private void Fragment(Movie movie,Fragment getfragment,String TAG) { Fragment fragment = getfragment; Bundle bundle = new Bundle(); bundle.putSerializable("movie", movie); fragment.setArguments(bundle); FragmentTransaction fragmentTransaction = ((FragmentActivity)mContext).getSupportFragmentManager().beginTransaction(); /*fragmentTransaction.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);*/ fragmentTransaction.replace(R.id.frame, fragment,TAG ); fragmentTransaction.addToBackStack(MainActivity.CURRENT_TAG); fragmentTransaction.commit(); } }