Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.bitwis3.gaine.sharetome.Adapters;
- import android.content.ContentValues;
- import android.content.Context;
- import android.database.Cursor;
- import android.graphics.Color;
- import android.support.v7.widget.RecyclerView;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.ImageView;
- import android.widget.TextView;
- import com.bitwis3.gaine.sharetome.Activities.MainActivity;
- import com.bitwis3.gaine.sharetome.Fragments.FragmentExercise;
- import com.bitwis3.gaine.sharetome.POJO.Exercise;
- import com.bitwis3.gaine.sharetome.R;
- import com.squareup.picasso.Picasso;
- import java.util.Arrays;
- import java.util.List;
- import spencerstudios.com.fab_toast.FabToast;
- /**
- * Created by gaine on 1/22/2018.
- */
- public class AdapterForAllExercises extends RecyclerView.Adapter<AdapterForAllExercises.ExerciseViewHolder>{
- private Context myContext;
- private List<Exercise> exercisesList;
- boolean isChecked;
- Cursor checkCursor;
- ContentValues values;
- public AdapterForAllExercises(Context myContext, List<Exercise> exercisesList) {
- this.exercisesList = exercisesList;
- this.myContext = myContext;
- values = new ContentValues();
- }
- @Override
- public ExerciseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- LayoutInflater inflater = LayoutInflater.from(myContext);
- View view = inflater.inflate(R.layout.card_single_exercise, null);
- return new ExerciseViewHolder(view);
- }
- @Override
- public void onBindViewHolder(final ExerciseViewHolder holder, final int position)
- {
- isChecked = exercisesList.get(holder.getAdapterPosition()).is_isFavorite();
- if(!isChecked){
- holder.favoriteImageView.setColorFilter(Color.parseColor("#000000"));
- }else{
- holder.favoriteImageView.setColorFilter(Color.parseColor("#f44336"));
- }
- Picasso.with(myContext).load(R.drawable.image_abs).error(R.drawable.image_abs).fit().into(holder.imageView);
- holder.title.setText(exercisesList.get(position).get_title());
- holder.muscleGroups.setText(exercisesList.get(position).get_muscle_groups());
- //use fav to show a toast for now
- holder.favoriteImageView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Log.i("JOSH all info",
- "isChecked state when clicked = " +isChecked
- + " position = " + position);
- isChecked = exercisesList.get(holder.getAdapterPosition()).is_isFavorite();
- if(!isChecked){
- holder.favoriteImageView.setColorFilter(Color.parseColor("#f44336"));
- //TODO 1 put this selection into favorite list/database - as well as create accurate favorites (scroll and random favs now)
- values.put("_exercise_number_id", exercisesList.get(position).get_id());
- MainActivity.db2.insert("_favorites", null, values);
- values.clear();
- FabToast.makeText(myContext, "Added "+ exercisesList.get(position).get_title() + " to your favorites!", FabToast.LENGTH_SHORT
- , FabToast.SUCCESS, FabToast.POSITION_DEFAULT).show();
- }else if(isChecked){
- holder.favoriteImageView.setColorFilter(Color.parseColor("#000000"));
- String query = "_exercise_number_id = " + exercisesList.get(position).get_id();
- MainActivity.db2.delete("_favorites", query, null);
- FabToast.makeText(myContext, exercisesList.get(position).get_title() + " has been removed your favorites!", FabToast.LENGTH_SHORT
- , FabToast.INFORMATION, FabToast.POSITION_DEFAULT).show();
- }
- if(FragmentExercise.tabLayout.getSelectedTabPosition() == 1){
- FragmentExercise.buildAllTheFavoriteExerciseList();
- notifyDataSetChanged();
- }else{
- FragmentExercise.buildAllExerciseList();
- notifyDataSetChanged();
- }
- }
- });
- }
- @Override
- public int getItemCount() {
- return exercisesList.size();
- }
- class ExerciseViewHolder extends RecyclerView.ViewHolder {
- ImageView favoriteImageView;
- ImageView imageView;
- TextView title;
- TextView muscleGroups;
- public ExerciseViewHolder(View itemView) {
- super(itemView);
- favoriteImageView = itemView.findViewById(R.id.imageViewFavorite);
- imageView = itemView.findViewById(R.id.imageView);
- title = itemView.findViewById(R.id.textViewTitle);
- muscleGroups = itemView.findViewById(R.id.textViewMuscles);
- }
- }
- //not used yet
- public List<String> getMuscleGroupList(String input){
- List<String> list = Arrays.asList(input.split(","));
- return list;
- }
- //TODO make method to return true if exercise is favorite - loops through cursor to
- public boolean isThisFavorite(int pos){
- boolean fav;
- String query = "SELECT * FROM _favorites WHERE _all = 1 AND _exercise_number_id = " + exercisesList.get(pos).get_id();
- checkCursor = MainActivity.db2.rawQuery(query, null);
- Log.i("JOSH checkCursor ", "count " +checkCursor.getCount() + " with pos = " + pos);
- if(checkCursor != null && checkCursor.moveToFirst()){
- fav = true;
- }else{
- fav = false;
- }
- Log.i("JOSH ", "returning " +fav + " for pos = " + pos);
- return fav;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement