# compiler: R8
# compiler_version: 8.10.24
# common_typos_disable
# {"id":"com.android.tools.r8.mapping","version":"2.2"}
# pg_map_id: 0a0a5c9
# pg_map_hash: SHA-256 0a0a5c9fe62ef1227b10f1c37ee323c03603c0821054684f6e208d8fcf50a9b8
cn.thinkingdata.analytics.BuildConfig -> cn.thinkingdata.analytics.BuildConfig:
# {"id":"sourceFile","fileName":"BuildConfig.java"}
    1:1:void <init>():6:6 -> <init>
cn.thinkingdata.analytics.IThinkingAnalyticsAPI -> cn.thinkingdata.analytics.a:
# {"id":"sourceFile","fileName":"IThinkingAnalyticsAPI.java"}
cn.thinkingdata.analytics.LightThinkingAnalyticsSDK -> cn.thinkingdata.analytics.h:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    org.json.JSONObject mSuperProperties -> a
    1:11:void <init>(cn.thinkingdata.analytics.TDConfig):1605:1615 -> <init>
    12:12:void <init>(cn.thinkingdata.analytics.TDConfig):1608:1608 -> <init>
    1:2:void clearSuperProperties():1710:1711 -> clearSuperProperties
    1:1:void enableAutoTrack(java.util.List):0:0 -> enableAutoTrack
    2:2:void enableAutoTrack(java.util.List,cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventListener):0:0 -> enableAutoTrack
    3:3:void enableAutoTrack(java.util.List,org.json.JSONObject):0:0 -> enableAutoTrack
    1:1:void enableThirdPartySharing(int):0:0 -> enableThirdPartySharing
    2:2:void enableThirdPartySharing(int,java.lang.Object):0:0 -> enableThirdPartySharing
    1:6:java.lang.String getDistinctId():1660:1665 -> getDistinctId
    1:3:java.lang.String getLoginId(boolean):1642:1644 -> getLoginId
    1:3:org.json.JSONObject getSuperProperties():1728:1730 -> getSuperProperties
    1:1:boolean cn.thinkingdata.analytics.utils.CommonUtil.isEmpty(java.lang.String):112:112 -> identify
    1:1:void identify(java.lang.String):1649 -> identify
    2:4:void identify(java.lang.String):1653:1655 -> identify
    5:5:void identify(java.lang.String):1655:1655 -> identify
    6:6:void identify(java.lang.String):1650:1650 -> identify
    1:4:void login(java.lang.String):1626:1629 -> login
    5:5:void login(java.lang.String):1629:1629 -> login
    1:4:void logout():1634:1637 -> logout
    5:5:void logout():1637:1637 -> logout
    1:2:void setSuperProperties(org.json.JSONObject):1670:1671 -> setSuperProperties
    1:4:void setTrackStatus(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus):1735:1738 -> setTrackStatus
    5:5:void setTrackStatus(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus):1737:1737 -> setTrackStatus
    1:1:void setViewID(android.app.Dialog,java.lang.String):0:0 -> setViewID
    2:2:void setViewID(android.view.View,java.lang.String):0:0 -> setViewID
    1:1:void trackViewScreen(android.app.Activity):0:0 -> trackViewScreen
    2:2:void trackViewScreen(android.app.Fragment):0:0 -> trackViewScreen
    3:3:void trackViewScreen(java.lang.Object):0:0 -> trackViewScreen
    1:2:void unsetSuperProperty(java.lang.String):1690:1691 -> unsetSuperProperty
cn.thinkingdata.analytics.LightThinkingAnalyticsSDK$1 -> cn.thinkingdata.analytics.b:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.LightThinkingAnalyticsSDK this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/h;"}
    1:1:void <init>(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK):1615:1615 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/h;)V"}
    1:2:void run():1618:1619 -> run
cn.thinkingdata.analytics.LightThinkingAnalyticsSDK$2 -> cn.thinkingdata.analytics.c:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    org.json.JSONObject val$superProperties -> a
    cn.thinkingdata.analytics.LightThinkingAnalyticsSDK this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/h;"}
    1:1:void <init>(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK,org.json.JSONObject):1671:1671 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/h;Lorg/json/JSONObject;)V"}
    1:4:void run():1675:1678 -> run
    5:5:org.json.JSONObject cn.thinkingdata.analytics.LightThinkingAnalyticsSDK.access$000(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK):1601:1601 -> run
    5:5:void run():1678 -> run
    6:7:void run():1678:1679 -> run
    8:8:org.json.JSONObject cn.thinkingdata.analytics.LightThinkingAnalyticsSDK.access$000(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK):1601:1601 -> run
    8:8:void run():1679 -> run
    9:10:void run():1679:1680 -> run
    11:13:void run():1680:1682 -> run
cn.thinkingdata.analytics.LightThinkingAnalyticsSDK$3 -> cn.thinkingdata.analytics.d:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    java.lang.String val$superPropertyName -> a
    cn.thinkingdata.analytics.LightThinkingAnalyticsSDK this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/h;"}
    1:1:void <init>(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK,java.lang.String):1691:1691 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/h;Ljava/lang/String;)V"}
    1:4:void run():1695:1698 -> run
    5:5:org.json.JSONObject cn.thinkingdata.analytics.LightThinkingAnalyticsSDK.access$000(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK):1601:1601 -> run
    5:5:void run():1698 -> run
    6:7:void run():1698:1699 -> run
    8:8:org.json.JSONObject cn.thinkingdata.analytics.LightThinkingAnalyticsSDK.access$000(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK):1601:1601 -> run
    8:8:void run():1699 -> run
    9:10:void run():1699:1700 -> run
    11:13:void run():1700:1702 -> run
cn.thinkingdata.analytics.LightThinkingAnalyticsSDK$4 -> cn.thinkingdata.analytics.e:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.LightThinkingAnalyticsSDK this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/h;"}
    1:1:void <init>(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK):1711:1711 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/h;)V"}
    1:1:void run():1714:1714 -> run
    2:2:org.json.JSONObject cn.thinkingdata.analytics.LightThinkingAnalyticsSDK.access$000(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK):1601:1601 -> run
    2:2:void run():1714 -> run
    3:4:void run():1714:1715 -> run
    5:5:org.json.JSONObject cn.thinkingdata.analytics.LightThinkingAnalyticsSDK.access$000(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK):1601:1601 -> run
    5:5:void run():1715 -> run
    6:11:void run():1715:1720 -> run
    12:12:void run():1720:1720 -> run
cn.thinkingdata.analytics.LightThinkingAnalyticsSDK$5 -> cn.thinkingdata.analytics.f:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus val$status -> a
    cn.thinkingdata.analytics.LightThinkingAnalyticsSDK this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/h;"}
    1:1:void <init>(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK,cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus):1738:1738 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/h;Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK$TATrackStatus;)V"}
    1:11:void run():1741:1751 -> run
    12:12:void run():1747:1747 -> run
    13:13:void run():1744:1744 -> run
cn.thinkingdata.analytics.LightThinkingAnalyticsSDK$6 -> cn.thinkingdata.analytics.g:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    int[] $SwitchMap$cn$thinkingdata$analytics$ThinkingAnalyticsSDK$TATrackStatus -> a
    1:1:void <clinit>():1741:1741 -> <clinit>
cn.thinkingdata.analytics.ScreenAutoTracker -> cn.thinkingdata.analytics.ScreenAutoTracker:
# {"id":"sourceFile","fileName":"ScreenAutoTracker.java"}
cn.thinkingdata.analytics.SubprocessThinkingAnalyticsSDK -> cn.thinkingdata.analytics.j:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    android.content.Context mContext -> a
    java.lang.String currentProcessName -> b
    1:3:void <init>(cn.thinkingdata.analytics.TDConfig):1904:1906 -> <init>
    4:7:java.lang.String cn.thinkingdata.analytics.utils.TDUtils.getCurrentProcessName(android.content.Context):709:712 -> <init>
    4:7:void <init>(cn.thinkingdata.analytics.TDConfig):1907 -> <init>
    8:8:void <init>(cn.thinkingdata.analytics.TDConfig):1907:1907 -> <init>
    1:8:org.json.JSONObject obtainProperties(java.lang.String,org.json.JSONObject):2047:2054 -> a
    9:10:double getEventDuration(java.lang.String,long):2206:2207 -> a
    9:10:org.json.JSONObject obtainProperties(java.lang.String,org.json.JSONObject):2056 -> a
    11:12:java.lang.String cn.thinkingdata.analytics.data.EventTimer.duration(long):24:25 -> a
    11:12:double getEventDuration(java.lang.String,long):2210 -> a
    11:12:org.json.JSONObject obtainProperties(java.lang.String,org.json.JSONObject):2056 -> a
    13:13:double getEventDuration(java.lang.String,long):2210:2210 -> a
    13:13:org.json.JSONObject obtainProperties(java.lang.String,org.json.JSONObject):2056 -> a
    14:33:org.json.JSONObject obtainProperties(java.lang.String,org.json.JSONObject):2057:2076 -> a
    34:42:android.content.Intent getIntent():2152:2160 -> a
    1:16:void autoTrack(java.lang.String,org.json.JSONObject):2026:2041 -> autoTrack
    1:4:void clearSuperProperties():2196:2199 -> clearSuperProperties
    1:4:void flush():1966:1969 -> flush
    1:1:boolean cn.thinkingdata.analytics.utils.CommonUtil.isEmpty(java.lang.String):112:112 -> identify
    1:1:void identify(java.lang.String):1945 -> identify
    2:13:void identify(java.lang.String):1949:1960 -> identify
    14:14:void identify(java.lang.String):1951:1951 -> identify
    15:15:void identify(java.lang.String):1946:1946 -> identify
    1:1:boolean cn.thinkingdata.analytics.utils.CommonUtil.isEmpty(java.lang.String):112:112 -> login
    1:1:void login(java.lang.String):1912 -> login
    2:13:void login(java.lang.String):1916:1927 -> login
    14:14:void login(java.lang.String):1918:1918 -> login
    15:15:void login(java.lang.String):1913:1913 -> login
    1:7:void logout():1933:1939 -> logout
    8:8:void logout():1935:1935 -> logout
    1:4:void setAutoTrackProperties(java.util.List,org.json.JSONObject):1997:2000 -> setAutoTrackProperties
    1:13:void setSuperProperties(org.json.JSONObject):2166:2178 -> setSuperProperties
    1:28:void track(cn.thinkingdata.analytics.ThinkingAnalyticsEvent):2083:2110 -> track
    29:29:void track(java.lang.String):2117:2117 -> track
    30:30:void track(java.lang.String,org.json.JSONObject):2122:2122 -> track
    31:31:void track(java.lang.String,org.json.JSONObject,java.util.Date):2127:2127 -> track
    32:47:void track(java.lang.String,org.json.JSONObject,java.util.Date,java.util.TimeZone):2132:2147 -> track
    1:7:void unsetSuperProperty(java.lang.String):2184:2190 -> unsetSuperProperty
    1:3:void user_operations(cn.thinkingdata.analytics.utils.TDConstants$DataType,org.json.JSONObject,java.util.Date):1975:1977 -> user_operations
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/utils/t;Lorg/json/JSONObject;Ljava/util/Date;)V"}
    4:4:java.lang.String cn.thinkingdata.analytics.utils.TDConstants$DataType.getType():37:37 -> user_operations
    4:4:void user_operations(cn.thinkingdata.analytics.utils.TDConstants$DataType,org.json.JSONObject,java.util.Date):1977 -> user_operations
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:19:void user_operations(cn.thinkingdata.analytics.utils.TDConstants$DataType,org.json.JSONObject,java.util.Date):1977:1991 -> user_operations
cn.thinkingdata.analytics.SubprocessThinkingAnalyticsSDK$1 -> cn.thinkingdata.analytics.i:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    org.json.JSONObject val$autoTrackEventProperties -> a
    java.util.List val$eventTypeList -> b
    cn.thinkingdata.analytics.SubprocessThinkingAnalyticsSDK this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/j;"}
    1:1:void <init>(cn.thinkingdata.analytics.SubprocessThinkingAnalyticsSDK,org.json.JSONObject,java.util.List):2000:2000 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/j;Lorg/json/JSONObject;Ljava/util/List;)V"}
    1:11:void run():2004:2014 -> run
    12:23:void cn.thinkingdata.analytics.utils.TDUtils.mergeNestedJSONObject(org.json.JSONObject,org.json.JSONObject,java.util.TimeZone):581:592 -> run
    12:23:void run():2014 -> run
    24:25:void run():2015:2015 -> run
    27:27:void run():2017:2017 -> run
cn.thinkingdata.analytics.TDAnalytics -> cn.thinkingdata.analytics.TDAnalytics:
# {"id":"sourceFile","fileName":"TDAnalytics.java"}
    1:3:void <clinit>():40:42 -> <clinit>
    1:1:void <init>():38:38 -> <init>
    1:1:void calibrateTime(long):59:59 -> calibrateTime
    1:1:void calibrateTimeWithNtp(java.lang.String[]):68:68 -> calibrateTimeWithNtp
    1:2:void clearSuperProperties():433:434 -> clearSuperProperties
    1:21:void enableAutoTrack(int):212:232 -> enableAutoTrack
    22:42:void enableAutoTrack(int,org.json.JSONObject):242:262 -> enableAutoTrack
    43:83:void enableAutoTrack(int,cn.thinkingdata.analytics.TDAnalytics$TDAutoTrackEventHandler):272:312 -> enableAutoTrack
    1:1:void enableLog(boolean):77:77 -> enableLog
    1:2:void enableThirdPartySharing(int):549:550 -> enableThirdPartySharing
    3:4:void enableThirdPartySharing(int,java.lang.Object):560:561 -> enableThirdPartySharing
    1:1:void encryptLocalStorage():91:91 -> encryptLocalStorage
    1:2:void flush():516:517 -> flush
    1:2:java.lang.String getAccountId():497:498 -> getAccountId
    1:2:java.lang.String getDeviceId():507:508 -> getDeviceId
    1:2:java.lang.String getDistinctId():492:493 -> getDistinctId
    1:1:java.lang.String getLocalRegion():50:50 -> getLocalRegion
    1:2:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():454:455 -> getPresetProperties
    1:2:org.json.JSONObject getSuperProperties():443:444 -> getSuperProperties
    1:2:void ignoreAppViewEventInExtPackage():568:569 -> ignoreAppViewEventInExtPackage
    1:2:void ignoreAutoTrackActivities(java.util.List):636:637 -> ignoreAutoTrackActivities
    1:2:void ignoreAutoTrackActivity(java.lang.Class):626:627 -> ignoreAutoTrackActivity
    1:2:void ignoreView(android.view.View):679:680 -> ignoreView
    1:2:void ignoreViewType(java.lang.Class):608:609 -> ignoreViewType
    1:2:void init(android.content.Context,java.lang.String,java.lang.String):102:103 -> init
    3:8:void init(cn.thinkingdata.analytics.TDConfig):112:117 -> init
    1:4:java.lang.String lightInstance():127:130 -> lightInstance
    1:2:void login(java.lang.String):464:465 -> login
    1:2:void logout():472:473 -> logout
    1:2:void registerErrorCallback(cn.thinkingdata.analytics.TDAnalytics$TDSendDataErrorCallback):152:153 -> registerErrorCallback
    1:8:void cn.thinkingdata.analytics.data.SystemInformation.setLibraryInfo(java.lang.String,java.lang.String):56:63 -> setCustomerLibInfo
    1:8:void setCustomerLibInfo(java.lang.String,java.lang.String):87 -> setCustomerLibInfo
    1:2:void setDistinctId(java.lang.String):482:483 -> setDistinctId
    1:8:void setDynamicSuperProperties(cn.thinkingdata.analytics.TDAnalytics$TDDynamicSuperPropertiesHandler):409:416 -> setDynamicSuperProperties
    1:2:void setJsBridge(android.webkit.WebView):690:691 -> setJsBridge
    1:2:void setJsBridgeForX5WebView(java.lang.Object):700:701 -> setJsBridgeForX5WebView
    1:7:void setNetworkType(cn.thinkingdata.analytics.TDAnalytics$TDNetworkType):140:146 -> setNetworkType
    8:8:void setNetworkType(cn.thinkingdata.analytics.TDAnalytics$TDNetworkType):143:143 -> setNetworkType
    1:2:void setSuperProperties(org.json.JSONObject):399:400 -> setSuperProperties
    1:13:void setTrackStatus(cn.thinkingdata.analytics.TDAnalytics$TDTrackStatus):526:538 -> setTrackStatus
    14:14:void setTrackStatus(cn.thinkingdata.analytics.TDAnalytics$TDTrackStatus):535:535 -> setTrackStatus
    15:15:void setTrackStatus(cn.thinkingdata.analytics.TDAnalytics$TDTrackStatus):532:532 -> setTrackStatus
    16:16:void setTrackStatus(cn.thinkingdata.analytics.TDAnalytics$TDTrackStatus):529:529 -> setTrackStatus
    1:2:void setViewID(android.view.View,java.lang.String):647:648 -> setViewID
    3:4:void setViewID(android.app.Dialog,java.lang.String):658:659 -> setViewID
    1:2:void setViewProperties(android.view.View,org.json.JSONObject):669:670 -> setViewProperties
    1:2:void timeEvent(java.lang.String):321:322 -> timeEvent
    1:2:void track(java.lang.String):167:168 -> track
    3:4:void track(java.lang.String,org.json.JSONObject):179:180 -> track
    5:6:void track(java.lang.String,org.json.JSONObject,java.util.Date,java.util.TimeZone):192:193 -> track
    7:8:void track(cn.thinkingdata.analytics.TDEventModel):202:203 -> track
    1:2:void trackFragmentAppViewScreen():616:617 -> trackFragmentAppViewScreen
    1:2:void trackViewScreen(android.app.Activity):578:579 -> trackViewScreen
    3:4:void trackViewScreen(android.app.Fragment):588:589 -> trackViewScreen
    5:6:void trackViewScreen(java.lang.Object):598:599 -> trackViewScreen
    1:2:void unsetSuperProperty(java.lang.String):425:426 -> unsetSuperProperty
    1:2:void userAdd(org.json.JSONObject):361:362 -> userAdd
    1:2:void userAppend(org.json.JSONObject):371:372 -> userAppend
    1:2:void userDelete():389:390 -> userDelete
    1:2:void userSet(org.json.JSONObject):331:332 -> userSet
    1:2:void userSetOnce(org.json.JSONObject):341:342 -> userSetOnce
    1:2:void userUniqAppend(org.json.JSONObject):381:382 -> userUniqAppend
    1:2:void userUnset(java.lang.String[]):351:352 -> userUnset
cn.thinkingdata.analytics.TDAnalytics$1 -> cn.thinkingdata.analytics.k:
# {"id":"sourceFile","fileName":"TDAnalytics.java"}
    cn.thinkingdata.analytics.TDAnalytics$TDSendDataErrorCallback val$callback -> a
    1:1:void <init>(cn.thinkingdata.analytics.TDAnalytics$TDSendDataErrorCallback):153:153 -> <init>
    1:1:void onSDKErrorCallback(int,java.lang.String,java.lang.String):156:156 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;)V"}
cn.thinkingdata.analytics.TDAnalytics$2 -> cn.thinkingdata.analytics.l:
# {"id":"sourceFile","fileName":"TDAnalytics.java"}
    cn.thinkingdata.analytics.TDAnalytics$TDAutoTrackEventHandler val$eventHandler -> a
    1:1:void <init>(cn.thinkingdata.analytics.TDAnalytics$TDAutoTrackEventHandler):292:292 -> <init>
    1:14:org.json.JSONObject eventCallback(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType,org.json.JSONObject):296:309 -> eventCallback
cn.thinkingdata.analytics.TDAnalytics$3 -> cn.thinkingdata.analytics.m:
# {"id":"sourceFile","fileName":"TDAnalytics.java"}
    cn.thinkingdata.analytics.TDAnalytics$TDDynamicSuperPropertiesHandler val$dynamicSuperPropertiesTracker -> a
    1:1:void <init>(cn.thinkingdata.analytics.TDAnalytics$TDDynamicSuperPropertiesHandler):410:410 -> <init>
    1:1:org.json.JSONObject getDynamicSuperProperties():413:413 -> getDynamicSuperProperties
cn.thinkingdata.analytics.TDAnalytics$TDAutoTrackEventHandler -> cn.thinkingdata.analytics.TDAnalytics$TDAutoTrackEventHandler:
# {"id":"sourceFile","fileName":"TDAnalytics.java"}
cn.thinkingdata.analytics.TDAnalytics$TDAutoTrackEventType -> cn.thinkingdata.analytics.TDAnalytics$TDAutoTrackEventType:
# {"id":"sourceFile","fileName":"TDAnalytics.java"}
cn.thinkingdata.analytics.TDAnalytics$TDDynamicSuperPropertiesHandler -> cn.thinkingdata.analytics.TDAnalytics$TDDynamicSuperPropertiesHandler:
# {"id":"sourceFile","fileName":"TDAnalytics.java"}
cn.thinkingdata.analytics.TDAnalytics$TDNetworkType -> cn.thinkingdata.analytics.TDAnalytics$TDNetworkType:
# {"id":"sourceFile","fileName":"TDAnalytics.java"}
    1:1:cn.thinkingdata.analytics.TDAnalytics$TDNetworkType[] $values():774:774 -> $values
    1:5:void <clinit>():778:782 -> <clinit>
    6:6:void <clinit>():774:774 -> <clinit>
    1:1:void <init>(java.lang.String,int):774:774 -> <init>
    1:1:cn.thinkingdata.analytics.TDAnalytics$TDNetworkType valueOf(java.lang.String):774:774 -> valueOf
    1:1:cn.thinkingdata.analytics.TDAnalytics$TDNetworkType[] values():774:774 -> values
cn.thinkingdata.analytics.TDAnalytics$TDSendDataErrorCallback -> cn.thinkingdata.analytics.TDAnalytics$TDSendDataErrorCallback:
# {"id":"sourceFile","fileName":"TDAnalytics.java"}
cn.thinkingdata.analytics.TDAnalytics$TDTrackStatus -> cn.thinkingdata.analytics.TDAnalytics$TDTrackStatus:
# {"id":"sourceFile","fileName":"TDAnalytics.java"}
    1:1:cn.thinkingdata.analytics.TDAnalytics$TDTrackStatus[] $values():752:752 -> $values
    1:13:void <clinit>():756:768 -> <clinit>
    14:14:void <clinit>():752:752 -> <clinit>
    1:1:void <init>(java.lang.String,int):752:752 -> <init>
    1:1:cn.thinkingdata.analytics.TDAnalytics$TDTrackStatus valueOf(java.lang.String):752:752 -> valueOf
    1:1:cn.thinkingdata.analytics.TDAnalytics$TDTrackStatus[] values():752:752 -> values
cn.thinkingdata.analytics.TDAnalyticsAPI -> cn.thinkingdata.analytics.TDAnalyticsAPI:
# {"id":"sourceFile","fileName":"TDAnalyticsAPI.java"}
    1:1:void <init>():29:29 -> <init>
    1:3:void clearSuperProperties(java.lang.String):412:414 -> clearSuperProperties
    1:22:void enableAutoTrack(int,java.lang.String):143:164 -> enableAutoTrack
    23:44:void enableAutoTrack(int,org.json.JSONObject,java.lang.String):176:197 -> enableAutoTrack
    45:86:void enableAutoTrack(int,cn.thinkingdata.analytics.TDAnalytics$TDAutoTrackEventHandler,java.lang.String):210:251 -> enableAutoTrack
    1:3:void enableThirdPartySharing(int,java.lang.String):566:568 -> enableThirdPartySharing
    4:6:void enableThirdPartySharing(int,java.lang.Object,java.lang.String):580:582 -> enableThirdPartySharing
    1:3:void flush(java.lang.String):527:529 -> flush
    1:5:java.lang.String getAccountId(java.lang.String):499:503 -> getAccountId
    1:5:java.lang.String getDeviceId(java.lang.String):513:517 -> getDeviceId
    1:5:java.lang.String getDistinctId(java.lang.String):491:495 -> getDistinctId
    1:6:cn.thinkingdata.analytics.ThinkingAnalyticsSDK getInstance(java.lang.String):771:776 -> getInstance
    1:5:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties(java.lang.String):439:443 -> getPresetProperties
    1:5:org.json.JSONObject getSuperProperties(java.lang.String):425:429 -> getSuperProperties
    1:3:void ignoreAppViewEventInExtPackage(java.lang.String):592:594 -> ignoreAppViewEventInExtPackage
    1:3:void ignoreAutoTrackActivities(java.util.List,java.lang.String):682:684 -> ignoreAutoTrackActivities
    1:3:void ignoreAutoTrackActivity(java.lang.Class,java.lang.String):669:671 -> ignoreAutoTrackActivity
    1:3:void ignoreView(android.view.View,java.lang.String):737:739 -> ignoreView
    1:3:void ignoreViewType(java.lang.Class,java.lang.String):644:646 -> ignoreViewType
    1:5:java.lang.String lightInstance(java.lang.String):72:76 -> lightInstance
    1:3:void login(java.lang.String,java.lang.String):453:455 -> login
    1:3:void logout(java.lang.String):465:467 -> logout
    1:3:void registerErrorCallback(cn.thinkingdata.analytics.TDAnalytics$TDSendDataErrorCallback,java.lang.String):53:55 -> registerErrorCallback
    1:3:void setDistinctId(java.lang.String,java.lang.String):478:480 -> setDistinctId
    1:9:void setDynamicSuperProperties(cn.thinkingdata.analytics.TDAnalytics$TDDynamicSuperPropertiesHandler,java.lang.String):381:389 -> setDynamicSuperProperties
    1:3:void setJsBridge(android.webkit.WebView,java.lang.String):751:753 -> setJsBridge
    1:3:void setJsBridgeForX5WebView(java.lang.Object,java.lang.String):764:766 -> setJsBridgeForX5WebView
    1:8:void setNetworkType(cn.thinkingdata.analytics.TDAnalytics$TDNetworkType,java.lang.String):39:46 -> setNetworkType
    9:9:void setNetworkType(cn.thinkingdata.analytics.TDAnalytics$TDNetworkType,java.lang.String):43:43 -> setNetworkType
    1:3:void setSuperProperties(org.json.JSONObject,java.lang.String):368:370 -> setSuperProperties
    1:14:void setTrackStatus(cn.thinkingdata.analytics.TDAnalytics$TDTrackStatus,java.lang.String):540:553 -> setTrackStatus
    15:15:void setTrackStatus(cn.thinkingdata.analytics.TDAnalytics$TDTrackStatus,java.lang.String):550:550 -> setTrackStatus
    16:16:void setTrackStatus(cn.thinkingdata.analytics.TDAnalytics$TDTrackStatus,java.lang.String):547:547 -> setTrackStatus
    17:17:void setTrackStatus(cn.thinkingdata.analytics.TDAnalytics$TDTrackStatus,java.lang.String):544:544 -> setTrackStatus
    1:3:void setViewID(android.view.View,java.lang.String,java.lang.String):696:698 -> setViewID
    4:6:void setViewID(android.app.Dialog,java.lang.String,java.lang.String):710:712 -> setViewID
    1:3:void setViewProperties(android.view.View,org.json.JSONObject,java.lang.String):724:726 -> setViewProperties
    1:3:void timeEvent(java.lang.String,java.lang.String):262:264 -> timeEvent
    1:3:void track(java.lang.String,java.lang.String):87:89 -> track
    4:6:void track(java.lang.String,org.json.JSONObject,java.lang.String):101:103 -> track
    7:9:void track(java.lang.String,org.json.JSONObject,java.util.Date,java.util.TimeZone,java.lang.String):117:119 -> track
    10:12:void track(cn.thinkingdata.analytics.TDEventModel,java.lang.String):130:132 -> track
    1:3:void trackFragmentAppViewScreen(java.lang.String):656:658 -> trackFragmentAppViewScreen
    1:3:void trackViewScreen(android.app.Activity,java.lang.String):605:607 -> trackViewScreen
    4:6:void trackViewScreen(android.app.Fragment,java.lang.String):618:620 -> trackViewScreen
    7:9:void trackViewScreen(java.lang.Object,java.lang.String):631:633 -> trackViewScreen
    1:3:void unsetSuperProperty(java.lang.String,java.lang.String):400:402 -> unsetSuperProperty
    1:3:void userAdd(org.json.JSONObject,java.lang.String):317:319 -> userAdd
    1:3:void userAppend(org.json.JSONObject,java.lang.String):330:332 -> userAppend
    1:3:void userDelete(java.lang.String):355:357 -> userDelete
    1:3:void userSet(org.json.JSONObject,java.lang.String):275:277 -> userSet
    1:3:void userSetOnce(org.json.JSONObject,java.lang.String):288:290 -> userSetOnce
    1:3:void userUniqAppend(org.json.JSONObject,java.lang.String):343:345 -> userUniqAppend
    1:5:void userUnset(java.lang.String[]):300:304 -> userUnset
