From 688cfd3397eb91fdee73b511b5286f74937215db Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Mon, 30 Aug 2021 11:06:40 -0700 Subject: [PATCH] Adds generic ItemCallback interface. --- .../ui/dashboard/DashboardRecyclerViewAdapter.java | 11 ++++------- .../editmonster/EditLanguagesRecyclerViewAdapter.java | 11 ++++------- .../ui/editmonster/EditSkillsRecyclerViewAdapter.java | 11 ++++------- .../editmonster/EditStringsRecyclerViewAdapter.java | 11 ++++------- .../ui/editmonster/EditTraitsRecyclerViewAdapter.java | 11 ++++------- .../ui/library/LibraryRecyclerViewAdapter.java | 11 ++++------- .../ui/search/SearchResultsRecyclerViewAdapter.java | 9 +++------ .../majinnaibu/monstercards/utils/ItemCallback.java | 5 +++++ 8 files changed, 32 insertions(+), 48 deletions(-) create mode 100644 Android/app/src/main/java/com/majinnaibu/monstercards/utils/ItemCallback.java diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/dashboard/DashboardRecyclerViewAdapter.java b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/dashboard/DashboardRecyclerViewAdapter.java index b1ab732..a76cf69 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/dashboard/DashboardRecyclerViewAdapter.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/dashboard/DashboardRecyclerViewAdapter.java @@ -20,6 +20,7 @@ import com.majinnaibu.monstercards.databinding.CardMonsterBinding; import com.majinnaibu.monstercards.helpers.CommonMarkHelper; import com.majinnaibu.monstercards.models.Monster; import com.majinnaibu.monstercards.models.Trait; +import com.majinnaibu.monstercards.utils.ItemCallback; import com.majinnaibu.monstercards.utils.Logger; import java.util.Locale; @@ -36,9 +37,9 @@ public class DashboardRecyclerViewAdapter extends ListAdapter mOnClick; - protected DashboardRecyclerViewAdapter(ItemCallback onClick) { + protected DashboardRecyclerViewAdapter(ItemCallback onClick) { super(DIFF_CALLBACK); mOnClick = onClick; } @@ -119,15 +120,11 @@ public class DashboardRecyclerViewAdapter extends ListAdapter { if (mOnClick != null) { - mOnClick.onItemCallback(holder.monster); + mOnClick.onItem(holder.monster); } }); } - public interface ItemCallback { - void onItemCallback(Monster monster); - } - public static class ViewHolder extends RecyclerView.ViewHolder { public final TextView name; public final TextView meta; diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditLanguagesRecyclerViewAdapter.java b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditLanguagesRecyclerViewAdapter.java index e9163c6..ec15691 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditLanguagesRecyclerViewAdapter.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/editmonster/EditLanguagesRecyclerViewAdapter.java @@ -13,13 +13,14 @@ import com.majinnaibu.monstercards.databinding.FragmentEditLanguagesListHeaderBi import com.majinnaibu.monstercards.databinding.FragmentEditLanguagesListItemBinding; import com.majinnaibu.monstercards.models.Language; import com.majinnaibu.monstercards.ui.components.Stepper; +import com.majinnaibu.monstercards.utils.ItemCallback; import java.util.List; import java.util.Locale; public class EditLanguagesRecyclerViewAdapter extends RecyclerView.Adapter { private final List mValues; - private final ItemCallback mOnClick; + private final ItemCallback mOnClick; private final int mTelepathyRange; private final String mUnderstandsBut; private final Stepper.OnValueChangeListener mOnTelepathyRangeChanged; @@ -29,7 +30,7 @@ public class EditLanguagesRecyclerViewAdapter extends RecyclerView.Adapter items, ItemCallback onClick, int telepathyRange, Stepper.OnValueChangeListener telepathyRangeChangedListener, String understandsBut, TextWatcher understandsButChangedListener) { + public EditLanguagesRecyclerViewAdapter(List items, ItemCallback onClick, int telepathyRange, Stepper.OnValueChangeListener telepathyRangeChangedListener, String understandsBut, TextWatcher understandsButChangedListener) { mValues = items; mOnClick = onClick; mTelepathyRange = telepathyRange; @@ -62,7 +63,7 @@ public class EditLanguagesRecyclerViewAdapter extends RecyclerView.Adapter { if (mOnClick != null) { - mOnClick.onItemCallback(itemViewHolder.mItem); + mOnClick.onItem(itemViewHolder.mItem); } }); } @@ -81,10 +82,6 @@ public class EditLanguagesRecyclerViewAdapter extends RecyclerView.Adapter { private final List mValues; - private final ItemCallback mOnClick; + private final ItemCallback mOnClick; - public EditSkillsRecyclerViewAdapter(List items, ItemCallback onClick) { + public EditSkillsRecyclerViewAdapter(List items, ItemCallback onClick) { mValues = items; mOnClick = onClick; } @@ -36,7 +37,7 @@ public class EditSkillsRecyclerViewAdapter extends RecyclerView.Adapter { if (mOnClick != null) { - mOnClick.onItemCallback(holder.mItem); + mOnClick.onItem(holder.mItem); } }); } @@ -46,10 +47,6 @@ public class EditSkillsRecyclerViewAdapter extends RecyclerView.Adapter { private final List mValues; - private final ItemCallback mOnClick; + private final ItemCallback mOnClick; - public EditStringsRecyclerViewAdapter(List items, ItemCallback onClick) { + public EditStringsRecyclerViewAdapter(List items, ItemCallback onClick) { mValues = items; mOnClick = onClick; } @@ -32,7 +33,7 @@ public class EditStringsRecyclerViewAdapter extends RecyclerView.Adapter { if (mOnClick != null) { - mOnClick.onItemCallback(holder.mItem); + mOnClick.onItem(holder.mItem); } }); } @@ -42,10 +43,6 @@ public class EditStringsRecyclerViewAdapter extends RecyclerView.Adapter { private static final DiffUtil.ItemCallback DIFF_CALLBACK = new DiffUtil.ItemCallback() { @@ -25,9 +26,9 @@ public class EditTraitsRecyclerViewAdapter extends ListAdapter mOnClick; - protected EditTraitsRecyclerViewAdapter(ItemCallback onClick) { + protected EditTraitsRecyclerViewAdapter(ItemCallback onClick) { super(DIFF_CALLBACK); mOnClick = onClick; } @@ -44,15 +45,11 @@ public class EditTraitsRecyclerViewAdapter extends ListAdapter { if (mOnClick != null) { - mOnClick.onItemCallback(holder.mItem); + mOnClick.onItem(holder.mItem); } }); } - public interface ItemCallback { - void onItemCallback(Trait trait); - } - public static class ViewHolder extends RecyclerView.ViewHolder { public final TextView mContentView; public Trait mItem; diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/library/LibraryRecyclerViewAdapter.java b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/library/LibraryRecyclerViewAdapter.java index f9382e2..171cfb3 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/library/LibraryRecyclerViewAdapter.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/library/LibraryRecyclerViewAdapter.java @@ -12,6 +12,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.majinnaibu.monstercards.R; import com.majinnaibu.monstercards.models.Monster; +import com.majinnaibu.monstercards.utils.ItemCallback; public class LibraryRecyclerViewAdapter extends ListAdapter { private static final DiffUtil.ItemCallback DIFF_CALLBACK = new DiffUtil.ItemCallback() { @@ -25,9 +26,9 @@ public class LibraryRecyclerViewAdapter extends ListAdapter mOnClick; - public LibraryRecyclerViewAdapter(ItemCallback onClick) { + public LibraryRecyclerViewAdapter(ItemCallback onClick) { super(DIFF_CALLBACK); mOnClick = onClick; } @@ -48,15 +49,11 @@ public class LibraryRecyclerViewAdapter extends ListAdapter { if (mOnClick != null) { - mOnClick.onItemCallback(holder.item); + mOnClick.onItem(holder.item); } }); } - public interface ItemCallback { - void onItemCallback(Monster monster); - } - static class ViewHolder extends RecyclerView.ViewHolder { final TextView contentView; Monster item; diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/search/SearchResultsRecyclerViewAdapter.java b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/search/SearchResultsRecyclerViewAdapter.java index 93c546a..d9b5dac 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/search/SearchResultsRecyclerViewAdapter.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/search/SearchResultsRecyclerViewAdapter.java @@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.majinnaibu.monstercards.R; import com.majinnaibu.monstercards.data.MonsterRepository; import com.majinnaibu.monstercards.models.Monster; +import com.majinnaibu.monstercards.utils.ItemCallback; import com.majinnaibu.monstercards.utils.Logger; import java.util.ArrayList; @@ -21,13 +22,13 @@ import io.reactivex.rxjava3.disposables.Disposable; public class SearchResultsRecyclerViewAdapter extends RecyclerView.Adapter { private final MonsterRepository mRepository; - private final ItemCallback mOnClickHandler; + private final ItemCallback mOnClickHandler; private String mSearchText; private List mValues; private Disposable mSubscriptionHandler; public SearchResultsRecyclerViewAdapter(MonsterRepository repository, - ItemCallback onClick) { + ItemCallback onClick) { mRepository = repository; mSearchText = ""; mValues = new ArrayList<>(); @@ -75,10 +76,6 @@ public class SearchResultsRecyclerViewAdapter extends RecyclerView.Adapter { + void onItem(T item); +}