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

Commit bca2449

Browse files
committed
Finish DevAuthActivity first then finish LoginActivity to login to Zulip Activity
1 parent 980b4ca commit bca2449

File tree

4 files changed

+21
-4
lines changed

4 files changed

+21
-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
@@ -25,7 +25,7 @@
2525
public class DevAuthActivity extends Activity implements LoginInterface {
2626
private RecyclerView recyclerView;
2727
private ProgressDialog connectionProgressDialog;
28-
28+
public static final int ADD_REALM_REQUEST = 566;
2929

3030
@Override
3131
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
public class LoginActivity extends AppCompatActivity implements View.OnClickListener,
4851
GoogleApiClient.OnConnectionFailedListener, LoginInterface {
4952
private static final String TAG = "LoginActivity";
@@ -122,6 +125,11 @@ protected void onActivityResult(int requestCode, int resultCode, Intent intent)
122125
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(intent);
123126
handleSignInResult(result);
124127
break;
128+
case ADD_REALM_REQUEST:
129+
if (resultCode == Activity.RESULT_OK) {
130+
setResult(Activity.RESULT_OK, intent);
131+
finish();
132+
}
125133
default:
126134
break;
127135
}
@@ -167,7 +175,7 @@ private void checkForError() {
167175
}
168176
}
169177
}
170-
178+
171179

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

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

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

16+
import static com.zulip.android.activities.DevAuthActivity.ADD_REALM_REQUEST;
17+
1618
public class AsyncDevGetEmails extends ZulipAsyncPushTask {
1719
private static final String DISABLED = "dev_disabled";
1820
private Context context;
@@ -47,7 +49,7 @@ protected void onPostExecute(String result) {
4749
intent.putExtra(REALM_NAME_JSON, realmName);
4850
intent.putExtra(SERVER_URL_JSON, serverURL);
4951
intent.putExtra(ADD_REALM_BOOLEAN_JSON, startedFromAddRealm);
50-
context.startActivity(intent);
52+
((LoginActivity) context).startActivityForResult(intent, ADD_REALM_REQUEST);
5153
}
5254
} catch (JSONException e) {
5355
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
@@ -83,7 +83,14 @@ protected void onPostExecute(String result) {
8383

8484
private void loginThroughAddRealm(JSONObject jsonObject) {
8585
try {
86-
Intent intent = new Intent(context, ZulipActivity.class);
86+
Intent intent = null;
87+
//This is done to start ZulipActivity from DevAuthActivity which cannot be done directly as DevAuthActivity was called from LoginActivity
88+
//And Therefore we have to finish two activities (DevAuthActivity and LoginActivity) if started from DevAuthActivity.
89+
if (context instanceof DevAuthActivity) {
90+
intent = new Intent();
91+
} else if (context instanceof LoginActivity) {
92+
intent = new Intent(context, ZulipActivity.class);
93+
}
8794
intent.putExtra("realmName", realmName);
8895
intent.putExtra("api_key", jsonObject.getString("api_key"));
8996
intent.putExtra("email", username);

0 commit comments

Comments
 (0)