diff options
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); |