Browse Source

change topic package structure and clear up TopicViewModel

pull/34/head
Thodoris1999 7 years ago
parent
commit
f0a078332d
  1. 6
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/Posting.java
  2. 6
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java
  3. 10
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicParser.java
  4. 7
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/DeleteTask.java
  5. 2
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/EditTask.java
  6. 2
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/PrepareForEditResult.java
  7. 3
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/PrepareForEditTask.java
  8. 2
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/PrepareForReply.java
  9. 2
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/PrepareForReplyResult.java
  10. 2
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/ReplyTask.java
  11. 3
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/TopicTask.java
  12. 3
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/TopicTaskResult.java
  13. 246
      app/src/main/java/gr/thmmy/mthmmy/viewmodel/TopicViewModel.java

6
app/src/main/java/gr/thmmy/mthmmy/activities/topic/Posting.java

@ -11,11 +11,11 @@ import timber.log.Timber;
/** /**
* This is a utility class containing a collection of static methods to help with topic replying. * This is a utility class containing a collection of static methods to help with topic replying.
*/ */
class Posting { public class Posting {
/** /**
* {@link REPLY_STATUS} enum defines the different possible outcomes of a topic reply request. * {@link REPLY_STATUS} enum defines the different possible outcomes of a topic reply request.
*/ */
enum REPLY_STATUS { public enum REPLY_STATUS {
/** /**
* The request was successful * The request was successful
*/ */
@ -54,7 +54,7 @@ class Posting {
* @return a {@link REPLY_STATUS} that describes the response status * @return a {@link REPLY_STATUS} that describes the response status
* @throws IOException method relies to {@link org.jsoup.Jsoup#parse(String)} * @throws IOException method relies to {@link org.jsoup.Jsoup#parse(String)}
*/ */
static REPLY_STATUS replyStatus(Response response) throws IOException { public static REPLY_STATUS replyStatus(Response response) throws IOException {
if (response.code() == 404) return REPLY_STATUS.NOT_FOUND; if (response.code() == 404) return REPLY_STATUS.NOT_FOUND;
if (response.code() < 200 || response.code() >= 400) return REPLY_STATUS.OTHER_ERROR; if (response.code() < 200 || response.code() >= 400) return REPLY_STATUS.OTHER_ERROR;
String finalUrl = response.request().url().toString(); String finalUrl = response.request().url().toString();

6
app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java

@ -31,6 +31,12 @@ import java.util.ArrayList;
import java.util.Objects; import java.util.Objects;
import gr.thmmy.mthmmy.R; import gr.thmmy.mthmmy.R;
import gr.thmmy.mthmmy.activities.topic.tasks.DeleteTask;
import gr.thmmy.mthmmy.activities.topic.tasks.EditTask;
import gr.thmmy.mthmmy.activities.topic.tasks.PrepareForEditTask;
import gr.thmmy.mthmmy.activities.topic.tasks.PrepareForReply;
import gr.thmmy.mthmmy.activities.topic.tasks.ReplyTask;
import gr.thmmy.mthmmy.activities.topic.tasks.TopicTask;
import gr.thmmy.mthmmy.base.BaseActivity; import gr.thmmy.mthmmy.base.BaseActivity;
import gr.thmmy.mthmmy.model.Bookmark; import gr.thmmy.mthmmy.model.Bookmark;
import gr.thmmy.mthmmy.model.Post; import gr.thmmy.mthmmy.model.Post;

10
app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicParser.java

@ -28,7 +28,7 @@ import timber.log.Timber;
* <li>{@link #parseTopicNumberOfPages(Document, int, ParseHelpers.Language)}</li> * <li>{@link #parseTopicNumberOfPages(Document, int, ParseHelpers.Language)}</li>
* <li>{@link #parseTopic(Document, ParseHelpers.Language)}</li> * <li>{@link #parseTopic(Document, ParseHelpers.Language)}</li>
*/ */
class TopicParser { public class TopicParser {
//User colors //User colors
private static final int USER_COLOR_BLACK = Color.parseColor("#000000"); private static final int USER_COLOR_BLACK = Color.parseColor("#000000");
private static final int USER_COLOR_RED = Color.parseColor("#F44336"); private static final int USER_COLOR_RED = Color.parseColor("#F44336");
@ -48,7 +48,7 @@ class TopicParser {
* @return String containing html with the usernames of users * @return String containing html with the usernames of users
* @see org.jsoup.Jsoup Jsoup * @see org.jsoup.Jsoup Jsoup
*/ */
static String parseUsersViewingThisTopic(Document topic, ParseHelpers.Language language) { public static String parseUsersViewingThisTopic(Document topic, ParseHelpers.Language language) {
if (language.is(ParseHelpers.Language.GREEK)) if (language.is(ParseHelpers.Language.GREEK))
return topic.select("td:containsOwn(διαβάζουν αυτό το θέμα)").first().html(); return topic.select("td:containsOwn(διαβάζουν αυτό το θέμα)").first().html();
return topic.select("td:containsOwn(are viewing this topic)").first().html(); return topic.select("td:containsOwn(are viewing this topic)").first().html();
@ -64,7 +64,7 @@ class TopicParser {
* @return int containing parsed topic's current page * @return int containing parsed topic's current page
* @see org.jsoup.Jsoup Jsoup * @see org.jsoup.Jsoup Jsoup
*/ */
static int parseCurrentPageIndex(Document topic, ParseHelpers.Language language) { public static int parseCurrentPageIndex(Document topic, ParseHelpers.Language language) {
int parsedPage = 1; int parsedPage = 1;
if (language.is(ParseHelpers.Language.GREEK)) { if (language.is(ParseHelpers.Language.GREEK)) {
@ -102,7 +102,7 @@ class TopicParser {
* @return int containing the number of pages * @return int containing the number of pages
* @see org.jsoup.Jsoup Jsoup * @see org.jsoup.Jsoup Jsoup
*/ */
static int parseTopicNumberOfPages(Document topic, int currentPage, ParseHelpers.Language language) { public static int parseTopicNumberOfPages(Document topic, int currentPage, ParseHelpers.Language language) {
int returnPages = 1; int returnPages = 1;
if (language.is(ParseHelpers.Language.GREEK)) { if (language.is(ParseHelpers.Language.GREEK)) {
@ -140,7 +140,7 @@ class TopicParser {
* @return {@link ArrayList} of {@link Post}s * @return {@link ArrayList} of {@link Post}s
* @see org.jsoup.Jsoup Jsoup * @see org.jsoup.Jsoup Jsoup
*/ */
static ArrayList<Post> parseTopic(Document topic, ParseHelpers.Language language) { public static ArrayList<Post> parseTopic(Document topic, ParseHelpers.Language language) {
//Method's variables //Method's variables
final int NO_INDEX = -1; final int NO_INDEX = -1;
ArrayList<Post> parsedPostsList = new ArrayList<>(); ArrayList<Post> parsedPostsList = new ArrayList<>();

7
app/src/main/java/gr/thmmy/mthmmy/activities/topic/DeleteTask.java → app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/DeleteTask.java

@ -1,17 +1,16 @@
package gr.thmmy.mthmmy.activities.topic; package gr.thmmy.mthmmy.activities.topic.tasks;
import android.os.AsyncTask; import android.os.AsyncTask;
import java.io.IOException; import java.io.IOException;
import gr.thmmy.mthmmy.activities.topic.Posting;
import gr.thmmy.mthmmy.base.BaseApplication; import gr.thmmy.mthmmy.base.BaseApplication;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;
import okhttp3.Request; import okhttp3.Request;
import okhttp3.Response; import okhttp3.Response;
import timber.log.Timber; import timber.log.Timber;
import static gr.thmmy.mthmmy.activities.topic.Posting.replyStatus;
public class DeleteTask extends AsyncTask<String, Void, Boolean> { public class DeleteTask extends AsyncTask<String, Void, Boolean> {
private DeleteTaskCallbacks listener; private DeleteTaskCallbacks listener;
@ -37,7 +36,7 @@ public class DeleteTask extends AsyncTask<String, Void, Boolean> {
client.newCall(delete).execute(); client.newCall(delete).execute();
Response response = client.newCall(delete).execute(); Response response = client.newCall(delete).execute();
//Response response = client.newCall(delete).execute(); //Response response = client.newCall(delete).execute();
switch (replyStatus(response)) { switch (Posting.replyStatus(response)) {
case SUCCESSFUL: case SUCCESSFUL:
return true; return true;
default: default:

2
app/src/main/java/gr/thmmy/mthmmy/activities/topic/EditTask.java → app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/EditTask.java

@ -1,4 +1,4 @@
package gr.thmmy.mthmmy.activities.topic; package gr.thmmy.mthmmy.activities.topic.tasks;
import android.os.AsyncTask; import android.os.AsyncTask;

2
app/src/main/java/gr/thmmy/mthmmy/activities/topic/PrepareForEditResult.java → app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/PrepareForEditResult.java

@ -1,4 +1,4 @@
package gr.thmmy.mthmmy.activities.topic; package gr.thmmy.mthmmy.activities.topic.tasks;
public class PrepareForEditResult { public class PrepareForEditResult {
private final String postText, commitEditUrl, numReplies, seqnum, sc, topic; private final String postText, commitEditUrl, numReplies, seqnum, sc, topic;

3
app/src/main/java/gr/thmmy/mthmmy/activities/topic/PrepareForEditTask.java → app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/PrepareForEditTask.java

@ -1,4 +1,4 @@
package gr.thmmy.mthmmy.activities.topic; package gr.thmmy.mthmmy.activities.topic.tasks;
import android.os.AsyncTask; import android.os.AsyncTask;
@ -9,6 +9,7 @@ import org.jsoup.select.Selector;
import java.io.IOException; import java.io.IOException;
import gr.thmmy.mthmmy.activities.topic.tasks.PrepareForEditResult;
import gr.thmmy.mthmmy.base.BaseApplication; import gr.thmmy.mthmmy.base.BaseApplication;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;
import okhttp3.Request; import okhttp3.Request;

2
app/src/main/java/gr/thmmy/mthmmy/activities/topic/PrepareForReply.java → app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/PrepareForReply.java

@ -1,4 +1,4 @@
package gr.thmmy.mthmmy.activities.topic; package gr.thmmy.mthmmy.activities.topic.tasks;
import android.os.AsyncTask; import android.os.AsyncTask;

2
app/src/main/java/gr/thmmy/mthmmy/activities/topic/PrepareForReplyResult.java → app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/PrepareForReplyResult.java

@ -1,4 +1,4 @@
package gr.thmmy.mthmmy.activities.topic; package gr.thmmy.mthmmy.activities.topic.tasks;
public class PrepareForReplyResult { public class PrepareForReplyResult {
private final String numReplies, seqnum, sc, topic, buildedQuotes; private final String numReplies, seqnum, sc, topic, buildedQuotes;

2
app/src/main/java/gr/thmmy/mthmmy/activities/topic/ReplyTask.java → app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/ReplyTask.java

@ -1,4 +1,4 @@
package gr.thmmy.mthmmy.activities.topic; package gr.thmmy.mthmmy.activities.topic.tasks;
import android.os.AsyncTask; import android.os.AsyncTask;

3
app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicTask.java → app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/TopicTask.java

@ -1,4 +1,4 @@
package gr.thmmy.mthmmy.activities.topic; package gr.thmmy.mthmmy.activities.topic.tasks;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.util.SparseArray; import android.util.SparseArray;
@ -11,6 +11,7 @@ import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Objects; import java.util.Objects;
import gr.thmmy.mthmmy.activities.topic.TopicParser;
import gr.thmmy.mthmmy.base.BaseApplication; import gr.thmmy.mthmmy.base.BaseApplication;
import gr.thmmy.mthmmy.model.Post; import gr.thmmy.mthmmy.model.Post;
import gr.thmmy.mthmmy.model.ThmmyPage; import gr.thmmy.mthmmy.model.ThmmyPage;

3
app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicTaskResult.java → app/src/main/java/gr/thmmy/mthmmy/activities/topic/tasks/TopicTaskResult.java

@ -1,9 +1,10 @@
package gr.thmmy.mthmmy.activities.topic; package gr.thmmy.mthmmy.activities.topic.tasks;
import android.util.SparseArray; import android.util.SparseArray;
import java.util.ArrayList; import java.util.ArrayList;
import gr.thmmy.mthmmy.activities.topic.tasks.TopicTask;
import gr.thmmy.mthmmy.model.Post; import gr.thmmy.mthmmy.model.Post;
public class TopicTaskResult { public class TopicTaskResult {

246
app/src/main/java/gr/thmmy/mthmmy/viewmodel/TopicViewModel.java

@ -9,22 +9,24 @@ import android.preference.PreferenceManager;
import java.util.ArrayList; import java.util.ArrayList;
import gr.thmmy.mthmmy.activities.settings.SettingsActivity; import gr.thmmy.mthmmy.activities.settings.SettingsActivity;
import gr.thmmy.mthmmy.activities.topic.DeleteTask; import gr.thmmy.mthmmy.activities.topic.tasks.DeleteTask;
import gr.thmmy.mthmmy.activities.topic.EditTask; import gr.thmmy.mthmmy.activities.topic.tasks.EditTask;
import gr.thmmy.mthmmy.activities.topic.PrepareForReply; import gr.thmmy.mthmmy.activities.topic.tasks.PrepareForReply;
import gr.thmmy.mthmmy.activities.topic.PrepareForReplyResult; import gr.thmmy.mthmmy.activities.topic.tasks.PrepareForReplyResult;
import gr.thmmy.mthmmy.activities.topic.PrepareForEditResult; import gr.thmmy.mthmmy.activities.topic.tasks.PrepareForEditResult;
import gr.thmmy.mthmmy.activities.topic.PrepareForEditTask; import gr.thmmy.mthmmy.activities.topic.tasks.PrepareForEditTask;
import gr.thmmy.mthmmy.activities.topic.ReplyTask; import gr.thmmy.mthmmy.activities.topic.tasks.ReplyTask;
import gr.thmmy.mthmmy.activities.topic.TopicTask; import gr.thmmy.mthmmy.activities.topic.tasks.TopicTask;
import gr.thmmy.mthmmy.activities.topic.TopicTaskResult; import gr.thmmy.mthmmy.activities.topic.tasks.TopicTaskResult;
import gr.thmmy.mthmmy.base.BaseActivity; import gr.thmmy.mthmmy.base.BaseActivity;
import gr.thmmy.mthmmy.model.Post; import gr.thmmy.mthmmy.model.Post;
import gr.thmmy.mthmmy.session.SessionManager; import gr.thmmy.mthmmy.session.SessionManager;
public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTaskCompleted, public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTaskCompleted,
PrepareForReply.OnPrepareForReplyFinished, PrepareForEditTask.OnPrepareEditFinished { PrepareForReply.OnPrepareForReplyFinished, PrepareForEditTask.OnPrepareEditFinished {
/**
* topic state
*/
private boolean editingPost = false; private boolean editingPost = false;
private boolean writingReply = false; private boolean writingReply = false;
/** /**
@ -36,6 +38,7 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa
private PrepareForEditTask currentPrepareForEditTask; private PrepareForEditTask currentPrepareForEditTask;
private PrepareForReply currentPrepareForReplyTask; private PrepareForReply currentPrepareForReplyTask;
//callbacks for topic activity
private TopicTask.TopicTaskObserver topicTaskObserver; private TopicTask.TopicTaskObserver topicTaskObserver;
private DeleteTask.DeleteTaskCallbacks deleteTaskCallbacks; private DeleteTask.DeleteTaskCallbacks deleteTaskCallbacks;
private ReplyTask.ReplyTaskCallbacks replyFinishListener; private ReplyTask.ReplyTaskCallbacks replyFinishListener;
@ -49,116 +52,6 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa
private String firstTopicUrl; private String firstTopicUrl;
public void setTopicTaskObserver(TopicTask.TopicTaskObserver topicTaskObserver) {
this.topicTaskObserver = topicTaskObserver;
}
public void setDeleteTaskCallbacks(DeleteTask.DeleteTaskCallbacks deleteTaskCallbacks) {
this.deleteTaskCallbacks = deleteTaskCallbacks;
}
public void setReplyFinishListener(ReplyTask.ReplyTaskCallbacks replyFinishListener) {
this.replyFinishListener = replyFinishListener;
}
public void setPrepareForEditCallbacks(PrepareForEditTask.PrepareForEditCallbacks prepareForEditCallbacks) {
this.prepareForEditCallbacks = prepareForEditCallbacks;
}
public void setEditTaskCallbacks(EditTask.EditTaskCallbacks editTaskCallbacks) {
this.editTaskCallbacks = editTaskCallbacks;
}
public void setPrepareForReplyCallbacks(PrepareForReply.PrepareForReplyCallbacks prepareForReplyCallbacks) {
this.prepareForReplyCallbacks = prepareForReplyCallbacks;
}
public MutableLiveData<TopicTaskResult> getTopicTaskResult() {
return topicTaskResult;
}
public MutableLiveData<PrepareForReplyResult> getPrepareForReplyResult() {
return prepareForReplyResult;
}
public MutableLiveData<PrepareForEditResult> getPrepareForEditResult() {
return prepareForEditResult;
}
public void setEditingPost(boolean editingPost) {
this.editingPost = editingPost;
}
public boolean isEditingPost() {
return editingPost;
}
public int getPostBeingEditedPosition() {
return postBeingEditedPosition;
}
public boolean canReply() {
return topicTaskResult.getValue() != null && topicTaskResult.getValue().getReplyPageUrl() != null;
}
public boolean isWritingReply() {
return writingReply;
}
public void setWritingReply(boolean writingReply) {
this.writingReply = writingReply;
}
public String getBaseUrl() {
if (topicTaskResult.getValue() != null) {
return topicTaskResult.getValue().getBaseUrl();
} else {
return "";
}
}
public String getTopicUrl() {
if (topicTaskResult.getValue() != null) {
return topicTaskResult.getValue().getLastPageLoadAttemptedUrl();
} else {
// topic task has not finished yet (log? disable menu button until load is finished?)
return firstTopicUrl;
}
}
public String getTopicTitle() {
if (topicTaskResult.getValue() == null)
throw new NullPointerException("Topic task has not finished yet!");
return topicTaskResult.getValue().getTopicTitle();
}
public int getCurrentPageIndex() {
if (topicTaskResult.getValue() == null)
throw new NullPointerException("No page has been loaded yet!");
return topicTaskResult.getValue().getCurrentPageIndex();
}
public int getPageCount() {
if (topicTaskResult.getValue() == null)
throw new NullPointerException("No page has been loaded yet!");
return topicTaskResult.getValue().getPageCount();
}
public String getPostBeingEditedText() {
if (prepareForEditResult.getValue() == null)
throw new NullPointerException("Edit preparation was not found!");
return prepareForEditResult.getValue().getPostText();
}
public String getBuildedQuotes() {
if (prepareForReplyResult.getValue() != null) {
return prepareForReplyResult.getValue().getBuildedQuotes();
} else {
return "";
}
}
public void initialLoad(String pageUrl) { public void initialLoad(String pageUrl) {
firstTopicUrl = pageUrl; firstTopicUrl = pageUrl;
currentTopicTask = new TopicTask(topicTaskObserver, this); currentTopicTask = new TopicTask(topicTaskObserver, this);
@ -257,6 +150,7 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa
// after he is done posting, editing or deleting // after he is done posting, editing or deleting
} }
// callbacks for viewmodel
@Override @Override
public void onTopicTaskCompleted(TopicTaskResult result) { public void onTopicTaskCompleted(TopicTaskResult result) {
topicTaskResult.setValue(result); topicTaskResult.setValue(result);
@ -274,4 +168,116 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa
postBeingEditedPosition = position; postBeingEditedPosition = position;
prepareForEditResult.setValue(result); prepareForEditResult.setValue(result);
} }
// <-------------Just getters, setters and helper methods below here---------------->
public void setTopicTaskObserver(TopicTask.TopicTaskObserver topicTaskObserver) {
this.topicTaskObserver = topicTaskObserver;
}
public void setDeleteTaskCallbacks(DeleteTask.DeleteTaskCallbacks deleteTaskCallbacks) {
this.deleteTaskCallbacks = deleteTaskCallbacks;
}
public void setReplyFinishListener(ReplyTask.ReplyTaskCallbacks replyFinishListener) {
this.replyFinishListener = replyFinishListener;
}
public void setPrepareForEditCallbacks(PrepareForEditTask.PrepareForEditCallbacks prepareForEditCallbacks) {
this.prepareForEditCallbacks = prepareForEditCallbacks;
}
public void setEditTaskCallbacks(EditTask.EditTaskCallbacks editTaskCallbacks) {
this.editTaskCallbacks = editTaskCallbacks;
}
public void setPrepareForReplyCallbacks(PrepareForReply.PrepareForReplyCallbacks prepareForReplyCallbacks) {
this.prepareForReplyCallbacks = prepareForReplyCallbacks;
}
public MutableLiveData<TopicTaskResult> getTopicTaskResult() {
return topicTaskResult;
}
public MutableLiveData<PrepareForReplyResult> getPrepareForReplyResult() {
return prepareForReplyResult;
}
public MutableLiveData<PrepareForEditResult> getPrepareForEditResult() {
return prepareForEditResult;
}
public void setEditingPost(boolean editingPost) {
this.editingPost = editingPost;
}
public boolean isEditingPost() {
return editingPost;
}
public int getPostBeingEditedPosition() {
return postBeingEditedPosition;
}
public boolean canReply() {
return topicTaskResult.getValue() != null && topicTaskResult.getValue().getReplyPageUrl() != null;
}
public boolean isWritingReply() {
return writingReply;
}
public void setWritingReply(boolean writingReply) {
this.writingReply = writingReply;
}
public String getBaseUrl() {
if (topicTaskResult.getValue() != null) {
return topicTaskResult.getValue().getBaseUrl();
} else {
return "";
}
}
public String getTopicUrl() {
if (topicTaskResult.getValue() != null) {
return topicTaskResult.getValue().getLastPageLoadAttemptedUrl();
} else {
// topic task has not finished yet (log? disable menu button until load is finished?)
return firstTopicUrl;
}
}
public String getTopicTitle() {
if (topicTaskResult.getValue() == null)
throw new NullPointerException("Topic task has not finished yet!");
return topicTaskResult.getValue().getTopicTitle();
}
public int getCurrentPageIndex() {
if (topicTaskResult.getValue() == null)
throw new NullPointerException("No page has been loaded yet!");
return topicTaskResult.getValue().getCurrentPageIndex();
}
public int getPageCount() {
if (topicTaskResult.getValue() == null)
throw new NullPointerException("No page has been loaded yet!");
return topicTaskResult.getValue().getPageCount();
}
public String getPostBeingEditedText() {
if (prepareForEditResult.getValue() == null)
throw new NullPointerException("Edit preparation was not found!");
return prepareForEditResult.getValue().getPostText();
}
public String getBuildedQuotes() {
if (prepareForReplyResult.getValue() != null) {
return prepareForReplyResult.getValue().getBuildedQuotes();
} else {
return "";
}
}
} }

Loading…
Cancel
Save