cn.thinkingdata.analytics.TDAnalyticsAPI$1 -> cn.thinkingdata.analytics.n:
# {"id":"sourceFile","fileName":"TDAnalyticsAPI.java"}
    cn.thinkingdata.analytics.TDAnalytics$TDSendDataErrorCallback val$callback -> a
    1:1:void <init>(cn.thinkingdata.analytics.TDAnalytics$TDSendDataErrorCallback):55:55 -> <init>
    1:1:void onSDKErrorCallback(int,java.lang.String,java.lang.String):58:58 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;)V"}
cn.thinkingdata.analytics.TDAnalyticsAPI$2 -> cn.thinkingdata.analytics.o:
# {"id":"sourceFile","fileName":"TDAnalyticsAPI.java"}
    cn.thinkingdata.analytics.TDAnalytics$TDAutoTrackEventHandler val$eventHandler -> a
    1:1:void <init>(cn.thinkingdata.analytics.TDAnalytics$TDAutoTrackEventHandler):231:231 -> <init>
    1:14:org.json.JSONObject eventCallback(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType,org.json.JSONObject):235:248 -> eventCallback
cn.thinkingdata.analytics.TDAnalyticsAPI$3 -> cn.thinkingdata.analytics.p:
# {"id":"sourceFile","fileName":"TDAnalyticsAPI.java"}
    cn.thinkingdata.analytics.TDAnalytics$TDDynamicSuperPropertiesHandler val$dynamicSuperPropertiesTracker -> a
    1:1:void <init>(cn.thinkingdata.analytics.TDAnalytics$TDDynamicSuperPropertiesHandler):383:383 -> <init>
    1:1:org.json.JSONObject getDynamicSuperProperties():386:386 -> getDynamicSuperProperties
cn.thinkingdata.analytics.TDAnalyticsAPI$4 -> cn.thinkingdata.analytics.q:
# {"id":"sourceFile","fileName":"TDAnalyticsAPI.java"}
    int[] $SwitchMap$cn$thinkingdata$analytics$TDAnalytics$TDNetworkType -> a
    int[] $SwitchMap$cn$thinkingdata$analytics$TDAnalytics$TDTrackStatus -> b
    1:1:void <clinit>():542:542 -> <clinit>
    2:2:void <clinit>():41:41 -> <clinit>
cn.thinkingdata.analytics.TDConfig -> cn.thinkingdata.analytics.TDConfig:
# {"id":"sourceFile","fileName":"TDConfig.java"}
    cn.thinkingdata.analytics.persistence.ConfigStoragePlugin mConfigStoragePlugin -> mConfigStoragePlugin
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/c;"}
    cn.thinkingdata.analytics.utils.DNSServiceManager mDnsServiceManager -> mDnsServiceManager
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/i;"}
    1:1:void <clinit>():50:50 -> <clinit>
    1:1:void <init>(android.content.Context,java.lang.String,java.net.URL):73:73 -> <init>
    2:38:void <init>(android.content.Context,java.lang.String,java.net.URL):49:85 -> <init>
    1:1:cn.thinkingdata.analytics.persistence.ConfigStoragePlugin access$000(cn.thinkingdata.analytics.TDConfig):45:45 -> access$000
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/TDConfig;)Lcn/thinkingdata/analytics/persistence/c;"}
    1:1:cn.thinkingdata.analytics.persistence.ConfigStoragePlugin access$002(cn.thinkingdata.analytics.TDConfig,cn.thinkingdata.analytics.persistence.ConfigStoragePlugin):45:45 -> access$002
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/TDConfig;Lcn/thinkingdata/analytics/persistence/c;)Lcn/thinkingdata/analytics/persistence/c;"}
    1:1:void access$100(cn.thinkingdata.analytics.TDConfig):45:45 -> access$100
    1:1:java.lang.String access$200(cn.thinkingdata.analytics.TDConfig):45:45 -> access$200
    1:1:cn.thinkingdata.analytics.encrypt.TDSecreteKey access$302(cn.thinkingdata.analytics.TDConfig,cn.thinkingdata.analytics.encrypt.TDSecreteKey):45:45 -> access$302
    1:1:java.util.concurrent.locks.ReadWriteLock access$400(cn.thinkingdata.analytics.TDConfig):45:45 -> access$400
    1:1:java.util.Set access$500(cn.thinkingdata.analytics.TDConfig):45:45 -> access$500
    1:1:cn.thinkingdata.analytics.TDConfig enableAutoPush():354:354 -> enableAutoPush
    1:1:cn.thinkingdata.analytics.TDConfig enableDNSService(java.util.List):341:341 -> enableDNSService
    1:1:cn.thinkingdata.analytics.TDConfig enableEncrypt(boolean):316:316 -> enableEncrypt
    2:8:cn.thinkingdata.analytics.TDConfig enableEncrypt(int,java.lang.String):329:335 -> enableEncrypt
    1:1:java.lang.String getDebugUrl():248:248 -> getDebugUrl
    1:1:java.util.TimeZone getDefaultTimeZone():308:308 -> getDefaultTimeZone
    1:4:int getFlushBulkSize():271:274 -> getFlushBulkSize
    1:4:int getFlushInterval():264:267 -> getFlushInterval
    1:1:cn.thinkingdata.analytics.TDConfig getInstance(android.content.Context,java.lang.String):99:99 -> getInstance
    2:2:cn.thinkingdata.analytics.TDConfig getInstance(android.content.Context,java.lang.String,java.lang.String):114:114 -> getInstance
    3:26:cn.thinkingdata.analytics.TDConfig getInstance(android.content.Context,java.lang.String,java.lang.String,java.lang.String):127:150 -> getInstance
    1:1:cn.thinkingdata.analytics.TDConfig$ModeEnum getMode():236:236 -> getMode
    1:1:java.lang.String getName():158:158 -> getName
    1:110:void getRemoteConfig():371:480 -> getRemoteConfig
    1:1:javax.net.ssl.SSLSocketFactory getSSLSocketFactory():367:367 -> getSSLSocketFactory
    1:1:cn.thinkingdata.analytics.encrypt.TDSecreteKey getSecreteKey():312:312 -> getSecreteKey
    1:1:java.lang.String getServerUrl():244:244 -> getServerUrl
    1:1:boolean isDebug():252:252 -> isDebug
    1:1:boolean isDebugOnly():256:256 -> isDebugOnly
    1:5:boolean isDisabledEvent(java.lang.String):168:172 -> isDisabledEvent
    6:7:boolean isDisabledEvent(java.lang.String):172:173 -> isDisabledEvent
    1:1:boolean isEnableMutiprocess():194:194 -> isEnableMutiprocess
    1:1:boolean isNormal():260:260 -> isNormal
    1:11:int cn.thinkingdata.analytics.utils.TDUtils.convertToNetworkType(java.lang.String):774:784 -> isShouldFlush
    1:11:boolean isShouldFlush(java.lang.String):240 -> isShouldFlush
    12:12:boolean isShouldFlush(java.lang.String):240:240 -> isShouldFlush
    1:1:cn.thinkingdata.analytics.TDConfig setDefaultTimeZone(java.util.TimeZone):303:303 -> setDefaultTimeZone
    1:1:cn.thinkingdata.analytics.TDConfig setMode(cn.thinkingdata.analytics.TDConfig$ModeEnum):205:205 -> setMode
    2:7:cn.thinkingdata.analytics.TDConfig setMode(cn.thinkingdata.analytics.TDConfig$TDMode):216:221 -> setMode
    8:14:cn.thinkingdata.analytics.TDConfig setMode(cn.thinkingdata.analytics.TDConfig$TDMode):218:224 -> setMode
    1:1:cn.thinkingdata.analytics.TDConfig setMutiprocess(boolean):184:184 -> setMutiprocess
    1:1:void setName(java.lang.String):154:154 -> setName
    1:7:void setNetworkType(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType):279:285 -> setNetworkType
    8:8:void setNetworkType(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType):281:281 -> setNetworkType
    1:2:cn.thinkingdata.analytics.TDConfig setSSLSocketFactory(javax.net.ssl.SSLSocketFactory):360:361 -> setSSLSocketFactory
    1:3:cn.thinkingdata.analytics.TDConfig setSecretKey(cn.thinkingdata.analytics.encrypt.TDSecreteKey):321:323 -> setSecretKey
    1:1:cn.thinkingdata.analytics.TDConfig setTrackOldData(boolean):294:294 -> setTrackOldData
    1:1:boolean trackOldData():299:299 -> trackOldData
cn.thinkingdata.analytics.TDConfig$1 -> cn.thinkingdata.analytics.r:
# {"id":"sourceFile","fileName":"TDConfig.java"}
    java.lang.String val$host -> a
    java.lang.String val$token -> b
    cn.thinkingdata.analytics.TDConfig this$0 -> c
    1:1:void <init>(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.lang.String):85:85 -> <init>
    1:3:void run():88:90 -> run
cn.thinkingdata.analytics.TDConfig$2 -> cn.thinkingdata.analytics.s:
# {"id":"sourceFile","fileName":"TDConfig.java"}
    java.util.List val$lists -> a
    cn.thinkingdata.analytics.TDConfig this$0 -> b
    1:1:void <init>(cn.thinkingdata.analytics.TDConfig,java.util.List):341:341 -> <init>
    1:3:void run():344:346 -> run
    4:10:void cn.thinkingdata.analytics.utils.DNSServiceManager.enableDNSService(java.util.List):38:44 -> run
    4:10:void run():346 -> run
cn.thinkingdata.analytics.TDConfig$3 -> cn.thinkingdata.analytics.t:
# {"id":"sourceFile","fileName":"TDConfig.java"}
    cn.thinkingdata.analytics.TDConfig this$0 -> a
    1:1:void <init>(cn.thinkingdata.analytics.TDConfig):371:371 -> <init>
    1:50:void run():374:423 -> run
    51:51:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.calibrateTime(long):106:106 -> run
    51:51:void run():423 -> run
    52:57:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.setCalibratedTime(cn.thinkingdata.analytics.utils.ICalibratedTime):129:134 -> run
    52:57:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.calibrateTime(long):106 -> run
    52:57:void run():423 -> run
    58:58:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.calibrateTime(long):107:107 -> run
    58:58:void run():423 -> run
    59:59:void run():427:427 -> run
    60:66:java.lang.String cn.thinkingdata.analytics.utils.TDUtils.getSuffix(java.lang.String,int):691:697 -> run
    60:66:void run():427 -> run
    67:68:void run():427:428 -> run
    69:80:void run():427:438 -> run
    81:119:void run():438:476 -> run
    120:126:void run():466:472 -> run
    127:135:void run():464:472 -> run
    136:146:void run():462:472 -> run
    147:155:void run():470:478 -> run
cn.thinkingdata.analytics.TDConfig$4 -> cn.thinkingdata.analytics.u:
# {"id":"sourceFile","fileName":"TDConfig.java"}
    int[] $SwitchMap$cn$thinkingdata$analytics$ThinkingAnalyticsSDK$ThinkingdataNetworkType -> a
    1:1:void <clinit>():279:279 -> <clinit>
cn.thinkingdata.analytics.TDConfig$ModeEnum -> cn.thinkingdata.analytics.TDConfig$ModeEnum:
# {"id":"sourceFile","fileName":"TDConfig.java"}
    1:1:cn.thinkingdata.analytics.TDConfig$ModeEnum[] $values():487:487 -> $values
    1:9:void <clinit>():491:499 -> <clinit>
    10:10:void <clinit>():487:487 -> <clinit>
    1:1:void <init>(java.lang.String,int):487:487 -> <init>
    1:1:cn.thinkingdata.analytics.TDConfig$ModeEnum valueOf(java.lang.String):487:487 -> valueOf
    1:1:cn.thinkingdata.analytics.TDConfig$ModeEnum[] values():487:487 -> values
cn.thinkingdata.analytics.TDConfig$NetworkType -> cn.thinkingdata.analytics.TDConfig$NetworkType:
# {"id":"sourceFile","fileName":"TDConfig.java"}
    1:1:void <init>(cn.thinkingdata.analytics.TDConfig):526:526 -> <init>
cn.thinkingdata.analytics.TDConfig$TDDNSService -> cn.thinkingdata.analytics.TDConfig$TDDNSService:
# {"id":"sourceFile","fileName":"TDConfig.java"}
    1:1:cn.thinkingdata.analytics.TDConfig$TDDNSService[] $values():520:520 -> $values
    1:3:void <clinit>():521:523 -> <clinit>
    4:4:void <clinit>():520:520 -> <clinit>
    1:1:void <init>(java.lang.String,int):520:520 -> <init>
    1:1:cn.thinkingdata.analytics.TDConfig$TDDNSService valueOf(java.lang.String):520:520 -> valueOf
    1:1:cn.thinkingdata.analytics.TDConfig$TDDNSService[] values():520:520 -> values
cn.thinkingdata.analytics.TDConfig$TDMode -> cn.thinkingdata.analytics.TDConfig$TDMode:
# {"id":"sourceFile","fileName":"TDConfig.java"}
    1:1:cn.thinkingdata.analytics.TDConfig$TDMode[] $values():505:505 -> $values
    1:9:void <clinit>():509:517 -> <clinit>
    10:10:void <clinit>():505:505 -> <clinit>
    1:1:void <init>(java.lang.String,int):505:505 -> <init>
    1:1:cn.thinkingdata.analytics.TDConfig$TDMode valueOf(java.lang.String):505:505 -> valueOf
    1:1:cn.thinkingdata.analytics.TDConfig$TDMode[] values():505:505 -> values
cn.thinkingdata.analytics.TDEventModel -> cn.thinkingdata.analytics.TDEventModel:
# {"id":"sourceFile","fileName":"TDEventModel.java"}
    1:1:void <init>(java.lang.String,org.json.JSONObject):16:16 -> <init>
cn.thinkingdata.analytics.TDFirstEvent -> cn.thinkingdata.analytics.TDFirstEvent:
# {"id":"sourceFile","fileName":"TDFirstEvent.java"}
    1:1:void <init>(java.lang.String,org.json.JSONObject):31:31 -> <init>
    1:1:cn.thinkingdata.analytics.utils.TDConstants$DataType getDataType():59:59 -> getDataType
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcn/thinkingdata/analytics/utils/t;"}
    1:1:java.lang.String getExtraField():49:49 -> getExtraField
    1:1:java.lang.String getExtraValue():54:54 -> getExtraValue
    1:5:void setFirstCheckId(java.lang.String):40:44 -> setFirstCheckId
cn.thinkingdata.analytics.TDOverWritableEvent -> cn.thinkingdata.analytics.TDOverWritableEvent:
# {"id":"sourceFile","fileName":"TDOverWritableEvent.java"}
    1:2:void <init>(java.lang.String,org.json.JSONObject,java.lang.String):21:22 -> <init>
    1:1:cn.thinkingdata.analytics.utils.TDConstants$DataType getDataType():37:37 -> getDataType
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcn/thinkingdata/analytics/utils/t;"}
    1:1:java.lang.String getExtraField():27:27 -> getExtraField
    1:1:java.lang.String getExtraValue():32:32 -> getExtraValue
cn.thinkingdata.analytics.TDPresetProperties -> cn.thinkingdata.analytics.TDPresetProperties:
# {"id":"sourceFile","fileName":"TDPresetProperties.java"}
    1:1:void <clinit>():119:119 -> <clinit>
    1:58:void <init>(org.json.JSONObject):131:188 -> <init>
    59:59:void <init>():201:201 -> <init>
    1:15:void initDisableList(android.content.Context):208:222 -> initDisableList
    16:16:void initDisableList(android.content.Context):222:222 -> initDisableList
    17:20:void initDisableList(java.lang.String[]):226:229 -> initDisableList
    21:21:void initDisableList(java.lang.String[]):229:229 -> initDisableList
    1:1:org.json.JSONObject toEventPresetProperties():198:198 -> toEventPresetProperties
cn.thinkingdata.analytics.TDUpdatableEvent -> cn.thinkingdata.analytics.TDUpdatableEvent:
# {"id":"sourceFile","fileName":"TDUpdatableEvent.java"}
    1:2:void <init>(java.lang.String,org.json.JSONObject,java.lang.String):21:22 -> <init>
    1:1:cn.thinkingdata.analytics.utils.TDConstants$DataType getDataType():37:37 -> getDataType
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcn/thinkingdata/analytics/utils/t;"}
    1:1:java.lang.String getExtraField():27:27 -> getExtraField
    1:1:java.lang.String getExtraValue():32:32 -> getExtraValue
cn.thinkingdata.analytics.TDWebAppInterface -> cn.thinkingdata.analytics.TDWebAppInterface:
# {"id":"sourceFile","fileName":"TDWebAppInterface.java"}
    1:3:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,java.util.Map):50:52 -> <init>
    1:1:void access$100(cn.thinkingdata.analytics.TDWebAppInterface,java.lang.String,cn.thinkingdata.analytics.ThinkingAnalyticsSDK):29:29 -> access$100
    1:12:void thinkingdata_track(java.lang.String):62:73 -> thinkingdata_track
    13:13:boolean cn.thinkingdata.analytics.TDWebAppInterface$TrackFlag.shouldTrack():46:46 -> thinkingdata_track
    13:13:void thinkingdata_track(java.lang.String):85 -> thinkingdata_track
    14:17:void thinkingdata_track(java.lang.String):87:90 -> thinkingdata_track
    1:19:void trackFromH5(java.lang.String,cn.thinkingdata.analytics.ThinkingAnalyticsSDK):97:115 -> trackFromH5
    20:20:cn.thinkingdata.analytics.utils.TDConstants$DataType cn.thinkingdata.analytics.utils.TDConstants$DataType.get(java.lang.String):58:58 -> trackFromH5
    20:20:void trackFromH5(java.lang.String,cn.thinkingdata.analytics.ThinkingAnalyticsSDK):117 -> trackFromH5
    21:30:void trackFromH5(java.lang.String,cn.thinkingdata.analytics.ThinkingAnalyticsSDK):119:128 -> trackFromH5
    31:31:boolean cn.thinkingdata.analytics.utils.TDConstants$DataType.isTrack():41:41 -> trackFromH5
    31:31:void trackFromH5(java.lang.String,cn.thinkingdata.analytics.ThinkingAnalyticsSDK):132 -> trackFromH5
    32:61:void trackFromH5(java.lang.String,cn.thinkingdata.analytics.ThinkingAnalyticsSDK):133:162 -> trackFromH5
cn.thinkingdata.analytics.TDWebAppInterface$1 -> cn.thinkingdata.analytics.v:
# {"id":"sourceFile","fileName":"TDWebAppInterface.java"}
    java.lang.String val$token -> a
    cn.thinkingdata.analytics.TDWebAppInterface$TrackFlag val$flag -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/x;"}
    java.lang.String val$event -> c
    cn.thinkingdata.analytics.TDWebAppInterface this$0 -> d
    1:1:void <init>(cn.thinkingdata.analytics.TDWebAppInterface,java.lang.String,cn.thinkingdata.analytics.TDWebAppInterface$TrackFlag,java.lang.String):73:73 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/TDWebAppInterface;Ljava/lang/String;Lcn/thinkingdata/analytics/x;Ljava/lang/String;)V"}
    1:2:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):76:77 -> a
    3:3:void cn.thinkingdata.analytics.TDWebAppInterface$TrackFlag.tracked():42:42 -> a
    3:3:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):77 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):79:79 -> a
cn.thinkingdata.analytics.TDWebAppInterface$2 -> cn.thinkingdata.analytics.w:
# {"id":"sourceFile","fileName":"TDWebAppInterface.java"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK val$instance -> a
    cn.thinkingdata.analytics.utils.TDConstants$DataType val$type -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    org.json.JSONObject val$properties -> c
    cn.thinkingdata.analytics.utils.ITime val$time -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/y;"}
    java.lang.String val$distinctId -> e
    java.lang.String val$accountId -> f
    boolean val$isSaveOnly -> g
    1:1:void <init>(cn.thinkingdata.analytics.TDWebAppInterface,cn.thinkingdata.analytics.ThinkingAnalyticsSDK,cn.thinkingdata.analytics.utils.TDConstants$DataType,org.json.JSONObject,cn.thinkingdata.analytics.utils.ITime,java.lang.String,java.lang.String,boolean):150:150 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;Lcn/thinkingdata/analytics/utils/t;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/y;Ljava/lang/String;Ljava/lang/String;Z)V"}
    1:2:void run():154:155 -> run
cn.thinkingdata.analytics.TDWebAppInterface$TrackFlag -> cn.thinkingdata.analytics.x:
# {"id":"sourceFile","fileName":"TDWebAppInterface.java"}
    boolean tracked -> a
    1:1:void <init>(cn.thinkingdata.analytics.TDWebAppInterface):38:38 -> <init>
    1:1:void <init>(cn.thinkingdata.analytics.TDWebAppInterface,cn.thinkingdata.analytics.TDWebAppInterface$1):38 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"()V"}
cn.thinkingdata.analytics.ThinkingAdapterViewItemTrackProperties -> cn.thinkingdata.analytics.ThinkingAdapterViewItemTrackProperties:
# {"id":"sourceFile","fileName":"ThinkingAdapterViewItemTrackProperties.java"}
cn.thinkingdata.analytics.ThinkingAnalyticsEvent -> cn.thinkingdata.analytics.ThinkingAnalyticsEvent:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsEvent.java"}
    1:3:void <init>(java.lang.String,org.json.JSONObject):22:24 -> <init>
    1:1:java.lang.String getEventName():43:43 -> getEventName
    1:1:java.util.Date getEventTime():51:51 -> getEventTime
    1:1:org.json.JSONObject getProperties():47:47 -> getProperties
    1:1:java.util.TimeZone getTimeZone():55:55 -> getTimeZone
    1:1:void setEventTime(java.util.Date):28:28 -> setEventTime
    2:3:void setEventTime(java.util.Date,java.util.TimeZone):32:33 -> setEventTime
cn.thinkingdata.analytics.ThinkingAnalyticsPlugin -> cn.thinkingdata.analytics.ThinkingAnalyticsPlugin:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsPlugin.java"}
    1:1:void <init>():29:29 -> <init>
    1:5:cn.thinkingdata.analytics.utils.TDConstants$DataType getDataType(cn.thinkingdata.core.router.plugin.MethodCall):85:89 -> getDataType
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/core/router/plugin/MethodCall;)Lcn/thinkingdata/analytics/utils/t;"}
    1:43:void onMethodCall(cn.thinkingdata.core.router.plugin.MethodCall):34:76 -> onMethodCall
    44:59:void onMethodCall(cn.thinkingdata.core.router.plugin.MethodCall):36:51 -> onMethodCall
    60:67:void cn.thinkingdata.analytics.utils.plugin.TDPluginUtils.handlePluginMessage(cn.thinkingdata.analytics.utils.plugin.TDPluginMessage):27:34 -> onMethodCall
    60:67:void onMethodCall(cn.thinkingdata.core.router.plugin.MethodCall):51 -> onMethodCall
    68:68:void onMethodCall(cn.thinkingdata.core.router.plugin.MethodCall):80:80 -> onMethodCall
cn.thinkingdata.analytics.ThinkingAnalyticsProvider -> cn.thinkingdata.analytics.ThinkingAnalyticsProvider:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsProvider.java"}
    1:1:void <init>():27:27 -> <init>
    1:8:java.util.Map getAnalyticsProperties(java.lang.String):55:62 -> getAnalyticsProperties
    9:9:java.util.Map cn.thinkingdata.analytics.data.SystemInformation.getDeviceInfo():143:143 -> getAnalyticsProperties
    9:9:java.util.Map getAnalyticsProperties(java.lang.String):62 -> getAnalyticsProperties
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:12:java.util.Map getAnalyticsProperties(java.lang.String):63:65 -> getAnalyticsProperties
    1:8:android.util.Pair getCurrentTimeStamp():72:79 -> getCurrentTimeStamp
    9:12:java.util.Date cn.thinkingdata.analytics.utils.TDTimeCalibrated.getDate():38:41 -> getCurrentTimeStamp
    9:12:android.util.Pair getCurrentTimeStamp():79 -> getCurrentTimeStamp
    13:16:android.util.Pair getCurrentTimeStamp():79:82 -> getCurrentTimeStamp
    1:8:java.lang.String getDistinctId(java.lang.String):43:50 -> getDistinctId
    1:8:java.lang.String getLoginId(java.lang.String):31:38 -> getLoginId
