Browse Source

set window soft input mode to adjust pan instead of hiding bottom navigation bar

pull/34/head
Thodoris1999 7 years ago
parent
commit
6c62c1927b
  1. 3
      app/src/main/AndroidManifest.xml
  2. 4
      app/src/main/java/gr/thmmy/mthmmy/activities/topic/TopicActivity.java
  3. 6
      app/src/main/java/gr/thmmy/mthmmy/viewmodel/TopicViewModel.java

3
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">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".activities.main.MainActivity" />

4
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

6
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

Loading…
Cancel
Save