Skip to content

Commit fc5bfe8

Browse files
authored
Merge pull request iVanPan#3 from shimo-react-native/fix/login
fix: crash when login with failed response
2 parents 5182283 + 92d6fb8 commit fc5bfe8

File tree

1 file changed

+13
-9
lines changed
  • android/src/main/java/me/vanpan/rctqqsdk

1 file changed

+13
-9
lines changed

android/src/main/java/me/vanpan/rctqqsdk/QQSDK.java

+13-9
Original file line numberDiff line numberDiff line change
@@ -715,7 +715,7 @@ private File getOutputMediaFile(String ext){
715715
*
716716
* @param jsonObject
717717
*/
718-
public static void initOpenidAndToken(JSONObject jsonObject) {
718+
public static boolean initOpenidAndToken(JSONObject jsonObject) {
719719
try {
720720
String token = jsonObject.getString(Constants.PARAM_ACCESS_TOKEN);
721721
String expires = jsonObject.getString(Constants.PARAM_EXPIRES_IN);
@@ -724,9 +724,11 @@ public static void initOpenidAndToken(JSONObject jsonObject) {
724724
&& !TextUtils.isEmpty(openId)) {
725725
mTencent.setAccessToken(token, expires);
726726
mTencent.setOpenId(openId);
727+
return true;
727728
}
728729
} catch (Exception e) {
729730
}
731+
return false;
730732
}
731733

732734
/**
@@ -740,17 +742,19 @@ public void onComplete(Object response) {
740742
return;
741743
}
742744
JSONObject jsonResponse = (JSONObject) response;
743-
if (null != jsonResponse && jsonResponse.length() == 0) {
745+
if (jsonResponse.length() == 0) {
744746
mPromise.reject("600",QQ_RESPONSE_ERROR);
745747
return;
746748
}
747-
initOpenidAndToken(jsonResponse);
748-
WritableMap map = Arguments.createMap();
749-
map.putString("userid", mTencent.getOpenId());
750-
map.putString("access_token", mTencent.getAccessToken());
751-
map.putDouble("expires_time", mTencent.getExpiresIn());
752-
mPromise.resolve(map);
753-
749+
if (initOpenidAndToken(jsonResponse)) {
750+
WritableMap map = Arguments.createMap();
751+
map.putString("userid", mTencent.getOpenId());
752+
map.putString("access_token", mTencent.getAccessToken());
753+
map.putDouble("expires_time", mTencent.getExpiresIn());
754+
mPromise.resolve(map);
755+
} else {
756+
mPromise.reject("600",QQ_RESPONSE_ERROR);
757+
}
754758
}
755759

756760
@Override

0 commit comments

Comments
 (0)