diff --git a/app/src/main/java/com/github/gotify/messages/MessagesActivity.java b/app/src/main/java/com/github/gotify/messages/MessagesActivity.java index a0e2f09..99742d4 100644 --- a/app/src/main/java/com/github/gotify/messages/MessagesActivity.java +++ b/app/src/main/java/com/github/gotify/messages/MessagesActivity.java @@ -354,8 +354,7 @@ public class MessagesActivity extends AppCompatActivity } } - private class SelectApplicationAndUpdateMessages - extends AsyncTask> { + private class SelectApplicationAndUpdateMessages extends AsyncTask { private SelectApplicationAndUpdateMessages(boolean withLoadingSpinner) { if (withLoadingSpinner) { @@ -364,13 +363,15 @@ public class MessagesActivity extends AppCompatActivity } @Override - protected List doInBackground(Integer... appIds) { - return messages.getOrLoadMore(appIds[0]); + protected Integer doInBackground(Integer... appIds) { + Integer appId = first(appIds); + messages.loadMoreIfNotPresent(appId); + return appId; } @Override - protected void onPostExecute(List messageWithImages) { - updateMessagesAndStopLoading(messageWithImages); + protected void onPostExecute(Integer appId) { + updateMessagesAndStopLoading(messages.get(appId)); } } diff --git a/app/src/main/java/com/github/gotify/messages/provider/MessageFacade.java b/app/src/main/java/com/github/gotify/messages/provider/MessageFacade.java index 9356c9f..f3eaa2d 100644 --- a/app/src/main/java/com/github/gotify/messages/provider/MessageFacade.java +++ b/app/src/main/java/com/github/gotify/messages/provider/MessageFacade.java @@ -37,12 +37,11 @@ public class MessageFacade { return get(appId); } - public List getOrLoadMore(Integer appId) { + public void loadMoreIfNotPresent(Integer appId) { MessageState state = this.state.state(appId); - if (state.loaded) { - return get(appId); + if (!state.loaded) { + loadMore(appId); } - return loadMore(appId); } public void clear() {