From 9e666dcdb35d27162d909e63210c53699a452a49 Mon Sep 17 00:00:00 2001
From: Robin Appelman <icewind@owncloud.com>
Date: Sat, 23 Jan 2016 17:10:56 +0100
Subject: [PATCH] Load the last page when switching to the previous chapter

---
 .../kanade/tachiyomi/ui/reader/ReaderActivity.java   |  4 ++++
 .../kanade/tachiyomi/ui/reader/ReaderPresenter.java  | 12 ++++++++----
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.java b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.java
index cbe7eabde..aa27e2e52 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.java
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.java
@@ -164,6 +164,10 @@ public class ReaderActivity extends BaseRxActivity<ReaderPresenter> {
     }
 
     public void onChapterReady(List<Page> pages, Manga manga, Chapter chapter, int currentPage) {
+        if (currentPage == -1) {
+            currentPage = pages.size() - 1;
+        }
+
         if (viewer == null) {
             viewer = createViewer(manga);
             getSupportFragmentManager().beginTransaction().replace(R.id.reader, viewer).commit();
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.java b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.java
index e4321a82d..4834a5fd2 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.java
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.java
@@ -215,8 +215,12 @@ public class ReaderPresenter extends BasePresenter<ReaderActivity> {
                 .doOnNext(mangaSync -> this.mangaSyncList = mangaSync);
     }
 
-    // Loads the given chapter
     private void loadChapter(Chapter chapter) {
+        loadChapter(chapter, 0);
+    }
+
+    // Loads the given chapter
+    private void loadChapter(Chapter chapter, int requestedPage) {
         // Before loading the chapter, stop preloading (if it's working) and save current progress
         stopPreloadingNextChapter();
 
@@ -227,7 +231,7 @@ public class ReaderPresenter extends BasePresenter<ReaderActivity> {
         if (!chapter.read && chapter.last_page_read != 0)
             currentPage = chapter.last_page_read;
         else
-            currentPage = 0;
+            currentPage = requestedPage;
 
         // Reset next and previous chapter. They have to be fetched again
         nextChapter = null;
@@ -312,7 +316,7 @@ public class ReaderPresenter extends BasePresenter<ReaderActivity> {
     public boolean loadNextChapter() {
         if (hasNextChapter()) {
             onChapterLeft();
-            loadChapter(nextChapter);
+            loadChapter(nextChapter, 0);
             return true;
         }
         return false;
@@ -321,7 +325,7 @@ public class ReaderPresenter extends BasePresenter<ReaderActivity> {
     public boolean loadPreviousChapter() {
         if (hasPreviousChapter()) {
             onChapterLeft();
-            loadChapter(previousChapter);
+            loadChapter(previousChapter, -1);
             return true;
         }
         return false;