From 6c62c1927b9e8540be6eb5a1724190e0b1516c0b Mon Sep 17 00:00:00 2001 From: Thodoris1999 Date: Thu, 26 Jul 2018 15:59:42 +0300 Subject: [PATCH] set window soft input mode to adjust pan instead of hiding bottom navigation bar --- app/src/main/AndroidManifest.xml | 3 ++- .../gr/thmmy/mthmmy/activities/topic/TopicActivity.java | 4 ++-- .../main/java/gr/thmmy/mthmmy/viewmodel/TopicViewModel.java | 6 +++++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3e7a42a9..c6b4a73b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -72,7 +72,8 @@ android:name=".activities.topic.TopicActivity" android:configChanges="orientation|screenSize" android:parentActivityName=".activities.main.MainActivity" - android:theme="@style/AppTheme.NoActionBar"> + android:theme="@style/AppTheme.NoActionBar" + android:windowSoftInputMode="adjustPan"> 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 78d14fdb..f969b933 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 @@ -254,6 +254,7 @@ public class TopicActivity extends BaseActivity implements TopicTask.TopicTaskOb topicAdapter.notifyItemInserted(postsList.size()); recyclerView.scrollToPosition(postsList.size() - 1); showControls(); + replyFAB.setVisibility(View.GONE); } }); @@ -348,7 +349,6 @@ public class TopicActivity extends BaseActivity implements TopicTask.TopicTaskOb topicAdapter.notifyItemRemoved(postsList.size()); topicAdapter.setBackButtonHidden(); replyFAB.setVisibility(View.INVISIBLE); - bottomNavBar.setVisibility(View.INVISIBLE); paginationEnabled(true); replyFAB.setEnabled(true); return; @@ -563,6 +563,7 @@ public class TopicActivity extends BaseActivity implements TopicTask.TopicTaskOb topicAdapter.notifyItemRemoved(postsList.size()); showControls(); + replyFAB.setVisibility(View.VISIBLE); viewModel.setWritingReply(false); if (success) { @@ -574,7 +575,6 @@ public class TopicActivity extends BaseActivity implements TopicTask.TopicTaskOb } else { Toast.makeText(TopicActivity.this, "Post failed!", Toast.LENGTH_SHORT).show(); } - } @Override 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 f380a296..426fd8d8 100644 --- a/app/src/main/java/gr/thmmy/mthmmy/viewmodel/TopicViewModel.java +++ b/app/src/main/java/gr/thmmy/mthmmy/viewmodel/TopicViewModel.java @@ -172,6 +172,7 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa public void prepareForEdit(int position, String postEditURL) { if (topicTaskResult.getValue() == null) throw new NullPointerException("Topic task has not finished yet!"); + stopLoading(); currentPrepareForEditTask = new PrepareForEditTask(prepareForEditCallbacks, this, position, topicTaskResult.getValue().getReplyPageUrl()); currentPrepareForEditTask.execute(postEditURL); @@ -187,6 +188,8 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa /** * cancel tasks that change the ui + * topic, prepare for edit, prepare for reply tasks need to cancel all other ui changing tasks + * before starting */ public void stopLoading() { if (currentTopicTask != null && currentTopicTask.getStatus() == AsyncTask.Status.RUNNING) { @@ -201,7 +204,8 @@ public class TopicViewModel extends BaseViewModel implements TopicTask.OnTopicTa currentPrepareForReplyTask.cancel(true); prepareForReplyCallbacks.onPrepareForReplyCancelled(); } - // no need to cancel reply, edit and delete task for navigation + // no need to cancel reply, edit and delete task, user should not have to wait for the ui + // after he is done posting, editing or deleting } @Override