cn.thinkingdata.analytics.ThinkingAnalyticsSDK -> cn.thinkingdata.analytics.ThinkingAnalyticsSDK:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.utils.CalibratedTimeManager mCalibratedTimeManager -> mCalibratedTimeManager
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/a;"}
    cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks mLifecycleCallbacks -> mLifecycleCallbacks
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/autotrack/i;"}
    cn.thinkingdata.analytics.data.DataHandle mMessages -> mMessages
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/g;"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingSDKErrorCallback mSDKCallback -> mSDKCallback
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/Q;"}
    cn.thinkingdata.analytics.persistence.CommonStorageManager mStorageManager -> mStorageManager
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/a;"}
    cn.thinkingdata.analytics.data.SystemInformation mSystemInformation -> mSystemInformation
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/l;"}
    cn.thinkingdata.analytics.data.UserOperationHandler mUserOperationHandler -> mUserOperationHandler
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/p;"}
    1:2:void <clinit>():72:73 -> <clinit>
    1:1:void <init>():176:176 -> <init>
    2:34:void <init>():74:106 -> <init>
    35:35:void <init>(cn.thinkingdata.analytics.TDConfig):180:180 -> <init>
    36:149:void <init>(cn.thinkingdata.analytics.TDConfig):74:187 -> <init>
    150:191:void cn.thinkingdata.analytics.utils.CommonUtil.listenFPS():66:107 -> <init>
    150:191:void <init>(cn.thinkingdata.analytics.TDConfig):189 -> <init>
    192:203:void <init>(cn.thinkingdata.analytics.TDConfig):191:202 -> <init>
    204:206:boolean cn.thinkingdata.analytics.utils.CommonUtil.isMainProcess(android.content.Context):36:38 -> <init>
    204:206:void <init>(cn.thinkingdata.analytics.TDConfig):202 -> <init>
    207:209:void <init>(cn.thinkingdata.analytics.TDConfig):203:205 -> <init>
    210:210:void <init>(cn.thinkingdata.analytics.TDConfig):183:183 -> <init>
    1:1:cn.thinkingdata.analytics.persistence.CommonStorageManager access$000(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):69:69 -> access$000
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;)Lcn/thinkingdata/analytics/persistence/a;"}
    1:1:org.json.JSONObject access$100(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,java.lang.String,long,boolean):69:69 -> access$100
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventListener access$200(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):69:69 -> access$200
    1:1:boolean access$300():69:69 -> access$300
    1:1:boolean access$302(boolean):69:69 -> access$302
    1:1:boolean access$400(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):69:69 -> access$400
    1:1:boolean access$402(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,boolean):69:69 -> access$402
    1:1:void access$500(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,java.lang.String,org.json.JSONObject,cn.thinkingdata.analytics.utils.ITime):69:69 -> access$500
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;Ljava/lang/String;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/m;)V"}
    1:7:void allInstances(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$InstanceProcessor):1437:1443 -> allInstances
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/P;)V"}
    8:8:void allInstances(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$InstanceProcessor):1443:1443 -> allInstances
    1:1:void appBecomeActive():1243:1243 -> appBecomeActive
    1:1:void appEnterBackground():1216:1216 -> appEnterBackground
    1:1:void autoTrack(java.lang.String,org.json.JSONObject):364:364 -> autoTrack
    2:2:void autoTrack(java.lang.String,org.json.JSONObject,cn.thinkingdata.analytics.utils.ITime):368:368 -> autoTrack
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/m;)V"}
    1:2:void calibrateTime(long):168:169 -> calibrateTime
    3:3:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.calibrateTime(long):106:106 -> calibrateTime
    3:3:void calibrateTime(long):169 -> calibrateTime
    4:9:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.setCalibratedTime(cn.thinkingdata.analytics.utils.ICalibratedTime):129:134 -> calibrateTime
    4:9:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.calibrateTime(long):106 -> calibrateTime
    4:9:void calibrateTime(long):169 -> calibrateTime
    10:10:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.calibrateTime(long):107:107 -> calibrateTime
    10:10:void calibrateTime(long):169 -> calibrateTime
    1:1:void calibrateTimeWithNtp(java.lang.String[]):173:173 -> calibrateTimeWithNtp
    2:2:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.calibrateTimeWithNtp(java.lang.String[]):119:119 -> calibrateTimeWithNtp
    2:2:void calibrateTimeWithNtp(java.lang.String[]):173 -> calibrateTimeWithNtp
    3:8:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.setCalibratedTime(cn.thinkingdata.analytics.utils.ICalibratedTime):129:134 -> calibrateTimeWithNtp
    3:8:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.calibrateTimeWithNtp(java.lang.String[]):119 -> calibrateTimeWithNtp
    3:8:void calibrateTimeWithNtp(java.lang.String[]):173 -> calibrateTimeWithNtp
    1:2:void clearSuperProperties():749:750 -> clearSuperProperties
    1:1:cn.thinkingdata.analytics.IThinkingAnalyticsAPI createLightInstance():69:69 -> createLightInstance
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcn/thinkingdata/analytics/a;"}
    2:2:cn.thinkingdata.analytics.ThinkingAnalyticsSDK createLightInstance():1557:1557 -> createLightInstance
    1:2:void enableAutoTrack(java.util.List,org.json.JSONObject):1273:1274 -> enableAutoTrack
    3:4:void enableAutoTrack(java.util.List,cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventListener):1278:1279 -> enableAutoTrack
    5:49:void enableAutoTrack(java.util.List):1284:1328 -> enableAutoTrack
    50:50:void cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.updateShouldTrackEvent(boolean):78:78 -> enableAutoTrack
    50:50:void enableAutoTrack(java.util.List):1328 -> enableAutoTrack
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    51:54:void enableAutoTrack(java.util.List):1330:1333 -> enableAutoTrack
    1:6:void enableThirdPartySharing(int):1578:1583 -> enableThirdPartySharing
    7:13:void enableThirdPartySharing(int,java.lang.Object):1587:1593 -> enableThirdPartySharing
    1:4:void flush():677:680 -> flush
    1:1:java.lang.String getCurrentTime():1569:1569 -> getCurrentTime
    1:1:java.lang.Double getCurrentZoneOffset():1573:1573 -> getCurrentZoneOffset
    1:1:java.lang.String getDeviceId():334:334 -> getDeviceId
    2:2:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getDeviceId():147:147 -> getDeviceId
    2:2:java.lang.String getDeviceId():334 -> getDeviceId
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getDeviceId():147:147 -> getDeviceId
    3:3:java.lang.String getDeviceId():334 -> getDeviceId
    1:9:java.lang.String getDistinctId():317:325 -> getDistinctId
    1:4:java.util.List getIgnoredViewTypeList():1366:1369 -> getIgnoredViewTypeList
    1:12:cn.thinkingdata.analytics.ThinkingAnalyticsSDK getInstanceByAppId(java.lang.String):1447:1458 -> getInstanceByAppId
    13:13:cn.thinkingdata.analytics.ThinkingAnalyticsSDK getInstanceByAppId(java.lang.String):1458:1458 -> getInstanceByAppId
    1:6:java.lang.String getLoginId(boolean):286:291 -> getLoginId
    1:1:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():695:695 -> getPresetProperties
    2:2:org.json.JSONObject cn.thinkingdata.analytics.data.SystemInformation.currentPresetProperties():210:210 -> getPresetProperties
    2:2:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():695 -> getPresetProperties
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:7:org.json.JSONObject cn.thinkingdata.analytics.data.SystemInformation.currentPresetProperties():211:215 -> getPresetProperties
    3:7:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():695 -> getPresetProperties
    8:8:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():696:696 -> getPresetProperties
    9:9:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getCurrentNetworkType():205:205 -> getPresetProperties
    9:9:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():696 -> getPresetProperties
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getCurrentNetworkType():205:205 -> getPresetProperties
    10:10:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():696 -> getPresetProperties
    11:11:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():697:697 -> getPresetProperties
    12:14:double cn.thinkingdata.analytics.utils.CalibratedTimeManager.getSyncTimeZoneOffset():68:70 -> getPresetProperties
    12:14:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():697 -> getPresetProperties
    15:15:java.lang.Double cn.thinkingdata.analytics.utils.TDTimeCalibrated.getSyncZoneOffset():73:73 -> getPresetProperties
    15:15:double cn.thinkingdata.analytics.utils.CalibratedTimeManager.getSyncTimeZoneOffset():70 -> getPresetProperties
    15:15:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():697 -> getPresetProperties
    16:19:java.util.Date cn.thinkingdata.analytics.utils.TDTimeCalibrated.getSyncDate():45:48 -> getPresetProperties
    16:19:java.lang.Double cn.thinkingdata.analytics.utils.TDTimeCalibrated.getSyncZoneOffset():73 -> getPresetProperties
    16:19:double cn.thinkingdata.analytics.utils.CalibratedTimeManager.getSyncTimeZoneOffset():70 -> getPresetProperties
    16:19:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():697 -> getPresetProperties
    20:20:java.lang.Double cn.thinkingdata.analytics.utils.TDTimeCalibrated.getSyncZoneOffset():73:73 -> getPresetProperties
    20:20:double cn.thinkingdata.analytics.utils.CalibratedTimeManager.getSyncTimeZoneOffset():70 -> getPresetProperties
    20:20:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():697 -> getPresetProperties
    21:22:double cn.thinkingdata.analytics.utils.TDUtils.getTimezoneOffset(long,java.util.TimeZone):679:680 -> getPresetProperties
    21:22:java.lang.Double cn.thinkingdata.analytics.utils.TDTimeCalibrated.getSyncZoneOffset():73 -> getPresetProperties
    21:22:double cn.thinkingdata.analytics.utils.CalibratedTimeManager.getSyncTimeZoneOffset():70 -> getPresetProperties
    21:22:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():697 -> getPresetProperties
    23:23:java.lang.Double cn.thinkingdata.analytics.utils.TDTimeCalibrated.getSyncZoneOffset():73:73 -> getPresetProperties
    23:23:double cn.thinkingdata.analytics.utils.CalibratedTimeManager.getSyncTimeZoneOffset():70 -> getPresetProperties
    23:23:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():697 -> getPresetProperties
    24:24:double cn.thinkingdata.analytics.utils.CalibratedTimeManager.getSyncTimeZoneOffset():72:72 -> getPresetProperties
    24:24:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():697 -> getPresetProperties
    25:25:java.lang.Double cn.thinkingdata.analytics.utils.TDTime.getZoneOffset():64:64 -> getPresetProperties
    25:25:double cn.thinkingdata.analytics.utils.CalibratedTimeManager.getSyncTimeZoneOffset():72 -> getPresetProperties
    25:25:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():697 -> getPresetProperties
    26:26:double cn.thinkingdata.analytics.utils.TDUtils.getTimezoneOffset(long,java.util.TimeZone):680:680 -> getPresetProperties
    26:26:java.lang.Double cn.thinkingdata.analytics.utils.TDTime.getZoneOffset():64 -> getPresetProperties
    26:26:double cn.thinkingdata.analytics.utils.CalibratedTimeManager.getSyncTimeZoneOffset():72 -> getPresetProperties
    26:26:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():697 -> getPresetProperties
    27:27:java.lang.Double cn.thinkingdata.analytics.utils.TDTime.getZoneOffset():64:64 -> getPresetProperties
    27:27:double cn.thinkingdata.analytics.utils.CalibratedTimeManager.getSyncTimeZoneOffset():72 -> getPresetProperties
    27:27:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():697 -> getPresetProperties
    28:29:double cn.thinkingdata.analytics.utils.CalibratedTimeManager.getSyncTimeZoneOffset():74:75 -> getPresetProperties
    28:29:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():697 -> getPresetProperties
    30:43:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():699:712 -> getPresetProperties
    44:47:int cn.thinkingdata.analytics.utils.CommonUtil.getFPS():59:62 -> getPresetProperties
    44:47:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():712 -> getPresetProperties
    48:52:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():712:716 -> getPresetProperties
    53:53:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getDeviceId():147:147 -> getPresetProperties
    53:53:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():716 -> getPresetProperties
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    54:54:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getDeviceId():147:147 -> getPresetProperties
    54:54:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():716 -> getPresetProperties
    55:61:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():716:722 -> getPresetProperties
    1:1:java.lang.String getRandomID():329:329 -> getRandomID
    2:4:java.lang.String cn.thinkingdata.analytics.persistence.GlobalStorageManager.getRandomID():53:55 -> getRandomID
    2:4:java.lang.String getRandomID():329 -> getRandomID
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingSDKErrorCallback getSDKErrorCallback():806:806 -> getSDKErrorCallback
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcn/thinkingdata/analytics/Q;"}
    1:1:org.json.JSONObject getSuperProperties():690:690 -> getSuperProperties
    2:2:org.json.JSONObject cn.thinkingdata.analytics.persistence.CommonStorageManager.getSuperProperties():189:189 -> getSuperProperties
    2:2:org.json.JSONObject getSuperProperties():690 -> getSuperProperties
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:5:org.json.JSONObject cn.thinkingdata.analytics.persistence.CommonStorageManager.getSuperProperties():189:191 -> getSuperProperties
    3:5:org.json.JSONObject getSuperProperties():690 -> getSuperProperties
    1:1:java.lang.String getTimeString(java.util.Date):1565:1565 -> getTimeString
    1:1:java.lang.String getToken():1561:1561 -> getToken
    1:1:void identify(java.lang.String):296:296 -> identify
    2:2:boolean cn.thinkingdata.analytics.utils.CommonUtil.isEmpty(java.lang.String):112:112 -> identify
    2:2:void identify(java.lang.String):297 -> identify
    3:6:void identify(java.lang.String):301:304 -> identify
    7:7:void identify(java.lang.String):303:303 -> identify
    8:8:void identify(java.lang.String):298:298 -> identify
    1:1:void ignoreAppViewEventInExtPackage():1043:1043 -> ignoreAppViewEventInExtPackage
    1:13:void ignoreAutoTrackActivities(java.util.List):918:930 -> ignoreAutoTrackActivities
    1:12:void ignoreAutoTrackActivity(java.lang.Class):901:912 -> ignoreAutoTrackActivity
    1:3:void ignoreView(android.view.View):1426:1428 -> ignoreView
    1:9:void ignoreViewType(java.lang.Class):1374:1382 -> ignoreViewType
    1:15:boolean isActivityAutoTrackAppClickIgnored(java.lang.Class):881:895 -> isActivityAutoTrackAppClickIgnored
    1:15:boolean isActivityAutoTrackAppViewScreenIgnored(java.lang.Class):855:869 -> isActivityAutoTrackAppViewScreenIgnored
    1:4:boolean isAutoTrackEnabled():940:943 -> isAutoTrackEnabled
    1:1:boolean isAutoTrackEventTypeIgnored(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType):936:936 -> isAutoTrackEventTypeIgnored
    1:1:boolean isIgnoreAppViewInExtPackage():1047:1047 -> isIgnoreAppViewInExtPackage
    1:3:boolean isStatusTrackSaveOnly():344:346 -> isStatusTrackSaveOnly
    1:2:boolean isTrackDisabled():338:339 -> isTrackDisabled
    3:4:boolean isTrackDisabled():339:340 -> isTrackDisabled
    1:1:void login(java.lang.String):250:250 -> login
    2:2:boolean cn.thinkingdata.analytics.utils.CommonUtil.isEmpty(java.lang.String):112:112 -> login
    2:2:void login(java.lang.String):251 -> login
    3:6:void login(java.lang.String):255:258 -> login
    7:7:void login(java.lang.String):257:257 -> login
    8:8:void login(java.lang.String):252:252 -> login
    1:5:void logout():271:275 -> logout
    6:6:void logout():274:274 -> logout
    1:4:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):524:527 -> obtainDefaultEventProperties
    5:5:java.util.Map cn.thinkingdata.analytics.data.SystemInformation.getDeviceInfo():143:143 -> obtainDefaultEventProperties
    5:5:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):527 -> obtainDefaultEventProperties
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:7:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):527:528 -> obtainDefaultEventProperties
    8:8:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getAppVersionName():139:139 -> obtainDefaultEventProperties
    8:8:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):528 -> obtainDefaultEventProperties
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getAppVersionName():139:139 -> obtainDefaultEventProperties
    9:9:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):528 -> obtainDefaultEventProperties
    10:11:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):528:529 -> obtainDefaultEventProperties
    12:12:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getAppVersionName():139:139 -> obtainDefaultEventProperties
    12:12:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):529 -> obtainDefaultEventProperties
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getAppVersionName():139:139 -> obtainDefaultEventProperties
    13:13:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):529 -> obtainDefaultEventProperties
    14:17:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):529:532 -> obtainDefaultEventProperties
    18:21:int cn.thinkingdata.analytics.utils.CommonUtil.getFPS():59:62 -> obtainDefaultEventProperties
    18:21:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):532 -> obtainDefaultEventProperties
    22:26:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):532:536 -> obtainDefaultEventProperties
    27:27:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getDeviceId():147:147 -> obtainDefaultEventProperties
    27:27:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):536 -> obtainDefaultEventProperties
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    28:28:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getDeviceId():147:147 -> obtainDefaultEventProperties
    28:28:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):536 -> obtainDefaultEventProperties
    29:58:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):536:565 -> obtainDefaultEventProperties
    59:60:java.lang.String cn.thinkingdata.analytics.data.EventTimer.duration(long):24:25 -> obtainDefaultEventProperties
    59:60:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):569 -> obtainDefaultEventProperties
    61:63:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):569:571 -> obtainDefaultEventProperties
    64:64:java.lang.String cn.thinkingdata.analytics.data.EventTimer.backgroundDuration():29:29 -> obtainDefaultEventProperties
    64:64:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):574 -> obtainDefaultEventProperties
    65:77:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):574:586 -> obtainDefaultEventProperties
    78:78:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getCurrentNetworkType():205:205 -> obtainDefaultEventProperties
    78:78:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):586 -> obtainDefaultEventProperties
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    79:79:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getCurrentNetworkType():205:205 -> obtainDefaultEventProperties
    79:79:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):586 -> obtainDefaultEventProperties
    80:86:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):586:592 -> obtainDefaultEventProperties
    1:1:void registerErrorCallback(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingSDKErrorCallback):802:802 -> registerErrorCallback
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/Q;)V"}
    1:2:void setAutoTrackDynamicProperties(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackDynamicProperties):828:829 -> setAutoTrackDynamicProperties
    1:2:void setAutoTrackProperties(java.util.List,org.json.JSONObject):1339:1340 -> setAutoTrackProperties
    1:2:void setDynamicSuperPropertiesTracker(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$DynamicSuperPropertiesTracker):823:824 -> setDynamicSuperPropertiesTracker
    1:5:void setJsBridge(android.webkit.WebView):762:766 -> setJsBridge
    6:6:java.util.Map cn.thinkingdata.analytics.data.SystemInformation.getDeviceInfo():143:143 -> setJsBridge
    6:6:void setJsBridge(android.webkit.WebView):766 -> setJsBridge
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void setJsBridge(android.webkit.WebView):767:767 -> setJsBridge
    1:8:void setJsBridgeForX5WebView(java.lang.Object):773:780 -> setJsBridgeForX5WebView
    9:9:java.util.Map cn.thinkingdata.analytics.data.SystemInformation.getDeviceInfo():143:143 -> setJsBridgeForX5WebView
    9:9:void setJsBridgeForX5WebView(java.lang.Object):780 -> setJsBridgeForX5WebView
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:12:void setJsBridgeForX5WebView(java.lang.Object):781:783 -> setJsBridgeForX5WebView
    1:2:void setNetworkType(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType):358:359 -> setNetworkType
    1:2:void setSuperProperties(org.json.JSONObject):727:728 -> setSuperProperties
    1:4:void setTrackStatus(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus):1478:1481 -> setTrackStatus
    5:5:void setTrackStatus(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus):1480:1480 -> setTrackStatus
    1:4:void setViewID(android.view.View,java.lang.String):1394:1397 -> setViewID
    5:13:void setViewID(android.app.Dialog,java.lang.String):1403:1411 -> setViewID
    1:5:void setViewProperties(android.view.View,org.json.JSONObject):1417:1421 -> setViewProperties
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK sharedInstance(android.content.Context,java.lang.String):110:110 -> sharedInstance
    2:2:cn.thinkingdata.analytics.ThinkingAnalyticsSDK sharedInstance(android.content.Context,java.lang.String,java.lang.String):114:114 -> sharedInstance
    3:19:cn.thinkingdata.analytics.ThinkingAnalyticsSDK sharedInstance(android.content.Context,java.lang.String,java.lang.String,boolean):119:135 -> sharedInstance
    20:20:cn.thinkingdata.analytics.ThinkingAnalyticsSDK sharedInstance(android.content.Context,java.lang.String,java.lang.String,boolean):131:131 -> sharedInstance
    21:33:cn.thinkingdata.analytics.ThinkingAnalyticsSDK sharedInstance(cn.thinkingdata.analytics.TDConfig):140:152 -> sharedInstance
    34:36:boolean cn.thinkingdata.analytics.utils.CommonUtil.isMainProcess(android.content.Context):36:38 -> sharedInstance
    34:36:cn.thinkingdata.analytics.ThinkingAnalyticsSDK sharedInstance(cn.thinkingdata.analytics.TDConfig):152 -> sharedInstance
    37:47:cn.thinkingdata.analytics.ThinkingAnalyticsSDK sharedInstance(cn.thinkingdata.analytics.TDConfig):153:163 -> sharedInstance
    1:3:void timeEvent(java.lang.String):834:836 -> timeEvent
    1:1:void track(java.lang.String,org.json.JSONObject):373:373 -> track
    2:2:void track(java.lang.String,org.json.JSONObject,java.util.Date):378:378 -> track
    3:3:void track(java.lang.String,org.json.JSONObject,java.util.Date,java.util.TimeZone):383:383 -> track
    4:4:void track(java.lang.String,org.json.JSONObject,cn.thinkingdata.analytics.utils.ITime):387:387 -> track
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/m;)V"}
    5:5:void track(java.lang.String,org.json.JSONObject,cn.thinkingdata.analytics.utils.ITime,boolean):391:391 -> track
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/m;Z)V"}
    6:6:void track(java.lang.String):396:396 -> track
    7:32:void track(cn.thinkingdata.analytics.ThinkingAnalyticsEvent):401:426 -> track
    33:50:void track(java.lang.String,org.json.JSONObject,cn.thinkingdata.analytics.utils.ITime,boolean,java.util.Map,cn.thinkingdata.analytics.utils.TDConstants$DataType,int):430:447 -> track
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/m;ZLjava/util/Map;Lcn/thinkingdata/analytics/utils/t;I)V"}
    1:1:void trackAppCrashAndEndEvent(org.json.JSONObject):1362:1362 -> trackAppCrashAndEndEvent
    2:2:void cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.trackAppCrashAndEndEvent(org.json.JSONObject):495:495 -> trackAppCrashAndEndEvent
    2:2:void trackAppCrashAndEndEvent(org.json.JSONObject):1362 -> trackAppCrashAndEndEvent
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:void cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.trackAppCrashAndEndEvent(org.json.JSONObject):495:498 -> trackAppCrashAndEndEvent
    3:6:void trackAppCrashAndEndEvent(org.json.JSONObject):1362 -> trackAppCrashAndEndEvent
    1:2:void trackAppInstall():1268:1269 -> trackAppInstall
    1:2:void trackFragmentAppViewScreen():1388:1389 -> trackFragmentAppViewScreen
    1:1:void trackInternal(cn.thinkingdata.analytics.data.DataDescription):507:507 -> trackInternal
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/data/b;)V"}
    2:3:void cn.thinkingdata.analytics.data.DataDescription.mergeSensitiveProperties(android.content.Context,cn.thinkingdata.core.router.provider.callback.ISensitivePropertiesCallBack):76:77 -> trackInternal
    2:3:void trackInternal(cn.thinkingdata.analytics.data.DataDescription):507 -> trackInternal
    4:4:boolean cn.thinkingdata.analytics.utils.TDConstants$DataType.isTrack():41:41 -> trackInternal
    4:4:void cn.thinkingdata.analytics.data.DataDescription.mergeSensitiveProperties(android.content.Context,cn.thinkingdata.core.router.provider.callback.ISensitivePropertiesCallBack):77 -> trackInternal
    4:4:void trackInternal(cn.thinkingdata.analytics.data.DataDescription):507 -> trackInternal
    5:5:void cn.thinkingdata.analytics.data.DataDescription.mergeSensitiveProperties(android.content.Context,cn.thinkingdata.core.router.provider.callback.ISensitivePropertiesCallBack):80:80 -> trackInternal
    5:5:void trackInternal(cn.thinkingdata.analytics.data.DataDescription):507 -> trackInternal
    6:6:void cn.thinkingdata.analytics.data.DataDescription.mergeSensitiveProperties(android.content.Context,cn.thinkingdata.core.router.provider.callback.ISensitivePropertiesCallBack):78:78 -> trackInternal
    6:6:void trackInternal(cn.thinkingdata.analytics.data.DataDescription):507 -> trackInternal
    1:29:void trackViewScreen(android.app.Activity):1052:1080 -> trackViewScreen
    30:70:void trackViewScreen(android.app.Fragment):1086:1126 -> trackViewScreen
    71:149:void trackViewScreen(java.lang.Object):1133:1211 -> trackViewScreen
    1:20:void trackViewScreenInternal(java.lang.String,org.json.JSONObject):1018:1037 -> trackViewScreenInternal
    1:1:void trackWithDebugOnly(java.lang.String,org.json.JSONObject):502:502 -> trackWithDebugOnly
    1:2:void unsetSuperProperty(java.lang.String):738:739 -> unsetSuperProperty
    1:1:void user_add(org.json.JSONObject):605:605 -> user_add
    2:2:void cn.thinkingdata.analytics.data.UserOperationHandler.user_add(org.json.JSONObject,java.util.Date):54:54 -> user_add
    2:2:void user_add(org.json.JSONObject):605 -> user_add
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void cn.thinkingdata.analytics.data.UserOperationHandler.user_add(org.json.JSONObject,java.util.Date):54:54 -> user_add
    3:3:void user_add(org.json.JSONObject):605 -> user_add
    4:4:void user_add(java.lang.String,java.lang.Number):610:610 -> user_add
    5:8:void cn.thinkingdata.analytics.data.UserOperationHandler.user_add(java.lang.String,java.lang.Number):42:45 -> user_add
    5:8:void user_add(java.lang.String,java.lang.Number):610 -> user_add
    9:9:void cn.thinkingdata.analytics.data.UserOperationHandler.user_add(org.json.JSONObject,java.util.Date):54:54 -> user_add
    9:9:void cn.thinkingdata.analytics.data.UserOperationHandler.user_add(java.lang.String,java.lang.Number):46 -> user_add
    9:9:void user_add(java.lang.String,java.lang.Number):610 -> user_add
    10:10:void cn.thinkingdata.analytics.data.UserOperationHandler.user_add(java.lang.String,java.lang.Number):49:49 -> user_add
    10:10:void user_add(java.lang.String,java.lang.Number):610 -> user_add
    11:11:void user_add(org.json.JSONObject,java.util.Date):614:614 -> user_add
    12:12:void cn.thinkingdata.analytics.data.UserOperationHandler.user_add(org.json.JSONObject,java.util.Date):54:54 -> user_add
    12:12:void user_add(org.json.JSONObject,java.util.Date):614 -> user_add
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:void cn.thinkingdata.analytics.data.UserOperationHandler.user_add(org.json.JSONObject,java.util.Date):54:54 -> user_add
    13:13:void user_add(org.json.JSONObject,java.util.Date):614 -> user_add
    1:1:void user_append(org.json.JSONObject):619:619 -> user_append
    2:2:void cn.thinkingdata.analytics.data.UserOperationHandler.user_append(org.json.JSONObject,java.util.Date):58:58 -> user_append
    2:2:void user_append(org.json.JSONObject):619 -> user_append
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void cn.thinkingdata.analytics.data.UserOperationHandler.user_append(org.json.JSONObject,java.util.Date):58:58 -> user_append
    3:3:void user_append(org.json.JSONObject):619 -> user_append
    4:4:void user_append(org.json.JSONObject,java.util.Date):623:623 -> user_append
    5:5:void cn.thinkingdata.analytics.data.UserOperationHandler.user_append(org.json.JSONObject,java.util.Date):58:58 -> user_append
    5:5:void user_append(org.json.JSONObject,java.util.Date):623 -> user_append
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void cn.thinkingdata.analytics.data.UserOperationHandler.user_append(org.json.JSONObject,java.util.Date):58:58 -> user_append
    6:6:void user_append(org.json.JSONObject,java.util.Date):623 -> user_append
    1:1:void user_delete():659:659 -> user_delete
    2:2:void cn.thinkingdata.analytics.data.UserOperationHandler.user_delete(java.util.Date):74:74 -> user_delete
    2:2:void user_delete():659 -> user_delete
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void cn.thinkingdata.analytics.data.UserOperationHandler.user_delete(java.util.Date):74:74 -> user_delete
    3:3:void user_delete():659 -> user_delete
    4:4:void user_delete(java.util.Date):663:663 -> user_delete
    5:5:void cn.thinkingdata.analytics.data.UserOperationHandler.user_delete(java.util.Date):74:74 -> user_delete
    5:5:void user_delete(java.util.Date):663 -> user_delete
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void cn.thinkingdata.analytics.data.UserOperationHandler.user_delete(java.util.Date):74:74 -> user_delete
    6:6:void user_delete(java.util.Date):663 -> user_delete
    1:1:void user_operations(cn.thinkingdata.analytics.utils.TDConstants$DataType,org.json.JSONObject,java.util.Date):654:654 -> user_operations
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/utils/t;Lorg/json/JSONObject;Ljava/util/Date;)V"}
    2:2:void cn.thinkingdata.analytics.data.UserOperationHandler.userOperation(cn.thinkingdata.analytics.utils.TDConstants$DataType,org.json.JSONObject,java.util.Date):100:100 -> user_operations
    2:2:void user_operations(cn.thinkingdata.analytics.utils.TDConstants$DataType,org.json.JSONObject,java.util.Date):654 -> user_operations
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:9:void cn.thinkingdata.analytics.data.UserOperationHandler.userOperation(cn.thinkingdata.analytics.utils.TDConstants$DataType,org.json.JSONObject,java.util.Date):100:106 -> user_operations
    3:9:void user_operations(cn.thinkingdata.analytics.utils.TDConstants$DataType,org.json.JSONObject,java.util.Date):654 -> user_operations
    1:1:void user_set(org.json.JSONObject):646:646 -> user_set
    2:2:void cn.thinkingdata.analytics.data.UserOperationHandler.user_set(org.json.JSONObject,java.util.Date):70:70 -> user_set
    2:2:void user_set(org.json.JSONObject):646 -> user_set
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void cn.thinkingdata.analytics.data.UserOperationHandler.user_set(org.json.JSONObject,java.util.Date):70:70 -> user_set
    3:3:void user_set(org.json.JSONObject):646 -> user_set
    4:4:void user_set(org.json.JSONObject,java.util.Date):650:650 -> user_set
    5:5:void cn.thinkingdata.analytics.data.UserOperationHandler.user_set(org.json.JSONObject,java.util.Date):70:70 -> user_set
    5:5:void user_set(org.json.JSONObject,java.util.Date):650 -> user_set
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void cn.thinkingdata.analytics.data.UserOperationHandler.user_set(org.json.JSONObject,java.util.Date):70:70 -> user_set
    6:6:void user_set(org.json.JSONObject,java.util.Date):650 -> user_set
    1:1:void user_setOnce(org.json.JSONObject):637:637 -> user_setOnce
    2:2:void cn.thinkingdata.analytics.data.UserOperationHandler.user_setOnce(org.json.JSONObject,java.util.Date):66:66 -> user_setOnce
    2:2:void user_setOnce(org.json.JSONObject):637 -> user_setOnce
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void cn.thinkingdata.analytics.data.UserOperationHandler.user_setOnce(org.json.JSONObject,java.util.Date):66:66 -> user_setOnce
    3:3:void user_setOnce(org.json.JSONObject):637 -> user_setOnce
    4:4:void user_setOnce(org.json.JSONObject,java.util.Date):641:641 -> user_setOnce
    5:5:void cn.thinkingdata.analytics.data.UserOperationHandler.user_setOnce(org.json.JSONObject,java.util.Date):66:66 -> user_setOnce
    5:5:void user_setOnce(org.json.JSONObject,java.util.Date):641 -> user_setOnce
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void cn.thinkingdata.analytics.data.UserOperationHandler.user_setOnce(org.json.JSONObject,java.util.Date):66:66 -> user_setOnce
    6:6:void user_setOnce(org.json.JSONObject,java.util.Date):641 -> user_setOnce
    1:1:void user_uniqAppend(org.json.JSONObject):628:628 -> user_uniqAppend
    2:2:void cn.thinkingdata.analytics.data.UserOperationHandler.user_uniqAppend(org.json.JSONObject,java.util.Date):62:62 -> user_uniqAppend
    2:2:void user_uniqAppend(org.json.JSONObject):628 -> user_uniqAppend
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void cn.thinkingdata.analytics.data.UserOperationHandler.user_uniqAppend(org.json.JSONObject,java.util.Date):62:62 -> user_uniqAppend
    3:3:void user_uniqAppend(org.json.JSONObject):628 -> user_uniqAppend
    4:4:void user_uniqAppend(org.json.JSONObject,java.util.Date):632:632 -> user_uniqAppend
    5:5:void cn.thinkingdata.analytics.data.UserOperationHandler.user_uniqAppend(org.json.JSONObject,java.util.Date):62:62 -> user_uniqAppend
    5:5:void user_uniqAppend(org.json.JSONObject,java.util.Date):632 -> user_uniqAppend
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void cn.thinkingdata.analytics.data.UserOperationHandler.user_uniqAppend(org.json.JSONObject,java.util.Date):62:62 -> user_uniqAppend
    6:6:void user_uniqAppend(org.json.JSONObject,java.util.Date):632 -> user_uniqAppend
    1:1:void user_unset(java.lang.String[]):668:668 -> user_unset
    2:11:void cn.thinkingdata.analytics.data.UserOperationHandler.user_unset(java.lang.String[]):81:90 -> user_unset
    2:11:void user_unset(java.lang.String[]):668 -> user_unset
    12:12:void cn.thinkingdata.analytics.data.UserOperationHandler.user_unset(org.json.JSONObject,java.util.Date):96:96 -> user_unset
    12:12:void cn.thinkingdata.analytics.data.UserOperationHandler.user_unset(java.lang.String[]):91 -> user_unset
    12:12:void user_unset(java.lang.String[]):668 -> user_unset
    13:13:void user_unset(org.json.JSONObject,java.util.Date):672:672 -> user_unset
    14:14:void cn.thinkingdata.analytics.data.UserOperationHandler.user_unset(org.json.JSONObject,java.util.Date):96:96 -> user_unset
    14:14:void user_unset(org.json.JSONObject,java.util.Date):672 -> user_unset
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:void cn.thinkingdata.analytics.data.UserOperationHandler.user_unset(org.json.JSONObject,java.util.Date):96:96 -> user_unset
    15:15:void user_unset(org.json.JSONObject,java.util.Date):672 -> user_unset
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$1 -> cn.thinkingdata.analytics.G:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> a
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):205:205 -> <init>
    1:5:void run():208:212 -> run
    6:6:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getPausePostFlag():173:173 -> run
    6:6:void run():212 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getPausePostFlag():173:173 -> run
    7:7:void run():212 -> run
    8:10:void run():212:214 -> run
    11:11:void cn.thinkingdata.analytics.data.DataHandle.flushOldData(java.lang.String):140:140 -> run
    11:11:void run():214 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:void cn.thinkingdata.analytics.data.DataHandle.flushOldData(java.lang.String):140:140 -> run
    12:12:void run():214 -> run
    13:17:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.postOldDataToServer(java.lang.String):325:329 -> run
    13:17:void cn.thinkingdata.analytics.data.DataHandle.flushOldData(java.lang.String):140 -> run
    13:17:void run():214 -> run
    18:21:void run():217:220 -> run
    22:22:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getPausePostFlag():173:173 -> run
    22:22:void run():220 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    23:23:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getPausePostFlag():173:173 -> run
    23:23:void run():220 -> run
    24:25:void run():221:222 -> run
    26:26:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getEnableFlag():141:141 -> run
    26:26:void run():222 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getEnableFlag():141:141 -> run
    27:27:void run():222 -> run
    28:29:void run():223:224 -> run
    30:30:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getOptOutFlag():157:157 -> run
    30:30:void run():224 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    31:31:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getOptOutFlag():157:157 -> run
    31:31:void run():224 -> run
    32:40:void run():225:233 -> run
    41:43:boolean cn.thinkingdata.analytics.utils.TDUtils.isLogControlFileExist():797:799 -> run
    41:43:void run():233 -> run
    44:46:void run():234:236 -> run
    47:51:void cn.thinkingdata.analytics.utils.plugin.TDPluginUtils.clearPluginEvent(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):62:66 -> run
    47:51:void run():236 -> run
    52:53:void run():237:238 -> run
    54:60:java.lang.String cn.thinkingdata.analytics.utils.TDUtils.getSuffix(java.lang.String,int):691:697 -> run
    54:60:void run():238 -> run
    61:61:void run():238:238 -> run
    62:68:void run():237:243 -> run
    69:69:void run():229:229 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$10 -> cn.thinkingdata.analytics.y:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> a
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):750:750 -> <init>
    1:1:void run():753:753 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$11 -> cn.thinkingdata.analytics.z:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    java.lang.String val$eventName -> a
    long val$systemUpdateTime -> b
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> c
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,java.lang.String,long):836:836 -> <init>
    1:1:void run():840:840 -> run
    2:2:boolean cn.thinkingdata.analytics.utils.PropertyUtils.isInvalidName(java.lang.String):41:41 -> run
    2:2:void run():840 -> run
    3:8:void run():840:845 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$12 -> cn.thinkingdata.analytics.A:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> a
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):1216:1216 -> <init>
    1:8:void run():1220:1227 -> run
    9:9:long cn.thinkingdata.analytics.data.EventTimer.getEventAccumulatedDuration():68:68 -> run
    9:9:void run():1229 -> run
    10:10:void run():1229:1229 -> run
    11:11:long cn.thinkingdata.analytics.data.EventTimer.getStartTime():64:64 -> run
    11:11:void run():1229 -> run
    12:12:void cn.thinkingdata.analytics.data.EventTimer.setEventAccumulatedDuration(long):76:76 -> run
    12:12:void run():1230 -> run
    13:13:void run():1231:1231 -> run
    14:14:void cn.thinkingdata.analytics.data.EventTimer.setStartTime(long):72:72 -> run
    14:14:void run():1231 -> run
    15:15:void run():1236:1236 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$13 -> cn.thinkingdata.analytics.B:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> a
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):1243:1243 -> <init>
    1:5:void run():1247:1251 -> run
    6:6:long cn.thinkingdata.analytics.data.EventTimer.getBackgroundDuration():84:84 -> run
    6:6:void run():1253 -> run
    7:7:void run():1253:1253 -> run
    8:8:long cn.thinkingdata.analytics.data.EventTimer.getStartTime():64:64 -> run
    8:8:void run():1253 -> run
    9:9:void run():1254:1254 -> run
    10:10:void cn.thinkingdata.analytics.data.EventTimer.setStartTime(long):72:72 -> run
    10:10:void run():1254 -> run
    11:11:void cn.thinkingdata.analytics.data.EventTimer.setBackgroundDuration(long):80:80 -> run
    11:11:void run():1255 -> run
    12:12:void run():1260:1260 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$14 -> cn.thinkingdata.analytics.C:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.utils.ITime val$time -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/m;"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> b
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,cn.thinkingdata.analytics.utils.ITime):1291:1291 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;Lcn/thinkingdata/analytics/utils/m;)V"}
    1:4:void run():1294:1297 -> run
    5:5:java.lang.Long cn.thinkingdata.analytics.persistence.GlobalStorageManager.getLastInstallTime():39:39 -> run
    5:5:void run():1297 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:java.lang.Long cn.thinkingdata.analytics.persistence.GlobalStorageManager.getLastInstallTime():39:39 -> run
    6:6:void run():1297 -> run
    7:10:void run():1297:1300 -> run
    11:11:void cn.thinkingdata.analytics.persistence.GlobalStorageManager.saveLastInstallTime(java.lang.Long):46:46 -> run
    11:11:void run():1300 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:void cn.thinkingdata.analytics.persistence.GlobalStorageManager.saveLastInstallTime(java.lang.Long):46:46 -> run
    12:12:void run():1300 -> run
    13:18:void run():1303:1308 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$15 -> cn.thinkingdata.analytics.D:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> a
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):1314:1314 -> <init>
    1:2:void run():1317:1318 -> run
    3:13:cn.thinkingdata.analytics.autotrack.TAExceptionHandler cn.thinkingdata.analytics.autotrack.TAExceptionHandler.getInstance(android.content.Context):200:210 -> run
    3:13:void run():1318 -> run
    14:14:void run():1320:1320 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$16 -> cn.thinkingdata.analytics.E:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    org.json.JSONObject val$autoTrackEventProperties -> a
    java.util.List val$eventTypeList -> b
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> c
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,org.json.JSONObject,java.util.List):1340:1340 -> <init>
    1:10:void run():1344:1353 -> run
    11:22:void cn.thinkingdata.analytics.utils.TDUtils.mergeNestedJSONObject(org.json.JSONObject,org.json.JSONObject,java.util.TimeZone):581:592 -> run
    11:22:void run():1353 -> run
    23:23:void run():1355:1355 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$17 -> cn.thinkingdata.analytics.F:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus val$status -> a
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> b
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus):1481:1481 -> <init>
    1:38:void run():1484:1521 -> run
    39:39:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveEnableFlag(boolean):149:149 -> run
    39:39:void run():1521 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:40:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveEnableFlag(boolean):149:149 -> run
    40:40:void run():1521 -> run
    41:41:void run():1522:1522 -> run
    42:42:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveOptOutFlag(boolean):165:165 -> run
    42:42:void run():1522 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    43:43:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveOptOutFlag(boolean):165:165 -> run
    43:43:void run():1522 -> run
    44:44:void run():1523:1523 -> run
    45:45:void cn.thinkingdata.analytics.persistence.CommonStorageManager.savePausePostFlag(boolean):181:181 -> run
    45:45:void run():1523 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    46:46:void cn.thinkingdata.analytics.persistence.CommonStorageManager.savePausePostFlag(boolean):181:181 -> run
    46:46:void run():1523 -> run
    47:49:void run():1524:1526 -> run
    50:50:void run():1514:1514 -> run
    51:51:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveEnableFlag(boolean):149:149 -> run
    51:51:void run():1514 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    52:52:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveEnableFlag(boolean):149:149 -> run
    52:52:void run():1514 -> run
    53:53:void run():1515:1515 -> run
    54:54:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveOptOutFlag(boolean):165:165 -> run
    54:54:void run():1515 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    55:55:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveOptOutFlag(boolean):165:165 -> run
    55:55:void run():1515 -> run
    56:56:void run():1516:1516 -> run
    57:57:void cn.thinkingdata.analytics.persistence.CommonStorageManager.savePausePostFlag(boolean):181:181 -> run
    57:57:void run():1516 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    58:58:void cn.thinkingdata.analytics.persistence.CommonStorageManager.savePausePostFlag(boolean):181:181 -> run
    58:58:void run():1516 -> run
    59:60:void run():1517:1518 -> run
    61:61:void run():1495:1495 -> run
    62:62:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveEnableFlag(boolean):149:149 -> run
    62:62:void run():1495 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    63:63:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveEnableFlag(boolean):149:149 -> run
    63:63:void run():1495 -> run
    64:64:void run():1496:1496 -> run
    65:65:void cn.thinkingdata.analytics.persistence.CommonStorageManager.savePausePostFlag(boolean):181:181 -> run
    65:65:void run():1496 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:66:void cn.thinkingdata.analytics.persistence.CommonStorageManager.savePausePostFlag(boolean):181:181 -> run
    66:66:void run():1496 -> run
    67:68:void run():1497:1498 -> run
    69:69:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveOptOutFlag(boolean):165:165 -> run
    69:69:void run():1498 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    70:70:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveOptOutFlag(boolean):165:165 -> run
    70:70:void run():1498 -> run
    71:71:void run():1499:1499 -> run
    72:72:void cn.thinkingdata.analytics.data.DataHandle.emptyMessageQueue(java.lang.String):149:149 -> run
    72:72:void run():1499 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    73:73:void cn.thinkingdata.analytics.data.DataHandle.emptyMessageQueue(java.lang.String):149:149 -> run
    73:73:void run():1499 -> run
    74:85:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.emptyQueue(java.lang.String):181:192 -> run
    74:85:void cn.thinkingdata.analytics.data.DataHandle.emptyMessageQueue(java.lang.String):149 -> run
    74:85:void run():1499 -> run
    86:97:void run():1500:1511 -> run
    98:98:void run():1507:1507 -> run
    99:99:void run():1504:1504 -> run
    100:100:void run():1487:1487 -> run
    101:101:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveOptOutFlag(boolean):165:165 -> run
    101:101:void run():1487 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    102:102:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveOptOutFlag(boolean):165:165 -> run
    102:102:void run():1487 -> run
    103:103:void run():1488:1488 -> run
    104:104:void cn.thinkingdata.analytics.persistence.CommonStorageManager.savePausePostFlag(boolean):181:181 -> run
    104:104:void run():1488 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    105:105:void cn.thinkingdata.analytics.persistence.CommonStorageManager.savePausePostFlag(boolean):181:181 -> run
    105:105:void run():1488 -> run
    106:108:void run():1489:1491 -> run
    109:109:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveEnableFlag(boolean):149:149 -> run
    109:109:void run():1491 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    110:110:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveEnableFlag(boolean):149:149 -> run
    110:110:void run():1491 -> run
    111:111:void run():1492:1492 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$2 -> cn.thinkingdata.analytics.H:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    java.lang.String val$loginId -> a
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> b
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,java.lang.String):258:258 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;)V"}
    1:1:void run():261:261 -> run
    2:12:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveLoginId(java.lang.String):61:71 -> run
    2:12:void run():261 -> run
    13:15:void run():262:264 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$3 -> cn.thinkingdata.analytics.I:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> a
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):275:275 -> <init>
    1:1:void run():278:278 -> run
    2:11:void cn.thinkingdata.analytics.persistence.CommonStorageManager.logout(boolean,android.content.Context):91:100 -> run
    2:11:void run():278 -> run
    12:13:void run():279:280 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$4 -> cn.thinkingdata.analytics.J:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    java.lang.String val$identity -> a
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> b
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,java.lang.String):304:304 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;)V"}
    1:1:void run():307:307 -> run
    2:9:void cn.thinkingdata.analytics.persistence.CommonStorageManager.setIdentifyId(java.lang.String):117:124 -> run
    2:9:void run():307 -> run
    10:12:void run():308:310 -> run
    13:13:void cn.thinkingdata.analytics.persistence.CommonStorageManager.setIdentifyId(java.lang.String):124:124 -> run
    13:13:void run():307 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$5 -> cn.thinkingdata.analytics.K:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    java.lang.String val$eventName -> a
    org.json.JSONObject val$cloneJson -> b
    boolean val$doFormatChecking -> c
    long val$systemUpdateTime -> d
    org.json.JSONObject val$finalAutoTrackProperties -> e
    cn.thinkingdata.analytics.utils.TDConstants$DataType val$type -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK val$self -> g
    cn.thinkingdata.analytics.utils.ITime val$time -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/m;"}
    java.lang.String val$distinctId -> i
    java.lang.String val$accountId -> j
    boolean val$isSaveOnly -> k
    int val$isTrackDebugType -> l
    java.util.Map val$extraFields -> m
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> n
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,java.lang.String,org.json.JSONObject,boolean,long,org.json.JSONObject,cn.thinkingdata.analytics.utils.TDConstants$DataType,cn.thinkingdata.analytics.ThinkingAnalyticsSDK,cn.thinkingdata.analytics.utils.ITime,java.lang.String,java.lang.String,boolean,int,java.util.Map):447:447 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;Ljava/lang/String;Lorg/json/JSONObject;ZJLorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/t;Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;Lcn/thinkingdata/analytics/utils/m;Ljava/lang/String;Ljava/lang/String;ZILjava/util/Map;)V"}
    1:7:void run():450:456 -> run
    8:8:boolean cn.thinkingdata.analytics.utils.PropertyUtils.isInvalidName(java.lang.String):41:41 -> run
    8:8:void run():456 -> run
    9:43:void run():456:490 -> run
    44:44:void cn.thinkingdata.analytics.data.DataDescription.setExtraFields(java.util.Map):51:51 -> run
    44:44:void run():491 -> run
    45:47:void run():493:495 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$6 -> cn.thinkingdata.analytics.L:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.data.DataDescription val$dataDescription -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/b;"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> b
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,cn.thinkingdata.analytics.data.DataDescription):507:507 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;Lcn/thinkingdata/analytics/data/b;)V"}
    1:5:void onSuccess(org.json.JSONObject):510:514 -> onSuccess
    6:6:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):106:106 -> onSuccess
    6:6:void onSuccess(org.json.JSONObject):514 -> onSuccess
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):106:106 -> onSuccess
    7:7:void onSuccess(org.json.JSONObject):514 -> onSuccess
    8:12:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.saveToDatabase(cn.thinkingdata.analytics.data.DataDescription):165:169 -> onSuccess
    8:12:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):106 -> onSuccess
    8:12:void onSuccess(org.json.JSONObject):514 -> onSuccess
    13:13:void onSuccess(org.json.JSONObject):512:512 -> onSuccess
    14:15:void cn.thinkingdata.analytics.data.DataHandle.postToDebug(cn.thinkingdata.analytics.data.DataDescription):121:122 -> onSuccess
    14:15:void onSuccess(org.json.JSONObject):512 -> onSuccess
    16:20:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.postToDebug(cn.thinkingdata.analytics.data.DataDescription):367:371 -> onSuccess
    16:20:void cn.thinkingdata.analytics.data.DataHandle.postToDebug(cn.thinkingdata.analytics.data.DataDescription):122 -> onSuccess
    16:20:void onSuccess(org.json.JSONObject):512 -> onSuccess
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$7 -> cn.thinkingdata.analytics.M:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> a
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):680:680 -> <init>
    1:1:void run():683:683 -> run
    2:2:void cn.thinkingdata.analytics.data.DataHandle.flush(java.lang.String):131:131 -> run
    2:2:void run():683 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void cn.thinkingdata.analytics.data.DataHandle.flush(java.lang.String):131:131 -> run
    3:3:void run():683 -> run
    4:7:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.triggerFlush(java.lang.String):174:177 -> run
    4:7:void cn.thinkingdata.analytics.data.DataHandle.flush(java.lang.String):131 -> run
    4:7:void run():683 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$8 -> cn.thinkingdata.analytics.N:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    org.json.JSONObject val$superProperties -> a
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> b
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,org.json.JSONObject):728:728 -> <init>
    1:1:void run():731:731 -> run
    2:11:void cn.thinkingdata.analytics.persistence.CommonStorageManager.setSuperProperties(org.json.JSONObject,java.util.TimeZone):202:211 -> run
    2:11:void run():731 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$9 -> cn.thinkingdata.analytics.O:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    java.lang.String val$superPropertyName -> a
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> b
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,java.lang.String):739:739 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;)V"}
    1:1:void run():742:742 -> run
    2:8:void cn.thinkingdata.analytics.persistence.CommonStorageManager.unsetSuperProperty(java.lang.String):225:231 -> run
    2:8:void run():742 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackDynamicProperties -> cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackDynamicProperties:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventListener -> cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventListener:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType -> cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType[] $values():949:949 -> $values
    1:21:void <clinit>():953:973 -> <clinit>
    22:22:void <clinit>():949:949 -> <clinit>
    1:2:void <init>(java.lang.String,int,java.lang.String):1008:1009 -> <init>
    1:13:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType autoTrackEventTypeFromEventName(java.lang.String):984:996 -> autoTrackEventTypeFromEventName
    14:14:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType autoTrackEventTypeFromEventName(java.lang.String):992:992 -> autoTrackEventTypeFromEventName
    15:23:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType autoTrackEventTypeFromEventName(java.lang.String):990:998 -> autoTrackEventTypeFromEventName
    24:30:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType autoTrackEventTypeFromEventName(java.lang.String):994:1000 -> autoTrackEventTypeFromEventName
    1:1:java.lang.String getEventName():1013:1013 -> getEventName
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType valueOf(java.lang.String):949:949 -> valueOf
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType[] values():949:949 -> values
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$DynamicSuperPropertiesTracker -> cn.thinkingdata.analytics.ThinkingAnalyticsSDK$DynamicSuperPropertiesTracker:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$InstanceProcessor -> cn.thinkingdata.analytics.P:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK) -> a
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus -> cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus[] $values():1465:1465 -> $values
    1:7:void <clinit>():1467:1473 -> <clinit>
    8:8:void <clinit>():1465:1465 -> <clinit>
    1:1:void <init>(java.lang.String,int):1465:1465 -> <init>
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus valueOf(java.lang.String):1465:1465 -> valueOf
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus[] values():1465:1465 -> values
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingSDKErrorCallback -> cn.thinkingdata.analytics.Q:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    void onSDKErrorCallback(int,java.lang.String,java.lang.String) -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;)V"}
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType -> cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType[] $values():350:350 -> $values
    1:3:void <clinit>():351:353 -> <clinit>
    4:4:void <clinit>():350:350 -> <clinit>
    1:1:void <init>(java.lang.String,int):350:350 -> <init>
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType valueOf(java.lang.String):350:350 -> valueOf
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType[] values():350:350 -> values
cn.thinkingdata.analytics.ThinkingDataAutoTrackAppViewScreenUrl -> cn.thinkingdata.analytics.ThinkingDataAutoTrackAppViewScreenUrl:
# {"id":"sourceFile","fileName":"ThinkingDataAutoTrackAppViewScreenUrl.java"}
cn.thinkingdata.analytics.ThinkingDataFragmentTitle -> cn.thinkingdata.analytics.ThinkingDataFragmentTitle:
# {"id":"sourceFile","fileName":"ThinkingDataFragmentTitle.java"}
cn.thinkingdata.analytics.ThinkingDataIgnoreTrackAppClick -> cn.thinkingdata.analytics.ThinkingDataIgnoreTrackAppClick:
# {"id":"sourceFile","fileName":"ThinkingDataIgnoreTrackAppClick.java"}
cn.thinkingdata.analytics.ThinkingDataIgnoreTrackAppViewScreen -> cn.thinkingdata.analytics.ThinkingDataIgnoreTrackAppViewScreen:
# {"id":"sourceFile","fileName":"ThinkingDataIgnoreTrackAppViewScreen.java"}
cn.thinkingdata.analytics.ThinkingDataIgnoreTrackAppViewScreenAndAppClick -> cn.thinkingdata.analytics.ThinkingDataIgnoreTrackAppViewScreenAndAppClick:
# {"id":"sourceFile","fileName":"ThinkingDataIgnoreTrackAppViewScreenAndAppClick.java"}
cn.thinkingdata.analytics.ThinkingDataIgnoreTrackOnClick -> cn.thinkingdata.analytics.ThinkingDataIgnoreTrackOnClick:
# {"id":"sourceFile","fileName":"ThinkingDataIgnoreTrackOnClick.java"}
cn.thinkingdata.analytics.ThinkingDataRuntimeBridge -> cn.thinkingdata.analytics.ThinkingDataRuntimeBridge:
# {"id":"sourceFile","fileName":"ThinkingDataRuntimeBridge.java"}
    1:1:void <init>():53:53 -> <init>
    1:1:boolean access$000(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,android.view.View):53:53 -> access$000
    1:1:boolean access$100(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,java.lang.Class):53:53 -> access$100
    1:2:boolean fragmentGetUserVisibleHint(java.lang.Object):213:214 -> fragmentGetUserVisibleHint
    1:2:boolean fragmentIsNotHidden(java.lang.Object):223:224 -> fragmentIsNotHidden
    1:2:boolean fragmentIsResumed(java.lang.Object):203:204 -> fragmentIsResumed
    1:17:boolean isNotFragment(java.lang.Object):176:192 -> isNotFragment
    1:4:boolean isViewIgnored(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,java.lang.Class):1252:1255 -> isViewIgnored
    5:16:boolean isViewIgnored(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,android.view.View):1273:1284 -> isViewIgnored
    1:4:void onAdapterViewItemClick(android.view.View,android.view.View,int):1002:1005 -> onAdapterViewItemClick
    1:2:void onAppPushClickEvent(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,java.lang.String,org.json.JSONObject):1291:1292 -> onAppPushClickEvent
    1:6:void onDialogClick(java.lang.Object,int):855:860 -> onDialogClick
    1:6:void onExpandableListViewOnChildClick(android.view.View,android.view.View,int,int):724:729 -> onExpandableListViewOnChildClick
    1:1:void onExpandableListViewOnGroupClick(android.view.View,android.view.View,int):709:709 -> onExpandableListViewOnGroupClick
    1:12:void onFragmentCreateView(java.lang.Object,android.view.View):65:76 -> onFragmentCreateView
    1:19:void onFragmentHiddenChanged(java.lang.Object,boolean):117:135 -> onFragmentHiddenChanged
    1:20:void onFragmentOnResume(java.lang.Object):86:105 -> onFragmentOnResume
    1:19:void onFragmentSetUserVisibleHint(java.lang.Object,boolean):147:165 -> onFragmentSetUserVisibleHint
    1:1:void onMenuItemSelected(java.lang.Object,android.view.MenuItem):1133:1133 -> onMenuItemSelected
    1:1:void onTabHostChanged(java.lang.String):1212:1212 -> onTabHostChanged
    1:1:void onViewOnClick(android.view.View,java.lang.Object):421:421 -> onViewOnClick
    1:22:void trackEvent(java.lang.Object):344:365 -> trackEvent
    23:36:void trackEvent(java.lang.String,java.lang.String,java.lang.String):385:398 -> trackEvent
    1:1:void trackFragmentViewScreen(java.lang.Object):257:257 -> trackFragmentViewScreen
    1:18:void traverseView(java.lang.String,android.view.ViewGroup):234:251 -> traverseView
