|
|
@ -88,8 +88,8 @@ public class FragmentMessages extends FragmentEx {
|
|
|
|
|
|
|
|
|
|
|
|
private ExecutorService executor = Executors.newCachedThreadPool(Helper.backgroundThreadFactory);
|
|
|
|
private ExecutorService executor = Executors.newCachedThreadPool(Helper.backgroundThreadFactory);
|
|
|
|
|
|
|
|
|
|
|
|
private static final int MESSAGES_PAGE_SIZE = 50;
|
|
|
|
private static final int LOCAL_PAGE_SIZE = 50;
|
|
|
|
private static final int SEARCH_PAGE_SIZE = 10;
|
|
|
|
private static final int REMOTE_PAGE_SIZE = 10;
|
|
|
|
private static final int UNDO_TIMEOUT = 5000; // milliseconds
|
|
|
|
private static final int UNDO_TIMEOUT = 5000; // milliseconds
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
@ -661,13 +661,13 @@ public class FragmentMessages extends FragmentEx {
|
|
|
|
|
|
|
|
|
|
|
|
switch (viewType) {
|
|
|
|
switch (viewType) {
|
|
|
|
case UNIFIED:
|
|
|
|
case UNIFIED:
|
|
|
|
messages = new LivePagedListBuilder<>(db.message().pagedUnifiedInbox(sort, debug), MESSAGES_PAGE_SIZE).build();
|
|
|
|
messages = new LivePagedListBuilder<>(db.message().pagedUnifiedInbox(sort, debug), LOCAL_PAGE_SIZE).build();
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case FOLDER:
|
|
|
|
case FOLDER:
|
|
|
|
if (searchCallback == null)
|
|
|
|
if (searchCallback == null)
|
|
|
|
searchCallback = new BoundaryCallbackMessages(
|
|
|
|
searchCallback = new BoundaryCallbackMessages(
|
|
|
|
getContext(), FragmentMessages.this,
|
|
|
|
getContext(), FragmentMessages.this,
|
|
|
|
folder, null, MESSAGES_PAGE_SIZE,
|
|
|
|
folder, null, REMOTE_PAGE_SIZE,
|
|
|
|
new BoundaryCallbackMessages.IBoundaryCallbackMessages() {
|
|
|
|
new BoundaryCallbackMessages.IBoundaryCallbackMessages() {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void onLoading() {
|
|
|
|
public void onLoading() {
|
|
|
@ -686,25 +686,21 @@ public class FragmentMessages extends FragmentEx {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
PagedList.Config config = new PagedList.Config.Builder()
|
|
|
|
|
|
|
|
.setPageSize(MESSAGES_PAGE_SIZE)
|
|
|
|
|
|
|
|
.setPrefetchDistance(MESSAGES_PAGE_SIZE)
|
|
|
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
LivePagedListBuilder<Integer, TupleMessageEx> builder = new LivePagedListBuilder<>(
|
|
|
|
LivePagedListBuilder<Integer, TupleMessageEx> builder = new LivePagedListBuilder<>(
|
|
|
|
db.message().pagedFolder(folder, sort, false, debug), config);
|
|
|
|
db.message().pagedFolder(folder, sort, false, debug), LOCAL_PAGE_SIZE);
|
|
|
|
builder.setBoundaryCallback(searchCallback);
|
|
|
|
builder.setBoundaryCallback(searchCallback);
|
|
|
|
messages = builder.build();
|
|
|
|
messages = builder.build();
|
|
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case THREAD:
|
|
|
|
case THREAD:
|
|
|
|
messages = new LivePagedListBuilder<>(db.message().pagedThread(thread, sort, debug), MESSAGES_PAGE_SIZE).build();
|
|
|
|
messages = new LivePagedListBuilder<>(db.message().pagedThread(thread, sort, debug), LOCAL_PAGE_SIZE).build();
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (searchCallback == null)
|
|
|
|
if (searchCallback == null)
|
|
|
|
searchCallback = new BoundaryCallbackMessages(
|
|
|
|
searchCallback = new BoundaryCallbackMessages(
|
|
|
|
getContext(), FragmentMessages.this,
|
|
|
|
getContext(), FragmentMessages.this,
|
|
|
|
folder, search, SEARCH_PAGE_SIZE,
|
|
|
|
folder, search, REMOTE_PAGE_SIZE,
|
|
|
|
new BoundaryCallbackMessages.IBoundaryCallbackMessages() {
|
|
|
|
new BoundaryCallbackMessages.IBoundaryCallbackMessages() {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void onLoading() {
|
|
|
|
public void onLoading() {
|
|
|
@ -726,12 +722,8 @@ public class FragmentMessages extends FragmentEx {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
PagedList.Config config = new PagedList.Config.Builder()
|
|
|
|
|
|
|
|
.setPageSize(SEARCH_PAGE_SIZE)
|
|
|
|
|
|
|
|
.setPrefetchDistance(SEARCH_PAGE_SIZE)
|
|
|
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
LivePagedListBuilder<Integer, TupleMessageEx> builder = new LivePagedListBuilder<>(
|
|
|
|
LivePagedListBuilder<Integer, TupleMessageEx> builder = new LivePagedListBuilder<>(
|
|
|
|
db.message().pagedFolder(folder, "time", true, false), config);
|
|
|
|
db.message().pagedFolder(folder, "time", true, false), LOCAL_PAGE_SIZE);
|
|
|
|
builder.setBoundaryCallback(searchCallback);
|
|
|
|
builder.setBoundaryCallback(searchCallback);
|
|
|
|
messages = builder.build();
|
|
|
|
messages = builder.build();
|
|
|
|
}
|
|
|
|
}
|
|
|
|