From abe5998a46c0380cd360f087133f6d600b54b0b5 Mon Sep 17 00:00:00 2001
From: Love <lovja643@student.liu.se>
Date: Mon, 11 Jan 2021 15:36:11 +0100
Subject: [PATCH] =?UTF-8?q?sm=C3=A5fix=20i=20stilarna?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../ui/fragments/CollectionsFragmentTest.java |  4 +-
 .../ui/fragments/ListingFragmentTest.java     |  2 +
 .../ui/fragments/SearchFragmentTest.java      |  1 -
 .../qfilm/repositories/MoviesRepository.java  | 15 +--
 .../ui/adapters/BaseRecyclerViewAdapter.java  | 15 +--
 .../CollectionsRecyclerViewAdapter.java       |  4 +-
 .../ui/adapters/GenreRecyclerViewAdapter.java |  4 +-
 .../adapters/ImagesRecyclerViewAdapter.java   |  2 +-
 .../adapters/ResultRecyclerViewAdapter.java   |  4 +-
 .../ui/fragments/CollectionFragment.java      |  4 +-
 .../ui/fragments/CollectionsFragment.java     |  6 +-
 .../qfilm/ui/fragments/ListingFragment.java   |  3 +-
 .../qfilm/ui/fragments/SearchFragment.java    |  3 +-
 .../dialogFragments/DialogFragmentGenres.java |  1 -
 .../ui/utils/ColumnSpacingDecoration.java     |  3 +-
 .../qfilm/viewmodels/FireStoreViewModel.java  |  4 +-
 .../main/res/color/input_layout_selector.xml  |  8 +-
 .../dialog_fragment_edit_collection.xml       |  4 +-
 .../src/main/res/layout/fragment_sign_in.xml  |  8 +-
 .../layout/recyclerview_item_collection.xml   | 10 +-
 ...clerview_item_collection_action_button.xml | 93 +++++++++++++++++++
 ...ailed.xml => recyclerview_item_result.xml} |  0
 ...ecyclerview_item_result_action_button.xml} |  8 +-
 Qfilm/app/src/main/res/values-es/strings.xml  |  1 +
 Qfilm/app/src/main/res/values/colors.xml      | 13 ---
 Qfilm/app/src/main/res/values/strings.xml     |  2 +
 Qfilm/app/src/main/res/values/styles.xml      | 16 +---
 .../java/utils/MyIdlingResource.java          |  5 +-
 28 files changed, 146 insertions(+), 97 deletions(-)
 create mode 100644 Qfilm/app/src/main/res/layout/recyclerview_item_collection_action_button.xml
 rename Qfilm/app/src/main/res/layout/{recyclerview_item_result_detailed.xml => recyclerview_item_result.xml} (100%)
 rename Qfilm/app/src/main/res/layout/{recyclerview_item_result_simple.xml => recyclerview_item_result_action_button.xml} (89%)

diff --git a/Qfilm/app/src/androidTest/java/com/example/qfilm/ui/fragments/CollectionsFragmentTest.java b/Qfilm/app/src/androidTest/java/com/example/qfilm/ui/fragments/CollectionsFragmentTest.java
index a4ebc68..f626465 100644
--- a/Qfilm/app/src/androidTest/java/com/example/qfilm/ui/fragments/CollectionsFragmentTest.java
+++ b/Qfilm/app/src/androidTest/java/com/example/qfilm/ui/fragments/CollectionsFragmentTest.java
@@ -196,7 +196,7 @@ public class CollectionsFragmentTest {
                 .itemAtPositionHasText(0, R.id.tv_size, moviesAndSeries)));
 
         onView(withId(R.id.rv_collections)).check(matches(CustomMatchers.recyclerViewMatcher()
-                .itemAtPositionHasViews(0, Arrays.asList(R.id.tv_name, R.id.tv_size, R.id.btn_action, R.id.iv_poster_first_item))));
+                .itemAtPositionHasViews(0, Arrays.asList(R.id.tv_name, R.id.tv_size, R.id.iv_poster_first_item))));
 
     }
 
@@ -297,7 +297,7 @@ public class CollectionsFragmentTest {
                 .itemAtPositionHasText(0, R.id.tv_size, moviesAndSeries)));
 
         onView(withId(R.id.rv_collections)).check(matches(CustomMatchers.recyclerViewMatcher()
-                .itemAtPositionHasViews(0, Arrays.asList(R.id.tv_name, R.id.tv_size, R.id.btn_action, R.id.iv_poster_first_item))));
+                .itemAtPositionHasViews(0, Arrays.asList(R.id.tv_name, R.id.tv_size,  R.id.iv_poster_first_item))));
 
     }
 
