diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2015-09-23 00:12:39 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2015-09-23 00:12:39 +0900 |
commit | be8fa9c1b0a732659c4501178f651708c6f6dd4a (patch) | |
tree | 722a012aaf294021b638c7f8f66bcb4b2add3792 /app/src/main/java/net/lacolaco/smileessence/view/adapter | |
parent | f44d5800abfee1fe45a4712d8674837b9f405e1a (diff) | |
download | SmileEssence-be8fa9c1b0a732659c4501178f651708c6f6dd4a.tar.gz |
RT をトグれるように(りぐれっしょん)
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/view/adapter')
3 files changed, 12 insertions, 75 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java b/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java index 239b51b3..b79cb83a 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java @@ -28,6 +28,7 @@ import android.app.Activity; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; +import android.widget.ListAdapter; import net.lacolaco.smileessence.util.UIHandler; import net.lacolaco.smileessence.viewmodel.IViewModel; @@ -43,7 +44,7 @@ public class CustomListAdapter<T extends IViewModel> extends BaseAdapter { protected final Object LOCK = new Object(); protected ArrayList<T> list = new ArrayList<>(); protected List<T> frozenList = new ArrayList<>(); - protected boolean isNotifiable = true; + private boolean isNotifiable = true; protected Activity activity; // --------------------------- CONSTRUCTORS --------------------------- @@ -81,7 +82,7 @@ public class CustomListAdapter<T extends IViewModel> extends BaseAdapter { // --------------------- Interface Adapter --------------------- @Override - public Object getItem(int position) { + public T getItem(int position) { return frozenList.get(position); } @@ -92,7 +93,7 @@ public class CustomListAdapter<T extends IViewModel> extends BaseAdapter { @Override public View getView(int position, View convertView, ViewGroup parent) { - return ((T) getItem(position)).getView(activity, activity.getLayoutInflater(), convertView); + return getItem(position).getView(activity, activity.getLayoutInflater(), convertView); } // ------------------------ OVERRIDE METHODS ------------------------ @@ -100,7 +101,7 @@ public class CustomListAdapter<T extends IViewModel> extends BaseAdapter { @Override public void notifyDataSetChanged() { sort(); - frozenList = Collections.unmodifiableList((ArrayList) list.clone()); + frozenList = Collections.unmodifiableList(new ArrayList<>(list)); super.notifyDataSetChanged(); } @@ -152,7 +153,7 @@ public class CustomListAdapter<T extends IViewModel> extends BaseAdapter { } public void update() { - if (isNotifiable) { + if (isNotifiable()) { updateForce(); } } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java b/app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java index 6a9d4215..f42536d3 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java @@ -42,44 +42,19 @@ public class MessageListAdapter extends CustomListAdapter<MessageViewModel> { // --------------------- GETTER / SETTER METHODS --------------------- public long getLastID() { - return ((MessageViewModel) getItem(getCount() - 1)).getDirectMessage().getId(); + return getItem(getCount() - 1).getDirectMessage().getId(); } public long getTopID() { - return ((MessageViewModel) getItem(0)).getDirectMessage().getId(); + return getItem(0).getDirectMessage().getId(); } // ------------------------ OVERRIDE METHODS ------------------------ @Override - public void addToBottom(MessageViewModel... items) { - for (MessageViewModel item : items) { - if (!preAdd(item)) { - continue; - } - super.addToBottom(items); - } - } - - @Override - public void addToTop(MessageViewModel... items) { - for (MessageViewModel item : items) { - if (!preAdd(item)) { - continue; - } - super.addToTop(items); - } - } - - @Override public void sort() { synchronized (LOCK) { - Collections.sort(list, new Comparator<MessageViewModel>() { - @Override - public int compare(MessageViewModel lhs, MessageViewModel rhs) { - return rhs.getDirectMessage().getCreatedAt().compareTo(lhs.getDirectMessage().getCreatedAt()); - } - }); + Collections.sort(list, (lhs, rhs) -> rhs.getDirectMessage().getCreatedAt().compareTo(lhs.getDirectMessage().getCreatedAt())); } } @@ -98,9 +73,4 @@ public class MessageListAdapter extends CustomListAdapter<MessageViewModel> { return null; } } - - private boolean preAdd(MessageViewModel item) { - removeByMessageID(item.getDirectMessage().getId()); - return true; - } } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java b/app/src/main/java/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java index 8992170a..490f9f97 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java @@ -44,7 +44,7 @@ public class StatusListAdapter extends CustomListAdapter<StatusViewModel> { public long getLastID() { if (getCount() > 0) { - return ((StatusViewModel) getItem(getCount() - 1)).getTweet().getId(); + return getItem(getCount() - 1).getTweet().getId(); } else { return Long.MAX_VALUE; } @@ -52,7 +52,7 @@ public class StatusListAdapter extends CustomListAdapter<StatusViewModel> { public long getTopID() { if (getCount() > 0) { - return ((StatusViewModel) getItem(0)).getTweet().getId(); + return getItem(0).getTweet().getId(); } else { return -1; } @@ -60,38 +60,13 @@ public class StatusListAdapter extends CustomListAdapter<StatusViewModel> { // ------------------------ OVERRIDE METHODS ------------------------ - @Override - public void addToBottom(StatusViewModel... items) { - for (StatusViewModel item : items) { - if (!preAdd(item)) { - continue; - } - super.addToBottom(item); - } - } - - @Override - public void addToTop(StatusViewModel... items) { - for (StatusViewModel item : items) { - if (!preAdd(item)) { - continue; - } - super.addToTop(item); - } - } - /** * Sort list by Status ID */ @Override protected void sort() { synchronized (LOCK) { - Collections.sort(list, new Comparator<StatusViewModel>() { - @Override - public int compare(StatusViewModel lhs, StatusViewModel rhs) { - return Long.valueOf(rhs.getTweet().getId()).compareTo(lhs.getTweet().getId()); - } - }); + Collections.sort(list, (lhs, rhs) -> Long.valueOf(rhs.getTweet().getId()).compareTo(lhs.getTweet().getId())); } } @@ -108,13 +83,4 @@ public class StatusListAdapter extends CustomListAdapter<StatusViewModel> { } } } - - private boolean isBlockUser(StatusViewModel item) { - return MuteUserIds.isMuted(item.getTweet().getOriginalTweet().getUser().getId()); - } - - private boolean preAdd(StatusViewModel item) { - removeByStatusID(item.getTweet().getId()); - return !isBlockUser(item); - } } |