aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/net/lacolaco/smileessence/view/adapter
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2015-09-23 00:12:39 +0900
committerKazuki Yamaguchi <k@rhe.jp>2015-09-23 00:12:39 +0900
commitbe8fa9c1b0a732659c4501178f651708c6f6dd4a (patch)
tree722a012aaf294021b638c7f8f66bcb4b2add3792 /app/src/main/java/net/lacolaco/smileessence/view/adapter
parentf44d5800abfee1fe45a4712d8674837b9f405e1a (diff)
downloadSmileEssence-be8fa9c1b0a732659c4501178f651708c6f6dd4a.tar.gz
RT をトグれるように(りぐれっしょん)
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/view/adapter')
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.java11
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java36
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/adapter/StatusListAdapter.java40
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);
- }
}