diff --git a/Qfilm/app/src/androidTest/java/com/example/qfilm/ui/fragments/ListingFragmentTest.java b/Qfilm/app/src/androidTest/java/com/example/qfilm/ui/fragments/ListingFragmentTest.java
index 38ba3e0..c14425f 100644
--- a/Qfilm/app/src/androidTest/java/com/example/qfilm/ui/fragments/ListingFragmentTest.java
+++ b/Qfilm/app/src/androidTest/java/com/example/qfilm/ui/fragments/ListingFragmentTest.java
@@ -367,6 +367,8 @@ public class ListingFragmentTest {
 
         onView(withId(R.id.rv_results)).perform(actionOnItemAtPosition(19, scrollTo()));
 
+        onView(withId(R.id.rv_results)).perform(actionOnItemAtPosition(19, scrollTo()));
+
         onView(withId(R.id.rv_results)).perform(ViewActions.swipeUp());
 
         // verify more items
diff --git a/Qfilm/app/src/androidTest/java/com/example/qfilm/ui/fragments/SearchFragmentTest.java b/Qfilm/app/src/androidTest/java/com/example/qfilm/ui/fragments/SearchFragmentTest.java
index 9c5639a..afcdaef 100644
--- a/Qfilm/app/src/androidTest/java/com/example/qfilm/ui/fragments/SearchFragmentTest.java
+++ b/Qfilm/app/src/androidTest/java/com/example/qfilm/ui/fragments/SearchFragmentTest.java
@@ -54,7 +54,6 @@ public class SearchFragmentTest {
     private List<Result> searchResults;
 
 
-
     @Before
     public void setup(){
 
diff --git a/Qfilm/app/src/main/java/com/example/qfilm/repositories/MoviesRepository.java b/Qfilm/app/src/main/java/com/example/qfilm/repositories/MoviesRepository.java
index b242270..998e016 100644
--- a/Qfilm/app/src/main/java/com/example/qfilm/repositories/MoviesRepository.java
+++ b/Qfilm/app/src/main/java/com/example/qfilm/repositories/MoviesRepository.java
@@ -1,6 +1,5 @@
 package com.example.qfilm.repositories;
 
-import android.util.Log;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -208,7 +207,6 @@ public class MoviesRepository {
                 if(shouldFetch && results != null && results.size() > 0){
 
                     lastPopularity = results.get(0).getPopularity(); // so that fireStore fetch knows where to start in createCall()
-                    Log.d(TAG, "shouldFetch: last pop: " + lastPopularity);
                 }
 
                 return shouldFetch;
@@ -534,18 +532,14 @@ public class MoviesRepository {
     private Boolean shouldFetchNewResults(List<Result> results, String language){
 
         if(results == null || results.size() < Constants.PAGE_SIZE){
-
-            return true;
-
-        }else if(!results.get(0).getLanguage().equals(language)){
             return true;
-
         }else{
 
             for(Result result : results){
-
                 if(hasTimeStampExpired(result.getTimestamp(), Constants.TIME_LIMIT_RESULT)){
                     return true;
+                }else if(!result.getLanguage().equals(language)){
+                    return true;
                 }
             }
         }
@@ -558,8 +552,6 @@ public class MoviesRepository {
 
         if(genres == null || genres.isEmpty()){
             return true;
-        }else if(!genres.get(0).getLanguage().equals(language)){
-            return true;
         }else{
 
             for(Genre genre : genres){
@@ -567,6 +559,9 @@ public class MoviesRepository {
                 if(hasTimeStampExpired(genre.getTimestamp(), Constants.TIME_LIMIT_GENRE)){
                     return true;
                 }
+                else if(!genre.getLanguage().equals(language)){
+                    return true;
+                }
             }
         }
 
diff --git a/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/BaseRecyclerViewAdapter.java b/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/BaseRecyclerViewAdapter.java
index 5605d16..1078f74 100644
--- a/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/BaseRecyclerViewAdapter.java
+++ b/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/BaseRecyclerViewAdapter.java
@@ -42,10 +42,8 @@ public abstract class BaseRecyclerViewAdapter<T> extends RecyclerView.Adapter<Ba
 
     protected List<T> data;
 
-    private Boolean hasActionButton;
-
     public BaseRecyclerViewAdapter(@Nullable OnClickListItemListener<T> onClickListItemListener,
-                                   OnClickActionButtonListener<T> onClickActionButtonListener, Boolean hasActionButton) {
+                                   OnClickActionButtonListener<T> onClickActionButtonListener) {
 
         this.onClickListItemListener = onClickListItemListener;
 
@@ -53,8 +51,6 @@ public abstract class BaseRecyclerViewAdapter<T> extends RecyclerView.Adapter<Ba
 
         this.data = new ArrayList<>();
 
-        this.hasActionButton = hasActionButton;
-
     }
 
 
@@ -90,7 +86,7 @@ public abstract class BaseRecyclerViewAdapter<T> extends RecyclerView.Adapter<Ba
 
             BaseDataViewHolder baseDataViewHolder = (BaseDataViewHolder) holder;
 
-            baseDataViewHolder.bind(item, hasActionButton);
+            baseDataViewHolder.bind(item);
 
         }
 
@@ -160,15 +156,10 @@ public abstract class BaseRecyclerViewAdapter<T> extends RecyclerView.Adapter<Ba
 
         }
 
-        public void bind(Object obj, Boolean hasActionButton) {
+        public void bind(Object obj) {
 
             binding.setVariable(BR.obj, obj);
 
-            if(hasActionButton != null) {
-
-                binding.setVariable(BR.actionButton, hasActionButton);
-            }
-
             bindAdditionalProperties(binding);
 
             binding.executePendingBindings();
diff --git a/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/CollectionsRecyclerViewAdapter.java b/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/CollectionsRecyclerViewAdapter.java
index 0c6beda..5d845c5 100644
--- a/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/CollectionsRecyclerViewAdapter.java
+++ b/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/CollectionsRecyclerViewAdapter.java
@@ -12,9 +12,9 @@ public class CollectionsRecyclerViewAdapter extends BaseRecyclerViewAdapter<Coll
 
     public CollectionsRecyclerViewAdapter(@Nullable OnClickListItemListener<Collection> onClickListItemListener,
                                           OnClickActionButtonListener<Collection> onClickActionButtonListener,
-                                          int layoutId, Boolean hasActionButton) {
+                                          int layoutId) {
 
-        super(onClickListItemListener, onClickActionButtonListener, hasActionButton);
+        super(onClickListItemListener, onClickActionButtonListener);
 
         this.layoutId = layoutId;
     }
diff --git a/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/GenreRecyclerViewAdapter.java b/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/GenreRecyclerViewAdapter.java
index aec7395..0b56fe8 100644
--- a/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/GenreRecyclerViewAdapter.java
+++ b/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/GenreRecyclerViewAdapter.java
@@ -15,8 +15,8 @@ public class GenreRecyclerViewAdapter extends BaseRecyclerViewAdapter<Genre> {
     
     public GenreRecyclerViewAdapter(@Nullable OnClickListItemListener<Genre> onClickListItemListener,
                                     OnClickActionButtonListener<Genre> onClickActionButtonListener,
-                                    Boolean hasActionButton, int layoutId, Genre selectedGenre) {
-        super(onClickListItemListener, onClickActionButtonListener, hasActionButton);
+                                    int layoutId, Genre selectedGenre) {
+        super(onClickListItemListener, onClickActionButtonListener);
         
         this.layoutId = layoutId;
         this.selectedGenre = selectedGenre;
diff --git a/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/ImagesRecyclerViewAdapter.java b/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/ImagesRecyclerViewAdapter.java
index 6e10e4d..ec6632b 100644
--- a/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/ImagesRecyclerViewAdapter.java
+++ b/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/ImagesRecyclerViewAdapter.java
@@ -10,7 +10,7 @@ public class ImagesRecyclerViewAdapter extends BaseRecyclerViewAdapter<Image> {
 
     public ImagesRecyclerViewAdapter(@Nullable OnClickListItemListener<Image> onClickListItemListener,
                                      OnClickActionButtonListener<Image> onClickActionButtonListener, int layoutId) {
-        super(onClickListItemListener, onClickActionButtonListener, null);
+        super(onClickListItemListener, onClickActionButtonListener);
 
         this.layoutId = layoutId;
     }
diff --git a/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/ResultRecyclerViewAdapter.java b/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/ResultRecyclerViewAdapter.java
index cce7ba7..4edf1bc 100644
--- a/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/ResultRecyclerViewAdapter.java
+++ b/Qfilm/app/src/main/java/com/example/qfilm/ui/adapters/ResultRecyclerViewAdapter.java
@@ -18,8 +18,8 @@ public class ResultRecyclerViewAdapter extends BaseRecyclerViewAdapter<Result> {
 
     public ResultRecyclerViewAdapter(@Nullable OnClickListItemListener<Result> onClickListItemListener,
                                      @Nullable OnClickActionButtonListener<Result> onClickActionButtonListener,
-                                     int layoutId, Boolean showOriginalTitles, Boolean hasActionButton) {
-        super(onClickListItemListener, onClickActionButtonListener, hasActionButton);
+                                     int layoutId, Boolean showOriginalTitles) {
+        super(onClickListItemListener, onClickActionButtonListener);
 
         this.layoutId = layoutId;
 
diff --git a/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/CollectionFragment.java b/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/CollectionFragment.java
index 9e79645..c35b145 100644
--- a/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/CollectionFragment.java
+++ b/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/CollectionFragment.java
@@ -197,8 +197,8 @@ public class CollectionFragment extends Fragment implements BaseRecyclerViewAdap
 
         showOriginalTitles = sharedPreferences.getBoolean("titles", false);
 
-        rvAdapter = new ResultRecyclerViewAdapter(this, this, R.layout.recyclerview_item_result_simple,
-                showOriginalTitles, true);
+        rvAdapter = new ResultRecyclerViewAdapter(this, this, R.layout.recyclerview_item_result_action_button,
+                showOriginalTitles);
 
         binding.rvResults.setAdapter(rvAdapter);
 
diff --git a/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/CollectionsFragment.java b/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/CollectionsFragment.java
index 1735c61..259407e 100644
--- a/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/CollectionsFragment.java
+++ b/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/CollectionsFragment.java
@@ -165,13 +165,15 @@ public class CollectionsFragment extends Fragment {
     private void setUpRecyclerView() {
 
 
+        // ProfileFragment and DialogFragmentAddToCollection uses this fragment and in ProfileFragment
+        // there is option to edit collection
         if(getParentFragment() instanceof ProfileFragment) {
 
             rvAdapter = new CollectionsRecyclerViewAdapter((BaseRecyclerViewAdapter.OnClickListItemListener) getParentFragment(),
-                    (BaseRecyclerViewAdapter.OnClickActionButtonListener)getParentFragment(), R.layout.recyclerview_item_collection, true);
+                    (BaseRecyclerViewAdapter.OnClickActionButtonListener)getParentFragment(), R.layout.recyclerview_item_collection_action_button);
         }else{
             rvAdapter = new CollectionsRecyclerViewAdapter((BaseRecyclerViewAdapter.OnClickListItemListener) getParentFragment(),
-                    null, R.layout.recyclerview_item_collection, false);
+                    null, R.layout.recyclerview_item_collection);
         }
 
 
diff --git a/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/ListingFragment.java b/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/ListingFragment.java
index f0b9e55..a178330 100644
--- a/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/ListingFragment.java
+++ b/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/ListingFragment.java
@@ -3,6 +3,7 @@ package com.example.qfilm.ui.fragments;
 
 import android.content.SharedPreferences;
 import android.os.Bundle;
+import android.util.Log;
 import android.view.LayoutInflater;
 
 import android.view.View;
@@ -244,7 +245,7 @@ public class ListingFragment extends Fragment implements BaseRecyclerViewAdapter
         Boolean showOriginalTitles = sharedPreferences.getBoolean("titles", false);
 
         rvAdapter = new ResultRecyclerViewAdapter(this, null,
-                R.layout.recyclerview_item_result_detailed, showOriginalTitles, null);
+                R.layout.recyclerview_item_result, showOriginalTitles);
 
         binding.rvResults.setAdapter(rvAdapter);
 
diff --git a/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/SearchFragment.java b/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/SearchFragment.java
index a9ca0fc..c8491b4 100644
--- a/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/SearchFragment.java
+++ b/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/SearchFragment.java
@@ -4,7 +4,6 @@ import android.content.SharedPreferences;
 import android.os.Bundle;
 import android.text.Editable;
 import android.text.TextWatcher;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -218,7 +217,7 @@ public class SearchFragment extends Fragment implements BaseRecyclerViewAdapter.
         Boolean showOriginalTitles = sharedPreferences.getBoolean("titles", false);
 
         rvAdapter = new ResultRecyclerViewAdapter(this, null,
-                R.layout.recyclerview_item_result_search, showOriginalTitles, null);
+                R.layout.recyclerview_item_result_search, showOriginalTitles);
 
         rvResults = view.findViewById(R.id.rv_results);
 
diff --git a/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/dialogFragments/DialogFragmentGenres.java b/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/dialogFragments/DialogFragmentGenres.java
index d5beb5a..1986a46 100644
--- a/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/dialogFragments/DialogFragmentGenres.java
+++ b/Qfilm/app/src/main/java/com/example/qfilm/ui/fragments/dialogFragments/DialogFragmentGenres.java
@@ -141,7 +141,6 @@ public class DialogFragmentGenres extends DialogFragment implements BaseRecycler
     private void setupRecyclerView() {
 
         rvAdapter = new GenreRecyclerViewAdapter(this, null,
-                null,
                 R.layout.recyclerview_item_genre, currentGenre);
 
         rvGenres.setAdapter(rvAdapter);
diff --git a/Qfilm/app/src/main/java/com/example/qfilm/ui/utils/ColumnSpacingDecoration.java b/Qfilm/app/src/main/java/com/example/qfilm/ui/utils/ColumnSpacingDecoration.java
index caa1bde..03b283c 100644
--- a/Qfilm/app/src/main/java/com/example/qfilm/ui/utils/ColumnSpacingDecoration.java
+++ b/Qfilm/app/src/main/java/com/example/qfilm/ui/utils/ColumnSpacingDecoration.java
@@ -1,6 +1,7 @@
 package com.example.qfilm.ui.utils;
 
 import android.graphics.Rect;
+import android.util.Log;
 import android.view.View;
 
 import androidx.annotation.NonNull;
@@ -30,7 +31,7 @@ public class ColumnSpacingDecoration  extends RecyclerView.ItemDecoration {
 
         int itemPosition = parent.getChildAdapterPosition(view);
 
-        if(itemPosition % numberOfColumns != 0){
+        if((itemPosition + 1) % numberOfColumns != 0) {
 
             outRect.right = space;
 
diff --git a/Qfilm/app/src/main/java/com/example/qfilm/viewmodels/FireStoreViewModel.java b/Qfilm/app/src/main/java/com/example/qfilm/viewmodels/FireStoreViewModel.java
index c3ac4e4..b55a5e9 100644
--- a/Qfilm/app/src/main/java/com/example/qfilm/viewmodels/FireStoreViewModel.java
+++ b/Qfilm/app/src/main/java/com/example/qfilm/viewmodels/FireStoreViewModel.java
@@ -186,7 +186,6 @@ public class FireStoreViewModel extends ViewModel {
                                 lastTimeStamp = (Long) res.get(res.size() - 1).get("lastTimeStamp");
                             }
 
-
                             // convert to Result objects and update ui
 
                             List<Result> results = toResultsList(res);
@@ -227,7 +226,8 @@ public class FireStoreViewModel extends ViewModel {
 
                 result.setOverview((String) res.get(i).get("overview"));
 
-                if(res.get(i).get("mediaType") == "MOVIE"){
+
+                if(((String)res.get(i).get("mediaType")).equals("MOVIE")){
                     result.setMediaType(MOVIE);
                 }else{
                     result.setMediaType(SERIES);
diff --git a/Qfilm/app/src/main/res/color/input_layout_selector.xml b/Qfilm/app/src/main/res/color/input_layout_selector.xml
index 3bf596c..ce174ff 100644
--- a/Qfilm/app/src/main/res/color/input_layout_selector.xml
+++ b/Qfilm/app/src/main/res/color/input_layout_selector.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item  android:color="@android:color/white" android:state_focused="true"/>
-    <item android:color="@android:color/white" android:state_hovered="true"/>
-    <item  android:color="@android:color/white" android:state_enabled="false"/>
-    <item  android:color="?attr/colorOnSecondary"/>  <!-- unfocused -->
+    <item  android:color="?attr/colorOnSecondary" android:state_focused="true"/>
+    <item android:color="?attr/colorOnSecondary" android:state_hovered="true"/>
+    <item  android:color="?attr/colorOnSecondary" android:state_enabled="false"/>
+    <item  android:color="?attr/colorOnBackground"/>  <!-- unfocused -->
 </selector>
\ No newline at end of file
diff --git a/Qfilm/app/src/main/res/layout/dialog_fragment_edit_collection.xml b/Qfilm/app/src/main/res/layout/dialog_fragment_edit_collection.xml
index fa22723..dccb2cb 100644
--- a/Qfilm/app/src/main/res/layout/dialog_fragment_edit_collection.xml
+++ b/Qfilm/app/src/main/res/layout/dialog_fragment_edit_collection.xml
@@ -17,7 +17,7 @@
         android:layout_marginTop="@dimen/margin_outer_small"
         android:layout_marginEnd="@dimen/margin_outer_small"
         android:layout_marginBottom="16dp"
-        android:textAppearance="@style/TextAppearance.Qfilm.DialogHeading"
+        android:textAppearance="?attr/textAppearanceHeadline2"
         />
 
     <com.google.android.material.textfield.TextInputLayout
@@ -29,7 +29,7 @@
         android:layout_marginEnd="@dimen/margin_outer_small"
         app:errorEnabled="true"
         android:layout_gravity="center_horizontal"
-        style="@style/Widget.Qfilm.TextInputLayout"
+        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
         android:hint="@string/hint_collection_name"
         >
 
diff --git a/Qfilm/app/src/main/res/layout/fragment_sign_in.xml b/Qfilm/app/src/main/res/layout/fragment_sign_in.xml
index c554dda..cc2d029 100644
--- a/Qfilm/app/src/main/res/layout/fragment_sign_in.xml
+++ b/Qfilm/app/src/main/res/layout/fragment_sign_in.xml
@@ -27,7 +27,7 @@
 
         android:src="@drawable/ic_settings"
 
-        />
+        android:contentDescription="@string/descr_navigate_settings" />
 
     <TextView
         android:id="@+id/tv_heading_sign_in"
@@ -68,17 +68,15 @@
         <Button
             style="?attr/buttonStyle"
             app:backgroundTint="?attr/colorSecondary"
-            android:textColor="?attr/colorOnSecondary"
+            android:textColor="?attr/colorOnSurface"
             app:icon="@drawable/icon_google"
             app:iconTint="@null"
             app:iconSize="24dp"
 
             android:padding="16dp"
             app:iconGravity="start"
-            app:iconPadding="-10dp"
 
             android:text="@string/btn_sign_in_google"
-
             android:id="@+id/btn_sign_in_google"
             android:layout_height="wrap_content"
             android:layout_width="match_parent"
@@ -101,7 +99,7 @@
             <Button
                 style="?attr/buttonStyle"
                 app:backgroundTint="?attr/colorSecondary"
-                android:textColor="?attr/colorOnSecondary"
+                android:textColor="?attr/colorOnSurface"
                 app:icon="@drawable/icon_fb"
                 app:iconTint="@null"
                 app:iconSize="24dp"
diff --git a/Qfilm/app/src/main/res/layout/recyclerview_item_collection.xml b/Qfilm/app/src/main/res/layout/recyclerview_item_collection.xml
index 37f7453..3a0dc92 100644
--- a/Qfilm/app/src/main/res/layout/recyclerview_item_collection.xml
+++ b/Qfilm/app/src/main/res/layout/recyclerview_item_collection.xml
@@ -48,7 +48,7 @@
 
 
         <LinearLayout
-            android:layout_width="wrap_content"
+            android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:orientation="vertical"
             android:layout_gravity="center"
@@ -78,14 +78,6 @@
 
         </LinearLayout>
 
-        <ImageButton
-            android:visibility="@{actionButton ? View.VISIBLE : View.GONE}"
-            android:id="@+id/btn_action"
-            android:background="@android:color/transparent"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginEnd="@dimen/margin_outer_small"
-            android:src="@drawable/ic_more_vert"/>
 
 
     </LinearLayout>
diff --git a/Qfilm/app/src/main/res/layout/recyclerview_item_collection_action_button.xml b/Qfilm/app/src/main/res/layout/recyclerview_item_collection_action_button.xml
new file mode 100644
index 0000000..3de54e9
--- /dev/null
+++ b/Qfilm/app/src/main/res/layout/recyclerview_item_collection_action_button.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<layout xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    >
+
+    <data>
+
+        <import type="com.example.qfilm.ui.adapters.GlideBindingAdapter" />
+        <import type="android.view.View"/>
+        <variable
+            name="actionButton"
+            type="java.lang.Boolean" />
+        <variable
+            name="obj"
+            type="com.example.qfilm.data.models.entities.Collection"/>
+
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:layout_marginBottom="16dp"
+        android:gravity="center_vertical"
+
+        >
+
+        <androidx.cardview.widget.CardView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            >
+
+            <ImageView
+                android:layout_weight="1"
+                android:id="@+id/iv_poster_first_item"
+                android:scaleType="fitXY"
+                android:layout_width="48dp"
+                android:layout_height="75dp"
+                android:src="@drawable/ic_sharp_local_movies_24"
+                android:background="?attr/colorSecondary"
+                app:imageUrl="@{obj.getOldestItemPosterPath()}"
+
+                />
+
+
+        </androidx.cardview.widget.CardView>
+
+
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:layout_gravity="center"
+            android:layout_marginStart="16dp"
+            android:layout_weight="1"
+            >
+
+            <TextView
+                android:id="@+id/tv_name"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginBottom="4dp"
+                app:lineHeight="26sp"
+                android:text="@{obj.getName()}"
+                android:textAppearance="?attr/textAppearanceHeadline3" />
+
+
+            <TextView
+                android:id="@+id/tv_size"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@{@string/movies_and_series(obj.getCollectionCount())}"
+                android:ellipsize="end"
+                android:maxLines="3"
+                android:textAppearance="?attr/textAppearanceBody1"
+                app:lineHeight="24sp"/>
+
+        </LinearLayout>
+
+        <ImageButton
+            android:id="@+id/btn_action"
+            android:background="@android:color/transparent"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginEnd="@dimen/margin_outer_small"
+            android:src="@drawable/ic_more_vert"/>
+
+
+    </LinearLayout>
+
+
+</layout>
\ No newline at end of file
diff --git a/Qfilm/app/src/main/res/layout/recyclerview_item_result_detailed.xml b/Qfilm/app/src/main/res/layout/recyclerview_item_result.xml
similarity index 100%
rename from Qfilm/app/src/main/res/layout/recyclerview_item_result_detailed.xml
rename to Qfilm/app/src/main/res/layout/recyclerview_item_result.xml
diff --git a/Qfilm/app/src/main/res/layout/recyclerview_item_result_simple.xml b/Qfilm/app/src/main/res/layout/recyclerview_item_result_action_button.xml
similarity index 89%
rename from Qfilm/app/src/main/res/layout/recyclerview_item_result_simple.xml
rename to Qfilm/app/src/main/res/layout/recyclerview_item_result_action_button.xml
index 20cc8c8..977f027 100644
--- a/Qfilm/app/src/main/res/layout/recyclerview_item_result_simple.xml
+++ b/Qfilm/app/src/main/res/layout/recyclerview_item_result_action_button.xml
@@ -8,10 +8,6 @@
         <import type="com.example.qfilm.ui.adapters.GlideBindingAdapter" />
         <import type="android.view.View"/>
 
-        <variable
-            name="actionButton"
-            type="java.lang.Boolean" />
-
         <variable
             name="showOriginalTitles"
             type="Boolean"/>
@@ -54,7 +50,7 @@
 
         <LinearLayout
             android:layout_weight="1"
-            android:layout_width="wrap_content"
+            android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:orientation="vertical"
 
@@ -85,7 +81,7 @@
         </LinearLayout>
 
         <ImageButton
-            android:visibility="@{actionButton ? View.VISIBLE : View.GONE}"
+
             android:id="@+id/btn_action"
             android:background="@android:color/transparent"
             android:layout_width="wrap_content"
diff --git a/Qfilm/app/src/main/res/values-es/strings.xml b/Qfilm/app/src/main/res/values-es/strings.xml
index c8515a2..2c8eab6 100644
--- a/Qfilm/app/src/main/res/values-es/strings.xml
+++ b/Qfilm/app/src/main/res/values-es/strings.xml
@@ -130,5 +130,6 @@
         <item>Español</item>
     </string-array>
     <string name="failed_sign_in_google">No se pudo iniciar sesión con Google. Vuelva a intentarlo.</string>
+    <string name="descr_navigate_settings">navegar a la configuración</string>
 
 </resources>
\ No newline at end of file
diff --git a/Qfilm/app/src/main/res/values/colors.xml b/Qfilm/app/src/main/res/values/colors.xml
index 5b31763..0f043ac 100644
--- a/Qfilm/app/src/main/res/values/colors.xml
+++ b/Qfilm/app/src/main/res/values/colors.xml
@@ -8,20 +8,9 @@
     <color name="colorBackground"> #ffffff</color>
     <color name="colorOnBackground"> #000000</color>
 
-
-
     <color name="colorSurface">@color/colorBackground</color>
     <color name="colorOnSurface"> #BB000000</color>
 
-    <color name="colorLoadingDotActive">@color/colorPrimary</color>
-    <color name="colorLoadingDotInActive">@color/colorPrimaryLight</color>
-
-    <color name="colorLoadingDotActiveDarkTheme">#272727</color>
-    <color name="colorLoadingDotInActiveDarkTheme">@color/colorOnSurfaceDarkTheme</color>
-
-    <color name="backgroundThirdPartySignInButton"> @color/colorBackground</color>
-    <color name="textThirdPartySignInButton"> @color/colorOnSurface</color>
-
     <color name="colorOnPrimary">#d3d6ed</color>
 
     <color name="colorHint"> #70000000</color>
@@ -33,8 +22,6 @@
 
     <color name="colorPrimaryLight">#d2cbf7</color>
 
-    <color name="colorText100">#ffffff</color>
-
     <color name="colorBottomNavItemActive"> @color/colorPrimary</color>
     <color name="colorPrimaryDarkTheme">#3d449c</color>
 
diff --git a/Qfilm/app/src/main/res/values/strings.xml b/Qfilm/app/src/main/res/values/strings.xml
index 8d50e06..cbab17f 100644
--- a/Qfilm/app/src/main/res/values/strings.xml
+++ b/Qfilm/app/src/main/res/values/strings.xml
@@ -10,6 +10,7 @@
 
     <string name="back_navigation">back navigation</string>
     <string name="description_button_navigate_back">button navigate back</string>
+    <string name="descr_navigate_settings">navigate to settings</string>
 
     <!-- bottom nav  -->
 
@@ -192,6 +193,7 @@
     <string name="tv_heading_search">Search</string>
     <string name="failed_sign_in_google">Failed to sign in via Google</string>
 
+
     <string-array name="app_languages">
         <item>English</item>
         <item>Español</item>
diff --git a/Qfilm/app/src/main/res/values/styles.xml b/Qfilm/app/src/main/res/values/styles.xml
index 5216d4d..7495326 100644
--- a/Qfilm/app/src/main/res/values/styles.xml
+++ b/Qfilm/app/src/main/res/values/styles.xml
@@ -57,8 +57,8 @@
         <item name="colorSurface">@color/colorSurface</item>
         <item name="colorOnSurface">@color/colorOnSurface</item>
 
-        <item name="colorSecondary">@color/colorPrimary</item>
-        <item name="colorOnSecondary">#5459a1</item>
+        <item name="colorSecondary">?attr/colorSurface</item>
+        <item name="colorOnSecondary">?attr/colorOnSurface</item>
 
         <item name="dividerVertical">@color/dividerColor</item>
 
@@ -70,7 +70,6 @@
 
         <item name="colorOnBackground">@color/colorOnBackground</item>
 
-
         <item name="android:windowBackground">#ffffff</item>
 
         <item name="android:statusBarColor">@color/colorStatusBar</item>
@@ -184,17 +183,12 @@
 
     </style>
 
-
-    <style name="TextAppearance.Qfilm.DialogHeading" parent="TextAppearance.Qfilm.Headline2">
-        <item name="android:textColor"> #ffffff </item>
-    </style>
-
     <!-- Buttons -->
 
     <style name="Widget.Qfilm.Button.TextButton" parent="Widget.MaterialComponents.Button.TextButton">
 
         <item name="textAllCaps"> false </item>
-        <item name="android:textColor">  #ffffff </item>
+        <item name="android:textColor">  ?attr/colorOnBackground</item>
         <item name="android:textAppearance">@style/TextAppearance.Qfilm.bottomMenu</item>
 
     </style>
@@ -222,8 +216,8 @@
 
     <style name="Widget.Qfilm.TextInputLayout" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
         <item name="boxStrokeColor">@color/input_layout_selector</item>
-        <item name="android:textColor">#ffffff</item>
-        <item name="hintTextColor">#ffffff</item>
+        <item name="android:textColor">?attr/colorOnBackground</item>
+        <item name="hintTextColor">?attr/colorOnBackground</item>
         <item name="android:textColorHint">?attr/colorOnSecondary</item>
     </style>
 
diff --git a/Qfilm/app/src/testCommon/java/utils/MyIdlingResource.java b/Qfilm/app/src/testCommon/java/utils/MyIdlingResource.java
index 236dd0a..e0e6d40 100644
--- a/Qfilm/app/src/testCommon/java/utils/MyIdlingResource.java
+++ b/Qfilm/app/src/testCommon/java/utils/MyIdlingResource.java
@@ -38,10 +38,7 @@ public class MyIdlingResource {
 
         if(countingIdlingResource != null && !countingIdlingResource.isIdleNow()){
 
-            while(!countingIdlingResource.isIdleNow()){
-                Log.d(TAG, "decrement: ");
-                countingIdlingResource.decrement();
-            }
+            countingIdlingResource.decrement();
 
         }
 
-- 
GitLab