From be8fa9c1b0a732659c4501178f651708c6f6dd4a Mon Sep 17 00:00:00 2001 From: Kazuki Yamaguchi Date: Wed, 23 Sep 2015 00:12:39 +0900 Subject: RT をトグれるように(りぐれっしょん) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../view/adapter/CustomListAdapter.java | 11 +++--- .../view/adapter/MessageListAdapter.java | 36 ++----------------- .../view/adapter/StatusListAdapter.java | 40 ++-------------------- 3 files changed, 12 insertions(+), 75 deletions(-) (limited to 'app/src/main/java/net/lacolaco/smileessence/view/adapter') 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 extends BaseAdapter { protected final Object LOCK = new Object(); protected ArrayList list = new ArrayList<>(); protected List frozenList = new ArrayList<>(); - protected boolean isNotifiable = true; + private boolean isNotifiable = true; protected Activity activity; // --------------------------- CONSTRUCTORS --------------------------- @@ -81,7 +82,7 @@ public class CustomListAdapter 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 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 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 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 { // --------------------- 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() { - @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 { 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 { 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 { 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 { // ------------------------ 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() { - @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 { } } } - - 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); - } } -- cgit v1.2.3