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

Commit d002428

Browse files
committed
Finish DevAuthActivity first then finish LoginActivity to login to Zulip Activity
1 parent 194a581 commit d002428

File tree

4 files changed

+22
-4
lines changed

4 files changed

+22
-4
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
public class DevAuthActivity extends Activity implements LoginInterface {
2929
private RecyclerView recyclerView;
3030
private ProgressDialog connectionProgressDialog;
31-
31+
public static final int ADD_REALM_REQUEST = 566;
3232

3333
@Override
3434
protected void onCreate(Bundle savedInstanceState) {

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.zulip.android.activities;
22

3+
import android.app.Activity;
34
import android.app.ProgressDialog;
45
import android.content.DialogInterface;
56
import android.content.Intent;
@@ -44,6 +45,8 @@
4445
import java.net.URISyntaxException;
4546
import java.util.List;
4647

48+
import static com.zulip.android.activities.DevAuthActivity.ADD_REALM_REQUEST;
49+
4750
/**
4851
* Activity to Login through various backends on a specified server.
4952
* Currently supported LoginAuths are Emailbackend and DevAuthBackend.
@@ -126,6 +129,11 @@ protected void onActivityResult(int requestCode, int resultCode, Intent intent)
126129
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(intent);
127130
handleSignInResult(result);
128131
break;
132+
case ADD_REALM_REQUEST:
133+
if (resultCode == Activity.RESULT_OK) {
134+
setResult(Activity.RESULT_OK, intent);
135+
finish();
136+
}
129137
default:
130138
break;
131139
}
@@ -171,7 +179,7 @@ private void checkForError() {
171179
}
172180
}
173181
}
174-
182+
175183

176184
private void showBackends(String httpScheme, String serverURL) {
177185
Uri serverUri = Uri.parse(serverURL);

app/src/main/java/com/zulip/android/networking/AsyncDevGetEmails.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
import org.json.JSONException;
1414
import org.json.JSONObject;
1515

16+
17+
import static com.zulip.android.activities.DevAuthActivity.ADD_REALM_REQUEST;
18+
1619
/**
1720
* A background task which asynchronously fetches the Emails (Admins or Users) for the devAuthBackend
1821
* Mainly used Development builds.
@@ -51,7 +54,7 @@ protected void onPostExecute(String result) {
5154
intent.putExtra(REALM_NAME_JSON, realmName);
5255
intent.putExtra(SERVER_URL_JSON, serverURL);
5356
intent.putExtra(ADD_REALM_BOOLEAN_JSON, startedFromAddRealm);
54-
context.startActivity(intent);
57+
((LoginActivity) context).startActivityForResult(intent, ADD_REALM_REQUEST);
5558
}
5659
} catch (JSONException e) {
5760
ZLog.logException(e);

app/src/main/java/com/zulip/android/networking/AsyncLogin.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,14 @@ protected void onPostExecute(String result) {
9292

9393
private void loginThroughAddRealm(JSONObject jsonObject) {
9494
try {
95-
Intent intent = new Intent(context, ZulipActivity.class);
95+
Intent intent = null;
96+
//This is done to start ZulipActivity from DevAuthActivity which cannot be done directly as DevAuthActivity was called from LoginActivity
97+
//And Therefore we have to finish two activities (DevAuthActivity and LoginActivity) if started from DevAuthActivity.
98+
if (context instanceof DevAuthActivity) {
99+
intent = new Intent();
100+
} else if (context instanceof LoginActivity) {
101+
intent = new Intent(context, ZulipActivity.class);
102+
}
96103
intent.putExtra("realmName", realmName);
97104
intent.putExtra("api_key", jsonObject.getString("api_key"));
98105
intent.putExtra("email", username);

0 commit comments

Comments
 (0)