cn.thinkingdata.analytics.ThinkingDataRuntimeBridge$1 -> cn.thinkingdata.analytics.S:
# {"id":"sourceFile","fileName":"ThinkingDataRuntimeBridge.java"}
    java.lang.Object val$fragment -> a
    1:1:void <init>(java.lang.Object):257:257 -> <init>
    1:73:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):260:332 -> a
cn.thinkingdata.analytics.ThinkingDataRuntimeBridge$2 -> cn.thinkingdata.analytics.T:
# {"id":"sourceFile","fileName":"ThinkingDataRuntimeBridge.java"}
    java.lang.String val$token -> a
    java.lang.String val$eventName -> b
    org.json.JSONObject val$properties -> c
    1:1:void <init>(java.lang.String,java.lang.String,org.json.JSONObject):365:365 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lorg/json/JSONObject;Ljava/lang/String;)V"}
    1:3:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):368:370 -> a
cn.thinkingdata.analytics.ThinkingDataRuntimeBridge$3 -> cn.thinkingdata.analytics.U:
# {"id":"sourceFile","fileName":"ThinkingDataRuntimeBridge.java"}
    java.lang.String val$token -> a
    java.lang.String val$eventName -> b
    org.json.JSONObject val$properties -> c
    1:1:void <init>(java.lang.String,java.lang.String,org.json.JSONObject):398:398 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lorg/json/JSONObject;Ljava/lang/String;)V"}
    1:3:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):401:403 -> a
cn.thinkingdata.analytics.ThinkingDataRuntimeBridge$4 -> cn.thinkingdata.analytics.V:
# {"id":"sourceFile","fileName":"ThinkingDataRuntimeBridge.java"}
    java.lang.Object val$annotation -> a
    android.view.View val$view -> b
    1:1:void <init>(java.lang.Object,android.view.View):421:421 -> <init>
    1:278:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):425:702 -> a
cn.thinkingdata.analytics.ThinkingDataRuntimeBridge$5 -> cn.thinkingdata.analytics.W:
# {"id":"sourceFile","fileName":"ThinkingDataRuntimeBridge.java"}
    android.content.Context val$context -> a
    android.view.View val$expandableListView -> b
    android.view.View val$view -> c
    int val$childPosition -> d
    int val$groupPosition -> e
    1:1:void <init>(android.content.Context,android.view.View,android.view.View,int,int):729:729 -> <init>
    1:40:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):733:772 -> a
    41:41:java.lang.String cn.thinkingdata.analytics.utils.TDUtils.getViewId(android.view.View):339:339 -> a
    41:41:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):772 -> a
    42:111:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):773:842 -> a
