Disable group before loading messages

This commit is contained in:
Torsten Grote
2016-11-01 08:26:40 -02:00
parent 67866dbe66
commit 1147b8ffaf
2 changed files with 23 additions and 23 deletions

View File

@@ -55,17 +55,29 @@ public class GroupActivity extends
if (groupName != null) setTitle(groupName); if (groupName != null) setTitle(groupName);
loadNamedGroup(); loadNamedGroup();
list.setEmptyText(R.string.groups_no_messages); setGroupEnabled(false);
} }
@Override @Override
public void onStart() { @LayoutRes
super.onStart(); 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( controller.isDissolved(
new UiResultExceptionHandler<Boolean, DbException>(this) { new UiResultExceptionHandler<Boolean, DbException>(this) {
@Override @Override
public void onResultUi(Boolean isDissolved) { public void onResultUi(Boolean isDissolved) {
if (isDissolved) disableGroup(); setGroupEnabled(!isDissolved);
GroupActivity.super.loadItems();
} }
@Override @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 @Override
public boolean onCreateOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar // Inflate the menu items for use in the action bar
@@ -166,11 +166,11 @@ public class GroupActivity extends
if (!isDissolved) super.onReplyClick(item); if (!isDissolved) super.onReplyClick(item);
} }
private void disableGroup() { private void setGroupEnabled(boolean enabled) {
isDissolved = true; isDissolved = !enabled;
if (writeMenuItem != null) writeMenuItem.setVisible(false); if (writeMenuItem != null) writeMenuItem.setVisible(enabled);
textInput.setSendButtonEnabled(false); textInput.setSendButtonEnabled(enabled);
list.setAlpha(0.5f); list.getRecyclerView().setAlpha(enabled ? 1f : 0.5f);
} }
private void showMenuItems() { private void showMenuItems() {
@@ -182,7 +182,7 @@ public class GroupActivity extends
leaveMenuItem.setVisible(true); leaveMenuItem.setVisible(true);
dissolveMenuItem.setVisible(false); dissolveMenuItem.setVisible(false);
} }
if (isDissolved) writeMenuItem.setVisible(false); writeMenuItem.setVisible(!isDissolved);
} }
private void showLeaveGroupDialog() { private void showLeaveGroupDialog() {

View File

@@ -110,7 +110,7 @@ public abstract class ThreadListActivity<G extends NamedGroup, I extends ThreadI
@UiThread @UiThread
protected abstract void onNamedGroupLoaded(G groupItem); protected abstract void onNamedGroupLoaded(G groupItem);
private void loadItems() { protected void loadItems() {
final int revision = adapter.getRevision(); final int revision = adapter.getRevision();
getController().loadItems( getController().loadItems(
new UiResultExceptionHandler<Collection<I>, DbException>(this) { new UiResultExceptionHandler<Collection<I>, DbException>(this) {