From c0f4edab6959f3ba66ce723c24c8adc56cd1cd6c Mon Sep 17 00:00:00 2001 From: Thodoris1999 Date: Fri, 10 Aug 2018 12:17:22 +0300 Subject: [PATCH] change submit button behaviour when replying/editing post --- .../activities/topic/TopicActivity.java | 23 ++++++++++--------- .../mthmmy/activities/topic/TopicAdapter.java | 19 +++++++-------- .../mthmmy/viewmodel/TopicViewModel.java | 1 - 3 files changed, 20 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java b/app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java index 234edef0..f755838a 100644 --- a/app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java +++ b/app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java @@ -486,15 +486,12 @@ public class TopicActivity extends BaseActivity implements TopicAdapter.OnPostFo imm.hideSoftInputFromWindow(view.getWindowToken(), 0); } - postsList.remove(postsList.size() - 1); - topicAdapter.notifyItemRemoved(postsList.size()); - progressBar.setVisibility(ProgressBar.GONE); - replyFAB.show(); - bottomNavBar.setVisibility(View.VISIBLE); - viewModel.setWritingReply(false); if (success) { + replyFAB.show(); + bottomNavBar.setVisibility(View.VISIBLE); + viewModel.setWritingReply(false); if ((postsList.get(postsList.size() - 1).getPostNumber() + 1) % 15 == 0) { viewModel.loadUrl(ParseHelpers.getBaseURL(viewModel.getTopicUrl()) + "." + 2147483647); } else { @@ -502,6 +499,8 @@ public class TopicActivity extends BaseActivity implements TopicAdapter.OnPostFo } } else { Toast.makeText(TopicActivity.this, "Post failed!", Toast.LENGTH_SHORT).show(); + recyclerView.getChildAt(postsList.size() - 1).setAlpha(1); + recyclerView.getChildAt(postsList.size() - 1).setEnabled(true); } } }); @@ -530,17 +529,19 @@ public class TopicActivity extends BaseActivity implements TopicAdapter.OnPostFo imm.hideSoftInputFromWindow(view.getWindowToken(), 0); } - postsList.get(position).setPostType(Post.TYPE_POST); - topicAdapter.notifyItemChanged(position); - viewModel.setEditingPost(false); progressBar.setVisibility(ProgressBar.GONE); - replyFAB.show(); - bottomNavBar.setVisibility(View.VISIBLE); if (result) { + postsList.get(position).setPostType(Post.TYPE_POST); + topicAdapter.notifyItemChanged(position); + replyFAB.show(); + bottomNavBar.setVisibility(View.VISIBLE); + viewModel.setEditingPost(false); viewModel.reloadPage(); } else { Toast.makeText(TopicActivity.this, "Edit failed!", Toast.LENGTH_SHORT).show(); + recyclerView.getChildAt(viewModel.getPostBeingEditedPosition()).setAlpha(1); + recyclerView.getChildAt(viewModel.getPostBeingEditedPosition()).setEnabled(true); } } }); diff --git a/app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicAdapter.java b/app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicAdapter.java index e2b98cfe..b45a44bd 100644 --- a/app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicAdapter.java +++ b/app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicAdapter.java @@ -453,15 +453,13 @@ class TopicAdapter extends RecyclerView.Adapter { holder.submitButton.setOnClickListener(view -> { if (holder.quickReplySubject.getText().toString().isEmpty()) return; if (holder.quickReply.getText().toString().isEmpty()) return; - holder.submitButton.setEnabled(false); + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(view.getWindowToken(), 0); + holder.itemView.setAlpha(0.5f); + holder.itemView.setEnabled(false); viewModel.postReply(context, holder.quickReplySubject.getText().toString(), holder.quickReply.getText().toString()); - - holder.quickReplySubject.getText().clear(); - holder.quickReplySubject.setText("Re: " + viewModel.getTopicTitle().getValue()); - holder.quickReply.getText().clear(); - holder.submitButton.setEnabled(true); }); @@ -491,13 +489,12 @@ class TopicAdapter extends RecyclerView.Adapter { holder.submitButton.setOnClickListener(view -> { if (holder.editSubject.getText().toString().isEmpty()) return; if (holder.editMessage.getText().toString().isEmpty()) return; - holder.submitButton.setEnabled(false); + InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(view.getWindowToken(), 0); + holder.itemView.setAlpha(0.5f); + holder.itemView.setEnabled(false); viewModel.editPost(position, holder.editSubject.getText().toString(), holder.editMessage.getText().toString()); - - holder.editSubject.getText().clear(); - holder.editSubject.setText(postsList.get(position).getSubject()); - holder.submitButton.setEnabled(true); }); if (backPressHidden) { 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 02319e9e..abc9ac09 100644 --- a/app/src/main/java/gr/thmmy/mthmmy/viewmodel/TopicViewModel.java +++ b/app/src/main/java/gr/thmmy/mthmmy/viewmodel/TopicViewModel.java @@ -200,7 +200,6 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa @Override public void onPrepareEditFinished(PrepareForEditResult result, int position) { - editingPost = true; postBeingEditedPosition = position; prepareForEditResult.setValue(result); }