diff --git a/briar-android/src/org/briarproject/android/privategroup/conversation/GroupActivity.java b/briar-android/src/org/briarproject/android/privategroup/conversation/GroupActivity.java index da9ceed369df8058a59b0a1c0fdd424d7719e000..5cd52de8d34ec7b07a1fc83696a22e482947a69c 100644 --- a/briar-android/src/org/briarproject/android/privategroup/conversation/GroupActivity.java +++ b/briar-android/src/org/briarproject/android/privategroup/conversation/GroupActivity.java @@ -55,17 +55,29 @@ public class GroupActivity extends if (groupName != null) setTitle(groupName); loadNamedGroup(); - list.setEmptyText(R.string.groups_no_messages); + setGroupEnabled(false); } @Override - public void onStart() { - super.onStart(); + @LayoutRes + protected int getLayout() { + return R.layout.activity_forum; + } + + @Override + protected GroupMessageAdapter createAdapter( + LinearLayoutManager layoutManager) { + return new GroupMessageAdapter(this, layoutManager); + } + + @Override + protected void loadItems() { controller.isDissolved( new UiResultExceptionHandler<Boolean, DbException>(this) { @Override public void onResultUi(Boolean isDissolved) { - if (isDissolved) disableGroup(); + setGroupEnabled(!isDissolved); + GroupActivity.super.loadItems(); } @Override @@ -101,18 +113,6 @@ public class GroupActivity extends }); } - @Override - @LayoutRes - protected int getLayout() { - return R.layout.activity_forum; - } - - @Override - protected GroupMessageAdapter createAdapter( - LinearLayoutManager layoutManager) { - return new GroupMessageAdapter(this, layoutManager); - } - @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu items for use in the action bar @@ -166,11 +166,11 @@ public class GroupActivity extends if (!isDissolved) super.onReplyClick(item); } - private void disableGroup() { - isDissolved = true; - if (writeMenuItem != null) writeMenuItem.setVisible(false); - textInput.setSendButtonEnabled(false); - list.setAlpha(0.5f); + private void setGroupEnabled(boolean enabled) { + isDissolved = !enabled; + if (writeMenuItem != null) writeMenuItem.setVisible(enabled); + textInput.setSendButtonEnabled(enabled); + list.getRecyclerView().setAlpha(enabled ? 1f : 0.5f); } private void showMenuItems() { @@ -182,7 +182,7 @@ public class GroupActivity extends leaveMenuItem.setVisible(true); dissolveMenuItem.setVisible(false); } - if (isDissolved) writeMenuItem.setVisible(false); + writeMenuItem.setVisible(!isDissolved); } private void showLeaveGroupDialog() { diff --git a/briar-android/src/org/briarproject/android/threaded/ThreadListActivity.java b/briar-android/src/org/briarproject/android/threaded/ThreadListActivity.java index eff17e175e13264ea28ab2381ae422d87e2e0aef..babc166a589d642e58b81e6e08c40b46e7850c51 100644 --- a/briar-android/src/org/briarproject/android/threaded/ThreadListActivity.java +++ b/briar-android/src/org/briarproject/android/threaded/ThreadListActivity.java @@ -110,7 +110,7 @@ public abstract class ThreadListActivity<G extends NamedGroup, I extends ThreadI @UiThread protected abstract void onNamedGroupLoaded(G groupItem); - private void loadItems() { + protected void loadItems() { final int revision = adapter.getRevision(); getController().loadItems( new UiResultExceptionHandler<Collection<I>, DbException>(this) {