55import org .json .JSONException ;
66import org .json .JSONObject ;
77
8+ import android .app .Activity ;
9+ import android .content .Intent ;
810import android .util .Log ;
911import android .widget .Toast ;
1012
1113import com .zulip .android .activities .LoginActivity ;
14+ import com .zulip .android .activities .ZulipActivity ;
1215import com .zulip .android .util .ZLog ;
1316import com .zulip .android .ZulipApp ;
1417
1518public class AsyncLogin extends ZulipAsyncPushTask {
1619 public static final String UNREGISTERED = "unregistered" ;
1720 public static final String DISABLED = "disabled" ;
18-
1921 boolean startedFromAddRealm = false ;
2022 LoginActivity context ;
2123 boolean userDefinitelyInvalid = false ;
@@ -52,6 +54,8 @@ protected void onPostExecute(String result) {
5254
5355 if (obj .getString ("result" ).equals ("success" )) {
5456 if (startedFromAddRealm ) {
57+ loginThroughAddRealm (obj );
58+ callback .onTaskComplete (result , obj );
5559 } else {
5660 this .app .setServerURL (serverURL );
5761 this .app .setLoggedInApiKey (obj .getString ("api_key" ));
@@ -68,6 +72,20 @@ protected void onPostExecute(String result) {
6872 Log .wtf ("login" , "We shouldn't have gotten this far." );
6973 }
7074
75+ private void loginThroughAddRealm (JSONObject jsonObject ) {
76+ try {
77+ Intent intent = new Intent (context , ZulipActivity .class );
78+ intent .putExtra ("realmName" , realmName );
79+ intent .putExtra ("api_key" , jsonObject .getString ("api_key" ));
80+ intent .putExtra ("email" , username );
81+ intent .putExtra ("serverURL" , serverURL );
82+ context .setResult (Activity .RESULT_OK , intent );
83+ context .finish ();
84+ } catch (JSONException e ) {
85+ e .printStackTrace ();
86+ }
87+ }
88+
7189 @ Override
7290 protected void handleHTTPError (final HttpResponseException e ) {
7391 if (e .getStatusCode () == HttpStatus .SC_FORBIDDEN ) {
0 commit comments