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. 41
      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); bottomNavBar.setVisibility(View.VISIBLE);
return; return;
} else if (viewModel.isEditingPost()) { } else if (viewModel.isEditingPost()) {
postsList.get(viewModel.getPostEditedPosition()).setPostType(Post.TYPE_POST); postsList.get(viewModel.getPostBeingEditedPosition()).setPostType(Post.TYPE_POST);
topicAdapter.notifyItemChanged(viewModel.getPostEditedPosition()); topicAdapter.notifyItemChanged(viewModel.getPostBeingEditedPosition());
topicAdapter.setBackButtonHidden(); topicAdapter.setBackButtonHidden();
viewModel.setEditingPost(false); viewModel.setEditingPost(false);
replyFAB.show(); replyFAB.show();
@ -467,7 +467,7 @@ public class TopicActivity extends BaseActivity implements TopicTask.TopicTaskOb
} else if (rect != null && event.getAction() == MotionEvent.ACTION_MOVE) { } else if (rect != null && event.getAction() == MotionEvent.ACTION_MOVE) {
if (!rect.contains(v.getLeft() + (int) event.getX(), v.getTop() + (int) event.getY())) { if (!rect.contains(v.getLeft() + (int) event.getX(), v.getTop() + (int) event.getY())) {
autoIncrement = false; autoIncrement = false;
decrementPageRequestValue(pageRequestValue - viewModel.getTopicTaskResult().getValue().getCurrentPageIndex()); decrementPageRequestValue(pageRequestValue - viewModel.getCurrentPageIndex());
paginationEnabled(true); paginationEnabled(true);
} }
} }
@ -513,7 +513,7 @@ public class TopicActivity extends BaseActivity implements TopicTask.TopicTaskOb
if (rect != null && if (rect != null &&
!rect.contains(v.getLeft() + (int) event.getX(), v.getTop() + (int) event.getY())) { !rect.contains(v.getLeft() + (int) event.getX(), v.getTop() + (int) event.getY())) {
autoIncrement = false; autoIncrement = false;
incrementPageRequestValue(viewModel.getTopicTaskResult().getValue().getCurrentPageIndex() - pageRequestValue); incrementPageRequestValue(viewModel.getCurrentPageIndex() - pageRequestValue);
paginationEnabled(true); paginationEnabled(true);
} }
} }
@ -523,7 +523,7 @@ public class TopicActivity extends BaseActivity implements TopicTask.TopicTaskOb
} }
private void incrementPageRequestValue(int step) { private void incrementPageRequestValue(int step) {
if (pageRequestValue < viewModel.getTopicTaskResult().getValue().getPageCount() - step) { if (pageRequestValue < viewModel.getPageCount() - step) {
pageRequestValue = pageRequestValue + step; pageRequestValue = pageRequestValue + step;
} else } else
pageRequestValue = viewModel.getTopicTaskResult().getValue().getPageCount(); 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.username.setText(getSessionManager().getUsername());
holder.quickReplySubject.setText("Re: " + viewModel.getTopicTitle()); holder.quickReplySubject.setText("Re: " + viewModel.getTopicTitle());
if (viewModel.getPrepareForReplyResult().getValue() != null) holder.quickReply.setText(viewModel.getBuildedQuotes());
holder.quickReply.setText(viewModel.getPrepareForReplyResult().getValue().getBuildedQuotes());
holder.submitButton.setOnClickListener(view -> { holder.submitButton.setOnClickListener(view -> {
@ -534,9 +533,7 @@ class TopicAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
holder.username.setText(getSessionManager().getUsername()); holder.username.setText(getSessionManager().getUsername());
holder.editSubject.setText(postsList.get(position).getSubject()); holder.editSubject.setText(postsList.get(position).getSubject());
if (viewModel.getPrepareForEditResult().getValue() == null) holder.editMessage.setText(viewModel.getPostBeingEditedText());
throw new NullPointerException("Edit preparation was not found!");
holder.editMessage.setText(viewModel.getPrepareForEditResult().getValue().getPostText());
holder.submitButton.setOnClickListener(view -> { holder.submitButton.setOnClickListener(view -> {
if (holder.editSubject.getText().toString().isEmpty()) return; if (holder.editSubject.getText().toString().isEmpty()) return;

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

Loading…
Cancel
Save