3333
3434import com .firebase .ui .auth .AuthUI ;
3535import com .firebase .ui .auth .AuthUI .IdpConfig ;
36+ import com .firebase .ui .auth .ErrorCodes ;
3637import com .firebase .ui .auth .IdpResponse ;
37- import com .firebase .ui .auth .ui . ResultCodes ;
38+ import com .firebase .ui .auth .ResultCodes ;
3839import com .firebase .uidemo .R ;
3940import com .google .android .gms .common .Scopes ;
4041import com .google .firebase .auth .FirebaseAuth ;
5051public class AuthUiActivity extends AppCompatActivity {
5152 private static final String UNCHANGED_CONFIG_VALUE = "CHANGE-ME" ;
5253 private static final String GOOGLE_TOS_URL = "https://www.google.com/policies/terms/" ;
53- private static final String FIREBASE_TOS_URL = "https://www. firebase.com/terms/terms-of-service.html " ;
54+ private static final String FIREBASE_TOS_URL = "https://firebase.google. com/terms/" ;
5455 private static final int RC_SIGN_IN = 100 ;
5556
5657 @ BindView (R .id .default_theme )
@@ -86,7 +87,7 @@ public class AuthUiActivity extends AppCompatActivity {
8687 @ BindView (R .id .sign_in )
8788 Button mSignIn ;
8889
89- @ BindView (android . R .id .content )
90+ @ BindView (R .id .root )
9091 View mRootView ;
9192
9293 @ BindView (R .id .firebase_logo )
@@ -199,20 +200,30 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
199200
200201 @ MainThread
201202 private void handleSignInResponse (int resultCode , Intent data ) {
202- if (resultCode == RESULT_OK ) {
203- startActivity (SignedInActivity .createIntent (this , IdpResponse .fromResultIntent (data )));
204- finish ();
205- return ;
206- }
207-
208- if (resultCode == RESULT_CANCELED ) {
209- showSnackbar (R .string .sign_in_cancelled );
210- return ;
211- }
203+ IdpResponse response = IdpResponse .fromResultIntent (data );
212204
213- if (resultCode == ResultCodes .RESULT_NO_NETWORK ) {
214- showSnackbar (R .string .no_internet_connection );
205+ // Successfully signed in
206+ if (resultCode == ResultCodes .OK ) {
207+ startActivity (SignedInActivity .createIntent (this , response ));
208+ finish ();
215209 return ;
210+ } else {
211+ // Sign in failed
212+ if (response == null ) {
213+ // User pressed back button
214+ showSnackbar (R .string .sign_in_cancelled );
215+ return ;
216+ }
217+
218+ if (response .getErrorCode () == ErrorCodes .NO_NETWORK ) {
219+ showSnackbar (R .string .no_internet_connection );
220+ return ;
221+ }
222+
223+ if (response .getErrorCode () == ErrorCodes .UNKNOWN_ERROR ) {
224+ showSnackbar (R .string .unknown_error );
225+ return ;
226+ }
216227 }
217228
218229 showSnackbar (R .string .unknown_sign_in_response );
@@ -269,6 +280,10 @@ private List<IdpConfig> getSelectedProviders() {
269280 selectedProviders .add (new IdpConfig .Builder (AuthUI .EMAIL_PROVIDER ).build ());
270281 }
271282
283+ if (mUseTwitterProvider .isChecked ()) {
284+ selectedProviders .add (new IdpConfig .Builder (AuthUI .TWITTER_PROVIDER ).build ());
285+ }
286+
272287 if (mUseFacebookProvider .isChecked ()) {
273288 selectedProviders .add (
274289 new IdpConfig .Builder (AuthUI .FACEBOOK_PROVIDER )
@@ -283,10 +298,6 @@ private List<IdpConfig> getSelectedProviders() {
283298 .build ());
284299 }
285300
286- if (mUseTwitterProvider .isChecked ()) {
287- selectedProviders .add (new IdpConfig .Builder (AuthUI .TWITTER_PROVIDER ).build ());
288- }
289-
290301 return selectedProviders ;
291302 }
292303
@@ -302,20 +313,20 @@ private String getSelectedTosUrl() {
302313 @ MainThread
303314 private boolean isGoogleConfigured () {
304315 return !UNCHANGED_CONFIG_VALUE .equals (
305- getResources (). getString (R .string .default_web_client_id ));
316+ getString (R .string .default_web_client_id ));
306317 }
307318
308319 @ MainThread
309320 private boolean isFacebookConfigured () {
310321 return !UNCHANGED_CONFIG_VALUE .equals (
311- getResources (). getString (R .string .facebook_application_id ));
322+ getString (R .string .facebook_application_id ));
312323 }
313324
314325 @ MainThread
315326 private boolean isTwitterConfigured () {
316327 List <String > twitterConfigs = Arrays .asList (
317- getResources (). getString (R .string .twitter_consumer_key ),
318- getResources (). getString (R .string .twitter_consumer_secret )
328+ getString (R .string .twitter_consumer_key ),
329+ getString (R .string .twitter_consumer_secret )
319330 );
320331
321332 return !twitterConfigs .contains (UNCHANGED_CONFIG_VALUE );
0 commit comments