package com.sensorsdata.analytics.android.sdk; import android.annotation.SuppressLint; import android.app.Activity; import android.app.Application; import android.app.Dialog; import android.content.Context; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.SystemClock; import android.text.TextUtils; import android.view.View; import android.view.Window; import android.webkit.WebView; import android.widget.Toast; import androidx.core.app.NotificationCompat; import com.coloros.mcssdk.mode.CommandMessage; import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection; import com.meizu.cloud.pushsdk.constants.PushConstants; import com.sensorsdata.analytics.android.sdk.SensorsDataRemoteManager; import com.sensorsdata.analytics.android.sdk.data.DbAdapter; import com.sensorsdata.analytics.android.sdk.data.PersistentLoader; import com.sensorsdata.analytics.android.sdk.data.persistent.PersistentDistinctId; import com.sensorsdata.analytics.android.sdk.data.persistent.PersistentFirstDay; import com.sensorsdata.analytics.android.sdk.data.persistent.PersistentFirstStart; import com.sensorsdata.analytics.android.sdk.data.persistent.PersistentFirstTrackInstallation; import com.sensorsdata.analytics.android.sdk.data.persistent.PersistentFirstTrackInstallationWithCallback; import com.sensorsdata.analytics.android.sdk.data.persistent.PersistentSuperProperties; import com.sensorsdata.analytics.android.sdk.deeplink.SensorsDataDeepLinkCallback; import com.sensorsdata.analytics.android.sdk.encrypt.SensorsDataEncrypt; import com.sensorsdata.analytics.android.sdk.exceptions.InvalidDataException; import com.sensorsdata.analytics.android.sdk.internal.FragmentAPI; import com.sensorsdata.analytics.android.sdk.internal.IFragmentAPI; import com.sensorsdata.analytics.android.sdk.listener.SAEventListener; import com.sensorsdata.analytics.android.sdk.listener.SAJSListener; import com.sensorsdata.analytics.android.sdk.util.AopUtil; import com.sensorsdata.analytics.android.sdk.util.AppInfoUtils; import com.sensorsdata.analytics.android.sdk.util.ChannelUtils; import com.sensorsdata.analytics.android.sdk.util.DeviceUtils; import com.sensorsdata.analytics.android.sdk.util.JSONUtils; import com.sensorsdata.analytics.android.sdk.util.NetworkUtils; import com.sensorsdata.analytics.android.sdk.util.OaidHelper; import com.sensorsdata.analytics.android.sdk.util.SADataHelper; import com.sensorsdata.analytics.android.sdk.util.SensorsDataUtils; import com.sensorsdata.analytics.android.sdk.util.TimeUtils; import com.xiaomi.mipush.sdk.Constants; import java.lang.ref.WeakReference; import java.lang.reflect.Method; import java.net.URLDecoder; import java.net.URLEncoder; import java.security.SecureRandom; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.UUID; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.TimeUnit; import javax.net.ssl.SSLSocketFactory; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public class SensorsDataAPI implements ISensorsDataAPI { private static String ANDROID_PLUGIN_VERSION = ""; static final String MIN_PLUGIN_VERSION = "3.0.0"; static boolean SHOW_DEBUG_INFO_VIEW = true; private static final String TAG = "SA.SensorsDataAPI"; static final String VERSION = "4.3.6"; public static final int VTRACK_SUPPORTED_MIN_API = 16; private static SensorsDataGPSLocation mGPSLocation; static boolean mIsMainProcess = false; private static SAConfigOptions mSAConfigOptions; private static final Map<Context, SensorsDataAPI> sInstanceMap = new HashMap(); private boolean isTrackEventWithPluginVersion; private String mAndroidId; private boolean mAutoTrack; private List<Integer> mAutoTrackIgnoredActivities; private boolean mClearReferrerWhenAppEnd; private final Context mContext; private String mCookie; private DebugMode mDebugMode; private SensorsDataDeepLinkCallback mDeepLinkCallback; private final Map<String, Object> mDeviceInfo; private boolean mDisableDefaultRemoteConfig; private boolean mDisableTrackDeviceId; private final PersistentDistinctId mDistinctId; private SensorsDataDynamicSuperProperties mDynamicSuperPropertiesCallBack; private boolean mEnableNetworkRequest; private List<SAEventListener> mEventListenerList; private final PersistentFirstDay mFirstDay; private final PersistentFirstStart mFirstStart; private final PersistentFirstTrackInstallation mFirstTrackInstallation; private final PersistentFirstTrackInstallationWithCallback mFirstTrackInstallationWithCallback; private IFragmentAPI mFragmentAPI; private List<Integer> mHeatMapActivities; private List<Class> mIgnoredViewTypeList; private SimpleDateFormat mIsFirstDayDateFormat; private JSONObject mLastScreenTrackProperties; private String mLastScreenUrl; private String mLoginId; private final Object mLoginIdLock; private String mMainProcessName; private final AnalyticsMessages mMessages; private SensorsDataScreenOrientationDetector mOrientationDetector; private String mOriginServerUrl; SensorsDataRemoteManager mRemoteManager; private CopyOnWriteArrayList<SAJSListener> mSAJSListeners; private boolean mSDKConfigInit; SSLSocketFactory mSSLSocketFactory; SensorsDataEncrypt mSensorsDataEncrypt; private String mServerUrl; private final PersistentSuperProperties mSuperProperties; private SensorsDataTrackEventCallBack mTrackEventCallBack; private TrackTaskManager mTrackTaskManager; private TrackTaskManagerThread mTrackTaskManagerThread; private final Map<String, EventTimer> mTrackTimer; private List<Integer> mVisualizedAutoTrackActivities; public enum AutoTrackEventType { APP_START(1), APP_END(2), APP_CLICK(4), APP_VIEW_SCREEN(8); private final int eventValue; private AutoTrackEventType(int i) { this.eventValue = i; } static AutoTrackEventType autoTrackEventTypeFromEventName(String str) { if (TextUtils.isEmpty(str)) { return null; } char c = 65535; switch (str.hashCode()) { case -618659154: if (str.equals("$AppViewScreen")) { c = 3; break; } break; case -441870274: if (str.equals("$AppEnd")) { c = 1; break; } break; case 562530347: if (str.equals(AopConstants.APP_CLICK_EVENT_NAME)) { c = 2; break; } break; case 577537797: if (str.equals("$AppStart")) { c = 0; break; } break; } if (c == 0) { return APP_START; } if (c == 1) { return APP_END; } if (c == 2) { return APP_CLICK; } if (c != 3) { return null; } return APP_VIEW_SCREEN; } static boolean isAutoTrackType(String str) { if (!TextUtils.isEmpty(str)) { char c = 65535; switch (str.hashCode()) { case -618659154: if (str.equals("$AppViewScreen")) { c = 3; break; } break; case -441870274: if (str.equals("$AppEnd")) { c = 1; break; } break; case 562530347: if (str.equals(AopConstants.APP_CLICK_EVENT_NAME)) { c = 2; break; } break; case 577537797: if (str.equals("$AppStart")) { c = 0; break; } break; } if (c == 0 || c == 1 || c == 2 || c == 3) { return true; } } return false; } /* access modifiers changed from: package-private */ public int getEventValue() { return this.eventValue; } } public enum DebugMode { DEBUG_OFF(false, false), DEBUG_ONLY(true, false), DEBUG_AND_TRACK(true, true); private final boolean debugMode; private final boolean debugWriteData; private DebugMode(boolean z, boolean z2) { this.debugMode = z; this.debugWriteData = z2; } /* access modifiers changed from: package-private */ public boolean isDebugMode() { return this.debugMode; } /* access modifiers changed from: package-private */ public boolean isDebugWriteData() { return this.debugWriteData; } } public final class NetworkType { public static final int TYPE_2G = 1; public static final int TYPE_3G = 2; public static final int TYPE_4G = 4; public static final int TYPE_5G = 16; public static final int TYPE_ALL = 255; public static final int TYPE_NONE = 0; public static final int TYPE_WIFI = 8; public NetworkType() { } } SensorsDataAPI() { this.mLoginIdLock = new Object(); this.mIgnoredViewTypeList = new ArrayList(); this.mAndroidId = null; this.mLoginId = null; this.mDebugMode = DebugMode.DEBUG_OFF; this.mEnableNetworkRequest = true; this.mClearReferrerWhenAppEnd = false; this.mDisableDefaultRemoteConfig = false; this.mDisableTrackDeviceId = false; this.isTrackEventWithPluginVersion = false; this.mContext = null; this.mMessages = null; this.mDistinctId = null; this.mSuperProperties = null; this.mFirstStart = null; this.mFirstDay = null; this.mFirstTrackInstallation = null; this.mFirstTrackInstallationWithCallback = null; this.mDeviceInfo = null; this.mTrackTimer = null; this.mMainProcessName = null; this.mSensorsDataEncrypt = null; } SensorsDataAPI(Context context, String str, DebugMode debugMode) { this.mLoginIdLock = new Object(); this.mIgnoredViewTypeList = new ArrayList(); this.mAndroidId = null; this.mLoginId = null; this.mDebugMode = DebugMode.DEBUG_OFF; this.mEnableNetworkRequest = true; this.mClearReferrerWhenAppEnd = false; this.mDisableDefaultRemoteConfig = false; this.mDisableTrackDeviceId = false; this.isTrackEventWithPluginVersion = false; this.mContext = context; setDebugMode(debugMode); String packageName = context.getApplicationContext().getPackageName(); this.mAutoTrackIgnoredActivities = new ArrayList(); this.mHeatMapActivities = new ArrayList(); this.mVisualizedAutoTrackActivities = new ArrayList(); PersistentLoader.initLoader(context); this.mDistinctId = (PersistentDistinctId) PersistentLoader.loadPersistent(PersistentLoader.PersistentName.DISTINCT_ID); this.mSuperProperties = (PersistentSuperProperties) PersistentLoader.loadPersistent(PersistentLoader.PersistentName.SUPER_PROPERTIES); this.mFirstStart = (PersistentFirstStart) PersistentLoader.loadPersistent(PersistentLoader.PersistentName.FIRST_START); this.mFirstTrackInstallation = (PersistentFirstTrackInstallation) PersistentLoader.loadPersistent(PersistentLoader.PersistentName.FIRST_INSTALL); this.mFirstTrackInstallationWithCallback = (PersistentFirstTrackInstallationWithCallback) PersistentLoader.loadPersistent(PersistentLoader.PersistentName.FIRST_INSTALL_CALLBACK); this.mFirstDay = (PersistentFirstDay) PersistentLoader.loadPersistent(PersistentLoader.PersistentName.FIRST_DAY); this.mTrackTaskManager = TrackTaskManager.getInstance(); this.mTrackTaskManagerThread = new TrackTaskManagerThread(); new Thread(this.mTrackTaskManagerThread, ThreadNameConstants.THREAD_TASK_QUEUE).start(); SensorsDataExceptionHandler.init(); initSAConfig(str, packageName); this.mMessages = AnalyticsMessages.getInstance(this.mContext); this.mAndroidId = SensorsDataUtils.getAndroidID(this.mContext); this.mRemoteManager = new SensorsDataRemoteManager(this.mContext, mSAConfigOptions, this.mSensorsDataEncrypt, this.mDisableDefaultRemoteConfig, this); this.mRemoteManager.applySDKConfigFromCache(); if (this.mDebugMode != DebugMode.DEBUG_OFF && mIsMainProcess && SHOW_DEBUG_INFO_VIEW && !isSDKDisabled()) { showDebugModeWarning(); } if (Build.VERSION.SDK_INT >= 14) { Application application = (Application) context.getApplicationContext(); application.registerActivityLifecycleCallbacks(new SensorsDataActivityLifecycleCallbacks(this, this.mFirstStart, this.mFirstDay, context)); application.registerActivityLifecycleCallbacks(AppStateManager.getInstance()); } SALog.i(TAG, String.format(Locale.CHINA, "Initialized the instance of Sensors Analytics SDK with server url '%s', flush interval %d ms, debugMode: %s", this.mServerUrl, Integer.valueOf(mSAConfigOptions.mFlushInterval), debugMode)); this.mDeviceInfo = setupDeviceInfo(); this.mTrackTimer = new HashMap(); this.mFragmentAPI = new FragmentAPI(context); } private void applySAConfigOptions() { if (mSAConfigOptions.mEnableTrackAppCrash) { SensorsDataExceptionHandler.enableAppCrash(); } if (mSAConfigOptions.mAutoTrackEventType != 0) { this.mAutoTrack = true; } SAConfigOptions sAConfigOptions = mSAConfigOptions; if (sAConfigOptions.mInvokeLog) { enableLog(sAConfigOptions.mLogEnabled); } enableTrackScreenOrientation(mSAConfigOptions.mTrackScreenOrientationEnabled); if (!TextUtils.isEmpty(mSAConfigOptions.mAnonymousId)) { identify(mSAConfigOptions.mAnonymousId); } } private static SensorsDataAPI getInstance(Context context, String str, DebugMode debugMode) { SensorsDataAPI sensorsDataAPI; if (context == null) { return new SensorsDataAPIEmptyImplementation(); } synchronized (sInstanceMap) { Context applicationContext = context.getApplicationContext(); sensorsDataAPI = sInstanceMap.get(applicationContext); if (sensorsDataAPI == null) { sensorsDataAPI = new SensorsDataAPI(applicationContext, str, debugMode); sInstanceMap.put(applicationContext, sensorsDataAPI); } } return sensorsDataAPI; } private JSONArray getPluginVersion() { try { if (TextUtils.isEmpty(ANDROID_PLUGIN_VERSION)) { return null; } SALog.i(TAG, "android plugin version: " + ANDROID_PLUGIN_VERSION); JSONArray jSONArray = new JSONArray(); jSONArray.put("android:" + ANDROID_PLUGIN_VERSION); return jSONArray; } catch (Exception e) { SALog.printStackTrace(e); return null; } } private void initSAConfig(String str, String str2) { Bundle bundle; try { bundle = this.mContext.getApplicationContext().getPackageManager().getApplicationInfo(str2, 128).metaData; } catch (PackageManager.NameNotFoundException e) { SALog.printStackTrace(e); bundle = null; } if (bundle == null) { bundle = new Bundle(); } if (mSAConfigOptions == null) { this.mSDKConfigInit = false; mSAConfigOptions = new SAConfigOptions(str); } else { this.mSDKConfigInit = true; } SAConfigOptions sAConfigOptions = mSAConfigOptions; if (sAConfigOptions.mEnableEncrypt) { this.mSensorsDataEncrypt = new SensorsDataEncrypt(this.mContext, sAConfigOptions.mPersistentSecretKey); } DbAdapter.getInstance(this.mContext, str2, this.mSensorsDataEncrypt); SAConfigOptions sAConfigOptions2 = mSAConfigOptions; if (sAConfigOptions2.mInvokeLog) { enableLog(sAConfigOptions2.mLogEnabled); } else { enableLog(bundle.getBoolean("com.sensorsdata.analytics.android.EnableLogging", this.mDebugMode != DebugMode.DEBUG_OFF)); } setServerUrl(str); if (mSAConfigOptions.mEnableTrackAppCrash) { SensorsDataExceptionHandler.enableAppCrash(); } SAConfigOptions sAConfigOptions3 = mSAConfigOptions; if (sAConfigOptions3.mFlushInterval == 0) { sAConfigOptions3.setFlushInterval(bundle.getInt("com.sensorsdata.analytics.android.FlushInterval", 15000)); } SAConfigOptions sAConfigOptions4 = mSAConfigOptions; if (sAConfigOptions4.mFlushBulkSize == 0) { sAConfigOptions4.setFlushBulkSize(bundle.getInt("com.sensorsdata.analytics.android.FlushBulkSize", 100)); } SAConfigOptions sAConfigOptions5 = mSAConfigOptions; if (sAConfigOptions5.mMaxCacheSize == 0) { sAConfigOptions5.setMaxCacheSize(33554432); } if (mSAConfigOptions.isSubProcessFlushData && DbAdapter.getInstance().isFirstProcess()) { DbAdapter.getInstance().commitFirstProcessState(false); DbAdapter.getInstance().commitSubProcessFlushState(false); } this.mAutoTrack = bundle.getBoolean("com.sensorsdata.analytics.android.AutoTrack", false); int i = mSAConfigOptions.mAutoTrackEventType; if (i != 0) { enableAutoTrack(i); this.mAutoTrack = true; } SAConfigOptions sAConfigOptions6 = mSAConfigOptions; if (!sAConfigOptions6.mInvokeHeatMapEnabled) { sAConfigOptions6.mHeatMapEnabled = bundle.getBoolean("com.sensorsdata.analytics.android.HeatMap", false); } SAConfigOptions sAConfigOptions7 = mSAConfigOptions; if (!sAConfigOptions7.mInvokeHeatMapConfirmDialog) { sAConfigOptions7.mHeatMapConfirmDialogEnabled = bundle.getBoolean("com.sensorsdata.analytics.android.EnableHeatMapConfirmDialog", true); } SAConfigOptions sAConfigOptions8 = mSAConfigOptions; if (!sAConfigOptions8.mInvokeVisualizedEnabled) { sAConfigOptions8.mVisualizedEnabled = bundle.getBoolean("com.sensorsdata.analytics.android.VisualizedAutoTrack", false); } SAConfigOptions sAConfigOptions9 = mSAConfigOptions; if (!sAConfigOptions9.mInvokeVisualizedConfirmDialog) { sAConfigOptions9.mVisualizedConfirmDialogEnabled = bundle.getBoolean("com.sensorsdata.analytics.android.EnableVisualizedAutoTrackConfirmDialog", true); } enableTrackScreenOrientation(mSAConfigOptions.mTrackScreenOrientationEnabled); if (!TextUtils.isEmpty(mSAConfigOptions.mAnonymousId)) { identify(mSAConfigOptions.mAnonymousId); } SHOW_DEBUG_INFO_VIEW = bundle.getBoolean("com.sensorsdata.analytics.android.ShowDebugInfoView", true); this.mDisableDefaultRemoteConfig = bundle.getBoolean("com.sensorsdata.analytics.android.DisableDefaultRemoteConfig", false); this.mMainProcessName = AppInfoUtils.getMainProcessName(this.mContext); if (TextUtils.isEmpty(this.mMainProcessName)) { this.mMainProcessName = bundle.getString("com.sensorsdata.analytics.android.MainProcessName"); } mIsMainProcess = AppInfoUtils.isMainProcess(this.mContext, this.mMainProcessName); this.mDisableTrackDeviceId = bundle.getBoolean("com.sensorsdata.analytics.android.DisableTrackDeviceId", false); if (isSaveDeepLinkInfo()) { ChannelUtils.loadUtmByLocal(this.mContext); } else { ChannelUtils.clearLocalUtm(this.mContext); } } private boolean isEnterDb(String str, JSONObject jSONObject) { boolean z; if (this.mTrackEventCallBack == null) { return true; } SALog.d(TAG, "SDK have set trackEvent callBack"); try { z = this.mTrackEventCallBack.onTrackEvent(str, jSONObject); } catch (Exception e) { SALog.printStackTrace(e); z = true; } if (!z) { return z; } try { Iterator<String> keys = jSONObject.keys(); while (keys.hasNext()) { String next = keys.next(); try { SADataHelper.assertKey(next); Object opt = jSONObject.opt(next); if ((opt instanceof CharSequence) || (opt instanceof Number) || (opt instanceof JSONArray) || (opt instanceof Boolean) || (opt instanceof Date)) { if ("app_crashed_reason".equals(next)) { if ((opt instanceof String) && ((String) opt).length() > 16382) { SALog.d(TAG, "The property value is too long. [key='" + next + "', value='" + opt.toString() + "']"); StringBuilder sb = new StringBuilder(); sb.append(((String) opt).substring(0, 16382)); sb.append("$"); opt = sb.toString(); } } else if ((opt instanceof String) && ((String) opt).length() > 8191) { SALog.d(TAG, "The property value is too long. [key='" + next + "', value='" + opt.toString() + "']"); StringBuilder sb2 = new StringBuilder(); sb2.append(((String) opt).substring(0, 8191)); sb2.append("$"); opt = sb2.toString(); } if (opt instanceof Date) { jSONObject.put(next, TimeUtils.formatDate((Date) opt, Locale.CHINA)); } else { jSONObject.put(next, opt); } } else { Object[] objArr = new Object[2]; objArr[0] = next; objArr[1] = opt == null ? "" : opt.toString(); SALog.d(TAG, String.format("The property value must be an instance of CharSequence/Number/Boolean/JSONArray. [key='%s', value='%s']", objArr)); return false; } } catch (Exception e2) { SALog.printStackTrace(e2); return false; } } return z; } catch (Exception e3) { SALog.printStackTrace(e3); return z; } } private boolean isFirstDay(long j) { String str = (String) this.mFirstDay.get(); if (str == null) { return true; } try { if (this.mIsFirstDayDateFormat == null) { this.mIsFirstDayDateFormat = new SimpleDateFormat(TimeUtils.YYYY_MM_DD, Locale.getDefault()); } return str.equals(this.mIsFirstDayDateFormat.format(Long.valueOf(j))); } catch (Exception e) { SALog.printStackTrace(e); return true; } } public static boolean isSDKDisabled() { boolean isSDKDisabledByRemote = SensorsDataRemoteManager.isSDKDisabledByRemote(); if (isSDKDisabledByRemote) { SALog.i(TAG, "DisableSDK is true"); } return isSDKDisabledByRemote; } private void mergerDynamicAndSuperProperties(JSONObject jSONObject) { JSONObject superProperties = getSuperProperties(); JSONObject jSONObject2 = null; try { if (this.mDynamicSuperPropertiesCallBack != null) { JSONObject dynamicSuperProperties = this.mDynamicSuperPropertiesCallBack.getDynamicSuperProperties(); SADataHelper.assertPropertyTypes(dynamicSuperProperties); jSONObject2 = dynamicSuperProperties; } } catch (Exception e) { SALog.printStackTrace(e); } SensorsDataUtils.mergeJSONObject(SensorsDataUtils.mergeSuperJSONObject(jSONObject2, superProperties), jSONObject); } private Map<String, Object> setupDeviceInfo() { HashMap hashMap = new HashMap(); hashMap.put("$lib", "Android"); hashMap.put("$lib_version", "4.3.6"); hashMap.put("$os", "Android"); hashMap.put("$os_version", DeviceUtils.getOS()); hashMap.put("$manufacturer", DeviceUtils.getManufacturer()); hashMap.put("$model", DeviceUtils.getModel()); hashMap.put("$app_version", AppInfoUtils.getAppVersionName(this.mContext)); int[] deviceSize = DeviceUtils.getDeviceSize(this.mContext); hashMap.put("$screen_width", Integer.valueOf(deviceSize[0])); hashMap.put("$screen_height", Integer.valueOf(deviceSize[1])); String carrier = SensorsDataUtils.getCarrier(this.mContext); if (!TextUtils.isEmpty(carrier)) { hashMap.put("$carrier", carrier); } if (!this.mDisableTrackDeviceId && !TextUtils.isEmpty(this.mAndroidId)) { hashMap.put("$device_id", this.mAndroidId); } Integer zoneOffset = TimeUtils.getZoneOffset(); if (zoneOffset != null) { hashMap.put("$timezone_offset", zoneOffset); } hashMap.put("$app_id", AppInfoUtils.getProcessName(this.mContext)); hashMap.put("$app_name", AppInfoUtils.getAppName(this.mContext)); return Collections.unmodifiableMap(hashMap); } public static SensorsDataAPI sharedInstance() { if (isSDKDisabled()) { return new SensorsDataAPIEmptyImplementation(); } synchronized (sInstanceMap) { if (sInstanceMap.size() > 0) { Iterator<SensorsDataAPI> it2 = sInstanceMap.values().iterator(); if (it2.hasNext()) { return it2.next(); } } return new SensorsDataAPIEmptyImplementation(); } } public static SensorsDataAPI sharedInstance(Context context) { if (isSDKDisabled()) { return new SensorsDataAPIEmptyImplementation(); } if (context == null) { return new SensorsDataAPIEmptyImplementation(); } synchronized (sInstanceMap) { SensorsDataAPI sensorsDataAPI = sInstanceMap.get(context.getApplicationContext()); if (sensorsDataAPI != null) { return sensorsDataAPI; } SALog.i(TAG, "The static method sharedInstance(context, serverURL, debugMode) should be called before calling sharedInstance()"); return new SensorsDataAPIEmptyImplementation(); } } @Deprecated public static SensorsDataAPI sharedInstance(Context context, SAConfigOptions sAConfigOptions) { mSAConfigOptions = sAConfigOptions; SensorsDataAPI instance = getInstance(context, sAConfigOptions.mServerUrl, DebugMode.DEBUG_OFF); if (!instance.mSDKConfigInit) { instance.applySAConfigOptions(); } return instance; } @Deprecated public static SensorsDataAPI sharedInstance(Context context, String str) { return getInstance(context, str, DebugMode.DEBUG_OFF); } @Deprecated public static SensorsDataAPI sharedInstance(Context context, String str, DebugMode debugMode) { return getInstance(context, str, debugMode); } private void showDebugModeWarning() { try { if (this.mDebugMode != DebugMode.DEBUG_OFF && !TextUtils.isEmpty(getServerUrl())) { new Handler(Looper.getMainLooper()).post(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass33 */ public void run() { String str = SensorsDataAPI.this.mDebugMode == DebugMode.DEBUG_ONLY ? "现在您打开了 SensorsData SDK 的 'DEBUG_ONLY' 模式,此模式下只校验数据但不导入数据,数据出错时会以 Toast 的方式提示开发者,请上线前一定使用 DEBUG_OFF 模式。" : SensorsDataAPI.this.mDebugMode == DebugMode.DEBUG_AND_TRACK ? "现在您打开了神策 SensorsData SDK 的 'DEBUG_AND_TRACK' 模式,此模式下校验数据并且导入数据,数据出错时会以 Toast 的方式提示开发者,请上线前一定使用 DEBUG_OFF 模式。" : null; CharSequence appName = AppInfoUtils.getAppName(SensorsDataAPI.this.mContext); if (!TextUtils.isEmpty(appName)) { str = String.format(Locale.CHINA, "%s:%s", appName, str); } Toast.makeText(SensorsDataAPI.this.mContext, str, 1).show(); } }); } } catch (Exception e) { SALog.printStackTrace(e); } } public static void startWithConfigOptions(Context context, SAConfigOptions sAConfigOptions) { if (context == null || sAConfigOptions == null) { throw new NullPointerException("Context、SAConfigOptions 不可以为 null"); } mSAConfigOptions = sAConfigOptions; SensorsDataAPI instance = getInstance(context, sAConfigOptions.mServerUrl, DebugMode.DEBUG_OFF); if (!instance.mSDKConfigInit) { instance.applySAConfigOptions(); } } /* access modifiers changed from: private */ /* access modifiers changed from: public */ private void trackItemEvent(String str, String str2, String str3, JSONObject jSONObject) { try { SADataHelper.assertKey(str); SADataHelper.assertValue(str2); SADataHelper.assertPropertyTypes(jSONObject); String str4 = null; if (jSONObject != null && jSONObject.has("$project")) { str4 = (String) jSONObject.get("$project"); jSONObject.remove("$project"); } JSONObject jSONObject2 = new JSONObject(); jSONObject2.put("$lib", "Android"); jSONObject2.put("$lib_version", "4.3.6"); jSONObject2.put("$lib_method", CommandMessage.CODE); if (this.mDeviceInfo.containsKey("$app_version")) { jSONObject2.put("$app_version", this.mDeviceInfo.get("$app_version")); } JSONObject jSONObject3 = (JSONObject) this.mSuperProperties.get(); if (jSONObject3 != null && jSONObject3.has("$app_version")) { jSONObject2.put("$app_version", jSONObject3.get("$app_version")); } StackTraceElement[] stackTrace = new Exception().getStackTrace(); if (stackTrace.length > 1) { StackTraceElement stackTraceElement = stackTrace[0]; String format = String.format("%s##%s##%s##%s", stackTraceElement.getClassName(), stackTraceElement.getMethodName(), stackTraceElement.getFileName(), Integer.valueOf(stackTraceElement.getLineNumber())); if (!TextUtils.isEmpty(format)) { jSONObject2.put("$lib_detail", format); } } JSONObject jSONObject4 = new JSONObject(); jSONObject4.put("item_type", str); jSONObject4.put("item_id", str2); jSONObject4.put("type", str3); jSONObject4.put("time", System.currentTimeMillis()); jSONObject4.put("properties", TimeUtils.formatDate(jSONObject)); jSONObject4.put("lib", jSONObject2); if (!TextUtils.isEmpty(str4)) { jSONObject4.put("project", str4); } this.mMessages.enqueueEventMessage(str3, jSONObject4); SALog.i(TAG, "track event:\n" + JSONUtils.formatJson(jSONObject4.toString())); } catch (Exception e) { SALog.printStackTrace(e); } } private void trackTimerState(final String str, final boolean z) { final long elapsedRealtime = SystemClock.elapsedRealtime(); this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass13 */ public void run() { try { SADataHelper.assertKey(str); synchronized (SensorsDataAPI.this.mTrackTimer) { EventTimer eventTimer = (EventTimer) SensorsDataAPI.this.mTrackTimer.get(str); if (!(eventTimer == null || eventTimer.isPaused() == z)) { eventTimer.setTimerState(z, elapsedRealtime); } } } catch (Exception e) { SALog.printStackTrace(e); } } }); } /* access modifiers changed from: package-private */ public boolean _trackEventFromH5(String str) { try { if (TextUtils.isEmpty(str)) { return false; } String optString = new JSONObject(str).optString("server_url"); if (TextUtils.isEmpty(optString) || !new ServerUrl(optString).check(new ServerUrl(this.mServerUrl))) { return false; } trackEventFromH5(str); return true; } catch (Exception e) { SALog.printStackTrace(e); } return false; } public void addEventListener(SAEventListener sAEventListener) { try { if (this.mEventListenerList == null) { this.mEventListenerList = new ArrayList(); } this.mEventListenerList.add(sAEventListener); } catch (Exception e) { SALog.printStackTrace(e); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void addHeatMapActivities(List<Class<?>> list) { if (list != null) { try { if (list.size() != 0) { for (Class<?> cls : list) { if (cls != null) { int hashCode = cls.hashCode(); if (!this.mHeatMapActivities.contains(Integer.valueOf(hashCode))) { this.mHeatMapActivities.add(Integer.valueOf(hashCode)); } } } } } catch (Exception e) { SALog.printStackTrace(e); } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void addHeatMapActivity(Class<?> cls) { if (cls != null) { try { this.mHeatMapActivities.add(Integer.valueOf(cls.hashCode())); } catch (Exception e) { SALog.printStackTrace(e); } } } public void addSAJSListener(SAJSListener sAJSListener) { try { if (this.mSAJSListeners == null) { this.mSAJSListeners = new CopyOnWriteArrayList<>(); } if (!this.mSAJSListeners.contains(sAJSListener)) { this.mSAJSListeners.add(sAJSListener); } } catch (Exception e) { SALog.printStackTrace(e); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void addVisualizedAutoTrackActivities(List<Class<?>> list) { if (list != null) { try { if (list.size() != 0) { for (Class<?> cls : list) { if (cls != null) { int hashCode = cls.hashCode(); if (!this.mVisualizedAutoTrackActivities.contains(Integer.valueOf(hashCode))) { this.mVisualizedAutoTrackActivities.add(Integer.valueOf(hashCode)); } } } } } catch (Exception e) { SALog.printStackTrace(e); } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void addVisualizedAutoTrackActivity(Class<?> cls) { if (cls != null) { try { this.mVisualizedAutoTrackActivities.add(Integer.valueOf(cls.hashCode())); } catch (Exception e) { SALog.printStackTrace(e); } } } /* access modifiers changed from: package-private */ public void appBecomeActive() { EventTimer value; synchronized (this.mTrackTimer) { try { for (Map.Entry<String, EventTimer> entry : this.mTrackTimer.entrySet()) { if (!(entry == null || (value = entry.getValue()) == null)) { value.setStartTime(SystemClock.elapsedRealtime()); } } } catch (Exception e) { SALog.i(TAG, "appBecomeActive error:" + e.getMessage()); } } } /* access modifiers changed from: package-private */ public void appEnterBackground() { synchronized (this.mTrackTimer) { try { for (Map.Entry<String, EventTimer> entry : this.mTrackTimer.entrySet()) { if (entry != null) { if (!"$AppEnd".equals(entry.getKey().toString())) { EventTimer value = entry.getValue(); if (value != null && !value.isPaused()) { value.setEventAccumulatedDuration(((value.getEventAccumulatedDuration() + SystemClock.elapsedRealtime()) - value.getStartTime()) - ((long) getSessionIntervalTime())); value.setStartTime(SystemClock.elapsedRealtime()); } } } } } catch (Exception e) { SALog.i(TAG, "appEnterBackground error:" + e.getMessage()); } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void clearGPSLocation() { mGPSLocation = null; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void clearLastScreenUrl() { if (this.mClearReferrerWhenAppEnd) { this.mLastScreenUrl = null; } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void clearReferrerWhenAppEnd() { this.mClearReferrerWhenAppEnd = true; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void clearSuperProperties() { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass22 */ public void run() { synchronized (SensorsDataAPI.this.mSuperProperties) { SensorsDataAPI.this.mSuperProperties.commit(new JSONObject()); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void clearTrackTimer() { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass15 */ public void run() { try { synchronized (SensorsDataAPI.this.mTrackTimer) { SensorsDataAPI.this.mTrackTimer.clear(); } } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void deleteAll() { this.mMessages.deleteAll(); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void disableAutoTrack(AutoTrackEventType autoTrackEventType) { ignoreAutoTrackEventType(autoTrackEventType); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void disableAutoTrack(List<AutoTrackEventType> list) { ignoreAutoTrackEventType(list); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void enableAppHeatMapConfirmDialog(boolean z) { mSAConfigOptions.enableHeatMapConfirmDialog(z); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @Deprecated public void enableAutoTrack() { ArrayList arrayList = new ArrayList(); arrayList.add(AutoTrackEventType.APP_START); arrayList.add(AutoTrackEventType.APP_END); arrayList.add(AutoTrackEventType.APP_VIEW_SCREEN); enableAutoTrack(arrayList); } /* access modifiers changed from: package-private */ public void enableAutoTrack(int i) { if (i > 0 && i <= 15) { try { this.mAutoTrack = true; mSAConfigOptions.setAutoTrackEventType(i | mSAConfigOptions.mAutoTrackEventType); } catch (Exception e) { SALog.printStackTrace(e); } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void enableAutoTrack(List<AutoTrackEventType> list) { if (list != null) { try { if (!list.isEmpty()) { this.mAutoTrack = true; for (AutoTrackEventType autoTrackEventType : list) { mSAConfigOptions.setAutoTrackEventType(autoTrackEventType.eventValue | mSAConfigOptions.mAutoTrackEventType); } } } catch (Exception e) { SALog.printStackTrace(e); } } } @Override // com.sensorsdata.analytics.android.sdk.internal.IFragmentAPI public void enableAutoTrackFragment(Class<?> cls) { this.mFragmentAPI.enableAutoTrackFragment(cls); } @Override // com.sensorsdata.analytics.android.sdk.internal.IFragmentAPI public void enableAutoTrackFragments(List<Class<?>> list) { this.mFragmentAPI.enableAutoTrackFragments(list); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void enableHeatMap() { mSAConfigOptions.enableHeatMap(true); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void enableLog(boolean z) { SALog.setEnableLog(z); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void enableNetworkRequest(boolean z) { this.mEnableNetworkRequest = z; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void enableReactNativeAutoTrack() { mSAConfigOptions.enableReactNativeAutoTrack(true); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void enableTrackScreenOrientation(boolean z) { if (z) { try { if (this.mOrientationDetector == null) { this.mOrientationDetector = new SensorsDataScreenOrientationDetector(this.mContext, 3); } this.mOrientationDetector.enable(); } catch (Exception e) { SALog.printStackTrace(e); } } else if (this.mOrientationDetector != null) { this.mOrientationDetector.disable(); this.mOrientationDetector = null; } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void enableVisualizedAutoTrack() { mSAConfigOptions.enableVisualizedAutoTrack(true); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void enableVisualizedAutoTrackConfirmDialog(boolean z) { mSAConfigOptions.enableVisualizedAutoTrackConfirmDialog(z); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void flush() { this.mMessages.flush(); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void flushSync() { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass19 */ public void run() { SensorsDataAPI.this.mMessages.flush(); } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public String getAnonymousId() { String str; synchronized (this.mDistinctId) { str = (String) this.mDistinctId.get(); } return str; } /* access modifiers changed from: package-private */ public SAConfigOptions getConfigOptions() { return mSAConfigOptions; } /* access modifiers changed from: package-private */ public Context getContext() { return this.mContext; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public String getCookie(boolean z) { if (!z) { return this.mCookie; } try { return URLDecoder.decode(this.mCookie, "UTF-8"); } catch (Exception e) { SALog.printStackTrace(e); return null; } } /* access modifiers changed from: package-private */ public DebugMode getDebugMode() { return this.mDebugMode; } /* access modifiers changed from: package-private */ public SensorsDataDeepLinkCallback getDeepLinkCallback() { return this.mDeepLinkCallback; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public String getDistinctId() { String loginId = getLoginId(); if (TextUtils.isEmpty(loginId)) { loginId = this.mLoginId; } return !TextUtils.isEmpty(loginId) ? loginId : getAnonymousId(); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public int getFlushBulkSize() { return mSAConfigOptions.mFlushBulkSize; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public int getFlushInterval() { return mSAConfigOptions.mFlushInterval; } /* access modifiers changed from: package-private */ public int getFlushNetworkPolicy() { return mSAConfigOptions.mNetworkTypePolicy; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public List<Class> getIgnoredViewTypeList() { if (this.mIgnoredViewTypeList == null) { this.mIgnoredViewTypeList = new ArrayList(); } return this.mIgnoredViewTypeList; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public JSONObject getLastScreenTrackProperties() { return this.mLastScreenTrackProperties; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public String getLastScreenUrl() { return this.mLastScreenUrl; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public String getLoginId() { return DbAdapter.getInstance().getLoginId(); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @Deprecated public String getMainProcessName() { return this.mMainProcessName; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public long getMaxCacheSize() { return mSAConfigOptions.mMaxCacheSize; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public JSONObject getPresetProperties() { JSONObject jSONObject = new JSONObject(); try { jSONObject.put("$app_version", this.mDeviceInfo.get("$app_version")); jSONObject.put("$lib", "Android"); jSONObject.put("$lib_version", "4.3.6"); jSONObject.put("$manufacturer", this.mDeviceInfo.get("$manufacturer")); jSONObject.put("$model", this.mDeviceInfo.get("$model")); jSONObject.put("$os", "Android"); jSONObject.put("$os_version", this.mDeviceInfo.get("$os_version")); jSONObject.put("$screen_height", this.mDeviceInfo.get("$screen_height")); jSONObject.put("$screen_width", this.mDeviceInfo.get("$screen_width")); String networkType = NetworkUtils.networkType(this.mContext); jSONObject.put("$wifi", "WIFI".equals(networkType)); jSONObject.put("$network_type", networkType); jSONObject.put("$carrier", this.mDeviceInfo.get("$carrier")); jSONObject.put("$is_first_day", isFirstDay(System.currentTimeMillis())); jSONObject.put("$app_id", this.mDeviceInfo.get("$app_id")); jSONObject.put("$timezone_offset", this.mDeviceInfo.get("$timezone_offset")); if (this.mDeviceInfo.containsKey("$device_id")) { jSONObject.put("$device_id", this.mDeviceInfo.get("$device_id")); } jSONObject.put("$app_name", this.mDeviceInfo.get("$app_name")); } catch (Exception e) { SALog.printStackTrace(e); } return jSONObject; } public SSLSocketFactory getSSLSocketFactory() { return this.mSSLSocketFactory; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public String getScreenOrientation() { try { if (this.mOrientationDetector != null) { return this.mOrientationDetector.getOrientation(); } return null; } catch (Exception e) { SALog.printStackTrace(e); return null; } } /* access modifiers changed from: package-private */ public String getServerUrl() { return this.mServerUrl; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public int getSessionIntervalTime() { if (DbAdapter.getInstance() != null) { return DbAdapter.getInstance().getSessionIntervalTime(); } SALog.i(TAG, "The static method sharedInstance(context, serverURL, debugMode) should be called before calling sharedInstance()"); return 30000; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public JSONObject getSuperProperties() { JSONObject jSONObject; synchronized (this.mSuperProperties) { try { jSONObject = new JSONObject(((JSONObject) this.mSuperProperties.get()).toString()); } catch (JSONException e) { SALog.printStackTrace(e); return new JSONObject(); } catch (Throwable th) { throw th; } } return jSONObject; } /* access modifiers changed from: package-private */ public void handleJsMessage(WeakReference<View> weakReference, String str) { CopyOnWriteArrayList<SAJSListener> copyOnWriteArrayList = this.mSAJSListeners; if (copyOnWriteArrayList != null && copyOnWriteArrayList.size() > 0) { Iterator<SAJSListener> it2 = this.mSAJSListeners.iterator(); while (it2.hasNext()) { SAJSListener next = it2.next(); if (next != null) { try { next.onReceiveJSMessage(weakReference, str); } catch (Exception e) { SALog.printStackTrace(e); } } } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void identify(final String str) { try { SADataHelper.assertValue(str); this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass1 */ public void run() { try { synchronized (SensorsDataAPI.this.mDistinctId) { SensorsDataAPI.this.mDistinctId.commit(str); try { if (SensorsDataAPI.this.mEventListenerList != null) { for (SAEventListener sAEventListener : SensorsDataAPI.this.mEventListenerList) { sAEventListener.identify(); } } } catch (Exception e) { SALog.printStackTrace(e); } } } catch (Exception e2) { SALog.printStackTrace(e2); } } }); } catch (Exception e) { SALog.printStackTrace(e); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void ignoreAutoTrackActivities(List<Class<?>> list) { if (!(list == null || list.size() == 0)) { if (this.mAutoTrackIgnoredActivities == null) { this.mAutoTrackIgnoredActivities = new ArrayList(); } for (Class<?> cls : list) { if (cls != null) { int hashCode = cls.hashCode(); if (!this.mAutoTrackIgnoredActivities.contains(Integer.valueOf(hashCode))) { this.mAutoTrackIgnoredActivities.add(Integer.valueOf(hashCode)); } } } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void ignoreAutoTrackActivity(Class<?> cls) { if (cls != null) { if (this.mAutoTrackIgnoredActivities == null) { this.mAutoTrackIgnoredActivities = new ArrayList(); } try { int hashCode = cls.hashCode(); if (!this.mAutoTrackIgnoredActivities.contains(Integer.valueOf(hashCode))) { this.mAutoTrackIgnoredActivities.add(Integer.valueOf(hashCode)); } } catch (Exception e) { SALog.printStackTrace(e); } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @Deprecated public void ignoreAutoTrackEventType(AutoTrackEventType autoTrackEventType) { int i; if (autoTrackEventType != null && (i = mSAConfigOptions.mAutoTrackEventType) != 0) { int i2 = i | autoTrackEventType.eventValue; if (i2 == autoTrackEventType.eventValue) { mSAConfigOptions.setAutoTrackEventType(0); } else { mSAConfigOptions.setAutoTrackEventType(autoTrackEventType.eventValue ^ i2); } if (mSAConfigOptions.mAutoTrackEventType == 0) { this.mAutoTrack = false; } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @Deprecated public void ignoreAutoTrackEventType(List<AutoTrackEventType> list) { if (!(list == null || mSAConfigOptions.mAutoTrackEventType == 0)) { for (AutoTrackEventType autoTrackEventType : list) { int i = mSAConfigOptions.mAutoTrackEventType | autoTrackEventType.eventValue; SAConfigOptions sAConfigOptions = mSAConfigOptions; int i2 = sAConfigOptions.mAutoTrackEventType; if (i == i2) { sAConfigOptions.setAutoTrackEventType(autoTrackEventType.eventValue ^ i2); } } if (mSAConfigOptions.mAutoTrackEventType == 0) { this.mAutoTrack = false; } } } @Override // com.sensorsdata.analytics.android.sdk.internal.IFragmentAPI public void ignoreAutoTrackFragment(Class<?> cls) { this.mFragmentAPI.ignoreAutoTrackFragment(cls); } @Override // com.sensorsdata.analytics.android.sdk.internal.IFragmentAPI public void ignoreAutoTrackFragments(List<Class<?>> list) { this.mFragmentAPI.ignoreAutoTrackFragments(list); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void ignoreView(View view) { if (view != null) { view.setTag(R.id.sensors_analytics_tag_view_ignored, "1"); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void ignoreView(View view, boolean z) { if (view != null) { view.setTag(R.id.sensors_analytics_tag_view_ignored, z ? "1" : PushConstants.PUSH_TYPE_NOTIFY); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void ignoreViewType(Class cls) { if (cls != null) { if (this.mIgnoredViewTypeList == null) { this.mIgnoredViewTypeList = new ArrayList(); } if (!this.mIgnoredViewTypeList.contains(cls)) { this.mIgnoredViewTypeList.add(cls); } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public boolean isActivityAutoTrackAppClickIgnored(Class<?> cls) { if (cls == null) { return false; } List<Integer> list = this.mAutoTrackIgnoredActivities; return ((list == null || !list.contains(Integer.valueOf(cls.hashCode()))) && cls.getAnnotation(SensorsDataIgnoreTrackAppViewScreenAndAppClick.class) == null && cls.getAnnotation(SensorsDataIgnoreTrackAppClick.class) == null) ? false : true; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public boolean isActivityAutoTrackAppViewScreenIgnored(Class<?> cls) { if (cls == null) { return false; } List<Integer> list = this.mAutoTrackIgnoredActivities; return ((list == null || !list.contains(Integer.valueOf(cls.hashCode()))) && cls.getAnnotation(SensorsDataIgnoreTrackAppViewScreenAndAppClick.class) == null && cls.getAnnotation(SensorsDataIgnoreTrackAppViewScreen.class) == null) ? false : true; } /* access modifiers changed from: package-private */ public boolean isAppHeatMapConfirmDialogEnabled() { return mSAConfigOptions.mHeatMapConfirmDialogEnabled; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public boolean isAutoTrackEnabled() { Boolean isAutoTrackEnabled; if (isSDKDisabled()) { return false; } SensorsDataRemoteManager sensorsDataRemoteManager = this.mRemoteManager; return (sensorsDataRemoteManager == null || (isAutoTrackEnabled = sensorsDataRemoteManager.isAutoTrackEnabled()) == null) ? this.mAutoTrack : isAutoTrackEnabled.booleanValue(); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public boolean isAutoTrackEventTypeIgnored(int i) { Boolean isAutoTrackEventTypeIgnored; SensorsDataRemoteManager sensorsDataRemoteManager = this.mRemoteManager; if (sensorsDataRemoteManager == null || (isAutoTrackEventTypeIgnored = sensorsDataRemoteManager.isAutoTrackEventTypeIgnored(i)) == null) { int i2 = mSAConfigOptions.mAutoTrackEventType; return (i | i2) != i2; } if (isAutoTrackEventTypeIgnored.booleanValue()) { SALog.i(TAG, i + " is ignored by remote config"); } return isAutoTrackEventTypeIgnored.booleanValue(); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public boolean isAutoTrackEventTypeIgnored(AutoTrackEventType autoTrackEventType) { if (autoTrackEventType == null) { return false; } return isAutoTrackEventTypeIgnored(autoTrackEventType.eventValue); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public boolean isDebugMode() { return this.mDebugMode.isDebugMode(); } @Override // com.sensorsdata.analytics.android.sdk.internal.IFragmentAPI public boolean isFragmentAutoTrackAppViewScreen(Class<?> cls) { return this.mFragmentAPI.isFragmentAutoTrackAppViewScreen(cls); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public boolean isHeatMapActivity(Class<?> cls) { if (cls == null) { return false; } try { return this.mHeatMapActivities.size() == 0 || this.mHeatMapActivities.contains(Integer.valueOf(cls.hashCode())); } catch (Exception e) { SALog.printStackTrace(e); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public boolean isHeatMapEnabled() { return mSAConfigOptions.mHeatMapEnabled; } /* access modifiers changed from: package-private */ public boolean isMultiProcess() { return mSAConfigOptions.mEnableMultiProcess; } /* access modifiers changed from: package-private */ public boolean isMultiProcessFlushData() { return mSAConfigOptions.isSubProcessFlushData; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public boolean isNetworkRequestEnable() { return this.mEnableNetworkRequest; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public boolean isReactNativeAutoTrackEnabled() { return mSAConfigOptions.mRNAutoTrackEnabled; } /* access modifiers changed from: package-private */ public boolean isSaveDeepLinkInfo() { return mSAConfigOptions.mEnableSaveDeepLinkInfo; } @Override // com.sensorsdata.analytics.android.sdk.internal.IFragmentAPI public boolean isTrackFragmentAppViewScreenEnabled() { return this.mFragmentAPI.isTrackFragmentAppViewScreenEnabled(); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public boolean isVisualizedAutoTrackActivity(Class<?> cls) { if (cls == null) { return false; } try { return this.mVisualizedAutoTrackActivities.size() == 0 || this.mVisualizedAutoTrackActivities.contains(Integer.valueOf(cls.hashCode())); } catch (Exception e) { SALog.printStackTrace(e); } } /* access modifiers changed from: package-private */ public boolean isVisualizedAutoTrackConfirmDialogEnabled() { return mSAConfigOptions.mVisualizedConfirmDialogEnabled; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public boolean isVisualizedAutoTrackEnabled() { return mSAConfigOptions.mVisualizedEnabled; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void itemDelete(final String str, final String str2) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass37 */ public void run() { SensorsDataAPI.this.trackItemEvent(str, str2, EventType.ITEM_DELETE.getEventType(), null); } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void itemSet(final String str, final String str2, final JSONObject jSONObject) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass36 */ public void run() { SensorsDataAPI.this.trackItemEvent(str, str2, EventType.ITEM_SET.getEventType(), jSONObject); } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void login(String str) { login(str, null); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void login(final String str, final JSONObject jSONObject) { try { SADataHelper.assertValue(str); this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass2 */ public void run() { try { synchronized (SensorsDataAPI.this.mLoginIdLock) { if (!str.equals(DbAdapter.getInstance().getLoginId()) && !str.equals(SensorsDataAPI.this.getAnonymousId())) { SensorsDataAPI.this.mLoginId = str; DbAdapter.getInstance().commitLoginId(str); SensorsDataAPI.this.trackEvent(EventType.TRACK_SIGNUP, "$SignUp", jSONObject, SensorsDataAPI.this.getAnonymousId()); try { if (SensorsDataAPI.this.mEventListenerList != null) { for (SAEventListener sAEventListener : SensorsDataAPI.this.mEventListenerList) { sAEventListener.login(); } } } catch (Exception e) { SALog.printStackTrace(e); } } } } catch (Exception e2) { SALog.printStackTrace(e2); } } }); } catch (Exception e) { SALog.printStackTrace(e); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void logout() { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass3 */ public void run() { try { synchronized (SensorsDataAPI.this.mLoginIdLock) { DbAdapter.getInstance().commitLoginId(null); SensorsDataAPI.this.mLoginId = null; try { if (SensorsDataAPI.this.mEventListenerList != null) { for (SAEventListener sAEventListener : SensorsDataAPI.this.mEventListenerList) { sAEventListener.logout(); } } } catch (Exception e) { SALog.printStackTrace(e); } } } catch (Exception e2) { SALog.printStackTrace(e2); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void profileAppend(final String str, final String str2) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass29 */ public void run() { try { JSONArray jSONArray = new JSONArray(); jSONArray.put(str2); JSONObject jSONObject = new JSONObject(); jSONObject.put(str, jSONArray); SensorsDataAPI.this.trackEvent(EventType.PROFILE_APPEND, null, jSONObject, null); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void profileAppend(final String str, final Set<String> set) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass30 */ public void run() { try { JSONArray jSONArray = new JSONArray(); for (String str : set) { jSONArray.put(str); } JSONObject jSONObject = new JSONObject(); jSONObject.put(str, jSONArray); SensorsDataAPI.this.trackEvent(EventType.PROFILE_APPEND, null, jSONObject, null); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void profileDelete() { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass32 */ public void run() { try { SensorsDataAPI.this.trackEvent(EventType.PROFILE_DELETE, null, null, null); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void profileIncrement(final String str, final Number number) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass28 */ public void run() { try { SensorsDataAPI.this.trackEvent(EventType.PROFILE_INCREMENT, null, new JSONObject().put(str, number), null); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void profileIncrement(final Map<String, ? extends Number> map) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass27 */ public void run() { try { SensorsDataAPI.this.trackEvent(EventType.PROFILE_INCREMENT, null, new JSONObject(map), null); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void profilePushId(final String str, final String str2) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass34 */ public void run() { try { SADataHelper.assertKey(str); if (TextUtils.isEmpty(str2)) { SALog.d(SensorsDataAPI.TAG, "pushId is empty"); return; } String str = SensorsDataAPI.this.getDistinctId() + str2; SharedPreferences sharedPreferences = SensorsDataUtils.getSharedPreferences(SensorsDataAPI.this.mContext); if (!sharedPreferences.getString("distinctId_" + str, "").equals(str)) { SensorsDataAPI.this.profileSet(str, str2); sharedPreferences.edit().putString("distinctId_" + str, str).apply(); } } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void profileSet(final String str, final Object obj) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass24 */ public void run() { try { SensorsDataAPI.this.trackEvent(EventType.PROFILE_SET, null, new JSONObject().put(str, obj), null); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void profileSet(final JSONObject jSONObject) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass23 */ public void run() { try { SensorsDataAPI.this.trackEvent(EventType.PROFILE_SET, null, jSONObject, null); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void profileSetOnce(final String str, final Object obj) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass26 */ public void run() { try { SensorsDataAPI.this.trackEvent(EventType.PROFILE_SET_ONCE, null, new JSONObject().put(str, obj), null); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void profileSetOnce(final JSONObject jSONObject) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass25 */ public void run() { try { SensorsDataAPI.this.trackEvent(EventType.PROFILE_SET_ONCE, null, jSONObject, null); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void profileUnset(final String str) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass31 */ public void run() { try { SensorsDataAPI.this.trackEvent(EventType.PROFILE_UNSET, null, new JSONObject().put(str, true), null); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void profileUnsetPushId(final String str) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass35 */ public void run() { try { SADataHelper.assertKey(str); String distinctId = SensorsDataAPI.this.getDistinctId(); SharedPreferences sharedPreferences = SensorsDataUtils.getSharedPreferences(SensorsDataAPI.this.mContext); String str = "distinctId_" + str; if (sharedPreferences.getString(str, "").startsWith(distinctId)) { SensorsDataAPI.this.profileUnset(str); sharedPreferences.edit().remove(str).apply(); } } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void registerDynamicSuperProperties(SensorsDataDynamicSuperProperties sensorsDataDynamicSuperProperties) { this.mDynamicSuperPropertiesCallBack = sensorsDataDynamicSuperProperties; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void registerSuperProperties(final JSONObject jSONObject) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass20 */ public void run() { try { if (jSONObject != null) { SADataHelper.assertPropertyTypes(jSONObject); synchronized (SensorsDataAPI.this.mSuperProperties) { SensorsDataAPI.this.mSuperProperties.commit(SensorsDataUtils.mergeSuperJSONObject(jSONObject, (JSONObject) SensorsDataAPI.this.mSuperProperties.get())); } } } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void removeTimer(final String str) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass12 */ public void run() { try { SADataHelper.assertKey(str); synchronized (SensorsDataAPI.this.mTrackTimer) { SensorsDataAPI.this.mTrackTimer.remove(str); } } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void resetAnonymousId() { synchronized (this.mDistinctId) { if (SensorsDataUtils.isValidAndroidId(this.mAndroidId)) { this.mDistinctId.commit(this.mAndroidId); } else { this.mDistinctId.commit(UUID.randomUUID().toString()); } try { if (this.mEventListenerList != null) { for (SAEventListener sAEventListener : this.mEventListenerList) { sAEventListener.resetAnonymousId(); } } } catch (Exception e) { SALog.printStackTrace(e); } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void resumeAutoTrackActivities(List<Class<?>> list) { if (list != null && list.size() != 0) { if (this.mAutoTrackIgnoredActivities == null) { this.mAutoTrackIgnoredActivities = new ArrayList(); } try { for (Class<?> cls : list) { if (cls != null) { int hashCode = cls.hashCode(); if (this.mAutoTrackIgnoredActivities.contains(Integer.valueOf(hashCode))) { this.mAutoTrackIgnoredActivities.remove(Integer.valueOf(hashCode)); } } } } catch (Exception e) { SALog.printStackTrace(e); } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void resumeAutoTrackActivity(Class<?> cls) { if (cls != null) { if (this.mAutoTrackIgnoredActivities == null) { this.mAutoTrackIgnoredActivities = new ArrayList(); } try { int hashCode = cls.hashCode(); if (this.mAutoTrackIgnoredActivities.contains(Integer.valueOf(hashCode))) { this.mAutoTrackIgnoredActivities.remove(Integer.valueOf(hashCode)); } } catch (Exception e) { SALog.printStackTrace(e); } } } @Override // com.sensorsdata.analytics.android.sdk.internal.IFragmentAPI public void resumeIgnoredAutoTrackFragment(Class<?> cls) { this.mFragmentAPI.resumeIgnoredAutoTrackFragment(cls); } @Override // com.sensorsdata.analytics.android.sdk.internal.IFragmentAPI public void resumeIgnoredAutoTrackFragments(List<Class<?>> list) { this.mFragmentAPI.resumeIgnoredAutoTrackFragments(list); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void resumeTrackScreenOrientation() { try { if (this.mOrientationDetector != null) { this.mOrientationDetector.enable(); } } catch (Exception e) { SALog.printStackTrace(e); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setCookie(String str, boolean z) { if (z) { try { this.mCookie = URLEncoder.encode(str, "UTF-8"); } catch (Exception e) { SALog.printStackTrace(e); } } else { this.mCookie = str; } } /* access modifiers changed from: package-private */ public void setDebugMode(DebugMode debugMode) { this.mDebugMode = debugMode; if (debugMode == DebugMode.DEBUG_OFF) { enableLog(false); SALog.setDebug(false); this.mServerUrl = this.mOriginServerUrl; return; } enableLog(true); SALog.setDebug(true); setServerUrl(this.mOriginServerUrl); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setDeepLinkCallback(SensorsDataDeepLinkCallback sensorsDataDeepLinkCallback) { this.mDeepLinkCallback = sensorsDataDeepLinkCallback; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setFlushBulkSize(int i) { if (i < 0) { SALog.i(TAG, "The value of flushBulkSize is invalid"); } mSAConfigOptions.setFlushBulkSize(i); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setFlushInterval(int i) { mSAConfigOptions.setFlushInterval(i); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setFlushNetworkPolicy(int i) { mSAConfigOptions.setNetworkTypePolicy(i); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setGPSLocation(double d, double d2) { try { if (mGPSLocation == null) { mGPSLocation = new SensorsDataGPSLocation(); } mGPSLocation.setLatitude((long) (d * Math.pow(10.0d, 6.0d))); mGPSLocation.setLongitude((long) (d2 * Math.pow(10.0d, 6.0d))); } catch (Exception e) { SALog.printStackTrace(e); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setMaxCacheSize(long j) { mSAConfigOptions.setMaxCacheSize(j); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setSSLSocketFactory(SSLSocketFactory sSLSocketFactory) { this.mSSLSocketFactory = sSLSocketFactory; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setServerUrl(String str) { setServerUrl(str, false); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setServerUrl(String str, boolean z) { int lastIndexOf; if (z) { try { if (this.mRemoteManager != null) { try { this.mRemoteManager.requestRemoteConfig(SensorsDataRemoteManager.RemoteConfigHandleRandomTimeType.RandomTimeTypeWrite, false); } catch (Exception e) { SALog.printStackTrace(e); } } } catch (Exception e2) { SALog.printStackTrace(e2); return; } } this.mOriginServerUrl = str; if (TextUtils.isEmpty(str)) { this.mServerUrl = str; SALog.i(TAG, "Server url is null or empty."); return; } Uri parse = Uri.parse(str); String host = parse.getHost(); if (!TextUtils.isEmpty(host) && host.contains("_")) { SALog.i(TAG, "Server url " + str + " contains '_' is not recommend,see details: https://en.wikipedia.org/wiki/Hostname"); } if (this.mDebugMode != DebugMode.DEBUG_OFF) { String path = parse.getPath(); if (!TextUtils.isEmpty(path) && (lastIndexOf = path.lastIndexOf(47)) != -1) { this.mServerUrl = parse.buildUpon().path(path.substring(0, lastIndexOf) + "/debug").build().toString(); return; } return; } this.mServerUrl = str; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setSessionIntervalTime(int i) { if (DbAdapter.getInstance() == null) { SALog.i(TAG, "The static method sharedInstance(context, serverURL, debugMode) should be called before calling sharedInstance()"); } else if (i < 10000 || i > 300000) { SALog.i(TAG, "SessionIntervalTime:" + i + " is invalid, session interval time is between 10s and 300s."); } else { DbAdapter.getInstance().commitSessionIntervalTime(i); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setTrackEventCallBack(SensorsDataTrackEventCallBack sensorsDataTrackEventCallBack) { this.mTrackEventCallBack = sensorsDataTrackEventCallBack; } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setViewActivity(View view, Activity activity) { if (view != null && activity != null) { try { view.setTag(R.id.sensors_analytics_tag_view_activity, activity); } catch (Exception e) { SALog.printStackTrace(e); } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setViewFragmentName(View view, String str) { if (view != null) { try { if (!TextUtils.isEmpty(str)) { view.setTag(R.id.sensors_analytics_tag_view_fragment_name2, str); } } catch (Exception e) { SALog.printStackTrace(e); } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setViewID(Dialog dialog, String str) { if (dialog != null) { try { if (!TextUtils.isEmpty(str) && dialog.getWindow() != null) { dialog.getWindow().getDecorView().setTag(R.id.sensors_analytics_tag_view_id, str); } } catch (Exception e) { SALog.printStackTrace(e); } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setViewID(View view, String str) { if (view != null && !TextUtils.isEmpty(str)) { view.setTag(R.id.sensors_analytics_tag_view_id, str); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setViewID(Object obj, String str) { Class<?> cls; Method method; Window window; if (obj != null) { Class<?> cls2 = null; try { cls = Class.forName("androidx.appcompat.app.AlertDialog"); } catch (Exception unused) { cls = null; } try { cls2 = Class.forName("androidx.appcompat.app.AlertDialog"); } catch (Exception unused2) { } if (cls == null) { cls = cls2; } if (cls != null) { try { if (cls.isInstance(obj) && !TextUtils.isEmpty(str) && (method = obj.getClass().getMethod("getWindow", new Class[0])) != null && (window = (Window) method.invoke(obj, new Object[0])) != null) { window.getDecorView().setTag(R.id.sensors_analytics_tag_view_id, str); } } catch (Exception e) { SALog.printStackTrace(e); } } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void setViewProperties(View view, JSONObject jSONObject) { if (view != null && jSONObject != null) { view.setTag(R.id.sensors_analytics_tag_view_properties, jSONObject); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @SuppressLint({"SetJavaScriptEnabled", "addJavascriptInterface"}) @Deprecated public void showUpWebView(WebView webView, JSONObject jSONObject, boolean z, boolean z2) { if (Build.VERSION.SDK_INT < 17 && !z) { SALog.d(TAG, "For applications targeted to API level JELLY_BEAN or below, this feature NOT SUPPORTED"); } else if (webView != null) { webView.getSettings().setJavaScriptEnabled(true); webView.addJavascriptInterface(new AppWebViewInterface(this.mContext, jSONObject, z2), "SensorsData_APP_JS_Bridge"); SensorsDataAutoTrackHelper.addWebViewVisualInterface(webView); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @SuppressLint({"SetJavaScriptEnabled", "addJavascriptInterface"}) public void showUpWebView(WebView webView, boolean z) { showUpWebView(webView, z, (JSONObject) null); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @SuppressLint({"SetJavaScriptEnabled", "addJavascriptInterface"}) @Deprecated public void showUpWebView(WebView webView, boolean z, JSONObject jSONObject) { showUpWebView(webView, jSONObject, z, false); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @SuppressLint({"SetJavaScriptEnabled", "addJavascriptInterface"}) public void showUpWebView(WebView webView, boolean z, boolean z2) { showUpWebView(webView, null, z, z2); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void showUpX5WebView(Object obj) { showUpX5WebView(obj, false); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @Deprecated public void showUpX5WebView(Object obj, JSONObject jSONObject, boolean z, boolean z2) { Method method; try { if (Build.VERSION.SDK_INT < 17 && !z) { SALog.d(TAG, "For applications targeted to API level JELLY_BEAN or below, this feature NOT SUPPORTED"); } else if (obj != null && (method = obj.getClass().getMethod("addJavascriptInterface", Object.class, String.class)) != null) { method.invoke(obj, new AppWebViewInterface(this.mContext, jSONObject, z2), "SensorsData_APP_JS_Bridge"); SensorsDataAutoTrackHelper.addWebViewVisualInterface((View) obj); } } catch (Exception e) { SALog.printStackTrace(e); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void showUpX5WebView(Object obj, boolean z) { if (obj != null) { try { Method method = obj.getClass().getMethod("addJavascriptInterface", Object.class, String.class); if (method != null) { method.invoke(obj, new AppWebViewInterface(this.mContext, null, z), "SensorsData_APP_JS_Bridge"); SensorsDataAutoTrackHelper.addWebViewVisualInterface((View) obj); } } catch (Exception e) { SALog.printStackTrace(e); } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void startTrackThread() { TrackTaskManagerThread trackTaskManagerThread = this.mTrackTaskManagerThread; if (trackTaskManagerThread == null || trackTaskManagerThread.isStopped()) { this.mTrackTaskManagerThread = new TrackTaskManagerThread(); new Thread(this.mTrackTaskManagerThread).start(); SALog.i(TAG, "Data collection thread has been started"); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void stopTrackScreenOrientation() { try { if (this.mOrientationDetector != null) { this.mOrientationDetector.disable(); } } catch (Exception e) { SALog.printStackTrace(e); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void stopTrackThread() { TrackTaskManagerThread trackTaskManagerThread = this.mTrackTaskManagerThread; if (trackTaskManagerThread != null && !trackTaskManagerThread.isStopped()) { this.mTrackTaskManagerThread.stop(); SALog.i(TAG, "Data collection thread has been stopped"); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void track(String str) { track(str, null); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void track(final String str, final JSONObject jSONObject) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass9 */ public void run() { try { SensorsDataAPI.this.trackEvent(EventType.TRACK, str, ChannelUtils.checkOrSetChannelCallbackEvent(SensorsDataAPI.this.getConfigOptions().isAutoAddChannelCallbackEvent, str, jSONObject, SensorsDataAPI.this.mContext), null); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackAppCrash() { SensorsDataExceptionHandler.enableAppCrash(); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackAppInstall() { trackAppInstall(null, false); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackAppInstall(JSONObject jSONObject) { trackAppInstall(jSONObject, false); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackAppInstall(JSONObject jSONObject, boolean z) { trackInstallation("$AppInstall", jSONObject, z); } /* access modifiers changed from: package-private */ public void trackChannelDebugInstallation() { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass7 */ public void run() { try { JSONObject jSONObject = new JSONObject(); jSONObject.put("$ios_install_source", ChannelUtils.getDeviceInfo(SensorsDataAPI.this.mContext, SensorsDataAPI.this.mAndroidId, OaidHelper.getOAID(SensorsDataAPI.this.mContext))); SensorsDataAPI.this.trackEvent(EventType.TRACK, "$ChannelDebugInstall", jSONObject, null); JSONObject jSONObject2 = new JSONObject(); SensorsDataUtils.mergeJSONObject(jSONObject, jSONObject2); jSONObject2.put("$first_visit_time", new Date()); if (SensorsDataAPI.mSAConfigOptions.mEnableMultipleChannelMatch) { SensorsDataAPI.this.trackEvent(EventType.PROFILE_SET, null, jSONObject2, null); } else { SensorsDataAPI.this.trackEvent(EventType.PROFILE_SET_ONCE, null, jSONObject2, null); } SensorsDataAPI.this.flushSync(); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackChannelEvent(String str) { trackChannelEvent(str, null); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackChannelEvent(final String str, final JSONObject jSONObject) { if (getConfigOptions().isAutoAddChannelCallbackEvent) { track(str, jSONObject); return; } if (jSONObject == null) { jSONObject = new JSONObject(); } this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass8 */ public void run() { try { jSONObject.put("$is_channel_callback_event", ChannelUtils.isFirstChannelEvent(str)); if (!ChannelUtils.hasUtmProperties(jSONObject)) { ChannelUtils.mergeUtmByMetaData(SensorsDataAPI.this.mContext, jSONObject); } if (!ChannelUtils.hasUtmProperties(jSONObject)) { if (jSONObject.has("$oaid")) { String optString = jSONObject.optString("$oaid"); jSONObject.put("$channel_device_info", ChannelUtils.getDeviceInfo(SensorsDataAPI.this.mContext, SensorsDataAPI.this.mAndroidId, optString)); SALog.i(SensorsDataAPI.TAG, "properties has oaid " + optString); } else { jSONObject.put("$channel_device_info", ChannelUtils.getDeviceInfo(SensorsDataAPI.this.mContext, SensorsDataAPI.this.mAndroidId, OaidHelper.getOAID(SensorsDataAPI.this.mContext))); } } if (jSONObject.has("$oaid")) { jSONObject.remove("$oaid"); } } catch (Exception e) { try { SALog.printStackTrace(e); } catch (Exception e2) { SALog.printStackTrace(e2); return; } } SensorsDataAPI.this.trackEvent(EventType.TRACK, str, jSONObject, null); } }); } /* access modifiers changed from: package-private */ public void trackEvent(EventType eventType, String str, JSONObject jSONObject, String str2) { EventTimer eventTimer; String str3; JSONObject jSONObject2; AutoTrackEventType autoTrackEventTypeFromEventName; String str4 = str; try { String str5 = null; if (!TextUtils.isEmpty(str)) { synchronized (this.mTrackTimer) { eventTimer = this.mTrackTimer.get(str4); this.mTrackTimer.remove(str4); } if (str4.endsWith("_SATimer") && str.length() > 45) { str4 = str4.substring(0, str.length() - 45); } str3 = str4; } else { str3 = str4; eventTimer = null; } if (eventType.isTrack()) { SADataHelper.assertKey(str3); if (this.mRemoteManager != null && this.mRemoteManager.ignoreEvent(str3)) { return; } } SADataHelper.assertPropertyTypes(jSONObject); try { if (eventType.isTrack()) { jSONObject2 = new JSONObject(this.mDeviceInfo); try { if (TextUtils.isEmpty(jSONObject2.optString("$carrier"))) { String carrier = SensorsDataUtils.getCarrier(this.mContext); if (!TextUtils.isEmpty(carrier)) { jSONObject2.put("$carrier", carrier); } } } catch (Exception e) { SALog.printStackTrace(e); } if (!"$AppEnd".equals(str3)) { SensorsDataUtils.mergeJSONObject(ChannelUtils.getLatestUtmProperties(), jSONObject2); } mergerDynamicAndSuperProperties(jSONObject2); Object networkType = NetworkUtils.networkType(this.mContext); jSONObject2.put("$wifi", "WIFI".equals(networkType)); jSONObject2.put("$network_type", networkType); try { if (mGPSLocation != null) { jSONObject2.put("$latitude", mGPSLocation.getLatitude()); jSONObject2.put("$longitude", mGPSLocation.getLongitude()); } } catch (Exception e2) { SALog.printStackTrace(e2); } try { String screenOrientation = getScreenOrientation(); if (!TextUtils.isEmpty(screenOrientation)) { jSONObject2.put("$screen_orientation", screenOrientation); } } catch (Exception e3) { SALog.printStackTrace(e3); } } else if (eventType.isProfile()) { jSONObject2 = new JSONObject(); } else { return; } String str6 = "4.3.6"; String str7 = this.mDeviceInfo.containsKey("$app_version") ? (String) this.mDeviceInfo.get("$app_version") : ""; long currentTimeMillis = System.currentTimeMillis(); if (jSONObject != null) { try { if (jSONObject.has("$lib_detail")) { str5 = jSONObject.getString("$lib_detail"); jSONObject.remove("$lib_detail"); } } catch (Exception e4) { SALog.printStackTrace(e4); } try { if ("$AppEnd".equals(str3)) { long optLong = jSONObject.optLong("event_time"); if (optLong > AdaptiveTrackSelection.DEFAULT_MIN_TIME_BETWEEN_BUFFER_REEVALUTATION_MS) { currentTimeMillis = optLong; } String optString = jSONObject.optString("$lib_version"); String optString2 = jSONObject.optString("$app_version"); if (!TextUtils.isEmpty(optString)) { str6 = optString; } else { jSONObject.remove("$lib_version"); } if (!TextUtils.isEmpty(optString2)) { str7 = optString2; } else { jSONObject.remove("$app_version"); } jSONObject.remove("event_time"); } else if ("$AppStart".equals(str3)) { long optLong2 = jSONObject.optLong("event_time"); if (optLong2 > 0) { currentTimeMillis = optLong2; } jSONObject.remove("event_time"); } } catch (Exception e5) { SALog.printStackTrace(e5); } SensorsDataUtils.mergeJSONObject(jSONObject, jSONObject2); } if (eventTimer != null) { try { Double valueOf = Double.valueOf(eventTimer.duration()); if (valueOf.doubleValue() > 0.0d) { jSONObject2.put("event_duration", valueOf); } } catch (Exception e6) { SALog.printStackTrace(e6); } } JSONObject jSONObject3 = new JSONObject(); jSONObject3.put("$lib", "Android"); jSONObject3.put("$lib_version", str6); jSONObject3.put("$app_version", str7); JSONObject jSONObject4 = (JSONObject) this.mSuperProperties.get(); if (jSONObject4 != null && jSONObject4.has("$app_version")) { jSONObject3.put("$app_version", jSONObject4.get("$app_version")); } JSONObject jSONObject5 = new JSONObject(); try { jSONObject5.put("_track_id", new SecureRandom().nextInt()); } catch (Exception unused) { } jSONObject5.put("time", currentTimeMillis); jSONObject5.put("type", eventType.getEventType()); try { if (jSONObject2.has("$project")) { jSONObject5.put("project", jSONObject2.optString("$project")); jSONObject2.remove("$project"); } if (jSONObject2.has("$token")) { jSONObject5.put("token", jSONObject2.optString("$token")); jSONObject2.remove("$token"); } if (jSONObject2.has("$time")) { try { Object opt = jSONObject2.opt("$time"); if ((opt instanceof Date) && TimeUtils.isDateValid((Date) opt)) { jSONObject5.put("time", ((Date) opt).getTime()); } } catch (Exception e7) { SALog.printStackTrace(e7); } jSONObject2.remove("$time"); } } catch (Exception e8) { SALog.printStackTrace(e8); } jSONObject5.put("distinct_id", getDistinctId()); if (!TextUtils.isEmpty(getLoginId())) { jSONObject5.put("login_id", getLoginId()); } jSONObject5.put("anonymous_id", getAnonymousId()); jSONObject5.put("lib", jSONObject3); if (eventType == EventType.TRACK) { jSONObject5.put(NotificationCompat.CATEGORY_EVENT, str3); jSONObject2.put("$is_first_day", isFirstDay(currentTimeMillis)); } else if (eventType == EventType.TRACK_SIGNUP) { jSONObject5.put(NotificationCompat.CATEGORY_EVENT, str3); jSONObject5.put("original_id", str2); } jSONObject3.put("$lib_method", CommandMessage.CODE); if (this.mAutoTrack && jSONObject != null && AutoTrackEventType.isAutoTrackType(str3) && (autoTrackEventTypeFromEventName = AutoTrackEventType.autoTrackEventTypeFromEventName(str3)) != null && !isAutoTrackEventTypeIgnored(autoTrackEventTypeFromEventName) && jSONObject.has(AopConstants.SCREEN_NAME)) { String string = jSONObject.getString(AopConstants.SCREEN_NAME); if (!TextUtils.isEmpty(string)) { String[] split = string.split("\\|"); if (split.length > 0) { str5 = String.format("%s##%s##%s##%s", split[0], "", "", ""); } } } if (TextUtils.isEmpty(str5)) { StackTraceElement[] stackTrace = new Exception().getStackTrace(); if (stackTrace.length > 1) { StackTraceElement stackTraceElement = stackTrace[0]; str5 = String.format("%s##%s##%s##%s", stackTraceElement.getClassName(), stackTraceElement.getMethodName(), stackTraceElement.getFileName(), Integer.valueOf(stackTraceElement.getLineNumber())); } } jSONObject3.put("$lib_detail", str5); if (jSONObject2.has("$device_id") && this.mDeviceInfo.containsKey("$device_id")) { jSONObject2.put("$device_id", this.mDeviceInfo.get("$device_id")); } if (eventType.isTrack()) { if (!isEnterDb(str3, jSONObject2)) { SALog.d(TAG, str3 + " event can not enter database"); return; } else if (!this.isTrackEventWithPluginVersion && !jSONObject2.has("$lib_plugin_version")) { JSONArray pluginVersion = getPluginVersion(); if (pluginVersion == null) { this.isTrackEventWithPluginVersion = true; } else { try { jSONObject2.put("$lib_plugin_version", pluginVersion); this.isTrackEventWithPluginVersion = true; } catch (Exception e9) { SALog.printStackTrace(e9); } } } } jSONObject5.put("properties", jSONObject2); try { if (this.mEventListenerList != null && eventType.isTrack()) { for (SAEventListener sAEventListener : this.mEventListenerList) { sAEventListener.trackEvent(jSONObject5); } } } catch (Exception e10) { SALog.printStackTrace(e10); } this.mMessages.enqueueEventMessage(eventType.getEventType(), jSONObject5); if (SALog.isLogEnabled()) { SALog.i(TAG, "track event:\n" + JSONUtils.formatJson(jSONObject5.toString())); } } catch (JSONException unused2) { throw new InvalidDataException("Unexpected property"); } } catch (Exception e11) { SALog.printStackTrace(e11); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackEventFromH5(String str) { try { if (!TextUtils.isEmpty(str)) { JSONObject jSONObject = new JSONObject(str); jSONObject.put("_hybrid_h5", true); String string = jSONObject.getString("type"); EventType valueOf = EventType.valueOf(string.toUpperCase(Locale.getDefault())); if (valueOf == EventType.TRACK_SIGNUP) { jSONObject.put("original_id", getAnonymousId()); } else if (!TextUtils.isEmpty(getLoginId())) { jSONObject.put("distinct_id", getLoginId()); } else { jSONObject.put("distinct_id", getAnonymousId()); } jSONObject.put("anonymous_id", getAnonymousId()); long currentTimeMillis = System.currentTimeMillis(); jSONObject.put("time", currentTimeMillis); try { jSONObject.put("_track_id", new SecureRandom().nextInt()); } catch (Exception unused) { } JSONObject optJSONObject = jSONObject.optJSONObject("properties"); SADataHelper.assertPropertyTypes(optJSONObject); if (optJSONObject == null) { optJSONObject = new JSONObject(); } JSONObject optJSONObject2 = jSONObject.optJSONObject("lib"); if (optJSONObject2 != null) { if (this.mDeviceInfo.containsKey("$app_version")) { optJSONObject2.put("$app_version", this.mDeviceInfo.get("$app_version")); } JSONObject jSONObject2 = (JSONObject) this.mSuperProperties.get(); if (jSONObject2 != null && jSONObject2.has("$app_version")) { optJSONObject2.put("$app_version", jSONObject2.get("$app_version")); } } if (valueOf.isTrack()) { if (this.mDeviceInfo != null) { for (Map.Entry<String, Object> entry : this.mDeviceInfo.entrySet()) { String key = entry.getKey(); if (!TextUtils.isEmpty(key) && !"$lib".equals(key) && !"$lib_version".equals(key)) { optJSONObject.put(entry.getKey(), entry.getValue()); } } } String networkType = NetworkUtils.networkType(this.mContext); optJSONObject.put("$wifi", "WIFI".equals(networkType)); optJSONObject.put("$network_type", networkType); mergerDynamicAndSuperProperties(optJSONObject); if (valueOf.isTrack()) { optJSONObject.put("$is_first_day", isFirstDay(currentTimeMillis)); } SensorsDataUtils.mergeJSONObject(ChannelUtils.getLatestUtmProperties(), optJSONObject); } if (jSONObject.has("_nocache")) { jSONObject.remove("_nocache"); } if (jSONObject.has("server_url")) { jSONObject.remove("server_url"); } if (optJSONObject.has("$project")) { jSONObject.put("project", optJSONObject.optString("$project")); optJSONObject.remove("$project"); } if (optJSONObject.has("$token")) { jSONObject.put("token", optJSONObject.optString("$token")); optJSONObject.remove("$token"); } if (optJSONObject.has("$time")) { try { long j = optJSONObject.getLong("$time"); if (TimeUtils.isDateValid(j)) { jSONObject.put("time", j); } } catch (Exception e) { SALog.printStackTrace(e); } optJSONObject.remove("$time"); } String optString = jSONObject.optString(NotificationCompat.CATEGORY_EVENT); if (valueOf.isTrack()) { SADataHelper.assertKey(optString); if (!isEnterDb(optString, optJSONObject)) { SALog.d(TAG, optString + " event can not enter database"); return; } else if (!this.isTrackEventWithPluginVersion && !optJSONObject.has("$lib_plugin_version")) { JSONArray pluginVersion = getPluginVersion(); if (pluginVersion == null) { this.isTrackEventWithPluginVersion = true; } else { try { optJSONObject.put("$lib_plugin_version", pluginVersion); this.isTrackEventWithPluginVersion = true; } catch (Exception e2) { SALog.printStackTrace(e2); } } } } jSONObject.put("properties", optJSONObject); if (valueOf == EventType.TRACK_SIGNUP) { String string2 = jSONObject.getString("distinct_id"); synchronized (this.mLoginIdLock) { if (!string2.equals(DbAdapter.getInstance().getLoginId()) && !string2.equals(getAnonymousId())) { DbAdapter.getInstance().commitLoginId(string2); jSONObject.put("login_id", string2); try { if (this.mEventListenerList != null) { for (SAEventListener sAEventListener : this.mEventListenerList) { sAEventListener.login(); } } } catch (Exception e3) { SALog.printStackTrace(e3); } this.mMessages.enqueueEventMessage(string, jSONObject); if (SALog.isLogEnabled()) { SALog.i(TAG, "track event:\n" + JSONUtils.formatJson(jSONObject.toString())); } } } return; } if (!TextUtils.isEmpty(getLoginId())) { jSONObject.put("login_id", getLoginId()); } try { if (this.mEventListenerList != null && valueOf.isTrack()) { for (SAEventListener sAEventListener2 : this.mEventListenerList) { sAEventListener2.trackEvent(jSONObject); } } } catch (Exception e4) { SALog.printStackTrace(e4); } this.mMessages.enqueueEventMessage(string, jSONObject); if (SALog.isLogEnabled()) { SALog.i(TAG, "track event:\n" + JSONUtils.formatJson(jSONObject.toString())); } } } catch (Exception e5) { SALog.printStackTrace(e5); } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackEventFromH5(String str, boolean z) { try { if (!TextUtils.isEmpty(str)) { JSONObject jSONObject = new JSONObject(str); if (z) { String optString = jSONObject.optString("server_url"); if (TextUtils.isEmpty(optString) || !new ServerUrl(optString).check(new ServerUrl(this.mServerUrl))) { return; } } trackEventFromH5(str); } } catch (Exception e) { SALog.printStackTrace(e); } } @Override // com.sensorsdata.analytics.android.sdk.internal.IFragmentAPI public void trackFragmentAppViewScreen() { this.mFragmentAPI.trackFragmentAppViewScreen(); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackInstallation(String str) { trackInstallation(str, null, false); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackInstallation(String str, JSONObject jSONObject) { trackInstallation(str, jSONObject, false); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackInstallation(final String str, final JSONObject jSONObject, final boolean z) { if (jSONObject == null) { jSONObject = new JSONObject(); } this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass6 */ /* JADX WARNING: Removed duplicated region for block: B:44:0x0130 */ /* JADX WARNING: Removed duplicated region for block: B:45:0x0138 */ /* JADX WARNING: Removed duplicated region for block: B:48:0x0143 */ /* JADX WARNING: Removed duplicated region for block: B:49:0x0151 */ public void run() { boolean z; boolean z2; Exception e; String str; String str2; if (SensorsDataAPI.mIsMainProcess) { try { if (z ? ((Boolean) SensorsDataAPI.this.mFirstTrackInstallationWithCallback.get()).booleanValue() : ((Boolean) SensorsDataAPI.this.mFirstTrackInstallation.get()).booleanValue()) { try { if (!ChannelUtils.hasUtmProperties(jSONObject)) { ChannelUtils.mergeUtmByMetaData(SensorsDataAPI.this.mContext, jSONObject); } if (!ChannelUtils.hasUtmProperties(jSONObject)) { if (jSONObject.has("$oaid")) { str2 = jSONObject.optString("$oaid"); str = ChannelUtils.getDeviceInfo(SensorsDataAPI.this.mContext, SensorsDataAPI.this.mAndroidId, str2); SALog.i(SensorsDataAPI.TAG, "properties has oaid " + str2); } else { str2 = OaidHelper.getOAID(SensorsDataAPI.this.mContext); str = ChannelUtils.getDeviceInfo(SensorsDataAPI.this.mContext, SensorsDataAPI.this.mAndroidId, str2); } if (jSONObject.has("$gaid")) { str = String.format("%s##gaid=%s", str, jSONObject.optString("$gaid")); } z = ChannelUtils.isGetDeviceInfo(SensorsDataAPI.this.mContext, SensorsDataAPI.this.mAndroidId, str2); try { jSONObject.put("$ios_install_source", str); } catch (Exception e2) { z2 = z; e = e2; SALog.printStackTrace(e); z = z2; SensorsDataAPI.this.trackEvent(EventType.TRACK, str, jSONObject, null); JSONObject jSONObject = new JSONObject(); jSONObject.remove("$ios_install_disable_callback"); SensorsDataUtils.mergeJSONObject(jSONObject, jSONObject); jSONObject.put("$first_visit_time", new Date()); if (SensorsDataAPI.mSAConfigOptions.mEnableMultipleChannelMatch) { } if (z) { } ChannelUtils.saveCorrectTrackInstallation(SensorsDataAPI.this.mContext, z); SensorsDataAPI.this.flushSync(); } } else { z = false; } if (jSONObject.has("$oaid")) { jSONObject.remove("$oaid"); } if (jSONObject.has("$gaid")) { jSONObject.remove("$gaid"); } if (z) { jSONObject.put("$ios_install_disable_callback", z); } } catch (Exception e3) { e = e3; z2 = false; SALog.printStackTrace(e); z = z2; SensorsDataAPI.this.trackEvent(EventType.TRACK, str, jSONObject, null); JSONObject jSONObject2 = new JSONObject(); jSONObject.remove("$ios_install_disable_callback"); SensorsDataUtils.mergeJSONObject(jSONObject, jSONObject2); jSONObject2.put("$first_visit_time", new Date()); if (SensorsDataAPI.mSAConfigOptions.mEnableMultipleChannelMatch) { } if (z) { } ChannelUtils.saveCorrectTrackInstallation(SensorsDataAPI.this.mContext, z); SensorsDataAPI.this.flushSync(); } SensorsDataAPI.this.trackEvent(EventType.TRACK, str, jSONObject, null); JSONObject jSONObject22 = new JSONObject(); jSONObject.remove("$ios_install_disable_callback"); SensorsDataUtils.mergeJSONObject(jSONObject, jSONObject22); jSONObject22.put("$first_visit_time", new Date()); if (SensorsDataAPI.mSAConfigOptions.mEnableMultipleChannelMatch) { SensorsDataAPI.this.trackEvent(EventType.PROFILE_SET, null, jSONObject22, null); } else { SensorsDataAPI.this.trackEvent(EventType.PROFILE_SET_ONCE, null, jSONObject22, null); } if (z) { SensorsDataAPI.this.mFirstTrackInstallationWithCallback.commit(false); } else { SensorsDataAPI.this.mFirstTrackInstallation.commit(false); } ChannelUtils.saveCorrectTrackInstallation(SensorsDataAPI.this.mContext, z); } SensorsDataAPI.this.flushSync(); } catch (Exception e4) { SALog.printStackTrace(e4); } } } }); } /* access modifiers changed from: package-private */ public void trackInternal(final String str, final JSONObject jSONObject) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass10 */ public void run() { try { SensorsDataAPI.this.trackEvent(EventType.TRACK, str, jSONObject, null); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @Deprecated public void trackSignUp(final String str) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass5 */ public void run() { try { String anonymousId = SensorsDataAPI.this.getAnonymousId(); synchronized (SensorsDataAPI.this.mDistinctId) { SensorsDataAPI.this.mDistinctId.commit(str); } SensorsDataAPI.this.trackEvent(EventType.TRACK_SIGNUP, "$SignUp", null, anonymousId); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @Deprecated public void trackSignUp(final String str, final JSONObject jSONObject) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass4 */ public void run() { try { String anonymousId = SensorsDataAPI.this.getAnonymousId(); synchronized (SensorsDataAPI.this.mDistinctId) { SensorsDataAPI.this.mDistinctId.commit(str); } SensorsDataAPI.this.trackEvent(EventType.TRACK_SIGNUP, "$SignUp", jSONObject, anonymousId); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @Deprecated public void trackTimer(String str) { trackTimer(str, TimeUnit.MILLISECONDS); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @Deprecated public void trackTimer(final String str, final TimeUnit timeUnit) { final long elapsedRealtime = SystemClock.elapsedRealtime(); this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass11 */ public void run() { try { SADataHelper.assertKey(str); synchronized (SensorsDataAPI.this.mTrackTimer) { SensorsDataAPI.this.mTrackTimer.put(str, new EventTimer(timeUnit, elapsedRealtime)); } } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @Deprecated public void trackTimerBegin(String str) { trackTimer(str); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @Deprecated public void trackTimerBegin(String str, TimeUnit timeUnit) { trackTimer(str, timeUnit); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackTimerEnd(String str) { trackTimerEnd(str, null); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackTimerEnd(final String str, final JSONObject jSONObject) { final long elapsedRealtime = SystemClock.elapsedRealtime(); this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass14 */ public void run() { if (str != null) { synchronized (SensorsDataAPI.this.mTrackTimer) { EventTimer eventTimer = (EventTimer) SensorsDataAPI.this.mTrackTimer.get(str); if (eventTimer != null) { eventTimer.setEndTime(elapsedRealtime); } } } try { SensorsDataAPI.this.trackEvent(EventType.TRACK, str, ChannelUtils.checkOrSetChannelCallbackEvent(SensorsDataAPI.this.getConfigOptions().isAutoAddChannelCallbackEvent, str, jSONObject, SensorsDataAPI.this.mContext), null); } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackTimerPause(String str) { trackTimerState(str, true); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackTimerResume(String str) { trackTimerState(str, false); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public String trackTimerStart(String str) { try { String format = String.format("%s_%s_%s", str, UUID.randomUUID().toString().replace(Constants.ACCEPT_TIME_SEPARATOR_SERVER, "_"), "SATimer"); trackTimerBegin(format, TimeUnit.SECONDS); trackTimerBegin(str, TimeUnit.SECONDS); return format; } catch (Exception e) { SALog.printStackTrace(e); return ""; } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackViewAppClick(View view) { trackViewAppClick(view, null); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackViewAppClick(View view, JSONObject jSONObject) { if (view != null) { if (jSONObject == null) { jSONObject = new JSONObject(); } if (AopUtil.injectClickInfo(view, jSONObject, true)) { trackInternal(AopConstants.APP_CLICK_EVENT_NAME, jSONObject); } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackViewScreen(final Activity activity) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass17 */ public void run() { try { if (activity != null) { SensorsDataAPI.this.trackViewScreen(SensorsDataUtils.getScreenUrl(activity), AopUtil.buildTitleAndScreenName(activity)); } } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void trackViewScreen(final Object obj) { Class<?> cls; Class<?> cls2; if (obj != null) { Class<?> cls3 = null; try { cls = Class.forName("androidx.fragment.app.Fragment"); } catch (Exception unused) { cls = null; } try { cls2 = Class.forName("android.app.Fragment"); } catch (Exception unused2) { cls2 = null; } try { cls3 = Class.forName("androidx.fragment.app.Fragment"); } catch (Exception unused3) { } if ((cls != null && cls.isInstance(obj)) || ((cls2 != null && cls2.isInstance(obj)) || (cls3 != null && cls3.isInstance(obj)))) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass18 */ public void run() { JSONObject trackProperties; SensorsDataFragmentTitle sensorsDataFragmentTitle; try { JSONObject jSONObject = new JSONObject(); String canonicalName = obj.getClass().getCanonicalName(); Activity activity = null; String title = (!obj.getClass().isAnnotationPresent(SensorsDataFragmentTitle.class) || (sensorsDataFragmentTitle = (SensorsDataFragmentTitle) obj.getClass().getAnnotation(SensorsDataFragmentTitle.class)) == null) ? null : sensorsDataFragmentTitle.title(); if (Build.VERSION.SDK_INT >= 11) { try { Method method = obj.getClass().getMethod("getActivity", new Class[0]); if (method != null) { activity = (Activity) method.invoke(obj, new Object[0]); } } catch (Exception unused) { } if (activity != null) { if (TextUtils.isEmpty(title)) { title = SensorsDataUtils.getActivityTitle(activity); } canonicalName = String.format(Locale.CHINA, "%s|%s", activity.getClass().getCanonicalName(), canonicalName); } } if (!TextUtils.isEmpty(title)) { jSONObject.put(AopConstants.TITLE, title); } jSONObject.put(AopConstants.SCREEN_NAME, canonicalName); if ((obj instanceof ScreenAutoTracker) && (trackProperties = ((ScreenAutoTracker) obj).getTrackProperties()) != null) { SensorsDataUtils.mergeJSONObject(trackProperties, jSONObject); } SensorsDataAPI.this.trackViewScreen(SensorsDataUtils.getScreenUrl(obj), jSONObject); } catch (Exception e) { SALog.printStackTrace(e); } } }); } } } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI @Deprecated public void trackViewScreen(final String str, final JSONObject jSONObject) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass16 */ public void run() { try { if (!TextUtils.isEmpty(str) || jSONObject != null) { JSONObject jSONObject = new JSONObject(); SensorsDataAPI.this.mLastScreenTrackProperties = jSONObject; if (SensorsDataAPI.this.mLastScreenUrl != null) { jSONObject.put("$referrer", SensorsDataAPI.this.mLastScreenUrl); } jSONObject.put("$url", str); SensorsDataAPI.this.mLastScreenUrl = str; if (jSONObject != null) { SensorsDataUtils.mergeJSONObject(jSONObject, jSONObject); } SensorsDataAPI.this.trackInternal("$AppViewScreen", jSONObject); } } catch (Exception e) { SALog.printStackTrace(e); } } }); } @Override // com.sensorsdata.analytics.android.sdk.ISensorsDataAPI public void unregisterSuperProperty(final String str) { this.mTrackTaskManager.addTrackEventTask(new Runnable() { /* class com.sensorsdata.analytics.android.sdk.SensorsDataAPI.AnonymousClass21 */ public void run() { try { synchronized (SensorsDataAPI.this.mSuperProperties) { JSONObject jSONObject = (JSONObject) SensorsDataAPI.this.mSuperProperties.get(); jSONObject.remove(str); SensorsDataAPI.this.mSuperProperties.commit(jSONObject); } } catch (Exception e) { SALog.printStackTrace(e); } } }); } }