diff --git a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java index c79b711b7f47fc7b0e566b5edd6efa156cff8084..dc30cc19b53d8ad5449a07aeb969ad127a33a6bc 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadListActivity.java @@ -191,7 +191,7 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI list.showData(); } else { initList(items); - updateTextInput(replyId); + updateTextInput(); } } else { LOG.info("Concurrent update, reloading"); @@ -253,9 +253,8 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); - ThreadItem replyItem = adapter.getHighlightedItem(); - if (replyItem != null) { - outState.putByteArray(KEY_REPLY_ID, replyItem.getId().getBytes()); + if (replyId != null) { + outState.putByteArray(KEY_REPLY_ID, replyId.getBytes()); } } @@ -273,7 +272,9 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI @Override public void onBackPressed() { if (adapter.getHighlightedItem() != null) { - updateTextInput(null); + textInput.setText(""); + replyId = null; + updateTextInput(); } else { super.onBackPressed(); } @@ -289,7 +290,8 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI @Override public void onReplyClick(final I item) { - updateTextInput(item.getId()); + replyId = item.getId(); + updateTextInput(); if (textInput.isKeyboardOpen()) { scrollToItemAtTop(item); } else { @@ -339,15 +341,15 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI snackbar.show(); } - private void updateTextInput(@Nullable MessageId replyItemId) { - if (replyItemId != null) { + private void updateTextInput() { + if (replyId != null) { textInput.setHint(R.string.forum_message_reply_hint); textInput.requestFocus(); textInput.showSoftKeyboard(); } else { textInput.setHint(R.string.forum_new_message_hint); } - adapter.setHighlightedItem(replyItemId); + adapter.setHighlightedItem(replyId); } @Override @@ -374,7 +376,8 @@ public abstract class ThreadListActivity<G extends NamedGroup, A extends ThreadI getController().createAndStoreMessage(text, replyItem, handler); textInput.hideSoftKeyboard(); textInput.setText(""); - updateTextInput(null); + replyId = null; + updateTextInput(); } protected abstract int getMaxBodyLength();