From f97c2d881135c0cdfb0b0d834837c3bbd91e3734 Mon Sep 17 00:00:00 2001
From: Thodoris1999 <teotyrov@gmail.com>
Date: Wed, 8 Aug 2018 18:08:19 +0300
Subject: [PATCH] crash fix when topic is destroyed before a first load, minor
 improvements

---
 .../thmmy/mthmmy/viewmodel/TopicViewModel.java   | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/app/src/main/java/gr/thmmy/mthmmy/viewmodel/TopicViewModel.java b/app/src/main/java/gr/thmmy/mthmmy/viewmodel/TopicViewModel.java
index b74a63a2..02319e9e 100644
--- a/app/src/main/java/gr/thmmy/mthmmy/viewmodel/TopicViewModel.java
+++ b/app/src/main/java/gr/thmmy/mthmmy/viewmodel/TopicViewModel.java
@@ -104,7 +104,7 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa
         if (replyPageUrl.getValue() == null)
             throw new NullPointerException("Topic task has not finished yet!");
         stopLoading();
-        setPageIndicatorIndex(getPageCount(), true);
+        setPageIndicatorIndex(pageCount, true);
         currentPrepareForReplyTask = new PrepareForReply(prepareForReplyCallbacks, this,
                 replyPageUrl.getValue());
         currentPrepareForReplyTask.execute(toQuoteList.toArray(new Integer[0]));
@@ -155,7 +155,7 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa
     public void stopLoading() {
         if (currentTopicTask != null && currentTopicTask.getStatus() == AsyncTask.Status.RUNNING) {
             currentTopicTask.cancel(true);
-            pageIndicatorIndex.setValue(getCurrentPageIndex());
+            pageIndicatorIndex.setValue(currentPageIndex);
             topicTaskObserver.onTopicTaskCancelled();
         }
         if (currentPrepareForEditTask != null && currentPrepareForEditTask.getStatus() == AsyncTask.Status.RUNNING) {
@@ -208,10 +208,10 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa
     public void incrementPageRequestValue(int step, boolean changePage) {
         if (pageIndicatorIndex.getValue() == null)
             throw new NullPointerException("No page has been loaded yet!");
-        if (pageIndicatorIndex.getValue() <= getPageCount() - step) {
+        if (pageIndicatorIndex.getValue() <= pageCount - step) {
             pageIndicatorIndex.setValue(pageIndicatorIndex.getValue() + step);
         } else
-            pageIndicatorIndex.setValue(getPageCount());
+            pageIndicatorIndex.setValue(pageCount);
         if (changePage) performPageChange();
     }
 
@@ -368,10 +368,8 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa
     }
 
     public String getBuildedQuotes() {
-        if (prepareForReplyResult.getValue() != null) {
-            return prepareForReplyResult.getValue().getBuildedQuotes();
-        } else {
-            return "";
-        }
+        if (prepareForReplyResult.getValue() == null)
+            throw new NullPointerException("Reply preparation was not found");
+        return prepareForReplyResult.getValue().getBuildedQuotes();
     }
 }