From 5f837d6edbb5da46d7fbda6b9028b2e25ddb7e23 Mon Sep 17 00:00:00 2001
From: Shinokuni <shinokuni@openserver.fr>
Date: Wed, 30 Jan 2019 19:44:30 +0000
Subject: [PATCH] Adding click listener and default click animation to feed
 items list

---
 .../com/readrops/app/MainItemListAdapter.java | 20 +++++++++++++++++--
 app/src/main/res/layout/image_list_item.xml   |  3 ++-
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/app/src/main/java/com/readrops/app/MainItemListAdapter.java b/app/src/main/java/com/readrops/app/MainItemListAdapter.java
index 0154f16c..5b541297 100644
--- a/app/src/main/java/com/readrops/app/MainItemListAdapter.java
+++ b/app/src/main/java/com/readrops/app/MainItemListAdapter.java
@@ -19,6 +19,7 @@ import com.readrops.app.database.entities.Item;
 public class MainItemListAdapter extends ListAdapter<Item, MainItemListAdapter.ViewHolder> {
 
     private RequestManager manager;
+    private OnItemClickListener listener;
 
     public MainItemListAdapter(RequestManager manager) {
         super(DIFF_CALLBACK);
@@ -34,7 +35,7 @@ public class MainItemListAdapter extends ListAdapter<Item, MainItemListAdapter.V
         @Override
         public boolean areContentsTheSame(@NonNull Item item, @NonNull Item t1) {
             return item.getTitle().equals(t1.getTitle()) &&
-                    item.getContent().equals(t1.getContent());
+                    item.getDescription().equals(t1.getDescription());
         }
     };
 
@@ -60,7 +61,15 @@ public class MainItemListAdapter extends ListAdapter<Item, MainItemListAdapter.V
             manager.load(item.getImageLink()).apply(requestOptions).into(viewHolder.itemImage);
     }
 
-    static class ViewHolder extends RecyclerView.ViewHolder {
+    public interface OnItemClickListener {
+        void onItemClick(Item item);
+    }
+
+    public void setOnItemClickListener() {
+
+    }
+
+    class ViewHolder extends RecyclerView.ViewHolder {
 
         private TextView itemTitle;
         private ImageView itemImage;
@@ -69,6 +78,13 @@ public class MainItemListAdapter extends ListAdapter<Item, MainItemListAdapter.V
         ViewHolder(@NonNull View itemView) {
             super(itemView);
 
+            itemView.setOnClickListener((view -> {
+                int position = getAdapterPosition();
+
+                if (listener != null && position != RecyclerView.NO_POSITION)
+                    listener.onItemClick(getItem(position));
+            }));
+
             itemTitle = itemView.findViewById(R.id.item_title);
             itemImage = itemView.findViewById(R.id.item_image);
             date = itemView.findViewById(R.id.item_date);
diff --git a/app/src/main/res/layout/image_list_item.xml b/app/src/main/res/layout/image_list_item.xml
index dc151b93..0c450bd1 100644
--- a/app/src/main/res/layout/image_list_item.xml
+++ b/app/src/main/res/layout/image_list_item.xml
@@ -2,7 +2,8 @@
 <RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
-    android:layout_height="wrap_content">
+    android:layout_height="wrap_content"
+    android:background="?android:attr/selectableItemBackground">
 
     <TextView
         android:id="@+id/item_title"