Skip to content

Commit 98fc39b

Browse files
authored
Better facebook error handling (#368)
* Better facebook error handling * review feedback
1 parent baab107 commit 98fc39b

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

auth/src/main/java/com/firebase/ui/auth/provider/FacebookProvider.java

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.facebook.CallbackManager;
2323
import com.facebook.FacebookCallback;
2424
import com.facebook.FacebookException;
25+
import com.facebook.FacebookRequestError;
2526
import com.facebook.FacebookSdk;
2627
import com.facebook.GraphRequest;
2728
import com.facebook.GraphResponse;
@@ -125,12 +126,24 @@ public void onSuccess(final LoginResult loginResult) {
125126
new GraphRequest.GraphJSONObjectCallback() {
126127
@Override
127128
public void onCompleted(JSONObject object, GraphResponse response) {
128-
try {
129-
String email = object.getString("email");
130-
mCallbackObject.onSuccess(createIDPResponse(loginResult, email));
131-
} catch (JSONException e) {
132-
e.printStackTrace();
129+
FacebookRequestError requestError = response.getError();
130+
if(requestError != null) {
131+
Log.e(TAG,
132+
"Received Facebook error: " + requestError.getErrorMessage());
133133
mCallbackObject.onFailure(new Bundle());
134+
return;
135+
}
136+
if (object == null) {
137+
Log.w(TAG, "Received null response from Facebook GraphRequest");
138+
mCallbackObject.onFailure(new Bundle());
139+
} else {
140+
try {
141+
String email = object.getString("email");
142+
mCallbackObject.onSuccess(createIDPResponse(loginResult, email));
143+
} catch (JSONException e) {
144+
Log.e(TAG, "JSON Exception reading from Facebook GraphRequest", e);
145+
mCallbackObject.onFailure(new Bundle());
146+
}
134147
}
135148
}
136149
});

0 commit comments

Comments
 (0)