aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/post/HistoryPostPagingSource.java4
-rw-r--r--app/src/main/java/ml/docilealligator/infinityforreddit/readpost/ReadPostDao.java8
3 files changed, 8 insertions, 8 deletions
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java
index c759d06a..3a59798d 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/activities/ViewPostDetailActivity.java
@@ -373,7 +373,7 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
- if (position > posts.size() - 5) {
+ if (posts != null && position > posts.size() - 5) {
fetchMorePosts();
}
}
@@ -663,7 +663,7 @@ public class ViewPostDetailActivity extends BaseActivity implements SortTypeSele
});
} else {
mExecutor.execute((Runnable) () -> {
- long lastItem = posts.isEmpty() ? System.currentTimeMillis() : posts.get(posts.size() - 1).getPostTimeMillis();
+ long lastItem = posts.isEmpty() ? 0 : posts.get(posts.size() - 1).getPostTimeMillis();
List<ReadPost> readPosts = mRedditDataRoomDatabase.readPostDao().getAllReadPosts(username, lastItem);
StringBuilder ids = new StringBuilder();
for (ReadPost readPost : readPosts) {
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/post/HistoryPostPagingSource.java b/app/src/main/java/ml/docilealligator/infinityforreddit/post/HistoryPostPagingSource.java
index c89f7161..ada5ce11 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/post/HistoryPostPagingSource.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/post/HistoryPostPagingSource.java
@@ -111,8 +111,8 @@ public class HistoryPostPagingSource extends ListenableFuturePagingSource<String
}
private ListenableFuture<LoadResult<String, Post>> loadHomePosts(@NonNull LoadParams<String> loadParams, RedditDataRoomDatabase redditDataRoomDatabase) {
- String before = loadParams.getKey();
- ListenableFuture<List<ReadPost>> readPosts = redditDataRoomDatabase.readPostDao().getAllReadPostsListenableFuture(username, Long.parseLong(before == null ? Long.toString(System.currentTimeMillis()) : before));
+ String after = loadParams.getKey();
+ ListenableFuture<List<ReadPost>> readPosts = redditDataRoomDatabase.readPostDao().getAllReadPostsListenableFuture(username, Long.parseLong(after == null ? "0" : after));
ListenableFuture<LoadResult<String, Post>> pageFuture = Futures.transform(readPosts, this::transformData, executor);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/readpost/ReadPostDao.java b/app/src/main/java/ml/docilealligator/infinityforreddit/readpost/ReadPostDao.java
index 3e2f975a..832b491a 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/readpost/ReadPostDao.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/readpost/ReadPostDao.java
@@ -14,11 +14,11 @@ public interface ReadPostDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insert(ReadPost readPost);
- @Query("SELECT * FROM read_posts WHERE username = :username AND time < :before ORDER BY time LIMIT 25")
- ListenableFuture<List<ReadPost>> getAllReadPostsListenableFuture(String username, long before);
+ @Query("SELECT * FROM read_posts WHERE username = :username AND time > :after ORDER BY time LIMIT 25")
+ ListenableFuture<List<ReadPost>> getAllReadPostsListenableFuture(String username, long after);
- @Query("SELECT * FROM read_posts WHERE username = :username AND time < :before ORDER BY time LIMIT 25")
- List<ReadPost> getAllReadPosts(String username, long before);
+ @Query("SELECT * FROM read_posts WHERE username = :username AND time > :after ORDER BY time LIMIT 25")
+ List<ReadPost> getAllReadPosts(String username, long after);
@Query("SELECT * FROM read_posts WHERE username = :username")
List<ReadPost> getAllReadPosts(String username);