Skip to content
This repository was archived by the owner on Jul 25, 2024. It is now read-only.

Commit 10ce13d

Browse files
committed
Switch realm method in ZulipActivity
Abort current connections, handlers and establish new ones.
1 parent cafa69e commit 10ce13d

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

app/src/main/java/com/zulip/android/activities/ZulipActivity.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1491,4 +1491,24 @@ public void onNewMessages(Message[] messages) {
14911491
narrowedList.onNewMessages(messages);
14921492
}
14931493
}
1494+
1495+
void switchRealm(final ProgressDialog progressDialog, final int position) {
1496+
if (event_poll != null) {
1497+
event_poll.abort();
1498+
event_poll = null;
1499+
}
1500+
statusUpdateHandler.removeMessages(0);
1501+
unregisterReceiver(onGcmMessage);
1502+
app.clearConnectionState();
1503+
app.switchToRealm(position);
1504+
app.resetDatabase();
1505+
app.setEmail(app.getYou().getEmail());
1506+
event_poll = new AsyncGetEvents(ZulipActivity.this);
1507+
event_poll.start();
1508+
IntentFilter filter = new IntentFilter(GcmBroadcastReceiver.getGCMReceiverAction(getApplicationContext()));
1509+
filter.setPriority(2);
1510+
registerReceiver(onGcmMessage, filter);
1511+
progressDialog.dismiss();
1512+
}
1513+
14941514
}

0 commit comments

Comments
 (0)