Browse Source

minor fixes and improvements

pull/34/head
Thodoris1999 7 years ago
parent
commit
9939af24f5
  1. 10
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java
  2. 7
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicAdapter.java
  3. 49
      app/src/main/java/gr/thmmy/mthmmy/viewmodel/TopicViewModel.java

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

@ -349,8 +349,8 @@ public class TopicActivity extends BaseActivity implements TopicTask.TopicTaskOb
bottomNavBar.setVisibility(View.VISIBLE);
return;
} else if (viewModel.isEditingPost()) {
postsList.get(viewModel.getPostEditedPosition()).setPostType(Post.TYPE_POST);
topicAdapter.notifyItemChanged(viewModel.getPostEditedPosition());
postsList.get(viewModel.getPostBeingEditedPosition()).setPostType(Post.TYPE_POST);
topicAdapter.notifyItemChanged(viewModel.getPostBeingEditedPosition());
topicAdapter.setBackButtonHidden();
viewModel.setEditingPost(false);
replyFAB.show();
@ -467,7 +467,7 @@ public class TopicActivity extends BaseActivity implements TopicTask.TopicTaskOb
} else if (rect != null && event.getAction() == MotionEvent.ACTION_MOVE) {
if (!rect.contains(v.getLeft() + (int) event.getX(), v.getTop() + (int) event.getY())) {
autoIncrement = false;
decrementPageRequestValue(pageRequestValue - viewModel.getTopicTaskResult().getValue().getCurrentPageIndex());
decrementPageRequestValue(pageRequestValue - viewModel.getCurrentPageIndex());
paginationEnabled(true);
}
}
@ -513,7 +513,7 @@ public class TopicActivity extends BaseActivity implements TopicTask.TopicTaskOb
if (rect != null &&
!rect.contains(v.getLeft() + (int) event.getX(), v.getTop() + (int) event.getY())) {
autoIncrement = false;
incrementPageRequestValue(viewModel.getTopicTaskResult().getValue().getCurrentPageIndex() - pageRequestValue);
incrementPageRequestValue(viewModel.getCurrentPageIndex() - pageRequestValue);
paginationEnabled(true);
}
}
@ -523,7 +523,7 @@ public class TopicActivity extends BaseActivity implements TopicTask.TopicTaskOb
}
private void incrementPageRequestValue(int step) {
if (pageRequestValue < viewModel.getTopicTaskResult().getValue().getPageCount() - step) {
if (pageRequestValue < viewModel.getPageCount() - step) {
pageRequestValue = pageRequestValue + step;
} else
pageRequestValue = viewModel.getTopicTaskResult().getValue().getPageCount();

7
app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicAdapter.java

@ -494,8 +494,7 @@ class TopicAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
holder.username.setText(getSessionManager().getUsername());
holder.quickReplySubject.setText("Re: " + viewModel.getTopicTitle());
if (viewModel.getPrepareForReplyResult().getValue() != null)
holder.quickReply.setText(viewModel.getPrepareForReplyResult().getValue().getBuildedQuotes());
holder.quickReply.setText(viewModel.getBuildedQuotes());
holder.submitButton.setOnClickListener(view -> {
@ -534,9 +533,7 @@ class TopicAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
holder.username.setText(getSessionManager().getUsername());
holder.editSubject.setText(postsList.get(position).getSubject());
if (viewModel.getPrepareForEditResult().getValue() == null)
throw new NullPointerException("Edit preparation was not found!");
holder.editMessage.setText(viewModel.getPrepareForEditResult().getValue().getPostText());
holder.editMessage.setText(viewModel.getPostBeingEditedText());
holder.submitButton.setOnClickListener(view -> {
if (holder.editSubject.getText().toString().isEmpty()) return;

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

@ -30,7 +30,7 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa
/**
* holds the adapter position of the post being edited
*/
private int postEditedPosition;
private int postBeingEditedPosition;
private TopicTask currentTopicTask;
private PrepareForEditTask currentPrepareForEditTask;
@ -93,8 +93,8 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa
return editingPost;
}
public int getPostEditedPosition() {
return postEditedPosition;
public int getPostBeingEditedPosition() {
return postBeingEditedPosition;
}
public boolean canReply() {
@ -127,10 +127,35 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa
}
public String getTopicTitle() {
if (topicTaskResult.getValue() != null) {
return topicTaskResult.getValue().getTopicTitle();
} else {
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 "";
}
}
@ -148,11 +173,15 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa
public void reloadPage() {
stopLoading();
if (topicTaskResult.getValue() == null)
throw new NullPointerException("No topic task has finished yet!");
currentTopicTask = new TopicTask(topicTaskObserver, this);
currentTopicTask.execute(topicTaskResult.getValue().getLastPageLoadAttemptedUrl());
}
public void changePage(int pageRequested) {
if (topicTaskResult.getValue() == null)
throw new NullPointerException("No page has been loaded yet!");
if (pageRequested != topicTaskResult.getValue().getCurrentPageIndex() - 1) {
stopLoading();
currentTopicTask = new TopicTask(topicTaskObserver, this);
@ -165,9 +194,9 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa
throw new NullPointerException("Topic task has not finished yet!");
stopLoading();
changePage(topicTaskResult.getValue().getPageCount() - 1);
currentPrepareForReplyTask = new PrepareForReply(prepareForReplyCallbacks, this,
topicTaskResult.getValue().getReplyPageUrl(), postsList);
currentPrepareForReplyTask.execute(toQuoteList.toArray(new Integer[0]));
currentPrepareForReplyTask = new PrepareForReply(prepareForReplyCallbacks, this,
topicTaskResult.getValue().getReplyPageUrl(), postsList);
currentPrepareForReplyTask.execute(toQuoteList.toArray(new Integer[0]));
}
public void postReply(Context context, String subject, String reply) {
@ -242,7 +271,7 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa
@Override
public void onPrepareEditFinished(PrepareForEditResult result, int position) {
editingPost = true;
postEditedPosition = position;
postBeingEditedPosition = position;
prepareForEditResult.setValue(result);
}
}

Loading…
Cancel
Save