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