diff options
author | Scott Jackson <daneren2005@gmail.com> | 2015-10-22 18:03:27 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2015-10-22 18:03:27 -0700 |
commit | 53cafd6b2e373b5a99260be93e170920c12a33a2 (patch) | |
tree | dccc16c4454697f8c13dd64ec4c103ee9e2c3126 /app/src/main/java/github/daneren2005/dsub/adapter | |
parent | 8d0a62bf99d5d11f5778c346fc969f659ba0ef75 (diff) | |
download | dsub-53cafd6b2e373b5a99260be93e170920c12a33a2.tar.gz dsub-53cafd6b2e373b5a99260be93e170920c12a33a2.tar.bz2 dsub-53cafd6b2e373b5a99260be93e170920c12a33a2.zip |
Missed some files when commit fix for broken preference updating
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/adapter')
-rw-r--r-- | app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java | 32 | ||||
-rw-r--r-- | app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java | 7 |
2 files changed, 23 insertions, 16 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java index 75b1562f..000832d7 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java @@ -125,7 +125,7 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH } } } else if (onItemClickedListener != null) { - onItemClickedListener.onItemClicked(item); + onItemClickedListener.onItemClicked(updateView, item); } } }); @@ -138,18 +138,22 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH moreButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - final T item = holder.getItem(); - if(onItemClickedListener != null) { - PopupMenu popup = new PopupMenu(context, v); - onItemClickedListener.onCreateContextMenu(popup.getMenu(), popup.getMenuInflater(), updateView, item); - - popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { - @Override - public boolean onMenuItemClick(MenuItem menuItem) { - return onItemClickedListener.onContextItemSelected(menuItem, updateView, item); - } - }); - popup.show(); + try { + final T item = holder.getItem(); + if (onItemClickedListener != null) { + PopupMenu popup = new PopupMenu(context, v); + onItemClickedListener.onCreateContextMenu(popup.getMenu(), popup.getMenuInflater(), updateView, item); + + popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem menuItem) { + return onItemClickedListener.onContextItemSelected(menuItem, updateView, item); + } + }); + popup.show(); + } + } catch(Exception e) { + Log.w(TAG, "Failed to show popup", e); } } }); @@ -494,7 +498,7 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH } public interface OnItemClickedListener<T> { - void onItemClicked(T item); + void onItemClicked(UpdateView<T> updateView, T item); void onCreateContextMenu(Menu menu, MenuInflater menuInflater, UpdateView<T> updateView, T item); boolean onContextItemSelected(MenuItem menuItem, UpdateView<T> updateView, T item); } diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java index d99b294b..0328e607 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/SettingsAdapter.java @@ -16,6 +16,7 @@ package github.daneren2005.dsub.adapter; import android.content.Context; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -33,17 +34,19 @@ import github.daneren2005.dsub.view.UpdateView; import static github.daneren2005.dsub.domain.User.Setting; public class SettingsAdapter extends SectionAdapter<Setting> { + private static final String TAG = SettingsAdapter.class.getSimpleName(); public final int VIEW_TYPE_SETTING = 1; private final User user; private final boolean editable; private final ImageLoader imageLoader; - public SettingsAdapter(Context context, User user, ImageLoader imageLoader, boolean editable) { + public SettingsAdapter(Context context, User user, ImageLoader imageLoader, boolean editable, OnItemClickedListener<Setting> onItemClickedListener) { super(context, user.getSettings(), imageLoader != null); this.user = user; this.imageLoader = imageLoader; this.editable = editable; + this.onItemClickedListener = onItemClickedListener; List<Setting> settings = sections.get(0); for(Setting setting: settings) { @@ -92,7 +95,7 @@ public class SettingsAdapter extends SectionAdapter<Setting> { @Override public void setChecked(UpdateView updateView, boolean checked) { if(updateView instanceof SettingView) { - ((SettingView) updateView).setChecked(checked); + updateView.setChecked(checked); } } } |