cn.thinkingdata.analytics.ThinkingDataRuntimeBridge$6 -> cn.thinkingdata.analytics.X:
# {"id":"sourceFile","fileName":"ThinkingDataRuntimeBridge.java"}
    android.app.Dialog val$dialog -> a
    int val$which -> b
    1:1:void <init>(android.app.Dialog,int):860:860 -> <init>
    1:120:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):865:984 -> a
cn.thinkingdata.analytics.ThinkingDataRuntimeBridge$7 -> cn.thinkingdata.analytics.Y:
# {"id":"sourceFile","fileName":"ThinkingDataRuntimeBridge.java"}
    android.view.View val$view -> a
    android.view.View val$adapterView -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Landroid/widget/AdapterView;"}
    int val$position -> c
    1:1:void <init>(android.view.View,android.view.View,int):1005:1005 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/widget/AdapterView;Landroid/view/View;I)V"}
    1:108:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):1009:1116 -> a
cn.thinkingdata.analytics.ThinkingDataRuntimeBridge$8 -> cn.thinkingdata.analytics.Z:
# {"id":"sourceFile","fileName":"ThinkingDataRuntimeBridge.java"}
    java.lang.Object val$object -> a
    android.view.MenuItem val$menuItem -> b
    1:1:void <init>(java.lang.Object,android.view.MenuItem):1133:1133 -> <init>
    1:62:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):1137:1198 -> a
cn.thinkingdata.analytics.ThinkingDataRuntimeBridge$9 -> cn.thinkingdata.analytics.a0:
# {"id":"sourceFile","fileName":"ThinkingDataRuntimeBridge.java"}
    java.lang.String val$tabName -> a
    1:1:void <init>(java.lang.String):1212:1212 -> <init>
    1:24:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):1216:1239 -> a
cn.thinkingdata.analytics.ThinkingDataTrackEvent -> cn.thinkingdata.analytics.ThinkingDataTrackEvent:
# {"id":"sourceFile","fileName":"ThinkingDataTrackEvent.java"}
cn.thinkingdata.analytics.ThinkingDataTrackViewOnClick -> cn.thinkingdata.analytics.ThinkingDataTrackViewOnClick:
# {"id":"sourceFile","fileName":"ThinkingDataTrackViewOnClick.java"}
cn.thinkingdata.analytics.ThinkingExpandableListViewItemTrackProperties -> cn.thinkingdata.analytics.ThinkingExpandableListViewItemTrackProperties:
# {"id":"sourceFile","fileName":"ThinkingExpandableListViewItemTrackProperties.java"}
cn.thinkingdata.analytics.aop.FragmentTrackHelper -> cn.thinkingdata.analytics.aop.FragmentTrackHelper:
# {"id":"sourceFile","fileName":"FragmentTrackHelper.java"}
    1:1:void <init>():15:15 -> <init>
    1:1:void onFragmentViewCreated(java.lang.Object,android.view.View,android.os.Bundle):20:20 -> onFragmentViewCreated
    1:1:void trackFragmentResume(java.lang.Object):24:24 -> trackFragmentResume
    1:1:void trackFragmentSetUserVisibleHint(java.lang.Object,boolean):31:31 -> trackFragmentSetUserVisibleHint
    1:1:void trackOnHiddenChanged(java.lang.Object,boolean):35:35 -> trackOnHiddenChanged
cn.thinkingdata.analytics.aop.ThinkingDataAutoTrackHelper -> cn.thinkingdata.analytics.aop.ThinkingDataAutoTrackHelper:
# {"id":"sourceFile","fileName":"ThinkingDataAutoTrackHelper.java"}
    1:1:void <init>():21:21 -> <init>
    1:1:void track(java.lang.String,java.lang.String,java.lang.String):34:34 -> track
    1:1:void trackDialog(android.content.DialogInterface,int):50:50 -> trackDialog
    1:1:void trackExpandableListViewOnChildClick(android.widget.ExpandableListView,android.view.View,int,int):83:83 -> trackExpandableListViewOnChildClick
    1:1:void trackExpandableListViewOnGroupClick(android.widget.ExpandableListView,android.view.View,int):78:78 -> trackExpandableListViewOnGroupClick
    1:1:void trackListView(android.widget.AdapterView,android.view.View,int):38:38 -> trackListView
    1:1:void trackMenuItem(android.view.MenuItem):0:0 -> trackMenuItem
    2:2:void trackMenuItem(java.lang.Object,android.view.MenuItem):54:54 -> trackMenuItem
    1:1:void trackRadioGroup(android.widget.RadioGroup,int):42:42 -> trackRadioGroup
    2:2:void trackRadioGroup(android.widget.RadioGroup,int,java.lang.String):46:46 -> trackRadioGroup
    1:1:void trackTabHost(java.lang.String):61:61 -> trackTabHost
    1:7:void trackTabLayoutSelected(java.lang.Object,java.lang.Object):66:72 -> trackTabLayoutSelected
    1:1:void trackViewOnClick(android.view.View):26:26 -> trackViewOnClick
    2:2:void trackViewOnClick(android.view.View,java.lang.String):30:30 -> trackViewOnClick
cn.thinkingdata.analytics.aop.push.PushEventItem -> cn.thinkingdata.analytics.aop.push.PushEventItem:
# {"id":"sourceFile","fileName":"PushEventItem.java"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType type -> type
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    1:1:void <init>():17:17 -> <init>
cn.thinkingdata.analytics.aop.push.TANotificationInfo -> cn.thinkingdata.analytics.aop.push.TANotificationInfo:
# {"id":"sourceFile","fileName":"TANotificationInfo.java"}
    1:4:void <init>(java.lang.String,java.lang.String,long):18:21 -> <init>
    1:4:cn.thinkingdata.analytics.aop.push.TANotificationInfo fromJson(java.lang.String):26:29 -> fromJson
    1:1:java.lang.String getContent():59:59 -> getContent
    1:1:long getTime():67:67 -> getTime
    1:1:java.lang.String getTitle():51:51 -> getTitle
    1:1:void setContent(java.lang.String):63:63 -> setContent
    1:1:void setTime(long):71:71 -> setTime
    1:1:void setTitle(java.lang.String):55:55 -> setTitle
    1:5:java.lang.String toJson():38:42 -> toJson
cn.thinkingdata.analytics.aop.push.TAPushLifecycleCallbacks -> cn.thinkingdata.analytics.aop.push.TAPushLifecycleCallbacks:
# {"id":"sourceFile","fileName":"TAPushLifecycleCallbacks.java"}
    1:1:void <init>():16:16 -> <init>
    1:1:void onActivityCreated(android.app.Activity,android.os.Bundle):21:21 -> onActivityCreated
    1:1:void onActivityStarted(android.app.Activity):26:26 -> onActivityStarted
cn.thinkingdata.analytics.aop.push.TAPushProcess -> cn.thinkingdata.analytics.aop.push.TAPushProcess:
# {"id":"sourceFile","fileName":"TAPushProcess.java"}
    1:5:void <init>():35:39 -> <init>
    1:1:java.util.Map access$000(cn.thinkingdata.analytics.aop.push.TAPushProcess):23:23 -> access$000
    1:4:cn.thinkingdata.analytics.aop.push.TAPushProcess getInstance():61:64 -> getInstance
    1:5:void onNotificationClick(android.content.Context,android.content.Intent):72:76 -> onNotificationClick
    1:7:void trackGTDelayed(java.lang.String,java.lang.String,java.lang.String):82:88 -> trackGTDelayed
    1:11:void trackGeTuiReceiveMessageData(java.lang.String,java.lang.String):94:104 -> trackGeTuiReceiveMessageData
cn.thinkingdata.analytics.aop.push.TAPushProcess$1 -> cn.thinkingdata.analytics.aop.push.TAPushProcess$1:
# {"id":"sourceFile","fileName":"TAPushProcess.java"}
    1:1:void <init>(cn.thinkingdata.analytics.aop.push.TAPushProcess,android.os.Looper):39:39 -> <init>
    1:12:void handleMessage(android.os.Message):42:53 -> handleMessage
cn.thinkingdata.analytics.aop.push.TAPushTrackHelper -> cn.thinkingdata.analytics.aop.push.TAPushTrackHelper:
# {"id":"sourceFile","fileName":"TAPushTrackHelper.java"}
    1:1:void <init>():21:21 -> <init>
    1:6:void onCreateIntent(java.lang.Object):85:90 -> onCreateIntent
    1:7:void onFcmTokenRegister(java.lang.String):51:57 -> onFcmTokenRegister
    1:7:void onJPushTokenRegister(java.lang.String):39:45 -> onJPushTokenRegister
    1:5:void onNewIntent(java.lang.Object,android.content.Intent):70:74 -> onNewIntent
    1:4:void trackBroadcastReceiverNotification(android.content.BroadcastReceiver,android.content.Context,android.content.Intent):213:216 -> trackBroadcastReceiverNotification
    1:7:void trackGeTuiNotification(java.lang.Object):164:170 -> trackGeTuiNotification
    1:11:void trackGeTuiReceiveMessageData(java.lang.Object):182:192 -> trackGeTuiReceiveMessageData
    1:1:void trackJPushClickNotification(java.lang.String,java.lang.String,java.lang.String,java.lang.String):35:35 -> trackJPushClickNotification
    1:7:void trackUMengActivityNotification(android.content.Intent):146:152 -> trackUMengActivityNotification
    1:9:void trackUMengCallBackNotification(java.lang.Object):125:133 -> trackUMengCallBackNotification
    1:12:void trackUmengClickNotification(java.lang.Object):102:113 -> trackUmengClickNotification
cn.thinkingdata.analytics.aop.push.TAPushUtils -> cn.thinkingdata.analytics.aop.push.TAPushUtils:
# {"id":"sourceFile","fileName":"TAPushUtils.java"}
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>():32:32 -> <init>
    1:7:boolean handleBundleExtraData(android.content.Intent):81:87 -> handleBundleExtraData
    1:5:void handleExtraReceiverData(java.lang.String):140:144 -> handleExtraReceiverData
    1:2:void handleGtPushEvent(java.lang.String,java.lang.String):237:238 -> handleGtPushEvent
    1:4:boolean handleIntentExtraData(android.content.Intent):101:104 -> handleIntentExtraData
    1:21:boolean handleJPushIntentData(android.content.Intent):113:133 -> handleJPushIntentData
    1:13:void handleMiPushData(android.content.Intent):56:68 -> handleMiPushData
    1:6:void handlePushToken(org.json.JSONObject):174:179 -> handlePushToken
    7:14:void cn.thinkingdata.analytics.utils.plugin.TDPluginUtils.handlePluginMessage(cn.thinkingdata.analytics.utils.plugin.TDPluginMessage):27:34 -> handlePushToken
    7:14:void handlePushToken(org.json.JSONObject):179 -> handlePushToken
    1:50:void handlePushTokenAfterLogin(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):183:232 -> handlePushTokenAfterLogin
    1:7:void handleStartIntent(android.content.Intent):39:45 -> handleStartIntent
    1:16:boolean trackPushClickEvent(java.lang.String):151:166 -> trackPushClickEvent
    17:24:void cn.thinkingdata.analytics.utils.plugin.TDPluginUtils.handlePluginMessage(cn.thinkingdata.analytics.utils.plugin.TDPluginMessage):27:34 -> trackPushClickEvent
    17:24:boolean trackPushClickEvent(java.lang.String):166 -> trackPushClickEvent
    25:25:boolean trackPushClickEvent(java.lang.String):168:168 -> trackPushClickEvent
cn.thinkingdata.analytics.aop.push.TAPushUtils$1 -> cn.thinkingdata.analytics.aop.push.TAPushUtils$1:
# {"id":"sourceFile","fileName":"TAPushUtils.java"}
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):207:207 -> <init>
    1:16:java.lang.Object invoke(java.lang.Object,java.lang.reflect.Method,java.lang.Object[]):211:226 -> invoke
cn.thinkingdata.analytics.autotrack.TAExceptionHandler -> cn.thinkingdata.analytics.autotrack.g:
# {"id":"sourceFile","fileName":"TAExceptionHandler.java"}
    android.content.Context mContext -> a
    boolean mExceptionHandlerInitialed -> b
    cn.thinkingdata.analytics.autotrack.TAExceptionHandler sInstance -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/autotrack/g;"}
    1:2:void <init>(android.content.Context):43:44 -> <init>
    1:6:void initExceptionHandler():48:53 -> a
    7:98:void initExceptionHandler():52:143 -> a
    99:116:java.lang.String readFileContent(java.io.File):309:326 -> a
    117:127:java.lang.String readFileContent(java.io.File):320:330 -> a
    128:133:java.lang.String readFileContent(java.io.File):324:329 -> a
cn.thinkingdata.analytics.autotrack.TAExceptionHandler$1 -> cn.thinkingdata.analytics.autotrack.b:
# {"id":"sourceFile","fileName":"TAExceptionHandler.java"}
    1:1:void <init>(cn.thinkingdata.analytics.autotrack.TAExceptionHandler):63:63 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"()V"}
    1:2:void onFile(java.io.File):66:67 -> onFile
cn.thinkingdata.analytics.autotrack.TAExceptionHandler$1$1 -> cn.thinkingdata.analytics.autotrack.a:
# {"id":"sourceFile","fileName":"TAExceptionHandler.java"}
    java.lang.String val$result -> a
    java.io.File val$logFile -> b
    1:1:void <init>(cn.thinkingdata.analytics.autotrack.TAExceptionHandler$1,java.lang.String,java.io.File):67:67 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/io/File;)V"}
    1:8:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):70:77 -> a
    9:25:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):76:92 -> a
cn.thinkingdata.analytics.autotrack.TAExceptionHandler$2 -> cn.thinkingdata.analytics.autotrack.c:
# {"id":"sourceFile","fileName":"TAExceptionHandler.java"}
    cn.thinkingdata.analytics.autotrack.TAExceptionHandler this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/autotrack/g;"}
    1:1:void <init>(cn.thinkingdata.analytics.autotrack.TAExceptionHandler):102:102 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/autotrack/g;)V"}
    1:1:void run():105:105 -> run
    2:2:android.content.Context cn.thinkingdata.analytics.autotrack.TAExceptionHandler.access$000(cn.thinkingdata.analytics.autotrack.TAExceptionHandler):35:35 -> run
    2:2:void run():105 -> run
    3:47:void cn.thinkingdata.analytics.autotrack.TAExceptionHandler.checkLocalLog(android.content.Context):148:192 -> run
    3:47:void cn.thinkingdata.analytics.autotrack.TAExceptionHandler.access$100(cn.thinkingdata.analytics.autotrack.TAExceptionHandler,android.content.Context):35 -> run
    3:47:void run():105 -> run
    48:49:void cn.thinkingdata.analytics.autotrack.TAExceptionHandler$3.onFile(java.io.File):152:153 -> run
    48:49:void cn.thinkingdata.analytics.autotrack.TAExceptionHandler.checkLocalLog(android.content.Context):193 -> run
    48:49:void cn.thinkingdata.analytics.autotrack.TAExceptionHandler.access$100(cn.thinkingdata.analytics.autotrack.TAExceptionHandler,android.content.Context):35 -> run
    48:49:void run():105 -> run
cn.thinkingdata.analytics.autotrack.TAExceptionHandler$3 -> R8$$REMOVED$$CLASS$$0:
# {"id":"sourceFile","fileName":"TAExceptionHandler.java"}
cn.thinkingdata.analytics.autotrack.TAExceptionHandler$3$1 -> cn.thinkingdata.analytics.autotrack.d:
# {"id":"sourceFile","fileName":"TAExceptionHandler.java"}
    java.lang.String val$result -> a
    java.io.File val$logFile -> b
    1:1:void <init>(cn.thinkingdata.analytics.autotrack.TAExceptionHandler$3,java.lang.String,java.io.File):153:153 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/io/File;)V"}
    1:8:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):156:163 -> a
    9:25:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):162:178 -> a
cn.thinkingdata.analytics.autotrack.TAExceptionHandler$JavaExceptionHandler -> cn.thinkingdata.analytics.autotrack.f:
# {"id":"sourceFile","fileName":"TAExceptionHandler.java"}
    java.lang.Thread$UncaughtExceptionHandler mDefaultExceptionHandler -> a
    1:3:void <init>():219:221 -> <init>
    1:5:void uncaughtException(java.lang.Thread,java.lang.Throwable):277:281 -> uncaughtException
    6:18:void processException(java.lang.Throwable):226:238 -> uncaughtException
    6:18:void uncaughtException(java.lang.Thread,java.lang.Throwable):284 -> uncaughtException
    19:27:void uncaughtException(java.lang.Thread,java.lang.Throwable):286:294 -> uncaughtException
    28:29:void killProcessAndExit():302:303 -> uncaughtException
    28:29:void uncaughtException(java.lang.Thread,java.lang.Throwable):296 -> uncaughtException
cn.thinkingdata.analytics.autotrack.TAExceptionHandler$JavaExceptionHandler$1 -> cn.thinkingdata.analytics.autotrack.e:
# {"id":"sourceFile","fileName":"TAExceptionHandler.java"}
    java.lang.String val$result -> a
    1:1:void <init>(cn.thinkingdata.analytics.autotrack.TAExceptionHandler$JavaExceptionHandler,java.lang.String):238:238 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)V"}
    1:9:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):241:249 -> a
    10:24:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):248:262 -> a
cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks -> cn.thinkingdata.analytics.autotrack.i:
# {"id":"sourceFile","fileName":"ThinkingDataActivityLifecycleCallbacks.java"}
    boolean resumeFromBackground -> a
    java.lang.Object mActivityLifecycleCallbacksLock -> b
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK mThinkingDataInstance -> c
    java.lang.Boolean isLaunch -> d
    cn.thinkingdata.analytics.data.EventTimer startTimer -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/k;"}
    java.lang.ref.WeakReference mCurrentActivity -> f
    java.util.List mStartedActivityList -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/ArrayList;"}
    boolean shouldTrackEndEvent -> h
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):59:59 -> <init>
    2:13:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):49:60 -> <init>
    1:13:boolean notStartedActivity(android.app.Activity,boolean):82:94 -> a
    14:20:org.json.JSONArray toJSONArray(java.lang.Object):389:395 -> a
    21:21:org.json.JSONArray toJSONArray(java.lang.Object):391:391 -> a
    22:51:java.lang.String getStartReason():401:430 -> a
    1:21:void trackAppStart(android.app.Activity,cn.thinkingdata.analytics.utils.ITime,boolean):118:138 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/app/Activity;Z)V"}
    22:22:java.lang.String cn.thinkingdata.analytics.data.EventTimer.duration(long):24:24 -> b
    22:22:void trackAppStart(android.app.Activity,cn.thinkingdata.analytics.utils.ITime,boolean):138 -> b
    23:24:java.lang.String cn.thinkingdata.analytics.data.EventTimer.duration(long):24:25 -> b
    23:24:void trackAppStart(android.app.Activity,cn.thinkingdata.analytics.utils.ITime,boolean):138 -> b
    25:87:void trackAppStart(android.app.Activity,cn.thinkingdata.analytics.utils.ITime,boolean):138:200 -> b
    88:93:void onAppStartEventEnabled():298:303 -> b
    94:95:boolean isBackgroundStartEventEnabled(android.content.Context):289:290 -> b
    94:95:void onAppStartEventEnabled():303 -> b
    96:135:void onAppStartEventEnabled():304:343 -> b
    136:136:void onAppStartEventEnabled():343:343 -> b
    137:167:java.lang.Object wrap(java.lang.Object):348:378 -> b
    1:2:void onActivityCreated(android.app.Activity,android.os.Bundle):72:73 -> onActivityCreated
    1:11:void onActivityPaused(android.app.Activity):273:283 -> onActivityPaused
    12:12:void onActivityPaused(android.app.Activity):283:283 -> onActivityPaused
    1:60:void onActivityResumed(android.app.Activity):208:267 -> onActivityResumed
    61:61:void onActivityResumed(android.app.Activity):218:218 -> onActivityResumed
    1:13:void onActivityStarted(android.app.Activity):99:111 -> onActivityStarted
    14:16:void onActivityStarted(android.app.Activity):111:113 -> onActivityStarted
    1:26:void onActivityStopped(android.app.Activity):435:460 -> onActivityStopped
    27:29:void onActivityStopped(android.app.Activity):457:459 -> onActivityStopped
    30:44:void onActivityStopped(android.app.Activity):459:473 -> onActivityStopped
    45:47:void onActivityStopped(android.app.Activity):473:475 -> onActivityStopped
cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks$2 -> cn.thinkingdata.analytics.autotrack.h:
# {"id":"sourceFile","fileName":"ThinkingDataActivityLifecycleCallbacks.java"}
    cn.thinkingdata.analytics.utils.ITime val$time -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/m;"}
    cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/autotrack/i;"}
    1:1:void <init>(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,cn.thinkingdata.analytics.utils.ITime):305:305 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/autotrack/i;Lcn/thinkingdata/analytics/utils/m;)V"}
    1:1:void run():308:308 -> run
    2:2:java.lang.Boolean cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$100(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    2:2:void run():308 -> run
    3:4:void run():308:309 -> run
    5:5:java.lang.Boolean cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$102(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,java.lang.Boolean):47:47 -> run
    5:5:void run():309 -> run
    6:9:void run():310:313 -> run
    10:10:boolean cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$200(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    10:10:void run():313 -> run
    11:23:void run():313:325 -> run
    24:24:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$000(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    24:24:void run():325 -> run
    25:26:void run():325:326 -> run
    27:27:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$000(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    27:27:void run():326 -> run
    28:29:void run():326:327 -> run
    30:30:boolean cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$302(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,boolean):47:47 -> run
    30:30:void run():327 -> run
    31:31:void run():325:325 -> run
    32:32:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$000(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    32:32:void run():325 -> run
    33:34:void run():325:326 -> run
    35:35:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$000(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    35:35:void run():326 -> run
    36:37:void run():326:327 -> run
    38:38:boolean cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$302(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,boolean):47:47 -> run
    38:38:void run():327 -> run
    39:39:void run():328:328 -> run
    40:40:void run():325:325 -> run
    41:41:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$000(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    41:41:void run():325 -> run
    42:43:void run():325:326 -> run
    44:44:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$000(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    44:44:void run():326 -> run
    45:46:void run():326:327 -> run
    47:47:boolean cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$302(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,boolean) -> run
    47:47:void run():327 -> run
cn.thinkingdata.analytics.crash.CrashLogListener -> cn.thinkingdata.analytics.crash.CrashLogListener:
# {"id":"sourceFile","fileName":"CrashLogListener.java"}
cn.thinkingdata.analytics.data.DataDescription -> cn.thinkingdata.analytics.data.b:
# {"id":"sourceFile","fileName":"DataDescription.java"}
    java.lang.String eventName -> a
    int isTrackDebugType -> b
    cn.thinkingdata.analytics.utils.ITime mTime -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/m;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType mType -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    java.lang.String mDistinctId -> e
    java.lang.String mAccountId -> f
    org.json.JSONObject mProperties -> g
    java.util.Map mExtraFields -> h
    boolean mIsSaveOnly -> i
    java.lang.String mToken -> j
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,cn.thinkingdata.analytics.utils.TDConstants$DataType,org.json.JSONObject,cn.thinkingdata.analytics.utils.ITime,java.lang.String,java.lang.String,boolean):60:60 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;Lcn/thinkingdata/analytics/utils/t;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/m;Ljava/lang/String;Ljava/lang/String;Z)V"}
    2:33:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,cn.thinkingdata.analytics.utils.TDConstants$DataType,org.json.JSONObject,cn.thinkingdata.analytics.utils.ITime,java.lang.String,java.lang.String,boolean):36:67 -> <init>
    1:4:org.json.JSONObject get():100:103 -> a
    5:5:java.lang.String cn.thinkingdata.analytics.utils.TDConstants$DataType.getType():37:37 -> a
    5:5:org.json.JSONObject get():103 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:20:org.json.JSONObject get():103:117 -> a
    21:21:boolean cn.thinkingdata.analytics.utils.TDConstants$DataType.isTrack():41:41 -> a
    21:21:org.json.JSONObject get():117 -> a
    22:38:org.json.JSONObject get():118:134 -> a
cn.thinkingdata.analytics.data.DataDescription$1 -> cn.thinkingdata.analytics.data.a:
# {"id":"sourceFile","fileName":"DataDescription.java"}
    cn.thinkingdata.core.router.provider.callback.ISensitivePropertiesCallBack val$callBack -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/L;"}
    cn.thinkingdata.analytics.data.DataDescription this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/b;"}
    1:1:void <init>(cn.thinkingdata.analytics.data.DataDescription,cn.thinkingdata.core.router.provider.callback.ISensitivePropertiesCallBack):80:80 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/data/b;Lcn/thinkingdata/analytics/L;)V"}
    1:1:void onSuccess(org.json.JSONObject):84:84 -> onSuccess
    2:2:org.json.JSONObject cn.thinkingdata.analytics.data.DataDescription.access$000(cn.thinkingdata.analytics.data.DataDescription):31:31 -> onSuccess
    2:2:void onSuccess(org.json.JSONObject):84 -> onSuccess
    3:7:void onSuccess(org.json.JSONObject):84:88 -> onSuccess
cn.thinkingdata.analytics.data.DataHandle -> cn.thinkingdata.analytics.data.g:
# {"id":"sourceFile","fileName":"DataHandle.java"}
    cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker mSendMessageWorker -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/f;"}
    cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker mSaveMessageWorker -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/d;"}
    cn.thinkingdata.analytics.data.DatabaseAdapter mDbAdapter -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/j;"}
    android.content.Context mContext -> d
    java.util.Map trackPauseMap -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/concurrent/ConcurrentHashMap;"}
    java.util.Map sInstances -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/HashMap;"}
    1:1:void <clinit>():58:58 -> <clinit>
    1:1:void <init>(android.content.Context):76:76 -> <init>
    2:19:void <init>(android.content.Context):60:77 -> <init>
    20:29:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DatabaseAdapter.getInstance(android.content.Context):137:146 -> <init>
    20:29:cn.thinkingdata.analytics.data.DatabaseAdapter getDbAdapter(android.content.Context):87 -> <init>
    20:29:void <init>(android.content.Context):79 -> <init>
    30:32:void <init>(android.content.Context):79:81 -> <init>
    33:35:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.cleanupEvents():318:320 -> <init>
    33:35:void <init>(android.content.Context):82 -> <init>
    36:36:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DatabaseAdapter.getInstance(android.content.Context):147:147 -> <init>
    36:36:cn.thinkingdata.analytics.data.DatabaseAdapter getDbAdapter(android.content.Context):87 -> <init>
    36:36:void <init>(android.content.Context):79 -> <init>
    1:11:cn.thinkingdata.analytics.data.DataHandle getInstance(android.content.Context):63:73 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;)Lcn/thinkingdata/analytics/data/g;"}
    12:18:void handleTrackPauseToken(java.lang.String,boolean):96:102 -> a
    19:19:void handleTrackPauseToken(java.lang.String,boolean):102:102 -> a
cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker -> cn.thinkingdata.analytics.data.d:
# {"id":"sourceFile","fileName":"DataHandle.java"}
    android.os.Handler mHandler -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/c;"}
    cn.thinkingdata.analytics.data.DataHandle this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/g;"}
    1:6:void <init>(cn.thinkingdata.analytics.data.DataHandle):156:161 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/data/g;)V"}
cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker$AnalyticsSaveMessageHandler -> cn.thinkingdata.analytics.data.c:
# {"id":"sourceFile","fileName":"DataHandle.java"}
    java.util.List removingTokens -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/ArrayList;"}
    cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker this$1 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/d;"}
    1:5:void <init>(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,android.os.Looper):207:211 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/data/d;Landroid/os/Looper;)V"}
    1:19:void handleMessage(android.os.Message):215:233 -> handleMessage
    20:20:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> handleMessage
    20:20:void handleMessage(android.os.Message):233 -> handleMessage
    21:22:void handleMessage(android.os.Message):233:234 -> handleMessage
    23:23:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> handleMessage
    23:23:void handleMessage(android.os.Message):234 -> handleMessage
    24:26:void handleMessage(android.os.Message):234:236 -> handleMessage
    27:27:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    27:27:void handleMessage(android.os.Message):236 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    28:28:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    28:28:void handleMessage(android.os.Message):236 -> handleMessage
    29:35:void handleMessage(android.os.Message):238:244 -> handleMessage
    36:42:java.lang.String cn.thinkingdata.analytics.utils.TDUtils.getSuffix(java.lang.String,int):691:697 -> handleMessage
    36:42:void handleMessage(android.os.Message):245 -> handleMessage
    43:44:void handleMessage(android.os.Message):245:246 -> handleMessage
    45:51:void handleMessage(android.os.Message):244:250 -> handleMessage
    52:52:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):197:197 -> handleMessage
    52:52:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):155 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    52:52:void handleMessage(android.os.Message):250 -> handleMessage
    53:53:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    53:53:int cn.thinkingdata.analytics.data.DataHandle.getFlushBulkSize(java.lang.String):288 -> handleMessage
    53:53:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):197 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    53:53:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):155 -> handleMessage
    53:53:void handleMessage(android.os.Message):250 -> handleMessage
    54:54:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    54:54:int cn.thinkingdata.analytics.data.DataHandle.getFlushBulkSize(java.lang.String):288 -> handleMessage
    54:54:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):197 -> handleMessage
    54:54:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):155 -> handleMessage
    54:54:void handleMessage(android.os.Message):250 -> handleMessage
    55:55:int cn.thinkingdata.analytics.data.DataHandle.getFlushBulkSize(java.lang.String):290:290 -> handleMessage
    55:55:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):197 -> handleMessage
    55:55:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):155 -> handleMessage
    55:55:void handleMessage(android.os.Message):250 -> handleMessage
    56:56:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):198:198 -> handleMessage
    56:56:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):155 -> handleMessage
    56:56:void handleMessage(android.os.Message):250 -> handleMessage
    57:57:cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker cn.thinkingdata.analytics.data.DataHandle.access$000(cn.thinkingdata.analytics.data.DataHandle):47:47 -> handleMessage
    57:57:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):198 -> handleMessage
    57:57:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):155 -> handleMessage
    57:57:void handleMessage(android.os.Message):250 -> handleMessage
    58:60:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):198:200 -> handleMessage
    58:60:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):155 -> handleMessage
    58:60:void handleMessage(android.os.Message):250 -> handleMessage
    61:61:cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker cn.thinkingdata.analytics.data.DataHandle.access$000(cn.thinkingdata.analytics.data.DataHandle):47:47 -> handleMessage
    61:61:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):200 -> handleMessage
    61:61:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):155 -> handleMessage
    61:61:void handleMessage(android.os.Message):250 -> handleMessage
    62:62:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    62:62:int cn.thinkingdata.analytics.data.DataHandle.getFlushInterval(java.lang.String):294 -> handleMessage
    62:62:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):200 -> handleMessage
    62:62:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):155 -> handleMessage
    62:62:void handleMessage(android.os.Message):250 -> handleMessage
    63:63:int cn.thinkingdata.analytics.data.DataHandle.getFlushInterval(java.lang.String):296:296 -> handleMessage
    63:63:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):200 -> handleMessage
    63:63:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):155 -> handleMessage
    63:63:void handleMessage(android.os.Message):250 -> handleMessage
    64:64:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):200:200 -> handleMessage
    64:64:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):155 -> handleMessage
    64:64:void handleMessage(android.os.Message):250 -> handleMessage
    65:84:void handleMessage(android.os.Message):235:254 -> handleMessage
    85:94:void handleMessage(android.os.Message):253:262 -> handleMessage
    95:95:cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker cn.thinkingdata.analytics.data.DataHandle.access$000(cn.thinkingdata.analytics.data.DataHandle):47:47 -> handleMessage
    95:95:void handleMessage(android.os.Message):262 -> handleMessage
    96:96:void handleMessage(android.os.Message):262:262 -> handleMessage
    97:101:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.emptyQueue(java.lang.String):376:380 -> handleMessage
    97:101:void handleMessage(android.os.Message):262 -> handleMessage
    102:102:void handleMessage(android.os.Message):263:263 -> handleMessage
    103:103:android.os.Handler cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$300(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker):155:155 -> handleMessage
    103:103:void handleMessage(android.os.Message):263 -> handleMessage
    104:105:void handleMessage(android.os.Message):263:264 -> handleMessage
    106:106:android.os.Handler cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$300(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker):155:155 -> handleMessage
    106:106:void handleMessage(android.os.Message):264 -> handleMessage
    107:110:void handleMessage(android.os.Message):264:267 -> handleMessage
    111:111:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> handleMessage
    111:111:void handleMessage(android.os.Message):267 -> handleMessage
    112:113:void handleMessage(android.os.Message):267:268 -> handleMessage
    114:114:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> handleMessage
    114:114:void handleMessage(android.os.Message):268 -> handleMessage
    115:115:void handleMessage(android.os.Message):268:268 -> handleMessage
    116:116:java.lang.String cn.thinkingdata.analytics.data.DatabaseAdapter$Table.getName():42:42 -> handleMessage
    116:116:void cn.thinkingdata.analytics.data.DatabaseAdapter.cleanupEvents(cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):383 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    116:116:void handleMessage(android.os.Message):268 -> handleMessage
    117:122:void cn.thinkingdata.analytics.data.DatabaseAdapter.cleanupEvents(cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):386:391 -> handleMessage
    117:122:void handleMessage(android.os.Message):268 -> handleMessage
    123:123:void cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.deleteDatabase():77:77 -> handleMessage
    123:123:void cn.thinkingdata.analytics.data.DatabaseAdapter.cleanupEvents(cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):391 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    123:123:void handleMessage(android.os.Message):268 -> handleMessage
    124:124:void cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.deleteDatabase():78:78 -> handleMessage
    124:124:void cn.thinkingdata.analytics.data.DatabaseAdapter.cleanupEvents(cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):391 -> handleMessage
    124:124:void handleMessage(android.os.Message):268 -> handleMessage
    125:126:void handleMessage(android.os.Message):269:269 -> handleMessage
    127:132:void handleMessage(android.os.Message):266:271 -> handleMessage
    133:133:cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker cn.thinkingdata.analytics.data.DataHandle.access$000(cn.thinkingdata.analytics.data.DataHandle):47:47 -> handleMessage
    133:133:void handleMessage(android.os.Message):271 -> handleMessage
    134:137:void handleMessage(android.os.Message):271:274 -> handleMessage
cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker -> cn.thinkingdata.analytics.data.f:
# {"id":"sourceFile","fileName":"DataHandle.java"}
    java.lang.Object mHandlerLock -> a
    android.os.Handler mHandler -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/e;"}
    cn.thinkingdata.analytics.utils.RemoteService mPoster -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/k;"}
    java.util.Map mToastShown -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/HashMap;"}
    cn.thinkingdata.analytics.data.DataHandle this$0 -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/g;"}
    1:487:void <init>(cn.thinkingdata.analytics.data.DataHandle):308:794 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/data/g;)V"}
    488:493:void <init>(cn.thinkingdata.analytics.data.DataHandle):309:314 -> <init>
    494:494:cn.thinkingdata.analytics.utils.RemoteService cn.thinkingdata.analytics.data.DataHandle.getPoster():300:300 -> <init>
    494:494:void <init>(cn.thinkingdata.analytics.data.DataHandle):314 -> <init>
    495:495:void <init>(cn.thinkingdata.analytics.data.DataHandle):314:314 -> <init>
    1:1:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):306:306 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/data/f;Lcn/thinkingdata/analytics/TDConfig;Lorg/json/JSONObject;)V"}
    2:15:void sendData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):628:641 -> a
    2:15:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):306 -> a
    16:17:java.util.Map createExtraHeaders(java.lang.String):765:766 -> a
    16:17:void sendData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):641 -> a
    16:17:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):306 -> a
    18:18:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getLibName():72:72 -> a
    18:18:java.util.Map createExtraHeaders(java.lang.String):766 -> a
    18:18:void sendData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):641 -> a
    18:18:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):306 -> a
    19:20:java.util.Map createExtraHeaders(java.lang.String):766:767 -> a
    19:20:void sendData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):641 -> a
    19:20:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):306 -> a
    21:21:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getLibVersion():76:76 -> a
    21:21:java.util.Map createExtraHeaders(java.lang.String):767 -> a
    21:21:void sendData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):641 -> a
    21:21:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):306 -> a
    22:24:java.util.Map createExtraHeaders(java.lang.String):767:769 -> a
    22:24:void sendData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):641 -> a
    22:24:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):306 -> a
    25:28:void sendData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):641:644 -> a
    25:28:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):306 -> a
    29:29:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):306:306 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/data/f;Lcn/thinkingdata/analytics/TDConfig;Lorg/json/JSONObject;I)V"}
    30:45:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):541:556 -> a
    30:45:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):306 -> a
    46:46:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getDeviceId():147:147 -> a
    46:46:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):556 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    46:46:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):306 -> a
    47:47:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getDeviceId():147:147 -> a
    47:47:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):556 -> a
    47:47:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):306 -> a
    48:59:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):559:570 -> a
    48:59:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):306 -> a
    60:66:java.lang.String cn.thinkingdata.analytics.utils.TDUtils.getSuffix(java.lang.String,int):691:697 -> a
    60:66:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):570 -> a
    60:66:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):306 -> a
    67:68:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):571:572 -> a
    67:68:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):306 -> a
    69:70:java.util.Map createExtraHeaders(java.lang.String):765:766 -> a
    69:70:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):572 -> a
    69:70:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):306 -> a
    71:71:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getLibName():72:72 -> a
    71:71:java.util.Map createExtraHeaders(java.lang.String):766 -> a
    71:71:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):572 -> a
    71:71:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):306 -> a
    72:73:java.util.Map createExtraHeaders(java.lang.String):766:767 -> a
    72:73:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):572 -> a
    72:73:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):306 -> a
    74:74:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getLibVersion():76:76 -> a
    74:74:java.util.Map createExtraHeaders(java.lang.String):767 -> a
    74:74:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):572 -> a
    74:74:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):306 -> a
    75:77:java.util.Map createExtraHeaders(java.lang.String):767:769 -> a
    75:77:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):572 -> a
    75:77:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):306 -> a
    78:128:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):572:622 -> a
    78:128:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):306 -> a
    129:140:void postToServer(java.lang.String):336:347 -> a
    141:141:void postToServer(java.lang.String):347:347 -> a
    142:157:void posterToServerDelayed(java.lang.String,long):385:400 -> a
    158:158:void posterToServerDelayed(java.lang.String,long):400:400 -> a
    159:168:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):653:662 -> a
    169:169:java.util.Map cn.thinkingdata.analytics.data.DataHandle.access$1100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    169:169:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):662 -> a
    170:171:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):662:663 -> a
    172:172:java.util.Map cn.thinkingdata.analytics.data.DataHandle.access$1100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    172:172:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):663 -> a
    173:180:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):663:670 -> a
    181:181:android.content.Context cn.thinkingdata.analytics.data.DataHandle.access$1000(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    181:181:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):670 -> a
    182:182:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):670:670 -> a
    183:183:boolean cn.thinkingdata.analytics.data.SystemInformation.isOnline():190:190 -> a
    183:183:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):670 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    187:190:boolean cn.thinkingdata.analytics.data.SystemInformation.isOnline():194:197 -> a
    187:190:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):670 -> a
    191:191:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):674:674 -> a
    192:192:android.content.Context cn.thinkingdata.analytics.data.DataHandle.access$1000(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    192:192:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):674 -> a
    193:193:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):674:674 -> a
    194:194:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getCurrentNetworkType():205:205 -> a
    194:194:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):674 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    195:195:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getCurrentNetworkType():205:205 -> a
    195:195:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):674 -> a
    196:196:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):675:675 -> a
    197:197:boolean cn.thinkingdata.analytics.data.SystemInformation.isOnline():199:199 -> a
    197:197:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):670 -> a
    198:205:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):679:686 -> a
    206:206:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    206:206:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):686 -> a
    207:208:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):686:687 -> a
    209:209:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    209:209:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):687 -> a
    210:226:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):687:703 -> a
    227:227:android.content.Context cn.thinkingdata.analytics.data.DataHandle.access$1000(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    227:227:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):703 -> a
    228:229:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):703:704 -> a
    230:230:android.content.Context cn.thinkingdata.analytics.data.DataHandle.access$1000(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    230:230:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):704 -> a
    231:268:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):704:741 -> a
    269:269:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    269:269:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):741 -> a
    270:271:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):741:742 -> a
    272:272:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    272:272:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):742 -> a
    273:276:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):743:746 -> a
    277:277:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):745:745 -> a
    278:278:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):744:744 -> a
    279:289:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):731:741 -> a
    290:290:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    290:290:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):741 -> a
    291:292:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):741:742 -> a
    293:293:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    293:293:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):742 -> a
    294:297:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):743:746 -> a
    298:298:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):745:745 -> a
    299:299:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):744:744 -> a
    300:310:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):727:737 -> a
    311:329:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):723:741 -> a
    330:330:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    330:330:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):741 -> a
    331:332:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):741:742 -> a
    333:333:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    333:333:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):742 -> a
    334:337:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):743:746 -> a
    338:338:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):745:745 -> a
    339:339:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):744:744 -> a
    340:355:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):720:735 -> a
    356:362:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):735:741 -> a
    363:363:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    363:363:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):741 -> a
    364:365:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):741:742 -> a
    366:366:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    366:366:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):742 -> a
    367:370:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):743:746 -> a
    371:371:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):745:745 -> a
    372:378:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):744:750 -> a
    379:379:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):689:689 -> a
    380:380:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):664:664 -> a
    381:381:void handleSDKError(java.lang.String,int,java.lang.String,java.lang.String):755:755 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"}
    382:382:android.content.Context cn.thinkingdata.analytics.data.DataHandle.access$1000(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    382:382:void handleSDKError(java.lang.String,int,java.lang.String,java.lang.String):755 -> a
    383:384:void handleSDKError(java.lang.String,int,java.lang.String,java.lang.String):755:756 -> a
    385:385:android.content.Context cn.thinkingdata.analytics.data.DataHandle.access$1000(cn.thinkingdata.analytics.data.DataHandle):47:47 -> a
    385:385:void handleSDKError(java.lang.String,int,java.lang.String,java.lang.String):756 -> a
    386:388:void handleSDKError(java.lang.String,int,java.lang.String,java.lang.String):756:758 -> a
    389:390:java.util.Map createExtraHeaders(int,boolean):774:775 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(IZ)Ljava/util/HashMap;"}
    391:391:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getLibName():72:72 -> a
    391:391:java.util.Map createExtraHeaders(int,boolean):775 -> a
    392:393:java.util.Map createExtraHeaders(int,boolean):775:776 -> a
    394:394:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getLibVersion():76:76 -> a
    394:394:java.util.Map createExtraHeaders(int,boolean):776 -> a
    395:399:java.util.Map createExtraHeaders(int,boolean):776:780 -> a
cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker$AnalyticsMessageHandler -> cn.thinkingdata.analytics.data.e:
# {"id":"sourceFile","fileName":"DataHandle.java"}
    cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker this$1 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/f;"}
    1:2:void <init>(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,android.os.Looper):405:406 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/data/f;Landroid/os/Looper;)V"}
    1:115:void handleMessage(android.os.Message):411:525 -> handleMessage
    116:116:android.content.Context cn.thinkingdata.analytics.data.DataHandle.access$1000(cn.thinkingdata.analytics.data.DataHandle):47:47 -> handleMessage
    116:116:void handleMessage(android.os.Message):525 -> handleMessage
    117:118:void handleMessage(android.os.Message):525:526 -> handleMessage
    119:119:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> handleMessage
    119:119:void handleMessage(android.os.Message):526 -> handleMessage
    120:121:void handleMessage(android.os.Message):526:527 -> handleMessage
    122:122:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):47:47 -> handleMessage
    122:122:void handleMessage(android.os.Message):527 -> handleMessage
    123:123:void handleMessage(android.os.Message):528:528 -> handleMessage
    124:124:long cn.thinkingdata.analytics.data.TDContextConfig.getDataExpiration():85:85 -> handleMessage
    124:124:void handleMessage(android.os.Message):528 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    125:128:void handleMessage(android.os.Message):527:530 -> handleMessage
    129:129:void handleMessage(android.os.Message):530:530 -> handleMessage
    130:134:void handleMessage(android.os.Message):485:489 -> handleMessage
    135:135:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    135:135:void handleMessage(android.os.Message):489 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    136:136:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    136:136:void handleMessage(android.os.Message):489 -> handleMessage
    137:138:void handleMessage(android.os.Message):490:491 -> handleMessage
    139:139:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):106:106 -> handleMessage
    139:139:void handleMessage(android.os.Message):491 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    140:140:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):106:106 -> handleMessage
    140:140:void handleMessage(android.os.Message):491 -> handleMessage
    141:145:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.saveToDatabase(cn.thinkingdata.analytics.data.DataDescription):165:169 -> handleMessage
    141:145:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):106 -> handleMessage
    141:145:void handleMessage(android.os.Message):491 -> handleMessage
    146:165:void handleMessage(android.os.Message):494:513 -> handleMessage
    166:170:void handleMessage(android.os.Message):511:515 -> handleMessage
    171:171:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):106:106 -> handleMessage
    171:171:void handleMessage(android.os.Message):515 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    172:172:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):106:106 -> handleMessage
    172:172:void handleMessage(android.os.Message):515 -> handleMessage
    173:177:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.saveToDatabase(cn.thinkingdata.analytics.data.DataDescription):165:169 -> handleMessage
    173:177:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):106 -> handleMessage
    173:177:void handleMessage(android.os.Message):515 -> handleMessage
    178:178:void handleMessage(android.os.Message):520:520 -> handleMessage
    179:184:void handleMessage(android.os.Message):471:476 -> handleMessage
    185:185:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    185:185:void handleMessage(android.os.Message):476 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    186:186:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    186:186:void handleMessage(android.os.Message):476 -> handleMessage
    187:191:void handleMessage(android.os.Message):476:480 -> handleMessage
    192:192:void handleMessage(android.os.Message):478:478 -> handleMessage
    193:197:void handleMessage(android.os.Message):460:464 -> handleMessage
    198:198:java.lang.Object cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.access$400(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker):306:306 -> handleMessage
    198:198:void handleMessage(android.os.Message):464 -> handleMessage
    199:201:void handleMessage(android.os.Message):464:466 -> handleMessage
    202:202:void handleMessage(android.os.Message):466:466 -> handleMessage
    203:203:void handleMessage(android.os.Message):442:442 -> handleMessage
    204:204:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    204:204:void handleMessage(android.os.Message):442 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    205:205:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    205:205:void handleMessage(android.os.Message):442 -> handleMessage
    206:210:void handleMessage(android.os.Message):444:448 -> handleMessage
    211:211:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.access$700(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,java.lang.String,cn.thinkingdata.analytics.TDConfig):306:306 -> handleMessage
    211:211:void handleMessage(android.os.Message):448 -> handleMessage
    212:213:void handleMessage(android.os.Message):450:451 -> handleMessage
    214:216:void handleMessage(android.os.Message):450:452 -> handleMessage
    217:218:void handleMessage(android.os.Message):413:414 -> handleMessage
    219:219:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    219:219:void handleMessage(android.os.Message):414 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    220:220:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    220:220:void handleMessage(android.os.Message):414 -> handleMessage
    221:224:void handleMessage(android.os.Message):416:419 -> handleMessage
    225:225:java.lang.Object cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.access$400(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker):306:306 -> handleMessage
    225:225:void handleMessage(android.os.Message):419 -> handleMessage
    226:230:void handleMessage(android.os.Message):419:423 -> handleMessage
    231:231:android.os.Handler cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.access$500(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker):306:306 -> handleMessage
    231:231:void handleMessage(android.os.Message):423 -> handleMessage
    232:237:void handleMessage(android.os.Message):423:428 -> handleMessage
    238:238:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.access$600(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig):306:306 -> handleMessage
    238:238:void handleMessage(android.os.Message):428 -> handleMessage
    239:239:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.sendData(cn.thinkingdata.analytics.TDConfig):648:648 -> handleMessage
    239:239:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.access$600(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig):306 -> handleMessage
    239:239:void handleMessage(android.os.Message):428 -> handleMessage
    240:241:void handleMessage(android.os.Message):430:431 -> handleMessage
    242:247:void handleMessage(android.os.Message):430:435 -> handleMessage
    248:248:java.lang.Object cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.access$400(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker):306:306 -> handleMessage
    248:248:void handleMessage(android.os.Message):435 -> handleMessage
    249:251:void handleMessage(android.os.Message):435:437 -> handleMessage
    252:252:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    252:252:int cn.thinkingdata.analytics.data.DataHandle.getFlushInterval(java.lang.String):294 -> handleMessage
    252:252:void handleMessage(android.os.Message):437 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    253:253:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):92:92 -> handleMessage
    253:253:int cn.thinkingdata.analytics.data.DataHandle.getFlushInterval(java.lang.String):294 -> handleMessage
    253:253:void handleMessage(android.os.Message):437 -> handleMessage
    254:254:int cn.thinkingdata.analytics.data.DataHandle.getFlushInterval(java.lang.String):296:296 -> handleMessage
    254:254:void handleMessage(android.os.Message):437 -> handleMessage
    255:256:void handleMessage(android.os.Message):437:438 -> handleMessage
    257:257:void handleMessage(android.os.Message):438:438 -> handleMessage
    258:258:void handleMessage(android.os.Message):425:425 -> handleMessage
cn.thinkingdata.analytics.data.DatabaseAdapter -> cn.thinkingdata.analytics.data.j:
# {"id":"sourceFile","fileName":"DatabaseAdapter.java"}
    cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper mDb -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/h;"}
    java.util.Map sInstances -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/HashMap;"}
    1:1:void <clinit>():133:133 -> <clinit>
    1:19:void <init>(android.content.Context,java.lang.String):159:177 -> <init>
    1:19:void <init>(android.content.Context):156 -> <init>
    20:20:java.lang.String cn.thinkingdata.analytics.data.DatabaseAdapter$Table.getName():42:42 -> <init>
    20:20:void <init>(android.content.Context,java.lang.String):178 -> <init>
    20:20:void <init>(android.content.Context):156 -> <init>
    21:30:void <init>(android.content.Context,java.lang.String):178:187 -> <init>
    21:30:void <init>(android.content.Context):156 -> <init>
    1:1:java.lang.String cn.thinkingdata.analytics.data.DatabaseAdapter$Table.getName():42:42 -> a
    1:1:void cleanupEvents(long,cn.thinkingdata.analytics.data.DatabaseAdapter$Table):402 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
      # {"id":"com.android.tools.r8.residualsignature","signature":"(J)V"}
    2:7:void cleanupEvents(long,cn.thinkingdata.analytics.data.DatabaseAdapter$Table):405:410 -> a
    8:8:void cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.deleteDatabase():77:77 -> a
    8:8:void cleanupEvents(long,cn.thinkingdata.analytics.data.DatabaseAdapter$Table):410 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:void cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.deleteDatabase():78:78 -> a
    9:9:void cleanupEvents(long,cn.thinkingdata.analytics.data.DatabaseAdapter$Table):410 -> a
    10:10:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):251:251 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lorg/json/JSONObject;)I"}
    11:11:boolean cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.isDbFileExist():89:89 -> a
    11:11:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):251 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:boolean cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.isDbFileExist():89:89 -> a
    12:12:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):251 -> a
    13:17:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):253:257 -> a
    18:18:boolean belowMemThreshold():235:235 -> a
    18:18:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):260 -> a
    19:19:boolean cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.belowMemThreshold():82:82 -> a
    19:19:boolean belowMemThreshold():235 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):260 -> a
    20:20:boolean cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.belowMemThreshold():82:82 -> a
    20:20:boolean belowMemThreshold():235 -> a
    20:20:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):260 -> a
    21:31:int cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.countData():96:106 -> a
    21:31:boolean cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.belowMemThreshold():83 -> a
    21:31:boolean belowMemThreshold():235 -> a
    21:31:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):260 -> a
    32:32:int cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.countData():102:102 -> a
    32:32:boolean cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.belowMemThreshold():83 -> a
    32:32:boolean belowMemThreshold():235 -> a
    32:32:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):260 -> a
    33:33:boolean cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.belowMemThreshold():83:83 -> a
    33:33:boolean belowMemThreshold():235 -> a
    33:33:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):260 -> a
    34:40:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):261:267 -> a
    41:43:int cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.countData():106:108 -> a
    41:43:boolean cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.belowMemThreshold():83 -> a
    41:43:boolean belowMemThreshold():235 -> a
    41:43:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):260 -> a
    44:44:java.lang.String cn.thinkingdata.analytics.data.DatabaseAdapter$Table.getName():42:42 -> a
    44:44:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):273 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    45:76:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):279:310 -> a
    77:82:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):301:306 -> a
    83:83:void cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.deleteDatabase():77:77 -> a
    83:83:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):306 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    84:84:void cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.deleteDatabase():78:78 -> a
    84:84:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):306 -> a
    85:90:int addJSON(org.json.JSONObject,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):310:315 -> a
    91:91:int cleanupEvents(java.lang.String,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):329:329 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;)I"}
    92:92:java.lang.String cn.thinkingdata.analytics.data.DatabaseAdapter$Table.getName():42:42 -> a
    92:92:int cleanupEvents(java.lang.String,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):330 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    93:127:int cleanupEvents(java.lang.String,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):333:367 -> a
    128:132:int cleanupEvents(java.lang.String,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):358:362 -> a
    133:133:void cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.deleteDatabase():77:77 -> a
    133:133:int cleanupEvents(java.lang.String,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):362 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    134:134:void cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.deleteDatabase():78:78 -> a
    134:134:int cleanupEvents(java.lang.String,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):362 -> a
    135:140:int cleanupEvents(java.lang.String,cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):367:372 -> a
    141:142:cn.thinkingdata.analytics.data.TDGenerateDataInfo generateDataString(cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String,int,java.lang.String):425:426 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;ILjava/lang/String;)Lcn/thinkingdata/analytics/data/n;"}
    143:143:java.lang.String cn.thinkingdata.analytics.data.DatabaseAdapter$Table.getName():42:42 -> a
    143:143:cn.thinkingdata.analytics.data.TDGenerateDataInfo generateDataString(cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String,int,java.lang.String):428 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    144:176:cn.thinkingdata.analytics.data.TDGenerateDataInfo generateDataString(cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String,int,java.lang.String):430:462 -> a
    177:177:boolean cn.thinkingdata.analytics.encrypt.TDEncryptUtils.isEncryptedData(java.lang.String):122:122 -> a
    177:177:cn.thinkingdata.analytics.data.TDGenerateDataInfo generateDataString(cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String,int,java.lang.String):467 -> a
    178:209:cn.thinkingdata.analytics.data.TDGenerateDataInfo generateDataString(cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String,int,java.lang.String):468:499 -> a
    210:219:cn.thinkingdata.analytics.data.TDGenerateDataInfo generateDataString(cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String,int,java.lang.String):494:503 -> a
    220:222:cn.thinkingdata.analytics.data.TDGenerateDataInfo generateDataString(cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String,int,java.lang.String):499:501 -> a
cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper -> cn.thinkingdata.analytics.data.h:
# {"id":"sourceFile","fileName":"DatabaseAdapter.java"}
    java.io.File mDatabaseFile -> a
    int mMinimumDatabaseLimit -> b
    1:3:void <init>(android.content.Context,java.lang.String):71:73 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;)V"}
    4:4:int cn.thinkingdata.analytics.data.TDContextConfig.getMinimumDatabaseLimit():80:80 -> <init>
    4:4:void <init>(android.content.Context,java.lang.String):73 -> <init>
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:int cn.thinkingdata.analytics.data.TDContextConfig.getMinimumDatabaseLimit():80:80 -> <init>
    5:5:void <init>(android.content.Context,java.lang.String):73 -> <init>
    6:6:void <init>(android.content.Context,java.lang.String):73:73 -> <init>
    1:4:void onCreate(android.database.sqlite.SQLiteDatabase):114:117 -> onCreate
    1:5:void onUpgrade(android.database.sqlite.SQLiteDatabase,int,int):122:126 -> onUpgrade
cn.thinkingdata.analytics.data.DatabaseAdapter$OldDatabaseHelper -> cn.thinkingdata.analytics.data.i:
# {"id":"sourceFile","fileName":"DatabaseAdapter.java"}
    1:1:void <init>(cn.thinkingdata.analytics.data.DatabaseAdapter,android.content.Context,java.lang.String):193:193 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;Ljava/lang/String;)V"}
    1:20:org.json.JSONArray getAllEvents():207:226 -> a
    21:25:org.json.JSONArray getAllEvents():222:226 -> a
    26:30:org.json.JSONArray getAllEvents():224:228 -> a
