mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-20 06:39:54 +01:00
Clear Forum Invitation adapter only when invitations could be removed
This commit is contained in:
@@ -71,10 +71,17 @@ public class ForumInvitationsActivity extends BriarActivity
|
|||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
eventBus.addListener(this);
|
eventBus.addListener(this);
|
||||||
loadForums();
|
loadForums(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadForums() {
|
@Override
|
||||||
|
public void onPause() {
|
||||||
|
super.onPause();
|
||||||
|
eventBus.removeListener(this);
|
||||||
|
adapter.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void loadForums(final boolean clear) {
|
||||||
runOnDbThread(new Runnable() {
|
runOnDbThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -97,7 +104,7 @@ public class ForumInvitationsActivity extends BriarActivity
|
|||||||
long duration = System.currentTimeMillis() - now;
|
long duration = System.currentTimeMillis() - now;
|
||||||
if (LOG.isLoggable(INFO))
|
if (LOG.isLoggable(INFO))
|
||||||
LOG.info("Load took " + duration + " ms");
|
LOG.info("Load took " + duration + " ms");
|
||||||
displayForums(forums);
|
displayForums(forums, clear);
|
||||||
} catch (DbException e) {
|
} catch (DbException e) {
|
||||||
if (LOG.isLoggable(WARNING))
|
if (LOG.isLoggable(WARNING))
|
||||||
LOG.log(WARNING, e.toString(), e);
|
LOG.log(WARNING, e.toString(), e);
|
||||||
@@ -106,7 +113,8 @@ public class ForumInvitationsActivity extends BriarActivity
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void displayForums(final Collection<ForumInvitationItem> forums) {
|
private void displayForums(final Collection<ForumInvitationItem> forums,
|
||||||
|
final boolean clear) {
|
||||||
runOnUiThread(new Runnable() {
|
runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -114,38 +122,33 @@ public class ForumInvitationsActivity extends BriarActivity
|
|||||||
LOG.info("No forums available, finishing");
|
LOG.info("No forums available, finishing");
|
||||||
finish();
|
finish();
|
||||||
} else {
|
} else {
|
||||||
|
if (clear) adapter.clear();
|
||||||
adapter.addAll(forums);
|
adapter.addAll(forums);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPause() {
|
|
||||||
super.onPause();
|
|
||||||
eventBus.removeListener(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void eventOccurred(Event e) {
|
public void eventOccurred(Event e) {
|
||||||
if (e instanceof ContactRemovedEvent) {
|
if (e instanceof ContactRemovedEvent) {
|
||||||
LOG.info("Contact removed, reloading");
|
LOG.info("Contact removed, reloading");
|
||||||
loadForums();
|
loadForums(true);
|
||||||
} else if (e instanceof GroupAddedEvent) {
|
} else if (e instanceof GroupAddedEvent) {
|
||||||
GroupAddedEvent g = (GroupAddedEvent) e;
|
GroupAddedEvent g = (GroupAddedEvent) e;
|
||||||
if (g.getGroup().getClientId().equals(forumManager.getClientId())) {
|
if (g.getGroup().getClientId().equals(forumManager.getClientId())) {
|
||||||
LOG.info("Forum added, reloading");
|
LOG.info("Forum added, reloading");
|
||||||
loadForums();
|
loadForums(false);
|
||||||
}
|
}
|
||||||
} else if (e instanceof GroupRemovedEvent) {
|
} else if (e instanceof GroupRemovedEvent) {
|
||||||
GroupRemovedEvent g = (GroupRemovedEvent) e;
|
GroupRemovedEvent g = (GroupRemovedEvent) e;
|
||||||
if (g.getGroup().getClientId().equals(forumManager.getClientId())) {
|
if (g.getGroup().getClientId().equals(forumManager.getClientId())) {
|
||||||
LOG.info("Forum removed, reloading");
|
LOG.info("Forum removed, reloading");
|
||||||
loadForums();
|
loadForums(true);
|
||||||
}
|
}
|
||||||
} else if (e instanceof ForumInvitationReceivedEvent) {
|
} else if (e instanceof ForumInvitationReceivedEvent) {
|
||||||
LOG.info("Available forums updated, reloading");
|
LOG.info("Available forums updated, reloading");
|
||||||
loadForums();
|
loadForums(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user