package com.umeng.qq.handler; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.text.TextUtils; import com.alipay.sdk.authjs.a; import com.meizu.cloud.pushsdk.constants.PushConstants; import com.umeng.qq.tencent.IUiListener; import com.umeng.qq.tencent.Tencent; import com.umeng.qq.tencent.UiError; import com.umeng.socialize.Config; import com.umeng.socialize.PlatformConfig; import com.umeng.socialize.ShareContent; import com.umeng.socialize.UMAuthListener; import com.umeng.socialize.UMShareConfig; import com.umeng.socialize.UMShareListener; import com.umeng.socialize.bean.SHARE_MEDIA; import com.umeng.socialize.bean.UmengErrorCode; import com.umeng.socialize.common.QueuedWork; import com.umeng.socialize.common.SocializeConstants; import com.umeng.socialize.net.dplus.CommonNetImpl; import com.umeng.socialize.utils.SLog; import com.umeng.socialize.utils.SocializeUtils; import com.umeng.socialize.utils.UmengText; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; import org.json.JSONException; import org.json.JSONObject; import org.slf4j.Marker; public class UmengQQHandler extends UmengQBaseHandler { private final String UNIONID_PARAM = "&unionid=1"; private final String UNIONID_REQUEST_URL = "https://graph.qq.com/oauth2.0/me?access_token="; private IUiListener mShareListener; private UmengQQPreferences qqPreferences; /* access modifiers changed from: private */ /* access modifiers changed from: public */ private void authAndFetchUserInfo(final UMAuthListener uMAuthListener) { authorize(new UMAuthListener() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass9 */ @Override // com.umeng.socialize.UMAuthListener public void onCancel(SHARE_MEDIA share_media, int i) { UmengQQHandler.this.getAuthListener(uMAuthListener).onCancel(SHARE_MEDIA.QQ, 2); } @Override // com.umeng.socialize.UMAuthListener public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) { UmengQQHandler.this.fetchUserInfo(uMAuthListener); } @Override // com.umeng.socialize.UMAuthListener public void onError(SHARE_MEDIA share_media, int i, Throwable th) { UmengQQHandler.this.getAuthListener(uMAuthListener).onError(SHARE_MEDIA.QQ, 2, th); } @Override // com.umeng.socialize.UMAuthListener public void onStart(SHARE_MEDIA share_media) { } }); } private String convertStreamToString(InputStream inputStream) { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder sb = new StringBuilder(); while (true) { try { String readLine = bufferedReader.readLine(); if (readLine != null) { sb.append(readLine + "/n"); } else { try { break; } catch (IOException e) { SLog.error(e); } } } catch (IOException e2) { SLog.error(e2); inputStream.close(); } catch (Throwable th) { try { inputStream.close(); } catch (IOException e3) { SLog.error(e3); } throw th; } } inputStream.close(); return sb.toString(); } /* access modifiers changed from: private */ /* access modifiers changed from: public */ private void fetchUserInfo(final UMAuthListener uMAuthListener) { QueuedWork.runInBack(new Runnable() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass8 */ public void run() { try { JSONObject request = UmengQQHandler.this.request(); final HashMap hashMap = new HashMap(); hashMap.put("screen_name", request.optString("nickname")); hashMap.put("name", request.optString("nickname")); hashMap.put("gender", UmengQQHandler.this.getGender(request.optString("gender"))); hashMap.put("profile_image_url", request.optString("figureurl_qq_2")); hashMap.put("iconurl", request.optString("figureurl_qq_2")); hashMap.put("is_yellow_year_vip", request.optString("is_yellow_year_vip")); hashMap.put("yellow_vip_level", request.optString("yellow_vip_level")); hashMap.put("msg", request.optString("msg")); hashMap.put("city", request.optString("city")); hashMap.put("vip", request.optString("vip")); hashMap.put("level", request.optString("level")); hashMap.put("ret", request.optString("ret")); hashMap.put("province", request.optString("province")); hashMap.put("is_yellow_vip", request.optString("is_yellow_vip")); hashMap.put("openid", UmengQQHandler.this.getuid()); hashMap.put("uid", UmengQQHandler.this.getuid()); hashMap.put("access_token", UmengQQHandler.this.getmAccessToken()); hashMap.put("expires_in", UmengQQHandler.this.getMtl() + ""); hashMap.put("accessToken", UmengQQHandler.this.getmAccessToken()); hashMap.put("expiration", UmengQQHandler.this.getMtl() + ""); hashMap.put(CommonNetImpl.UNIONID, UmengQQHandler.this.getUnionid()); final String str = (String) hashMap.get("ret"); if (TextUtils.isEmpty(str) || !str.equals(PushConstants.PUSH_TYPE_NOTIFY)) { QueuedWork.runInMain(new Runnable() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass8.AnonymousClass2 */ public void run() { if (TextUtils.isEmpty(str) || !str.equals("100030")) { AnonymousClass8 r0 = AnonymousClass8.this; UMAuthListener authListener = UmengQQHandler.this.getAuthListener(uMAuthListener); SHARE_MEDIA share_media = SHARE_MEDIA.QQ; authListener.onError(share_media, 2, new Throwable(UmengErrorCode.AuthorizeFailed.getMessage() + ((String) hashMap.get("msg")))); return; } UmengQQHandler.this.qqPreferencesDelete(); AnonymousClass8 r02 = AnonymousClass8.this; UmengQQHandler.this.authAndFetchUserInfo(uMAuthListener); } }); } else { QueuedWork.runInMain(new Runnable() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass8.AnonymousClass1 */ public void run() { AnonymousClass8 r0 = AnonymousClass8.this; UmengQQHandler.this.getAuthListener(uMAuthListener).onComplete(SHARE_MEDIA.QQ, 2, hashMap); } }); } } catch (JSONException e) { QueuedWork.runInMain(new Runnable() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass8.AnonymousClass3 */ public void run() { AnonymousClass8 r0 = AnonymousClass8.this; UMAuthListener authListener = UmengQQHandler.this.getAuthListener(uMAuthListener); SHARE_MEDIA share_media = SHARE_MEDIA.QQ; authListener.onError(share_media, 2, new Throwable(UmengErrorCode.RequestForUserProfileFailed.getMessage() + e.getMessage())); } }); SLog.error(e); } } }, false); } private String getDeviceName() { try { return URLEncoder.encode(Build.MODEL.replace(" ", Marker.ANY_NON_NULL_MARKER), "UTF-8"); } catch (UnsupportedEncodingException e) { SLog.error(e); return "sm801"; } } /* access modifiers changed from: private */ /* access modifiers changed from: public */ private long getMtl() { UmengQQPreferences umengQQPreferences = this.qqPreferences; if (umengQQPreferences != null) { return umengQQPreferences.getMtl(); } return 0; } private IUiListener getQQAuthlistener(final UMAuthListener uMAuthListener) { return new IUiListener() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass5 */ @Override // com.umeng.qq.tencent.IUiListener public void onCancel() { UmengQQHandler.this.getAuthListener(uMAuthListener).onCancel(SHARE_MEDIA.QQ, 0); } @Override // com.umeng.qq.tencent.IUiListener public void onComplete(final Object obj) { SocializeUtils.safeCloseDialog(UmengQQHandler.this.mProgressDialog); final Bundle parseOauthData = UmengQQHandler.this.parseOauthData(obj); if (UmengQQHandler.this.qqPreferences == null && UmengQQHandler.this.getContext() != null) { UmengQQHandler umengQQHandler = UmengQQHandler.this; umengQQHandler.qqPreferences = new UmengQQPreferences(umengQQHandler.getContext(), SHARE_MEDIA.QQ.toString()); } if (UmengQQHandler.this.qqPreferences != null) { UmengQQHandler.this.qqPreferences.setAuthData(parseOauthData).commit(); } QueuedWork.runInBack(new Runnable() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass5.AnonymousClass1 */ public void run() { String unionIdRequest = UmengQQHandler.this.getUnionIdRequest("https://graph.qq.com/oauth2.0/me?access_token=" + UmengQQHandler.this.getmAccessToken() + "&unionid=1"); if (!TextUtils.isEmpty(unionIdRequest)) { try { JSONObject jSONObject = new JSONObject(unionIdRequest.replace(a.c, "").replace("(", "").replace(")", "")); String optString = jSONObject.optString(CommonNetImpl.UNIONID); String optString2 = jSONObject.optString("openid"); if (UmengQQHandler.this.qqPreferences != null) { UmengQQHandler.this.qqPreferences.setmOpenid(optString2); UmengQQHandler.this.qqPreferences.setUnionid(optString); UmengQQHandler.this.qqPreferences.commit(); } String optString3 = jSONObject.optString("error_description"); if (!TextUtils.isEmpty(optString3)) { SLog.E(UmengText.QQ.ERRORINFO + optString3); } } catch (JSONException e) { SLog.error(e); } } UmengQQHandler.this.initOpenidAndToken((JSONObject) obj); final Map<String, String> bundleTomap = SocializeUtils.bundleTomap(parseOauthData); bundleTomap.put(CommonNetImpl.UNIONID, UmengQQHandler.this.getUnionid()); QueuedWork.runInMain(new Runnable() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass5.AnonymousClass1.AnonymousClass1 */ public void run() { AnonymousClass5 r0 = AnonymousClass5.this; UmengQQHandler.this.getAuthListener(uMAuthListener).onComplete(SHARE_MEDIA.QQ, 0, bundleTomap); } }); PlatformConfig.APPIDPlatform aPPIDPlatform = UmengQQHandler.this.config; if (aPPIDPlatform != null) { bundleTomap.put(CommonNetImpl.AID, aPPIDPlatform.appId); bundleTomap.put("as", UmengQQHandler.this.config.appkey); } } }, true); } @Override // com.umeng.qq.tencent.IUiListener public void onError(UiError uiError) { UMAuthListener authListener = UmengQQHandler.this.getAuthListener(uMAuthListener); SHARE_MEDIA share_media = SHARE_MEDIA.QQ; authListener.onError(share_media, 0, new Throwable(UmengErrorCode.AuthorizeFailed.getMessage() + "==> errorCode = " + uiError.errorCode + ", errorMsg = " + uiError.errorMessage + ", detail = " + uiError.errorDetail)); } }; } private IUiListener getQQSharelistener(final UMShareListener uMShareListener) { return new IUiListener() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass4 */ @Override // com.umeng.qq.tencent.IUiListener public void onCancel() { UmengQQHandler.this.getShareListener(uMShareListener).onCancel(SHARE_MEDIA.QQ); } @Override // com.umeng.qq.tencent.IUiListener public void onComplete(Object obj) { UmengQQHandler.this.getShareListener(uMShareListener).onResult(SHARE_MEDIA.QQ); } @Override // com.umeng.qq.tencent.IUiListener public void onError(final UiError uiError) { QueuedWork.runInMain(new Runnable() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass4.AnonymousClass1 */ public void run() { AnonymousClass4 r0 = AnonymousClass4.this; UMShareListener shareListener = UmengQQHandler.this.getShareListener(uMShareListener); SHARE_MEDIA share_media = SHARE_MEDIA.QQ; StringBuilder sb = new StringBuilder(); sb.append(UmengErrorCode.ShareFailed.getMessage()); UiError uiError = uiError; sb.append(uiError == null ? "" : uiError.errorMessage); shareListener.onError(share_media, new Throwable(sb.toString())); } }); } }; } /* access modifiers changed from: private */ /* access modifiers changed from: public */ private String getUnionIdRequest(String str) { try { URLConnection openConnection = new URL(str).openConnection(); if (openConnection == null) { return ""; } openConnection.connect(); InputStream inputStream = openConnection.getInputStream(); return inputStream == null ? "" : convertStreamToString(inputStream); } catch (Exception e) { SLog.error(e); return ""; } } /* access modifiers changed from: private */ /* access modifiers changed from: public */ private String getUnionid() { UmengQQPreferences umengQQPreferences = this.qqPreferences; return umengQQPreferences != null ? umengQQPreferences.getUnionid() : ""; } /* access modifiers changed from: private */ /* access modifiers changed from: public */ private String getmAccessToken() { UmengQQPreferences umengQQPreferences = this.qqPreferences; return umengQQPreferences != null ? umengQQPreferences.getmAccessToken() : ""; } /* access modifiers changed from: private */ /* access modifiers changed from: public */ private String getuid() { UmengQQPreferences umengQQPreferences = this.qqPreferences; return umengQQPreferences != null ? umengQQPreferences.getuid() : ""; } /* access modifiers changed from: private */ /* access modifiers changed from: public */ private void initOpenidAndToken(JSONObject jSONObject) { try { String string = jSONObject.getString("access_token"); String string2 = jSONObject.getString("expires_in"); String string3 = jSONObject.getString("openid"); if (!TextUtils.isEmpty(string) && !TextUtils.isEmpty(string2) && !TextUtils.isEmpty(string3)) { this.mTencent.setAccessToken(string, string2); this.mTencent.setOpenId(string3); } } catch (Exception e) { SLog.error(UmengText.QQ.OPENIDANDTOKEN, e); } } private void loginDeal() { if (!isInstall()) { if (Config.isJumptoAppStore) { Intent intent = new Intent("android.intent.action.VIEW"); intent.setData(Uri.parse(SocializeConstants.DOWN_URL_QQ)); this.mWeakAct.get().startActivity(intent); } QueuedWork.runInMain(new Runnable() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass7 */ public void run() { UmengQQHandler umengQQHandler = UmengQQHandler.this; umengQQHandler.getAuthListener(umengQQHandler.mAuthListener).onError(SHARE_MEDIA.QQ, 0, new Throwable(UmengErrorCode.NotInstall.getMessage())); } }); } else if (this.mWeakAct.get() != null && !this.mWeakAct.get().isFinishing()) { this.mTencent.login(this.mWeakAct.get(), "all", getQQAuthlistener(this.mAuthListener)); } } /* access modifiers changed from: private */ /* access modifiers changed from: public */ private void qqPreferencesDelete() { UmengQQPreferences umengQQPreferences = this.qqPreferences; if (umengQQPreferences != null) { umengQQPreferences.delete(); } } private String request(String str) { try { URLConnection openConnection = new URL(str).openConnection(); if (openConnection == null) { return ""; } openConnection.connect(); InputStream inputStream = openConnection.getInputStream(); return inputStream == null ? "" : convertStreamToString(inputStream); } catch (Exception e) { SLog.error(e); return ""; } } /* access modifiers changed from: private */ /* access modifiers changed from: public */ private JSONObject request() throws JSONException { StringBuilder sb = new StringBuilder(); sb.append("https://openmobile.qq.com/user/get_simple_userinfo?status_os=" + Build.VERSION.RELEASE); sb.append(com.alipay.sdk.sys.a.b); sb.append("access_token=" + getmAccessToken()); sb.append("&oauth_consumer_key=" + this.config.appId); sb.append("&format=json&openid=" + getuid()); sb.append("&status_version=" + Build.VERSION.SDK); sb.append("&status_machine=" + getDeviceName()); sb.append("&pf=openmobile_android&sdkp=a&sdkv=3.1.0.lite"); return new JSONObject(request(sb.toString()).replace("/n", "")); } @Override // com.umeng.socialize.handler.UMSSOHandler public void authorize(final UMAuthListener uMAuthListener) { this.mAuthListener = uMAuthListener; if (this.mTencent == null) { QueuedWork.runInMain(new Runnable() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass6 */ public void run() { UMAuthListener authListener = UmengQQHandler.this.getAuthListener(uMAuthListener); SHARE_MEDIA share_media = SHARE_MEDIA.QQ; authListener.onError(share_media, 0, new Throwable(UmengErrorCode.AuthorizeFailed.getMessage() + UmengText.tencentEmpty(Config.isUmengQQ.booleanValue()))); } }); } loginDeal(); } @Override // com.umeng.socialize.handler.UMSSOHandler public void deleteAuth(final UMAuthListener uMAuthListener) { this.mTencent.logout(); qqPreferencesDelete(); QueuedWork.runInMain(new Runnable() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass10 */ public void run() { UmengQQHandler.this.getAuthListener(uMAuthListener).onComplete(SHARE_MEDIA.QQ, 1, null); } }); } @Override // com.umeng.socialize.handler.UMSSOHandler public void getPlatformInfo(UMAuthListener uMAuthListener) { if (!this.qqPreferences.isAuthValid() || getShareConfig().isNeedAuthOnGetUserInfo()) { authAndFetchUserInfo(uMAuthListener); } else { fetchUserInfo(uMAuthListener); } } @Override // com.umeng.socialize.handler.UMSSOHandler public int getRequestCode() { return 10103; } @Override // com.umeng.socialize.handler.UMSSOHandler public boolean isAuthorize() { UmengQQPreferences umengQQPreferences = this.qqPreferences; if (umengQQPreferences != null) { return umengQQPreferences.isAuthValid(); } return false; } @Override // com.umeng.socialize.handler.UMSSOHandler public boolean isHasAuthListener() { return this.mAuthListener != null; } @Override // com.umeng.socialize.handler.UMSSOHandler public boolean isInstall() { return this.mTencent.isSupportSSOLogin(this.mWeakAct.get()); } @Override // com.umeng.socialize.handler.UMSSOHandler public boolean isSupportAuth() { return true; } @Override // com.umeng.socialize.handler.UMSSOHandler public void onActivityResult(int i, int i2, Intent intent) { if (i == 10103) { Tencent.onActivityResultData(i, i2, intent, this.mShareListener); } if (i == 11101) { Tencent.onActivityResultData(i, i2, intent, getQQAuthlistener(this.mAuthListener)); } } @Override // com.umeng.qq.handler.UmengQBaseHandler, com.umeng.socialize.handler.UMSSOHandler public void onCreate(Context context, PlatformConfig.Platform platform) { super.onCreate(context, platform); if (context != null) { this.qqPreferences = new UmengQQPreferences(getContext(), SHARE_MEDIA.QQ.toString()); } } @Override // com.umeng.socialize.handler.UMSSOHandler public void release() { Tencent tencent = this.mTencent; if (tencent != null) { tencent.release(); } this.mTencent = null; this.mAuthListener = null; } @Override // com.umeng.socialize.handler.UMSSOHandler public void setAuthListener(UMAuthListener uMAuthListener) { this.mAuthListener = uMAuthListener; } @Override // com.umeng.socialize.handler.UMSSOHandler public boolean share(ShareContent shareContent, final UMShareListener uMShareListener) { UmengQQShareContent umengQQShareContent = new UmengQQShareContent(shareContent); UMShareConfig uMShareConfig = this.mShareConfig; if (uMShareConfig != null) { umengQQShareContent.setCompressListener(uMShareConfig.getCompressListener()); } if (this.mTencent == null) { QueuedWork.runInMain(new Runnable() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass1 */ public void run() { UMShareListener shareListener = UmengQQHandler.this.getShareListener(uMShareListener); SHARE_MEDIA share_media = SHARE_MEDIA.QQ; shareListener.onError(share_media, new Throwable(UmengErrorCode.ShareFailed.getMessage() + UmengText.tencentEmpty(Config.isUmengQQ.booleanValue()))); } }); return false; } this.mShareListener = getQQSharelistener(uMShareListener); if (!isInstall()) { if (Config.isJumptoAppStore) { Intent intent = new Intent("android.intent.action.VIEW"); intent.setData(Uri.parse("http://log.umsns.com/link/qq/download/")); this.mWeakAct.get().startActivity(intent); } QueuedWork.runInMain(new Runnable() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass2 */ public void run() { UmengQQHandler.this.getShareListener(uMShareListener).onError(SHARE_MEDIA.QQ, new Throwable(UmengErrorCode.NotInstall.getMessage())); } }); } Bundle bundle = umengQQShareContent.getBundle(getShareConfig().isHideQzoneOnQQFriendList(), getShareConfig().getAppName()); final String string = bundle.getString("error"); if (!TextUtils.isEmpty(string)) { QueuedWork.runInMain(new Runnable() { /* class com.umeng.qq.handler.UmengQQHandler.AnonymousClass3 */ public void run() { UmengQQHandler.this.getShareListener(uMShareListener).onError(SHARE_MEDIA.QQ, new Throwable(string)); } }); return false; } else if (this.mWeakAct.get() == null || this.mWeakAct.get().isFinishing()) { return true; } else { this.mTencent.shareToQQ(this.mWeakAct.get(), bundle, this.mShareListener); return true; } } }