cn.thinkingdata.analytics.data.DatabaseAdapter$Table -> R8$$REMOVED$$CLASS$$1:
# {"id":"sourceFile","fileName":"DatabaseAdapter.java"}
cn.thinkingdata.analytics.data.EventTimer -> cn.thinkingdata.analytics.data.k:
# {"id":"sourceFile","fileName":"EventTimer.java"}
    long startTime -> a
    long eventAccumulatedDuration -> b
    long backgroundDuration -> c
    1:5:void <init>(java.util.concurrent.TimeUnit,long):15:19 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(J)V"}
    1:21:java.lang.String durationFormat(long):35:55 -> a
    22:22:float cn.thinkingdata.analytics.utils.TDUtils.formatNumberWithSpace(float,int):731:731 -> a
    22:22:java.lang.String durationFormat(long):56 -> a
    23:26:java.lang.String durationFormat(long):56:59 -> a
cn.thinkingdata.analytics.data.SystemInformation -> cn.thinkingdata.analytics.data.l:
# {"id":"sourceFile","fileName":"SystemInformation.java"}
    long firstInstallTime -> a
    java.util.TimeZone mTimeZone -> b
    java.util.Map mDeviceInfo -> c
    android.content.Context mContext -> d
    boolean mHasPermission -> e
    java.lang.String mStoragePath -> f
    java.lang.String sLibName -> g
    java.lang.String sLibVersion -> h
    cn.thinkingdata.analytics.data.SystemInformation sInstance -> i
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/l;"}
    java.lang.Object sInstanceLock -> j
    1:1:void <clinit>():44:44 -> <clinit>
    1:3:void <init>(android.content.Context,java.util.TimeZone):101:103 -> <init>
    4:33:boolean checkHasPermission(android.content.Context,java.lang.String):155:184 -> <init>
    4:33:void <init>(android.content.Context,java.util.TimeZone):104 -> <init>
    34:43:void <init>(android.content.Context,java.util.TimeZone):104:113 -> <init>
    44:60:java.util.Map setupDeviceInfo(android.content.Context):119:135 -> <init>
    44:60:void <init>(android.content.Context,java.util.TimeZone):115 -> <init>
    61:61:void <init>(android.content.Context,java.util.TimeZone):115:115 -> <init>
    1:6:cn.thinkingdata.analytics.data.SystemInformation getInstance(android.content.Context,java.util.TimeZone):89:94 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;Ljava/util/TimeZone;)Lcn/thinkingdata/analytics/data/l;"}
    7:7:java.lang.String getDisk(android.content.Context,boolean):289:289 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;)Ljava/lang/String;"}
    8:44:java.lang.String getStoragePath(android.content.Context,boolean):247:283 -> a
    8:44:java.lang.String getDisk(android.content.Context,boolean):290 -> a
    45:45:java.lang.String getStoragePath(android.content.Context,boolean):281:281 -> a
    45:45:java.lang.String getDisk(android.content.Context,boolean):290 -> a
    46:46:java.lang.String getStoragePath(android.content.Context,boolean):279:279 -> a
    46:46:java.lang.String getDisk(android.content.Context,boolean):290 -> a
    47:47:java.lang.String getStoragePath(android.content.Context,boolean):277:277 -> a
    47:47:java.lang.String getDisk(android.content.Context,boolean):290 -> a
    48:48:java.lang.String getStoragePath(android.content.Context,boolean):275:275 -> a
    48:48:java.lang.String getDisk(android.content.Context,boolean):290 -> a
    49:64:java.lang.String getDisk(android.content.Context,boolean):290:305 -> a
    65:65:double cn.thinkingdata.analytics.utils.TDUtils.formatNumber(double):723:723 -> a
    65:65:java.lang.String getDisk(android.content.Context,boolean):307 -> a
    66:66:double cn.thinkingdata.analytics.utils.TDUtils.formatNumber(double):723:723 -> a
    66:66:java.lang.String getDisk(android.content.Context,boolean):308 -> a
    67:72:java.lang.String getDisk(android.content.Context,boolean):309:314 -> a
    1:6:cn.thinkingdata.analytics.data.SystemInformation getInstance(android.content.Context):80:85 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;)Lcn/thinkingdata/analytics/data/l;"}
    1:7:java.lang.String getRAM(android.content.Context):224:230 -> c
    8:8:double cn.thinkingdata.analytics.utils.TDUtils.formatNumber(double):723:723 -> c
    8:8:java.lang.String getRAM(android.content.Context):231 -> c
    9:9:double cn.thinkingdata.analytics.utils.TDUtils.formatNumber(double):723:723 -> c
    9:9:java.lang.String getRAM(android.content.Context):232 -> c
    10:12:java.lang.String getRAM(android.content.Context):233:235 -> c
cn.thinkingdata.analytics.data.TDContextConfig -> cn.thinkingdata.analytics.data.m:
# {"id":"sourceFile","fileName":"TDContextConfig.java"}
    java.lang.String mMainProcessName -> a
    int mRetentionDays -> b
    int mMinimumDatabaseLimit -> c
    java.util.Map sInstanceMap -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/HashMap;"}
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(android.content.Context):53:53 -> <init>
    2:41:void <init>(android.content.Context):33:72 -> <init>
    1:8:cn.thinkingdata.analytics.data.TDContextConfig getInstance(android.content.Context):43:50 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;)Lcn/thinkingdata/analytics/data/m;"}
cn.thinkingdata.analytics.data.TDGenerateDataInfo -> cn.thinkingdata.analytics.data.n:
# {"id":"sourceFile","fileName":"TDGenerateDataInfo.java"}
    java.lang.String lastId -> a
    int dataCount -> b
    boolean hasEncryptData -> c
    java.lang.String generateData -> d
    1:4:void <init>():11:14 -> <init>
cn.thinkingdata.analytics.data.UserOperationHandler -> cn.thinkingdata.analytics.data.p:
# {"id":"sourceFile","fileName":"UserOperationHandler.java"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK instance -> a
    cn.thinkingdata.analytics.TDConfig mConfig -> b
    1:3:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,cn.thinkingdata.analytics.TDConfig):34:36 -> <init>
cn.thinkingdata.analytics.data.UserOperationHandler$1 -> cn.thinkingdata.analytics.data.o:
# {"id":"sourceFile","fileName":"UserOperationHandler.java"}
    org.json.JSONObject val$cloneJson -> a
    cn.thinkingdata.analytics.utils.TDConstants$DataType val$type -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    cn.thinkingdata.analytics.utils.ITime val$time -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/m;"}
    java.lang.String val$distinctId -> d
    java.lang.String val$accountId -> e
    boolean val$isSaveOnly -> f
    cn.thinkingdata.analytics.data.UserOperationHandler this$0 -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/data/p;"}
    1:1:void <init>(cn.thinkingdata.analytics.data.UserOperationHandler,org.json.JSONObject,cn.thinkingdata.analytics.utils.TDConstants$DataType,cn.thinkingdata.analytics.utils.ITime,java.lang.String,java.lang.String,boolean):106:106 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/data/p;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/t;Lcn/thinkingdata/analytics/utils/m;Ljava/lang/String;Ljava/lang/String;Z)V"}
    1:7:void run():109:115 -> run
    8:8:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.UserOperationHandler.access$000(cn.thinkingdata.analytics.data.UserOperationHandler):28:28 -> run
    8:8:void run():115 -> run
    9:11:void run():115:117 -> run
    12:12:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.data.UserOperationHandler.access$100(cn.thinkingdata.analytics.data.UserOperationHandler):28:28 -> run
    12:12:void run():117 -> run
    13:15:void run():117:119 -> run
cn.thinkingdata.analytics.encrypt.TDBase64 -> cn.thinkingdata.analytics.encrypt.a:
# {"id":"sourceFile","fileName":"TDBase64.java"}
    byte[] codes -> a
    1:22:void <clinit>():73:94 -> <clinit>
    1:1:byte[] decode(java.lang.String):13:13 -> a
    2:45:byte[] decode(char[]):23:66 -> a
    2:45:byte[] decode(java.lang.String):13 -> a
cn.thinkingdata.analytics.encrypt.TDEncryptUtils -> cn.thinkingdata.analytics.encrypt.b:
# {"id":"sourceFile","fileName":"TDEncryptUtils.java"}
    1:15:java.lang.String rsaEncrypt(java.lang.String,byte[]):48:62 -> a
cn.thinkingdata.analytics.encrypt.TDRSAEncrypt -> cn.thinkingdata.analytics.encrypt.c:
# {"id":"sourceFile","fileName":"TDRSAEncrypt.java"}
    byte[] aesKey -> a
    1:1:void <init>():10:10 -> <init>
    1:1:java.lang.String encryptDataEvent(java.lang.String):23:23 -> a
    2:11:java.lang.String cn.thinkingdata.analytics.encrypt.TDEncryptUtils.aesEncrypt(byte[],java.lang.String):78:87 -> a
    2:11:java.lang.String encryptDataEvent(java.lang.String):23 -> a
cn.thinkingdata.analytics.encrypt.TDSecreteKey -> cn.thinkingdata.analytics.encrypt.TDSecreteKey:
# {"id":"sourceFile","fileName":"TDSecreteKey.java"}
    1:1:void <init>():23:23 -> <init>
    2:6:void <init>(java.lang.String,int,java.lang.String,java.lang.String):26:30 -> <init>
cn.thinkingdata.analytics.encrypt.ThinkingDataEncrypt -> cn.thinkingdata.analytics.encrypt.d:
# {"id":"sourceFile","fileName":"ThinkingDataEncrypt.java"}
    cn.thinkingdata.analytics.encrypt.ITDEncrypt mTAEncrypt -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/encrypt/c;"}
    java.util.List mEncrypts -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/ArrayList;"}
    cn.thinkingdata.analytics.TDConfig mConfig -> c
    java.util.Map sInstances -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/HashMap;"}
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(cn.thinkingdata.analytics.TDConfig):62:62 -> <init>
    2:40:void <init>(cn.thinkingdata.analytics.TDConfig):26:64 -> <init>
    1:8:cn.thinkingdata.analytics.encrypt.ThinkingDataEncrypt createInstance(java.lang.String,cn.thinkingdata.analytics.TDConfig):40:47 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcn/thinkingdata/analytics/TDConfig;)V"}
    9:12:java.lang.String encryptTrackData(java.lang.String):76:79 -> a
    13:13:boolean isSecretKeyNull(cn.thinkingdata.analytics.encrypt.TDSecreteKey):126:126 -> a
    13:13:java.lang.String encryptTrackData(java.lang.String):81 -> a
    14:14:java.lang.String encryptTrackData(java.lang.String):85:85 -> a
    15:15:boolean isSecretKeyNull(cn.thinkingdata.analytics.encrypt.TDSecreteKey):126:126 -> a
    15:15:boolean isMatchEncryptType(cn.thinkingdata.analytics.encrypt.ITDEncrypt,cn.thinkingdata.analytics.encrypt.TDSecreteKey):137 -> a
    15:15:java.lang.String encryptTrackData(java.lang.String):85 -> a
    16:17:boolean isEncryptorTypeNull(cn.thinkingdata.analytics.encrypt.ITDEncrypt):148:149 -> a
    16:17:boolean isMatchEncryptType(cn.thinkingdata.analytics.encrypt.ITDEncrypt,cn.thinkingdata.analytics.encrypt.TDSecreteKey):137 -> a
    16:17:java.lang.String encryptTrackData(java.lang.String):85 -> a
    18:19:boolean isMatchEncryptType(cn.thinkingdata.analytics.encrypt.ITDEncrypt,cn.thinkingdata.analytics.encrypt.TDSecreteKey):137:138 -> a
    18:19:java.lang.String encryptTrackData(java.lang.String):85 -> a
    20:20:boolean isSecretKeyNull(cn.thinkingdata.analytics.encrypt.TDSecreteKey):126:126 -> a
    20:20:cn.thinkingdata.analytics.encrypt.ITDEncrypt getEncryptListener(cn.thinkingdata.analytics.encrypt.TDSecreteKey):159 -> a
    20:20:java.lang.String encryptTrackData(java.lang.String):86 -> a
    21:21:cn.thinkingdata.analytics.encrypt.ITDEncrypt getEncryptListener(cn.thinkingdata.analytics.encrypt.TDSecreteKey):160:160 -> a
    21:21:java.lang.String encryptTrackData(java.lang.String):86 -> a
    22:22:boolean isSecretKeyNull(cn.thinkingdata.analytics.encrypt.TDSecreteKey):126:126 -> a
    22:22:boolean isMatchEncryptType(cn.thinkingdata.analytics.encrypt.ITDEncrypt,cn.thinkingdata.analytics.encrypt.TDSecreteKey):137 -> a
    22:22:cn.thinkingdata.analytics.encrypt.ITDEncrypt getEncryptListener(cn.thinkingdata.analytics.encrypt.TDSecreteKey):161 -> a
    22:22:java.lang.String encryptTrackData(java.lang.String):86 -> a
    23:24:boolean isEncryptorTypeNull(cn.thinkingdata.analytics.encrypt.ITDEncrypt):148:149 -> a
    23:24:boolean isMatchEncryptType(cn.thinkingdata.analytics.encrypt.ITDEncrypt,cn.thinkingdata.analytics.encrypt.TDSecreteKey):137 -> a
    23:24:cn.thinkingdata.analytics.encrypt.ITDEncrypt getEncryptListener(cn.thinkingdata.analytics.encrypt.TDSecreteKey):161 -> a
    23:24:java.lang.String encryptTrackData(java.lang.String):86 -> a
    25:26:boolean isMatchEncryptType(cn.thinkingdata.analytics.encrypt.ITDEncrypt,cn.thinkingdata.analytics.encrypt.TDSecreteKey):137:138 -> a
    25:26:cn.thinkingdata.analytics.encrypt.ITDEncrypt getEncryptListener(cn.thinkingdata.analytics.encrypt.TDSecreteKey):161 -> a
    25:26:java.lang.String encryptTrackData(java.lang.String):86 -> a
    27:39:java.lang.String encryptTrackData(java.lang.String):86:98 -> a
    40:43:byte[] cn.thinkingdata.analytics.encrypt.TDEncryptUtils.generateAESKey():36:39 -> a
    40:43:java.lang.String cn.thinkingdata.analytics.encrypt.TDRSAEncrypt.encryptSymmetricKey(java.lang.String):34 -> a
    40:43:java.lang.String encryptTrackData(java.lang.String):98 -> a
    44:45:java.lang.String cn.thinkingdata.analytics.encrypt.TDRSAEncrypt.encryptSymmetricKey(java.lang.String):34:35 -> a
    44:45:java.lang.String encryptTrackData(java.lang.String):98 -> a
    46:59:java.lang.String encryptTrackData(java.lang.String):100:113 -> a
    1:3:cn.thinkingdata.analytics.encrypt.ThinkingDataEncrypt getInstance(java.lang.String):57:59 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)Lcn/thinkingdata/analytics/encrypt/d;"}
cn.thinkingdata.analytics.model.TDFirstEventModel -> cn.thinkingdata.analytics.model.TDFirstEventModel:
# {"id":"sourceFile","fileName":"TDFirstEventModel.java"}
    1:1:void <init>(java.lang.String,org.json.JSONObject):14:14 -> <init>
cn.thinkingdata.analytics.model.TDOverWritableEventModel -> cn.thinkingdata.analytics.model.TDOverWritableEventModel:
# {"id":"sourceFile","fileName":"TDOverWritableEventModel.java"}
    1:1:void <init>(java.lang.String,org.json.JSONObject,java.lang.String):14:14 -> <init>
cn.thinkingdata.analytics.model.TDUpdatableEventModel -> cn.thinkingdata.analytics.model.TDUpdatableEventModel:
# {"id":"sourceFile","fileName":"TDUpdatableEventModel.java"}
    1:1:void <init>(java.lang.String,org.json.JSONObject,java.lang.String):14:14 -> <init>
cn.thinkingdata.analytics.persistence.CommonStorageManager -> cn.thinkingdata.analytics.persistence.a:
# {"id":"sourceFile","fileName":"CommonStorageManager.java"}
    cn.thinkingdata.analytics.persistence.CommonStoragePlugin storagePlugin -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/b;"}
    java.lang.Object mLoginId -> b
    java.lang.Object mIdentifyId -> c
    java.lang.Object mSuperProperties -> d
    1:1:void <init>(android.content.Context,java.lang.String):31:31 -> <init>
    2:7:void <init>(android.content.Context,java.lang.String):27:32 -> <init>
    1:11:java.lang.String getLoginId(boolean,android.content.Context):42:52 -> a
    12:14:void clearIdentify():131:133 -> a
    15:15:void clearIdentify():133:133 -> a
    1:3:void clearLoginId():79:81 -> b
    4:4:void clearLoginId():81:81 -> b
    1:3:void clearSuperProperties():236:238 -> c
    4:4:void clearSuperProperties():238:238 -> c
    1:3:java.lang.String getIdentifyId():108:110 -> d
cn.thinkingdata.analytics.persistence.CommonStoragePlugin -> cn.thinkingdata.analytics.persistence.b:
# {"id":"sourceFile","fileName":"CommonStoragePlugin.java"}
    cn.thinkingdata.analytics.persistence.StorageLoginID mLoginId -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/k;"}
    cn.thinkingdata.analytics.persistence.StorageIdentifyId mIdentifyId -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/i;"}
    cn.thinkingdata.analytics.persistence.StorageEnableFlag mEnableFlag -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/f;"}
    cn.thinkingdata.analytics.persistence.StorageOptOutFlag mOptOutFlag -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/l;"}
    cn.thinkingdata.analytics.persistence.StoragePausePostFlag mPausePostFlag -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/m;"}
    cn.thinkingdata.analytics.persistence.StorageSuperProperties mSuperProperties -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/p;"}
    cn.thinkingdata.analytics.persistence.StorageSessionIdIndex mSessionIndex -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/o;"}
    1:1:void <init>(android.content.Context,java.lang.String):27:27 -> <init>
    1:7:void createStorage(android.content.Context):32:38 -> createStorage
    1:1:cn.thinkingdata.core.sp.SharedPreferencesStorage getSharePreferenceStorage(int):57:57 -> getSharePreferenceStorage
    2:8:cn.thinkingdata.core.sp.SharedPreferencesStorage getSharePreferenceStorage(int):49:55 -> getSharePreferenceStorage
    9:9:cn.thinkingdata.core.sp.SharedPreferencesStorage getSharePreferenceStorage(int):51:51 -> getSharePreferenceStorage
    10:18:cn.thinkingdata.core.sp.SharedPreferencesStorage getSharePreferenceStorage(int):45:53 -> getSharePreferenceStorage
cn.thinkingdata.analytics.persistence.ConfigStoragePlugin -> cn.thinkingdata.analytics.persistence.c:
# {"id":"sourceFile","fileName":"ConfigStoragePlugin.java"}
    cn.thinkingdata.analytics.persistence.StorageFlushInterval mFlushInterval -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/h;"}
    cn.thinkingdata.analytics.persistence.StorageFlushBulkSize mFlushBulkSize -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/g;"}
    1:1:void <init>(android.content.Context,java.lang.String):28:28 -> <init>
    1:2:void createStorage(android.content.Context):33:34 -> createStorage
    1:3:cn.thinkingdata.core.sp.SharedPreferencesStorage getSharePreferenceStorage(int):41:43 -> getSharePreferenceStorage
cn.thinkingdata.analytics.persistence.GlobalStorageManager -> cn.thinkingdata.analytics.persistence.d:
# {"id":"sourceFile","fileName":"GlobalStorageManager.java"}
    cn.thinkingdata.analytics.persistence.GlobalStoragePlugin storagePlugin -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/e;"}
    java.lang.Object sRandomIDLock -> b
    java.lang.Object sOldLoginIdLock -> c
    cn.thinkingdata.analytics.persistence.GlobalStorageManager instance -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/d;"}
    1:2:void <clinit>():15:16 -> <clinit>
    1:2:void <init>(android.content.Context):18:19 -> <init>
    1:8:cn.thinkingdata.analytics.persistence.GlobalStorageManager getInstance(android.content.Context):25:32 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;)Lcn/thinkingdata/analytics/persistence/d;"}
    9:11:void clearOldLoginId():71:73 -> a
    12:12:void clearOldLoginId():73:73 -> a
    1:3:java.lang.String getOldLoginId():62:64 -> b
cn.thinkingdata.analytics.persistence.GlobalStoragePlugin -> cn.thinkingdata.analytics.persistence.e:
# {"id":"sourceFile","fileName":"GlobalStoragePlugin.java"}
    cn.thinkingdata.analytics.persistence.StorageLoginID sOldLoginId -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/k;"}
    cn.thinkingdata.analytics.persistence.StorageRandomID sRandomID -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/n;"}
    cn.thinkingdata.analytics.persistence.StorageLastInstallTime storageLastInstallTime -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/persistence/j;"}
    1:1:void <init>(android.content.Context):25:25 -> <init>
    1:2:void createStorage(android.content.Context):30:31 -> createStorage
    3:6:java.lang.String cn.thinkingdata.analytics.utils.TDUtils.getCurrentProcessName(android.content.Context):709:712 -> createStorage
    3:6:void createStorage(android.content.Context):32 -> createStorage
    7:7:void createStorage(android.content.Context):33:33 -> createStorage
    1:1:cn.thinkingdata.core.sp.SharedPreferencesStorage getSharePreferenceStorage(int):42:42 -> getSharePreferenceStorage
    2:6:cn.thinkingdata.core.sp.SharedPreferencesStorage getSharePreferenceStorage(int):40:44 -> getSharePreferenceStorage
cn.thinkingdata.analytics.persistence.StorageEnableFlag -> cn.thinkingdata.analytics.persistence.f:
# {"id":"sourceFile","fileName":"StorageEnableFlag.java"}
    1:1:void <init>(java.util.concurrent.Future):18:18 -> <init>
    1:1:void convertEncryptData(java.lang.String):23:23 -> convertEncryptData
    1:3:void loadOldData(android.content.SharedPreferences):34:36 -> loadOldData
    1:1:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):15:15 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Boolean):28:28 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):15 -> saveOldData
cn.thinkingdata.analytics.persistence.StorageFlushBulkSize -> cn.thinkingdata.analytics.persistence.g:
# {"id":"sourceFile","fileName":"StorageFlushBulkSize.java"}
    int mDefaultBulkSize -> a
    1:2:void <init>(java.util.concurrent.Future,int):19:20 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/util/concurrent/Future;)V"}
    1:1:void convertEncryptData(java.lang.String):39:39 -> convertEncryptData
    1:3:void loadOldData(android.content.SharedPreferences):31:33 -> loadOldData
    1:1:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):15:15 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Integer):25:25 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):15 -> saveOldData
cn.thinkingdata.analytics.persistence.StorageFlushInterval -> cn.thinkingdata.analytics.persistence.h:
# {"id":"sourceFile","fileName":"StorageFlushInterval.java"}
    int mDefaultFlushInterval -> a
    1:2:void <init>(java.util.concurrent.Future,int):19:20 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/util/concurrent/Future;)V"}
    1:1:void convertEncryptData(java.lang.String):39:39 -> convertEncryptData
    1:3:void loadOldData(android.content.SharedPreferences):31:33 -> loadOldData
    1:1:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):15:15 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Integer):25:25 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):15 -> saveOldData
cn.thinkingdata.analytics.persistence.StorageIdentifyId -> cn.thinkingdata.analytics.persistence.i:
# {"id":"sourceFile","fileName":"StorageIdentifyId.java"}
    1:1:void <init>(java.util.concurrent.Future):20:20 -> <init>
    1:2:void convertEncryptData(java.lang.String):38:39 -> convertEncryptData
    1:3:void loadOldData(android.content.SharedPreferences):30:32 -> loadOldData
    1:1:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):17:17 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.String):25:25 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):17 -> saveOldData
cn.thinkingdata.analytics.persistence.StorageLastInstallTime -> cn.thinkingdata.analytics.persistence.j:
# {"id":"sourceFile","fileName":"StorageLastInstallTime.java"}
    1:1:void <init>(java.lang.String,java.util.concurrent.Future):19:19 -> <init>
    1:1:void convertEncryptData(java.lang.String):38:38 -> convertEncryptData
    1:3:void loadOldData(android.content.SharedPreferences):30:32 -> loadOldData
    1:1:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):16:16 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Long):24:24 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):16 -> saveOldData
cn.thinkingdata.analytics.persistence.StorageLoginID -> cn.thinkingdata.analytics.persistence.k:
# {"id":"sourceFile","fileName":"StorageLoginID.java"}
    1:1:void <init>(java.util.concurrent.Future):20:20 -> <init>
    1:2:void convertEncryptData(java.lang.String):38:39 -> convertEncryptData
    1:3:void loadOldData(android.content.SharedPreferences):30:32 -> loadOldData
    1:1:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):17:17 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.String):25:25 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):17 -> saveOldData
cn.thinkingdata.analytics.persistence.StorageOptOutFlag -> cn.thinkingdata.analytics.persistence.l:
# {"id":"sourceFile","fileName":"StorageOptOutFlag.java"}
    1:1:void <init>(java.util.concurrent.Future):18:18 -> <init>
    1:1:void convertEncryptData(java.lang.String):37:37 -> convertEncryptData
    1:3:void loadOldData(android.content.SharedPreferences):29:31 -> loadOldData
    1:1:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):15:15 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Boolean):23:23 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):15 -> saveOldData
cn.thinkingdata.analytics.persistence.StoragePausePostFlag -> cn.thinkingdata.analytics.persistence.m:
# {"id":"sourceFile","fileName":"StoragePausePostFlag.java"}
    1:1:void <init>(java.util.concurrent.Future):21:21 -> <init>
    1:1:void convertEncryptData(java.lang.String):40:40 -> convertEncryptData
    1:3:void loadOldData(android.content.SharedPreferences):32:34 -> loadOldData
    1:1:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):18:18 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Boolean):26:26 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):18 -> saveOldData
cn.thinkingdata.analytics.persistence.StorageRandomID -> cn.thinkingdata.analytics.persistence.n:
# {"id":"sourceFile","fileName":"StorageRandomID.java"}
    1:1:void <init>(java.util.concurrent.Future):21:21 -> <init>
    1:1:void convertEncryptData(java.lang.String):46:46 -> convertEncryptData
    1:1:java.lang.String create():26:26 -> create
    1:1:java.lang.Object create():18 -> create
    1:2:void loadOldData(android.content.SharedPreferences):36:37 -> loadOldData
    3:3:java.lang.String create():26:26 -> loadOldData
    3:3:void loadOldData(android.content.SharedPreferences):38 -> loadOldData
    4:6:void loadOldData(android.content.SharedPreferences):38:40 -> loadOldData
    1:1:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):18:18 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.String):31:31 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):18 -> saveOldData
cn.thinkingdata.analytics.persistence.StorageSessionIdIndex -> cn.thinkingdata.analytics.persistence.o:
# {"id":"sourceFile","fileName":"StorageSessionIdIndex.java"}
    1:1:void <init>(java.util.concurrent.Future):21:21 -> <init>
    1:1:void load(android.content.SharedPreferences):32:32 -> load
    1:1:void save(android.content.SharedPreferences$Editor,java.lang.Object):18:18 -> save
    2:3:void save(android.content.SharedPreferences$Editor,java.lang.Integer):26:27 -> save
    2:3:void save(android.content.SharedPreferences$Editor,java.lang.Object):18 -> save
cn.thinkingdata.analytics.persistence.StorageSuperProperties -> cn.thinkingdata.analytics.persistence.p:
# {"id":"sourceFile","fileName":"StorageSuperProperties.java"}
    1:1:void <init>(java.util.concurrent.Future):20:20 -> <init>
    1:3:void convertEncryptData(java.lang.String):50:52 -> convertEncryptData
    1:1:org.json.JSONObject create():25:25 -> create
    1:1:java.lang.Object create():17 -> create
    1:2:void loadOldData(android.content.SharedPreferences):35:36 -> loadOldData
    3:3:org.json.JSONObject create():25:25 -> loadOldData
    3:3:void loadOldData(android.content.SharedPreferences):37 -> loadOldData
    4:9:void loadOldData(android.content.SharedPreferences):37:42 -> loadOldData
    1:1:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):17:17 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,org.json.JSONObject):30:30 -> saveOldData
    2:2:void saveOldData(android.content.SharedPreferences$Editor,java.lang.Object):17 -> saveOldData
