Advertisement
BITWIS3

Untitled

Mar 19th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.81 KB | None | 0 0
  1. package com.bitwis3.gaine.sharetome.Adapters;
  2.  
  3. import android.content.ContentValues;
  4. import android.content.Context;
  5. import android.database.Cursor;
  6. import android.graphics.Color;
  7. import android.support.v7.widget.RecyclerView;
  8. import android.util.Log;
  9. import android.view.LayoutInflater;
  10. import android.view.View;
  11. import android.view.ViewGroup;
  12. import android.widget.ImageView;
  13. import android.widget.TextView;
  14.  
  15. import com.bitwis3.gaine.sharetome.Activities.MainActivity;
  16. import com.bitwis3.gaine.sharetome.Fragments.FragmentExercise;
  17. import com.bitwis3.gaine.sharetome.POJO.Exercise;
  18. import com.bitwis3.gaine.sharetome.R;
  19. import com.squareup.picasso.Picasso;
  20.  
  21. import java.util.Arrays;
  22. import java.util.List;
  23.  
  24. import spencerstudios.com.fab_toast.FabToast;
  25.  
  26. /**
  27.  * Created by gaine on 1/22/2018.
  28.  */
  29.  
  30. public class AdapterForAllExercises extends  RecyclerView.Adapter<AdapterForAllExercises.ExerciseViewHolder>{
  31.  
  32.     private Context myContext;
  33.     private List<Exercise> exercisesList;
  34.     boolean isChecked;
  35.     Cursor checkCursor;
  36.  
  37.     ContentValues values;
  38.  
  39.     public AdapterForAllExercises(Context myContext, List<Exercise> exercisesList) {
  40.         this.exercisesList = exercisesList;
  41.         this.myContext = myContext;
  42.  
  43.         values = new ContentValues();
  44.     }
  45.  
  46.     @Override
  47.     public ExerciseViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  48.         LayoutInflater inflater = LayoutInflater.from(myContext);
  49.         View view = inflater.inflate(R.layout.card_single_exercise, null);
  50.         return new ExerciseViewHolder(view);
  51.     }
  52.  
  53.     @Override
  54.     public void onBindViewHolder(final ExerciseViewHolder holder, final int position)
  55.     {
  56.  
  57.           isChecked = exercisesList.get(holder.getAdapterPosition()).is_isFavorite();
  58.  
  59.         if(!isChecked){
  60.             holder.favoriteImageView.setColorFilter(Color.parseColor("#000000"));
  61.         }else{
  62.             holder.favoriteImageView.setColorFilter(Color.parseColor("#f44336"));
  63.         }
  64.  
  65.         Picasso.with(myContext).load(R.drawable.image_abs).error(R.drawable.image_abs).fit().into(holder.imageView);
  66.  
  67.         holder.title.setText(exercisesList.get(position).get_title());
  68.         holder.muscleGroups.setText(exercisesList.get(position).get_muscle_groups());
  69.  
  70.  
  71.  
  72.         //use fav to show a toast for now
  73.  
  74.         holder.favoriteImageView.setOnClickListener(new View.OnClickListener() {
  75.             @Override
  76.             public void onClick(View v) {
  77.             Log.i("JOSH all info",
  78.                     "isChecked state when clicked = " +isChecked
  79.                         + " position = " + position);
  80.  
  81.                 isChecked = exercisesList.get(holder.getAdapterPosition()).is_isFavorite();
  82.  
  83.                 if(!isChecked){
  84.  
  85.                     holder.favoriteImageView.setColorFilter(Color.parseColor("#f44336"));
  86.  
  87.                     //TODO 1 put this selection into favorite list/database - as well as create accurate favorites (scroll and random favs now)
  88.  
  89.                     values.put("_exercise_number_id", exercisesList.get(position).get_id());
  90.                     MainActivity.db2.insert("_favorites", null, values);
  91.                     values.clear();
  92.  
  93.                     FabToast.makeText(myContext, "Added "+ exercisesList.get(position).get_title() + " to your favorites!", FabToast.LENGTH_SHORT
  94.                     , FabToast.SUCCESS, FabToast.POSITION_DEFAULT).show();
  95.  
  96.                 }else if(isChecked){
  97.  
  98.                     holder.favoriteImageView.setColorFilter(Color.parseColor("#000000"));
  99.  
  100.                     String query = "_exercise_number_id = " + exercisesList.get(position).get_id();
  101.                     MainActivity.db2.delete("_favorites", query, null);
  102.                     FabToast.makeText(myContext, exercisesList.get(position).get_title() + " has been removed your favorites!", FabToast.LENGTH_SHORT
  103.                             , FabToast.INFORMATION, FabToast.POSITION_DEFAULT).show();
  104.  
  105.                     }
  106.  
  107.                 if(FragmentExercise.tabLayout.getSelectedTabPosition() == 1){
  108.                     FragmentExercise.buildAllTheFavoriteExerciseList();
  109.                     notifyDataSetChanged();
  110.  
  111.                 }else{
  112.                     FragmentExercise.buildAllExerciseList();
  113.                     notifyDataSetChanged();
  114.                 }
  115.  
  116.             }
  117.         });
  118.  
  119.     }
  120.  
  121.     @Override
  122.     public int getItemCount() {
  123.         return exercisesList.size();
  124.     }
  125.  
  126.     class ExerciseViewHolder extends RecyclerView.ViewHolder {
  127.         ImageView favoriteImageView;
  128.         ImageView imageView;
  129.         TextView title;
  130.         TextView muscleGroups;
  131.  
  132.         public ExerciseViewHolder(View itemView) {
  133.             super(itemView);
  134.             favoriteImageView = itemView.findViewById(R.id.imageViewFavorite);
  135.             imageView = itemView.findViewById(R.id.imageView);
  136.             title = itemView.findViewById(R.id.textViewTitle);
  137.             muscleGroups = itemView.findViewById(R.id.textViewMuscles);
  138.         }
  139.     }
  140.  
  141.     //not used yet
  142.     public List<String> getMuscleGroupList(String input){
  143.         List<String> list = Arrays.asList(input.split(","));
  144.         return list;
  145.     }
  146.  
  147.  
  148.     //TODO make method to return true if exercise is favorite - loops through cursor to
  149.     public boolean isThisFavorite(int pos){
  150.         boolean fav;
  151.  
  152.        String query = "SELECT * FROM _favorites WHERE _all = 1 AND _exercise_number_id = " + exercisesList.get(pos).get_id();
  153.  
  154.        checkCursor = MainActivity.db2.rawQuery(query, null);
  155.        Log.i("JOSH checkCursor ", "count " +checkCursor.getCount() + " with pos = " + pos);
  156.        if(checkCursor != null && checkCursor.moveToFirst()){
  157.            fav = true;
  158.        }else{
  159.            fav = false;
  160.        }
  161.         Log.i("JOSH ", "returning " +fav + " for pos = " + pos);
  162.         return fav;
  163.     }
  164.  
  165. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement