package com.nirvana.tools.logger; import android.content.Context; import android.net.Network; import android.os.Build; import android.text.TextUtils; import android.util.Log; import com.bytedance.sdk.openadsdk.api.plugin.PluginConstants; import com.mbridge.msdk.playercommon.exoplayer2.text.ttml.TtmlNode; import com.nirvana.tools.cache.CacheHandler; import com.nirvana.tools.cache.CacheManager; import com.nirvana.tools.cache.SharedPreferenceTemplate; import com.nirvana.tools.core.ExecutorManager; import com.nirvana.tools.core.MobileNetRequestManager; import com.nirvana.tools.core.NetworkUtils; import com.nirvana.tools.core.SupportJarUtils; import com.nirvana.tools.logger.uaid.HttpUtils; import com.nirvana.tools.logger.uaid.UaidUtils; import java.text.ParseException; import org.json.JSONException; import org.json.JSONObject; public class UaidTracker { private static final String CMCC = "CMCC"; private static final long CMCC_EXPIRED_TIME = 120000; private static final String CMCC_URL = "https://verify.cmpassport.com/h5/getMobile"; private static final String CUCC = "CUCC"; private static final long CUCC_EXPIRED_TIME = 60000; private static final String CUCC_GET_AUTH_ADDR_URL = "https://nisportal.10010.com:9001/api"; private static final String KEY_CACHE_UAID_TRACKER = "KEY_CACHE_UAID_TRACKER"; private static final String TAG = "UaidTracker"; private static final String UAID_EXPIRED_TIME_KEY = "expiredTime"; private static final String UAID_ISUSABLE_KEY = "isUsable"; private static final String UAID_TOKENS_KEY = "tokens"; private static final String UAID_TRACKER_DATA = "UAID_TRACKER_DATA"; private static final int UAID_TRACKER_DATA_VERSION = 1; private static boolean isTackerEnable = false; private static volatile UaidTracker sInstance; private String cmccAppID = ""; private String cmccAppKey = ""; private String cuccAppID = ""; private boolean isLoggerEnable = false; private CacheHandler getCacheHandler(Context context, String str, String str2) { CacheManager instance = CacheManager.getInstance(context.getApplicationContext()); CacheHandler cacheHandler = instance.getCacheHandler(KEY_CACHE_UAID_TRACKER); if (cacheHandler != null) { return cacheHandler; } return instance.registerCacheHandler(KEY_CACHE_UAID_TRACKER, new SharedPreferenceTemplate(1, false, UAID_TRACKER_DATA, str2 + str)); } public static UaidTracker getInstance() { if (sInstance == null) { synchronized (UaidTracker.class) { if (sInstance == null) { sInstance = new UaidTracker(); } } } return sInstance; } public static boolean isEnable() { return isTackerEnable; } /* access modifiers changed from: private */ /* access modifiers changed from: public */ private void requestToken(Context context, String str, String str2, boolean z, Network network) { if ("CMCC".equals(str)) { requestTokenCmcc(context, str, str2, z, network); } else if ("CUCC".equals(str)) { requestTokenCucc(context, str, str2, z, network); } } private void requestTokenCmcc(Context context, String str, String str2, boolean z, Network network) { if (z ? new MobileNetRequestManager().switchToMobile_4x(context, CMCC_URL) : true) { try { String post = HttpUtils.post(CMCC_URL, UaidUtils.composeCmccGetTokenParams(this.cmccAppID, this.cmccAppKey), 3000, network); if (this.isLoggerEnable) { Log.w(TAG, "requestTokenCmcc====respone:" + post); } JSONObject jSONObject = new JSONObject(post); JSONObject jSONObject2 = jSONObject.getJSONObject(TtmlNode.TAG_BODY); JSONObject jSONObject3 = jSONObject.getJSONObject("header"); String string = jSONObject2.getString("resultCode"); String string2 = jSONObject2.getString("token"); String string3 = jSONObject3.getString("timestamp"); if ("103000".equals(string) && !TextUtils.isEmpty(string2)) { JSONObject jSONObject4 = new JSONObject(); JSONObject jSONObject5 = new JSONObject(); jSONObject5.put("token", string2); jSONObject4.put(UAID_TOKENS_KEY, jSONObject5); Long valueOf = Long.valueOf(System.currentTimeMillis()); if (!TextUtils.isEmpty(string3)) { try { valueOf = Long.valueOf(UaidUtils.TIMESTAMP_FORMAT.parse(string3).getTime()); } catch (ParseException e) { e.printStackTrace(); } } jSONObject4.put(UAID_EXPIRED_TIME_KEY, valueOf.longValue() + CMCC_EXPIRED_TIME); jSONObject4.put(UAID_ISUSABLE_KEY, false); getCacheHandler(context, str, str2).save(jSONObject4.toString()); } } catch (JSONException e2) { e2.printStackTrace(); if (this.isLoggerEnable) { Log.e(TAG, "requestTokenCmcc====e:" + e2.getMessage()); } } } } /* JADX WARNING: Removed duplicated region for block: B:17:0x0061 */ /* JADX WARNING: Removed duplicated region for block: B:35:? A[RETURN, SYNTHETIC] */ private void requestTokenCucc(Context context, String str, String str2, boolean z, Network network) { String str3; boolean switchToMobile_4x = z ? new MobileNetRequestManager().switchToMobile_4x(context, CUCC_GET_AUTH_ADDR_URL) : true; if (switchToMobile_4x) { String str4 = HttpUtils.get("https://nisportal.10010.com:9001/api?" + UaidUtils.composeCuccAuthAddrParams(this.cuccAppID), 3000, network); if (this.isLoggerEnable) { Log.w(TAG, "requestTokenCucc==url==response:" + str4); } if (!TextUtils.isEmpty(str4)) { try { str3 = new JSONObject(str4).getString("authurl"); } catch (JSONException e) { e.printStackTrace(); } if (TextUtils.isEmpty(str3)) { if (z) { switchToMobile_4x = new MobileNetRequestManager().switchToMobile_4x(context, str3); } if (switchToMobile_4x) { String localIPAddress = NetworkUtils.getLocalIPAddress(); String str5 = HttpUtils.get(str3 + "/api?" + UaidUtils.composeCuccAuthCodeParams(this.cuccAppID, localIPAddress), 3000, network); if (this.isLoggerEnable) { Log.w(TAG, "requestTokenCucc==token==response:" + str5); } try { JSONObject jSONObject = new JSONObject(str5); if (jSONObject.has(PluginConstants.KEY_ERROR_CODE)) { JSONObject jSONObject2 = new JSONObject(); jSONObject2.put(UAID_TOKENS_KEY, jSONObject); jSONObject2.put(UAID_EXPIRED_TIME_KEY, Long.valueOf(System.currentTimeMillis()).longValue() + 60000); jSONObject2.put(UAID_ISUSABLE_KEY, false); getCacheHandler(context, str, str2).save(jSONObject2.toString()); return; } return; } catch (JSONException e2) { if (this.isLoggerEnable) { Log.e(TAG, "requestTokenCucc====e:" + e2.getMessage()); return; } return; } } else { return; } } else { return; } } str3 = ""; if (TextUtils.isEmpty(str3)) { } } } private void switchToMobileNet(final Context context, final String str, final String str2) { ExecutorManager.getInstance().scheduleFuture(new ExecutorManager.SafeRunnable() { /* class com.nirvana.tools.logger.UaidTracker.AnonymousClass1 */ /* access modifiers changed from: protected */ @Override // com.nirvana.tools.core.ExecutorManager.SafeRunnable public void onException(Throwable th) { if (UaidTracker.this.isLoggerEnable) { Log.e(UaidTracker.TAG, "====safeRun===Failed:" + th.getMessage()); } } /* access modifiers changed from: protected */ @Override // com.nirvana.tools.core.ExecutorManager.SafeRunnable public void safeRun() { if (NetworkUtils.isMobileNetConnected(context)) { Log.i(UaidTracker.TAG, "====isMobileNetConnected==="); UaidTracker.this.requestToken(context, str, str2, false, null); } else if (NetworkUtils.isMobileNetworkOpen(context)) { Log.i(UaidTracker.TAG, "====isMobileNetworkOpen==="); int checkSelfPermission = SupportJarUtils.checkSelfPermission(context.getApplicationContext(), "android.permission.CHANGE_NETWORK_STATE"); int checkSelfPermission2 = SupportJarUtils.checkSelfPermission(context.getApplicationContext(), "android.permission.WRITE_SETTINGS"); if (checkSelfPermission != 0) { Log.w(UaidTracker.TAG, "====permissionChangeNet==NotGrant==="); return; } if (checkSelfPermission2 != 0) { Log.w(UaidTracker.TAG, "====permissionWriteSet==NotGrant==="); } if (Build.VERSION.SDK_INT >= 21) { new MobileNetRequestManager().switchToMobile_L(context, 3000, new MobileNetRequestManager.SwitchToMobileListener() { /* class com.nirvana.tools.logger.UaidTracker.AnonymousClass1.AnonymousClass1 */ @Override // com.nirvana.tools.core.MobileNetRequestManager.SwitchToMobileListener public void onFail(int i, String str, long j) { if (UaidTracker.this.isLoggerEnable) { Log.e(UaidTracker.TAG, "====switchToMobile_L===Failed:" + str); } } @Override // com.nirvana.tools.core.MobileNetRequestManager.SwitchToMobileListener public void onSuccess(Network network, long j) { UaidTracker.this.requestToken(context, str, str2, false, network); } }); } else { UaidTracker.this.requestToken(context, str, str2, true, null); } } } }); } public String getIdToken(Context context, String str, String str2) { String load = getCacheHandler(context, str, str2).load(); if (TextUtils.isEmpty(load)) { return null; } try { JSONObject jSONObject = new JSONObject(load); long j = jSONObject.getLong(UAID_EXPIRED_TIME_KEY); boolean z = jSONObject.getBoolean(UAID_ISUSABLE_KEY); if (j > System.currentTimeMillis() && !z) { return jSONObject.getJSONObject(UAID_TOKENS_KEY).toString(); } } catch (JSONException unused) { } return null; } public boolean isUsable(Context context, String str, String str2) { try { return new JSONObject(getCacheHandler(context, str, str2).load()).getBoolean(UAID_ISUSABLE_KEY); } catch (JSONException unused) { return false; } } public void setEnable(boolean z) { isTackerEnable = z; } public void setKey(String str, String str2, String str3) { this.cmccAppID = str; this.cmccAppKey = str2; this.cuccAppID = str3; } public void setLoggerEnable(boolean z) { this.isLoggerEnable = z; } public void setUsable(Context context, String str, String str2) { CacheHandler cacheHandler = getCacheHandler(context, str, str2); try { JSONObject jSONObject = new JSONObject(cacheHandler.load()); jSONObject.put(UAID_ISUSABLE_KEY, true); cacheHandler.save(jSONObject.toString()); } catch (JSONException unused) { } } public void updateIdTokens(Context context, String str, String str2) { if (isTackerEnable && !TextUtils.isEmpty(str) && !TextUtils.isEmpty(str2)) { String load = getCacheHandler(context, str, str2).load(); if (TextUtils.isEmpty(load)) { Log.i(TAG, "Token===empty===="); switchToMobileNet(context, str, str2); return; } if (this.isLoggerEnable) { Log.w(TAG, "updateIdTokens:" + load); } try { JSONObject jSONObject = new JSONObject(load); long j = jSONObject.getLong(UAID_EXPIRED_TIME_KEY); boolean z = jSONObject.getBoolean(UAID_ISUSABLE_KEY); if (j < System.currentTimeMillis() && !z) { Log.w(TAG, "requestToken===过期且未被使用===="); switchToMobileNet(context, str, str2); } } catch (JSONException e) { e.printStackTrace(); } } } }