cn.thinkingdata.analytics.tasks.TrackTaskManager -> cn.thinkingdata.analytics.tasks.b:
# {"id":"sourceFile","fileName":"TrackTaskManager.java"}
    java.util.concurrent.ExecutorService mPool -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/concurrent/ThreadPoolExecutor;"}
    cn.thinkingdata.analytics.tasks.TrackTaskManager trackTaskManager -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/tasks/b;"}
    1:2:void <init>():20:21 -> <init>
    1:8:cn.thinkingdata.analytics.tasks.TrackTaskManager getInstance():32:39 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcn/thinkingdata/analytics/tasks/b;"}
    9:11:void addTask(java.lang.Runnable):44:46 -> a
cn.thinkingdata.analytics.tasks.TrackTaskManager$1 -> cn.thinkingdata.analytics.tasks.a:
# {"id":"sourceFile","fileName":"TrackTaskManager.java"}
    1:1:void <init>(cn.thinkingdata.analytics.tasks.TrackTaskManager):23:23 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"()V"}
    1:1:java.lang.Thread newThread(java.lang.Runnable):26:26 -> newThread
cn.thinkingdata.analytics.utils.CalibratedTimeManager -> cn.thinkingdata.analytics.utils.a:
# {"id":"sourceFile","fileName":"CalibratedTimeManager.java"}
    cn.thinkingdata.analytics.TDConfig mConfig -> a
    cn.thinkingdata.analytics.utils.ICalibratedTime sCalibratedTime -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/l;"}
    java.util.concurrent.locks.ReentrantReadWriteLock sCalibratedTimeLock -> c
    1:1:void <clinit>():27:27 -> <clinit>
    1:2:void <init>(cn.thinkingdata.analytics.TDConfig):31:32 -> <init>
    1:7:cn.thinkingdata.analytics.utils.ITime getTime():56:62 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcn/thinkingdata/analytics/utils/m;"}
    8:8:cn.thinkingdata.analytics.utils.ITime getTime(java.util.Date,java.util.TimeZone):82:82 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/util/Date;Ljava/util/TimeZone;)Lcn/thinkingdata/analytics/utils/w;"}
    9:9:void cn.thinkingdata.analytics.utils.TDTime.disableZoneOffset():54:54 -> a
    9:9:cn.thinkingdata.analytics.utils.ITime getTime(java.util.Date,java.util.TimeZone):83 -> a
    10:10:cn.thinkingdata.analytics.utils.ITime getTime(java.util.Date,java.util.TimeZone):86:86 -> a
cn.thinkingdata.analytics.utils.CommonUtil -> cn.thinkingdata.analytics.utils.e:
# {"id":"sourceFile","fileName":"CommonUtil.java"}
    long firstVsync -> a
    int fps -> b
    java.lang.Object frameLock -> c
    1:1:void <clinit>():30:30 -> <clinit>
    1:3:java.lang.String getMainProcessName(android.content.Context):44:46 -> a
    4:4:java.lang.String cn.thinkingdata.analytics.data.TDContextConfig.getMainProcessName():76:76 -> a
    4:4:java.lang.String getMainProcessName(android.content.Context):47 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:7:java.lang.String getMainProcessName(android.content.Context):48:50 -> a
    8:19:org.json.JSONObject cloneJsonObject(org.json.JSONObject):117:128 -> a
    20:28:org.json.JSONArray cloneJsonArray(org.json.JSONArray):139:147 -> a
cn.thinkingdata.analytics.utils.CommonUtil$1 -> cn.thinkingdata.analytics.utils.b:
# {"id":"sourceFile","fileName":"CommonUtil.java"}
    1:1:void <init>():67:67 -> <init>
    1:17:void doFrame(long):70:86 -> doFrame
    18:18:void doFrame(long):86:86 -> doFrame
cn.thinkingdata.analytics.utils.CommonUtil$2 -> cn.thinkingdata.analytics.utils.c:
# {"id":"sourceFile","fileName":"CommonUtil.java"}
    android.view.Choreographer$FrameCallback val$secondCallBack -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/b;"}
    1:1:void <init>(android.view.Choreographer$FrameCallback):90:90 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/utils/b;)V"}
    1:4:void doFrame(long):93:96 -> doFrame
    5:5:void doFrame(long):96:96 -> doFrame
cn.thinkingdata.analytics.utils.CommonUtil$3 -> cn.thinkingdata.analytics.utils.d:
# {"id":"sourceFile","fileName":"CommonUtil.java"}
    android.os.Handler val$handler -> a
    android.view.Choreographer$FrameCallback val$firstCallBack -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/c;"}
    1:1:void <init>(android.os.Handler,android.view.Choreographer$FrameCallback):100:100 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/os/Handler;Lcn/thinkingdata/analytics/utils/c;)V"}
    1:2:void run():103:104 -> run
cn.thinkingdata.analytics.utils.CustomTimestampFormatter -> cn.thinkingdata.analytics.utils.f:
# {"id":"sourceFile","fileName":"CustomTimestampFormatter.java"}
    int[] DAYS_IN_MONTH_NORMAL -> a
    int[] DAYS_IN_MONTH_LEAP -> b
    1:2:void <clinit>():12:13 -> <clinit>
    1:8:java.lang.String formatTimestamp(long,double):22:29 -> a
    9:9:boolean isLeapYear(int):90:90 -> a
    9:9:java.lang.String formatTimestamp(long,double):34 -> a
    10:10:boolean isLeapYear(int):90:90 -> a
    10:10:java.lang.String formatTimestamp(long,double):43 -> a
    11:53:java.lang.String formatTimestamp(long,double):43:85 -> a
cn.thinkingdata.analytics.utils.DNSServiceManager -> cn.thinkingdata.analytics.utils.i:
# {"id":"sourceFile","fileName":"DNSServiceManager.java"}
    java.lang.String mHost -> a
    java.util.List dnsList -> b
    java.lang.String mIpUrl -> c
    long lastEnableTime -> d
    1:2:void <init>(java.lang.String):33:34 -> <init>
    1:4:void requestDNSUrl(int):49:52 -> a
    5:12:java.lang.String getDNSUrl(cn.thinkingdata.analytics.TDConfig$TDDNSService):94:101 -> a
    5:12:void requestDNSUrl(int):52 -> a
    13:13:java.lang.String getDNSUrl(cn.thinkingdata.analytics.TDConfig$TDDNSService):99:99 -> a
    13:13:void requestDNSUrl(int):52 -> a
    14:50:void requestDNSUrl(int):53:89 -> a
cn.thinkingdata.analytics.utils.DNSServiceManager$1 -> cn.thinkingdata.analytics.utils.g:
# {"id":"sourceFile","fileName":"DNSServiceManager.java"}
    int val$finalIndex -> a
    cn.thinkingdata.analytics.utils.DNSServiceManager this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/i;"}
    1:1:void <init>(cn.thinkingdata.analytics.utils.DNSServiceManager,int):63:63 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/utils/i;I)V"}
    1:1:void onFailure(int,java.lang.String):66:66 -> onFailure
    2:2:void cn.thinkingdata.analytics.utils.DNSServiceManager.access$000(cn.thinkingdata.analytics.utils.DNSServiceManager,int):27:27 -> onFailure
    2:2:void onFailure(int,java.lang.String):66 -> onFailure
    1:7:void onSuccess(cn.thinkingdata.core.network.TDNetResponse):72:78 -> onSuccess
    8:8:java.lang.String cn.thinkingdata.analytics.utils.DNSServiceManager.access$102(cn.thinkingdata.analytics.utils.DNSServiceManager,java.lang.String):27:27 -> onSuccess
    8:8:void onSuccess(cn.thinkingdata.core.network.TDNetResponse):78 -> onSuccess
    9:11:void onSuccess(cn.thinkingdata.core.network.TDNetResponse):83:85 -> onSuccess
    12:12:void cn.thinkingdata.analytics.utils.DNSServiceManager.access$000(cn.thinkingdata.analytics.utils.DNSServiceManager,int):27:27 -> onSuccess
    12:12:void onSuccess(cn.thinkingdata.core.network.TDNetResponse):85 -> onSuccess
cn.thinkingdata.analytics.utils.DNSServiceManager$2 -> cn.thinkingdata.analytics.utils.h:
# {"id":"sourceFile","fileName":"DNSServiceManager.java"}
    int[] $SwitchMap$cn$thinkingdata$analytics$TDConfig$TDDNSService -> a
    1:1:void <clinit>():94:94 -> <clinit>
cn.thinkingdata.analytics.utils.HttpService -> cn.thinkingdata.analytics.utils.k:
# {"id":"sourceFile","fileName":"HttpService.java"}
    1:1:void <init>():34:34 -> <init>
    1:2:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):49:50 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/TDConfig;Ljava/lang/String;Ljava/util/HashMap;)Ljava/lang/String;"}
    3:8:java.lang.String getClientUrl(cn.thinkingdata.analytics.TDConfig):177:182 -> a
    3:8:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):50 -> a
    9:9:java.lang.String cn.thinkingdata.analytics.utils.DNSServiceManager.getIPUrl():106:106 -> a
    9:9:java.lang.String getClientUrl(cn.thinkingdata.analytics.TDConfig):182 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):50 -> a
    10:10:java.lang.String getClientUrl(cn.thinkingdata.analytics.TDConfig):183:183 -> a
    10:10:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):50 -> a
    11:11:java.lang.String cn.thinkingdata.analytics.utils.DNSServiceManager.getHost():110:110 -> a
    11:11:java.lang.String getClientUrl(cn.thinkingdata.analytics.TDConfig):183 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):50 -> a
    12:15:java.lang.String getClientUrl(cn.thinkingdata.analytics.TDConfig):184:187 -> a
    12:15:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):50 -> a
    16:22:void cn.thinkingdata.analytics.utils.DNSServiceManager.enableDNSService(java.util.List):38:44 -> a
    16:22:java.lang.String getClientUrl(cn.thinkingdata.analytics.TDConfig):187 -> a
    16:22:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):50 -> a
    23:28:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):50:55 -> a
    29:29:java.lang.String cn.thinkingdata.analytics.utils.DNSServiceManager.getHost():110:110 -> a
    29:29:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):55 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    30:135:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):56:161 -> a
    136:178:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):119:161 -> a
    179:179:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):123:123 -> a
    180:258:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):85:163 -> a
    259:265:java.lang.String encodeData(java.lang.String):167:173 -> a
cn.thinkingdata.analytics.utils.HttpService$1 -> cn.thinkingdata.analytics.utils.j:
# {"id":"sourceFile","fileName":"HttpService.java"}
    java.lang.String val$host -> a
    1:1:void <init>(cn.thinkingdata.analytics.utils.HttpService,java.lang.String):57:57 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)V"}
    1:1:boolean verify(java.lang.String,javax.net.ssl.SSLSession):60:60 -> verify
cn.thinkingdata.analytics.utils.ICalibratedTime -> cn.thinkingdata.analytics.utils.l:
# {"id":"sourceFile","fileName":"ICalibratedTime.java"}
    java.util.Date get(long) -> a
    java.util.Date getSync(long) -> b
cn.thinkingdata.analytics.utils.ITime -> cn.thinkingdata.analytics.utils.m:
# {"id":"sourceFile","fileName":"ITime.java"}
    java.lang.Double getZoneOffset() -> a
    java.lang.String getTime() -> b
cn.thinkingdata.analytics.utils.PathFinder -> R8$$REMOVED$$CLASS$$2:
# {"id":"sourceFile","fileName":"PathFinder.java"}
cn.thinkingdata.analytics.utils.PropertyUtils -> cn.thinkingdata.analytics.utils.o:
# {"id":"sourceFile","fileName":"PropertyUtils.java"}
    java.util.regex.Pattern KEY_PATTERN -> a
    java.util.ArrayList DEFAULT_KEYS -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/n;"}
    1:3:void <clinit>():26:28 -> <clinit>
    1:39:boolean checkProperty(org.json.JSONObject):51:89 -> a
    40:57:byte[] cutToBytes(java.lang.String,int):106:123 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)[B"}
cn.thinkingdata.analytics.utils.PropertyUtils$1 -> cn.thinkingdata.analytics.utils.n:
# {"id":"sourceFile","fileName":"PropertyUtils.java"}
    1:4:void <init>():28:31 -> <init>
cn.thinkingdata.analytics.utils.RemoteService$ServiceUnavailableException -> cn.thinkingdata.analytics.utils.p:
# {"id":"sourceFile","fileName":"RemoteService.java"}
    1:1:void <init>(java.lang.String):26:26 -> <init>
cn.thinkingdata.analytics.utils.TDCalibratedTime -> cn.thinkingdata.analytics.utils.q:
# {"id":"sourceFile","fileName":"TDCalibratedTime.java"}
    long startTime -> a
    long mSystemElapsedRealtime -> b
    1:3:void <init>(long):17:19 -> <init>
    1:1:java.util.Date get(long):24:24 -> a
    1:1:java.util.Date getSync(long):29:29 -> b
cn.thinkingdata.analytics.utils.TDCalibratedTimeWithNTP -> cn.thinkingdata.analytics.utils.s:
# {"id":"sourceFile","fileName":"TDCalibratedTimeWithNTP.java"}
    long startTime -> a
    long mSystemElapsedRealtime -> b
    java.lang.String[] ntpServer -> c
    java.lang.Thread mThread -> d
    1:1:void <init>(java.lang.String[]):42:42 -> <init>
    2:20:void <init>(java.lang.String[]):26:44 -> <init>
    1:7:java.util.Date get(long):50:56 -> a
    1:2:java.util.Date getSync(long):61:62 -> b
cn.thinkingdata.analytics.utils.TDCalibratedTimeWithNTP$1 -> cn.thinkingdata.analytics.utils.r:
# {"id":"sourceFile","fileName":"TDCalibratedTimeWithNTP.java"}
    cn.thinkingdata.analytics.utils.TDNTPClient ntpClient -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/v;"}
    cn.thinkingdata.analytics.utils.TDCalibratedTimeWithNTP this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/s;"}
    1:2:void <init>(cn.thinkingdata.analytics.utils.TDCalibratedTimeWithNTP):26:27 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/utils/s;)V"}
    1:1:void run():30:30 -> run
    2:2:java.lang.String[] cn.thinkingdata.analytics.utils.TDCalibratedTimeWithNTP.access$000(cn.thinkingdata.analytics.utils.TDCalibratedTimeWithNTP):16:16 -> run
    2:2:void run():30 -> run
    3:4:void run():30:31 -> run
    5:27:boolean cn.thinkingdata.analytics.utils.TDNTPClient.requestTime(java.lang.String,int):39:61 -> run
    5:27:void run():31 -> run
    28:30:long cn.thinkingdata.analytics.utils.TDNTPClient.readTimeStamp(byte[],int):112:114 -> run
    28:30:boolean cn.thinkingdata.analytics.utils.TDNTPClient.requestTime(java.lang.String,int):65 -> run
    28:30:void run():31 -> run
    31:33:long cn.thinkingdata.analytics.utils.TDNTPClient.readTimeStamp(byte[],int):112:114 -> run
    31:33:boolean cn.thinkingdata.analytics.utils.TDNTPClient.requestTime(java.lang.String,int):66 -> run
    31:33:void run():31 -> run
    34:36:long cn.thinkingdata.analytics.utils.TDNTPClient.readTimeStamp(byte[],int):112:114 -> run
    34:36:boolean cn.thinkingdata.analytics.utils.TDNTPClient.requestTime(java.lang.String,int):67 -> run
    34:36:void run():31 -> run
    37:45:boolean cn.thinkingdata.analytics.utils.TDNTPClient.requestTime(java.lang.String,int):79:87 -> run
    37:45:void run():31 -> run
    46:46:void run():32:32 -> run
    47:47:long cn.thinkingdata.analytics.utils.TDNTPClient.getOffset():33:33 -> run
    47:47:void run():32 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    48:49:void run():32:33 -> run
    50:50:long cn.thinkingdata.analytics.utils.TDNTPClient.getOffset():33:33 -> run
    50:50:void run():33 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    51:51:long cn.thinkingdata.analytics.utils.TDCalibratedTimeWithNTP.access$102(cn.thinkingdata.analytics.utils.TDCalibratedTimeWithNTP,long):16:16 -> run
    51:51:void run():33 -> run
    52:52:void run():34:34 -> run
    53:53:long cn.thinkingdata.analytics.utils.TDCalibratedTimeWithNTP.access$202(cn.thinkingdata.analytics.utils.TDCalibratedTimeWithNTP,long):16:16 -> run
    53:53:void run():34 -> run
    54:54:void run():35:35 -> run
    55:57:boolean cn.thinkingdata.analytics.utils.TDNTPClient.requestTime(java.lang.String,int):87:89 -> run
    55:57:void run():31 -> run
    58:58:boolean cn.thinkingdata.analytics.utils.TDNTPClient.requestTime(java.lang.String,int):87:87 -> run
    58:58:void run():31 -> run
cn.thinkingdata.analytics.utils.TDConstants$DataType -> cn.thinkingdata.analytics.utils.t:
# {"id":"sourceFile","fileName":"TDConstants.java"}
    java.lang.String type -> a
    cn.thinkingdata.analytics.utils.TDConstants$DataType TRACK -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType TRACK_UPDATE -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType TRACK_OVERWRITE -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType USER_ADD -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType USER_SET -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType USER_SET_ONCE -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType USER_UNSET -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType USER_APPEND -> i
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType USER_DEL -> j
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType USER_UNIQ_APPEND -> k
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    java.util.Map lookup -> l
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/HashMap;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType[] $VALUES -> m
      # {"id":"com.android.tools.r8.residualsignature","signature":"[Lcn/thinkingdata/analytics/utils/t;"}
    1:10:void <clinit>():19:28 -> <clinit>
    11:11:cn.thinkingdata.analytics.utils.TDConstants$DataType[] $values():18:18 -> <clinit>
    11:11:void <clinit>():18 -> <clinit>
    12:46:void <clinit>():18:52 -> <clinit>
    47:47:java.lang.String getType():37:37 -> <clinit>
    47:47:void <clinit>():52 -> <clinit>
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    48:48:void <clinit>():52:52 -> <clinit>
    1:2:void <init>(java.lang.String,int,java.lang.String):32:33 -> <init>
    1:1:cn.thinkingdata.analytics.utils.TDConstants$DataType valueOf(java.lang.String):18:18 -> valueOf
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)Lcn/thinkingdata/analytics/utils/t;"}
    1:1:cn.thinkingdata.analytics.utils.TDConstants$DataType[] values():18:18 -> values
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcn/thinkingdata/analytics/utils/t;"}
cn.thinkingdata.analytics.utils.TDDebugException -> cn.thinkingdata.analytics.utils.u:
# {"id":"sourceFile","fileName":"TDDebugException.java"}
    1:1:void <init>(java.lang.String):12:12 -> <init>
cn.thinkingdata.analytics.utils.TDNTPClient -> cn.thinkingdata.analytics.utils.v:
# {"id":"sourceFile","fileName":"TDNTPClient.java"}
    long mOffSet -> a
    1:1:void <init>():14:14 -> <init>
    1:4:long read32(byte[],int):96:99 -> a
    5:21:void writeTimeStamp(byte[],int,long):119:135 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"([BJ)V"}
cn.thinkingdata.analytics.utils.TDTime -> cn.thinkingdata.analytics.utils.w:
# {"id":"sourceFile","fileName":"TDTime.java"}
    java.util.TimeZone mTimeZone -> a
    java.util.Date mDate -> b
    boolean enableZoneOffset -> c
    1:1:void <init>(java.util.Date,java.util.TimeZone):26:26 -> <init>
    2:8:void <init>(java.util.Date,java.util.TimeZone):22:28 -> <init>
    1:2:java.lang.Double getZoneOffset():63:64 -> a
    3:4:double cn.thinkingdata.analytics.utils.TDUtils.getTimezoneOffset(long,java.util.TimeZone):679:680 -> a
    3:4:java.lang.Double getZoneOffset():64 -> a
    5:5:java.lang.Double getZoneOffset():64:64 -> a
    1:12:java.lang.String getTime():38:49 -> b
cn.thinkingdata.analytics.utils.TDTimeCalibrated -> cn.thinkingdata.analytics.utils.x:
# {"id":"sourceFile","fileName":"TDTimeCalibrated.java"}
    long mSystemElapsedRealtime -> a
    java.util.TimeZone mTimeZone -> b
    cn.thinkingdata.analytics.utils.ICalibratedTime mCalibratedTime -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/l;"}
    java.util.Date mDate -> d
    1:4:void <init>(cn.thinkingdata.analytics.utils.ICalibratedTime,java.util.TimeZone):31:34 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/utils/l;Ljava/util/TimeZone;)V"}
    1:1:java.lang.Double getZoneOffset():69:69 -> a
    2:5:java.util.Date getDate():38:41 -> a
    2:5:java.lang.Double getZoneOffset():69 -> a
    6:6:java.lang.Double getZoneOffset():69:69 -> a
    7:8:double cn.thinkingdata.analytics.utils.TDUtils.getTimezoneOffset(long,java.util.TimeZone):679:680 -> a
    7:8:java.lang.Double getZoneOffset():69 -> a
    9:9:java.lang.Double getZoneOffset():69:69 -> a
    1:3:java.lang.String getTime():54:56 -> b
    4:7:java.util.Date getDate():38:41 -> b
    4:7:java.lang.String getTime():56 -> b
    8:15:java.lang.String getTime():56:63 -> b
    1:4:java.util.Date getDate():38:41 -> c
cn.thinkingdata.analytics.utils.TDTimeConstant -> cn.thinkingdata.analytics.utils.y:
# {"id":"sourceFile","fileName":"TDTimeConstant.java"}
    java.lang.String mTimeString -> a
    java.lang.Double mZoneOffset -> b
    1:3:void <init>(java.lang.String,java.lang.Double):11:13 -> <init>
    1:1:java.lang.Double getZoneOffset():23:23 -> a
    1:1:java.lang.String getTime():18:18 -> b
cn.thinkingdata.analytics.utils.TDUtils -> cn.thinkingdata.analytics.utils.z:
# {"id":"sourceFile","fileName":"TDUtils.java"}
    1:5:int getChildIndex(android.view.ViewParent,android.view.View):72:76 -> a
    6:6:java.lang.String getViewId(android.view.View):339:339 -> a
    6:6:int getChildIndex(android.view.ViewParent,android.view.View):77 -> a
    7:10:int getChildIndex(android.view.ViewParent,android.view.View):79:82 -> a
    11:13:boolean cn.thinkingdata.analytics.utils.PathFinder.hasClassName(java.lang.Object,java.lang.String):219:221 -> a
    11:13:int getChildIndex(android.view.ViewParent,android.view.View):84 -> a
    14:14:java.lang.String getViewId(android.view.View):339:339 -> a
    14:14:int getChildIndex(android.view.ViewParent,android.view.View):88 -> a
    15:15:int getChildIndex(android.view.ViewParent,android.view.View):90:90 -> a
    16:20:boolean cn.thinkingdata.analytics.utils.PathFinder.hasClassName(java.lang.Object,java.lang.String):225:229 -> a
    16:20:int getChildIndex(android.view.ViewParent,android.view.View):84 -> a
    21:21:int getChildIndex(android.view.ViewParent,android.view.View):104:104 -> a
    22:45:void addViewPathProperties(android.app.Activity,android.view.View,org.json.JSONObject):127:150 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/view/View;Lorg/json/JSONObject;)V"}
    46:124:java.lang.String traverseView(java.lang.StringBuilder,android.view.ViewGroup):164:242 -> a
    125:145:java.lang.String getTitleFromFragment(java.lang.Object,java.lang.String):288:308 -> a
    146:158:android.app.Activity getActivityFromContext(android.content.Context):321:333 -> a
    159:162:java.lang.String getViewId(android.view.View,java.lang.String):353:356 -> a
    163:179:java.lang.String getActivityTitle(android.app.Activity):376:392 -> a
    180:186:void setTag(java.lang.String,android.view.View,int,java.lang.Object):422:428 -> a
    187:191:java.lang.Object getTag(java.lang.String,android.view.View,int):440:444 -> a
    192:216:void getScreenNameAndTitleFromActivity(org.json.JSONObject,android.app.Activity):460:484 -> a
    217:237:void mergeJSONObject(org.json.JSONObject,org.json.JSONObject,java.util.TimeZone):545:565 -> a
    238:259:org.json.JSONArray formatJSONArray(org.json.JSONArray,java.util.TimeZone):606:627 -> a
    260:286:org.json.JSONObject formatJSONObject(org.json.JSONObject,java.util.TimeZone):643:669 -> a
    287:299:java.lang.String formatTime(java.util.Date,java.util.TimeZone):814:826 -> a
    300:300:java.lang.String formatTime(java.util.Date,java.util.TimeZone):819:819 -> a
    1:20:void getFragmentNameFromView(android.view.View,org.json.JSONObject):255:274 -> b
    21:48:java.lang.String getToolbarTitle(android.app.Activity):496:523 -> b
    49:55:android.util.Pair getInstallInfo(android.content.Context):833:839 -> b
    1:13:boolean isForeground(android.content.Context):742:754 -> c
cn.thinkingdata.analytics.utils.broadcast.TDReceiver -> cn.thinkingdata.analytics.utils.broadcast.TDReceiver:
# {"id":"sourceFile","fileName":"TDReceiver.java"}
    cn.thinkingdata.analytics.utils.broadcast.TDReceiver receiver -> a
    1:1:void <init>():30:30 -> <init>
    1:8:cn.thinkingdata.analytics.utils.broadcast.TDReceiver getInstance():39:46 -> a
    9:20:void registerReceiver(android.content.Context):56:67 -> a
    1:143:void onReceive(android.content.Context,android.content.Intent):77:219 -> onReceive
    144:158:void onReceive(android.content.Context,android.content.Intent) -> onReceive
    159:159:void onReceive(android.content.Context,android.content.Intent):153:153 -> onReceive
    160:161:void onReceive(android.content.Context,android.content.Intent):148:149 -> onReceive
    162:170:void onReceive(android.content.Context,android.content.Intent):132:140 -> onReceive
    171:183:void onReceive(android.content.Context,android.content.Intent):115:127 -> onReceive
    184:184:cn.thinkingdata.analytics.utils.TDConstants$DataType cn.thinkingdata.analytics.utils.TDConstants$DataType.get(java.lang.String):58:58 -> onReceive
    184:184:void onReceive(android.content.Context,android.content.Intent):128 -> onReceive
    185:267:void onReceive(android.content.Context,android.content.Intent):128:210 -> onReceive
    268:300:void onReceive(android.content.Context,android.content.Intent):164:196 -> onReceive
    301:322:void onReceive(android.content.Context,android.content.Intent):88:109 -> onReceive
cn.thinkingdata.analytics.utils.plugin.TDPluginMessage -> cn.thinkingdata.analytics.utils.plugin.a:
# {"id":"sourceFile","fileName":"TDPluginMessage.java"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType type -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    java.lang.String eventName -> b
    org.json.JSONObject properties -> c
    java.lang.String appId -> d
    int from -> e
    int trackDebugType -> f
    1:11:void <init>():17:27 -> <init>
cn.thinkingdata.analytics.utils.plugin.TDPluginUtils -> cn.thinkingdata.analytics.utils.plugin.c:
# {"id":"sourceFile","fileName":"TDPluginUtils.java"}
    java.util.List tdMsgList -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/ArrayList;"}
    1:1:void <clinit>():23:23 -> <clinit>
    1:18:void handleEvent(cn.thinkingdata.analytics.utils.plugin.TDPluginMessage,cn.thinkingdata.analytics.ThinkingAnalyticsSDK):39:56 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/utils/plugin/a;Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;)V"}
cn.thinkingdata.analytics.utils.plugin.TDPluginUtils$1 -> cn.thinkingdata.analytics.utils.plugin.b:
# {"id":"sourceFile","fileName":"TDPluginUtils.java"}
    cn.thinkingdata.analytics.utils.plugin.TDPluginMessage val$msg -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/plugin/a;"}
    1:1:void <init>(cn.thinkingdata.analytics.utils.plugin.TDPluginMessage):27:27 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/utils/plugin/a;)V"}
    1:1:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):30:30 -> a
    2:2:void cn.thinkingdata.analytics.utils.plugin.TDPluginUtils.access$000(cn.thinkingdata.analytics.utils.plugin.TDPluginMessage,cn.thinkingdata.analytics.ThinkingAnalyticsSDK):21:21 -> a
    2:2:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):30 -> a
    3:3:void process(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):31:31 -> a
cn.thinkingdata.module.routes.AnalyticModuleRouter -> cn.thinkingdata.module.routes.AnalyticModuleRouter:
# {"id":"sourceFile","fileName":"AnalyticModuleRouter.java"}
    1:1:void <init>():7:7 -> <init>
    1:3:java.util.Map getRouterMap():9:11 -> getRouterMap
