|
|
@ -73,6 +73,7 @@ public class PostAdapter extends BaseAdapter implements Filterable { |
|
|
|
private long lastViewedTime = 0; |
|
|
|
private long lastViewedTime = 0; |
|
|
|
private String loadMessage = null; |
|
|
|
private String loadMessage = null; |
|
|
|
private String filter = ""; |
|
|
|
private String filter = ""; |
|
|
|
|
|
|
|
private int pendingScrollToPost = -1; |
|
|
|
|
|
|
|
|
|
|
|
public PostAdapter(Context activity, ThreadManager threadManager, AbsListView listView, PostAdapterListener listener) { |
|
|
|
public PostAdapter(Context activity, ThreadManager threadManager, AbsListView listView, PostAdapterListener listener) { |
|
|
|
context = activity; |
|
|
|
context = activity; |
|
|
@ -183,6 +184,16 @@ public class PostAdapter extends BaseAdapter implements Filterable { |
|
|
|
} |
|
|
|
} |
|
|
|
notifyDataSetChanged(); |
|
|
|
notifyDataSetChanged(); |
|
|
|
listener.onFilterResults(filter, ((List<Post>) results.values).size(), TextUtils.isEmpty(filter)); |
|
|
|
listener.onFilterResults(filter, ((List<Post>) results.values).size(), TextUtils.isEmpty(filter)); |
|
|
|
|
|
|
|
if (pendingScrollToPost >= 0) { |
|
|
|
|
|
|
|
final int to = pendingScrollToPost; |
|
|
|
|
|
|
|
pendingScrollToPost = -1; |
|
|
|
|
|
|
|
listView.post(new Runnable() { |
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void run() { |
|
|
|
|
|
|
|
scrollToPost(to); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
} |
|
|
|
} |
|
|
@ -247,6 +258,9 @@ public class PostAdapter extends BaseAdapter implements Filterable { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void scrollToPost(int no) { |
|
|
|
public void scrollToPost(int no) { |
|
|
|
|
|
|
|
if (isFiltering()) { |
|
|
|
|
|
|
|
pendingScrollToPost = no; |
|
|
|
|
|
|
|
} else { |
|
|
|
notifyDataSetChanged(); |
|
|
|
notifyDataSetChanged(); |
|
|
|
|
|
|
|
|
|
|
|
synchronized (lock) { |
|
|
|
synchronized (lock) { |
|
|
@ -264,6 +278,7 @@ public class PostAdapter extends BaseAdapter implements Filterable { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public void setErrorMessage(String loadMessage) { |
|
|
|
public void setErrorMessage(String loadMessage) { |
|
|
|
this.loadMessage = loadMessage; |
|
|
|
this.loadMessage = loadMessage; |
|
|
|