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

Commit f9d0f8f

Browse files
committed
Save settings for the new realm settings.
Reset, Abort current connections and estabilish new connections and settings.
1 parent fa082dc commit f9d0f8f

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

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

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import android.animation.Animator;
1111
import android.annotation.SuppressLint;
1212
import android.annotation.TargetApi;
13+
import android.app.Activity;
1314
import android.app.AlertDialog;
1415
import android.app.ProgressDialog;
1516
import android.app.SearchManager;
@@ -1398,4 +1399,44 @@ void switchRealm(final ProgressDialog progressDialog, final int position) {
13981399
progressDialog.dismiss();
13991400
}
14001401

1402+
1403+
@Override
1404+
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
1405+
if (requestCode == ADDREALM_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
1406+
this.currentList.adapter.clear();
1407+
this.currentList.adapter.setHeaderShowing(true);
1408+
final String realmName = data.getStringExtra("realmName");
1409+
final String apiKey = data.getStringExtra("api_key");
1410+
final String email = data.getStringExtra("email");
1411+
final String serverURL = data.getStringExtra("serverURL");
1412+
notifications.logOut(new Runnable() {
1413+
@Override
1414+
public void run() {
1415+
if (event_poll != null) {
1416+
event_poll.abort();
1417+
event_poll = null;
1418+
}
1419+
statusUpdateHandler.removeMessages(0);
1420+
try {
1421+
unregisterReceiver(onGcmMessage);
1422+
} catch (IllegalArgumentException e) {
1423+
ZLog.logException(e);
1424+
}
1425+
1426+
app.clearConnectionState();
1427+
app.createNewRealm();
1428+
app.setEmail(email);
1429+
app.setServerURL(serverURL);
1430+
app.saveServerName(realmName);
1431+
app.setLoggedInApiKey(apiKey);
1432+
IntentFilter filter = new IntentFilter(GcmBroadcastReceiver.BROADCAST);
1433+
filter.setPriority(2);
1434+
registerReceiver(onGcmMessage, filter);
1435+
onRefresh();
1436+
}
1437+
});
1438+
1439+
}
1440+
this.currentList.adapter.setHeaderShowing(false);
1441+
}
14011442
}

0 commit comments

Comments
 (0)