# compiler: R8
# compiler_version: 8.10.24
# common_typos_disable
# {"id":"com.android.tools.r8.mapping","version":"2.2"}
# pg_map_id: 9cbcdb8
# pg_map_hash: SHA-256 9cbcdb8c6473f0b09a9bc0e79eaaefe76128478bd0ea12c3105412aa0122bb1a
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):1589:1599 -> <init>
    12:12:void <init>(cn.thinkingdata.analytics.TDConfig):1592:1592 -> <init>
    1:2:void clearSuperProperties():1694:1695 -> 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():1644:1649 -> getDistinctId
    1:3:java.lang.String getLoginId():1626:1628 -> getLoginId
    1:3:org.json.JSONObject getSuperProperties():1712:1714 -> getSuperProperties
    1:1:boolean cn.thinkingdata.analytics.utils.CommonUtil.isEmpty(java.lang.String):113:113 -> identify
    1:1:void identify(java.lang.String):1633 -> identify
    2:4:void identify(java.lang.String):1637:1639 -> identify
    5:5:void identify(java.lang.String):1639:1639 -> identify
    6:6:void identify(java.lang.String):1634:1634 -> identify
    1:4:void login(java.lang.String):1610:1613 -> login
    5:5:void login(java.lang.String):1613:1613 -> login
    1:4:void logout():1618:1621 -> logout
    5:5:void logout():1621:1621 -> logout
    1:2:void setSuperProperties(org.json.JSONObject):1654:1655 -> setSuperProperties
    1:4:void setTrackStatus(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus):1719:1722 -> setTrackStatus
    5:5:void setTrackStatus(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus):1721:1721 -> 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):1674:1675 -> 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):1599:1599 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/h;)V"}
    1:2:void run():1602:1603 -> 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):1655:1655 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/h;Lorg/json/JSONObject;)V"}
    1:4:void run():1659:1662 -> run
    5:5:org.json.JSONObject cn.thinkingdata.analytics.LightThinkingAnalyticsSDK.access$000(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK):1585:1585 -> run
    5:5:void run():1662 -> run
    6:7:void run():1662:1663 -> run
    8:8:org.json.JSONObject cn.thinkingdata.analytics.LightThinkingAnalyticsSDK.access$000(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK):1585:1585 -> run
    8:8:void run():1663 -> run
    9:10:void run():1663:1664 -> run
    11:13:void run():1664:1666 -> 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):1675:1675 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/h;Ljava/lang/String;)V"}
    1:4:void run():1679:1682 -> run
    5:5:org.json.JSONObject cn.thinkingdata.analytics.LightThinkingAnalyticsSDK.access$000(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK):1585:1585 -> run
    5:5:void run():1682 -> run
    6:7:void run():1682:1683 -> run
    8:8:org.json.JSONObject cn.thinkingdata.analytics.LightThinkingAnalyticsSDK.access$000(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK):1585:1585 -> run
    8:8:void run():1683 -> run
    9:10:void run():1683:1684 -> run
    11:13:void run():1684:1686 -> 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):1695:1695 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/h;)V"}
    1:1:void run():1698:1698 -> run
    2:2:org.json.JSONObject cn.thinkingdata.analytics.LightThinkingAnalyticsSDK.access$000(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK):1585:1585 -> run
    2:2:void run():1698 -> run
    3:4:void run():1698:1699 -> run
    5:5:org.json.JSONObject cn.thinkingdata.analytics.LightThinkingAnalyticsSDK.access$000(cn.thinkingdata.analytics.LightThinkingAnalyticsSDK):1585:1585 -> run
    5:5:void run():1699 -> run
    6:11:void run():1699:1704 -> run
    12:12:void run():1704:1704 -> 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):1722:1722 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/h;Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK$TATrackStatus;)V"}
    1:11:void run():1725:1735 -> run
    12:12:void run():1731:1731 -> run
    13:13:void run():1728:1728 -> 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>():1725:1725 -> <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):1888:1890 -> <init>
    4:7:java.lang.String cn.thinkingdata.analytics.utils.TDUtils.getCurrentProcessName(android.content.Context):711:714 -> <init>
    4:7:void <init>(cn.thinkingdata.analytics.TDConfig):1891 -> <init>
    8:8:void <init>(cn.thinkingdata.analytics.TDConfig):1891:1891 -> <init>
    1:8:org.json.JSONObject obtainProperties(java.lang.String,org.json.JSONObject):2031:2038 -> a
    9:10:double getEventDuration(java.lang.String,long):2190:2191 -> a
    9:10:org.json.JSONObject obtainProperties(java.lang.String,org.json.JSONObject):2040 -> a
    11:12:java.lang.String cn.thinkingdata.analytics.data.EventTimer.duration(long):24:25 -> a
    11:12:double getEventDuration(java.lang.String,long):2194 -> a
    11:12:org.json.JSONObject obtainProperties(java.lang.String,org.json.JSONObject):2040 -> a
    13:13:double getEventDuration(java.lang.String,long):2194:2194 -> a
    13:13:org.json.JSONObject obtainProperties(java.lang.String,org.json.JSONObject):2040 -> a
    14:33:org.json.JSONObject obtainProperties(java.lang.String,org.json.JSONObject):2041:2060 -> a
    34:42:android.content.Intent getIntent():2136:2144 -> a
    1:16:void autoTrack(java.lang.String,org.json.JSONObject):2010:2025 -> autoTrack
    1:4:void clearSuperProperties():2180:2183 -> clearSuperProperties
    1:4:void flush():1950:1953 -> flush
    1:1:boolean cn.thinkingdata.analytics.utils.CommonUtil.isEmpty(java.lang.String):113:113 -> identify
    1:1:void identify(java.lang.String):1929 -> identify
    2:13:void identify(java.lang.String):1933:1944 -> identify
    14:14:void identify(java.lang.String):1935:1935 -> identify
    15:15:void identify(java.lang.String):1930:1930 -> identify
    1:1:boolean cn.thinkingdata.analytics.utils.CommonUtil.isEmpty(java.lang.String):113:113 -> login
    1:1:void login(java.lang.String):1896 -> login
    2:13:void login(java.lang.String):1900:1911 -> login
    14:14:void login(java.lang.String):1902:1902 -> login
    15:15:void login(java.lang.String):1897:1897 -> login
    1:7:void logout():1917:1923 -> logout
    8:8:void logout():1919:1919 -> logout
    1:4:void setAutoTrackProperties(java.util.List,org.json.JSONObject):1981:1984 -> setAutoTrackProperties
    1:13:void setSuperProperties(org.json.JSONObject):2150:2162 -> setSuperProperties
    1:28:void track(cn.thinkingdata.analytics.ThinkingAnalyticsEvent):2067:2094 -> track
    29:29:void track(java.lang.String):2101:2101 -> track
    30:30:void track(java.lang.String,org.json.JSONObject):2106:2106 -> track
    31:31:void track(java.lang.String,org.json.JSONObject,java.util.Date):2111:2111 -> track
    32:47:void track(java.lang.String,org.json.JSONObject,java.util.Date,java.util.TimeZone):2116:2131 -> track
    1:7:void unsetSuperProperty(java.lang.String):2168:2174 -> unsetSuperProperty
    1:3:void user_operations(cn.thinkingdata.analytics.utils.TDConstants$DataType,org.json.JSONObject,java.util.Date):1959:1961 -> user_operations
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/utils/u;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):1961 -> 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):1961:1975 -> 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):1984:1984 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/j;Lorg/json/JSONObject;Ljava/util/List;)V"}
    1:11:void run():1988:1998 -> run
    12:23:void cn.thinkingdata.analytics.utils.TDUtils.mergeNestedJSONObject(org.json.JSONObject,org.json.JSONObject,java.util.TimeZone):583:594 -> run
    12:23:void run():1998 -> run
    24:25:void run():1999:1999 -> run
    27:27:void run():2001:2001 -> 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 -> onSDKErrorCallback
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 -> onSDKErrorCallback
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/j;"}
    1:1:void <clinit>():51:51 -> <clinit>
    1:1:void <init>(android.content.Context,java.lang.String,java.net.URL):88:88 -> <init>
    2:52:void <init>(android.content.Context,java.lang.String,java.net.URL):50:100 -> <init>
    1:1:cn.thinkingdata.analytics.persistence.ConfigStoragePlugin access$000(cn.thinkingdata.analytics.TDConfig):46:46 -> 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):46:46 -> 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):46:46 -> access$100
    1:1:java.util.List access$202(cn.thinkingdata.analytics.TDConfig,java.util.List):46:46 -> access$202
    1:1:java.lang.String access$300(cn.thinkingdata.analytics.TDConfig):46:46 -> access$300
    1:1:cn.thinkingdata.analytics.encrypt.TDSecreteKey access$402(cn.thinkingdata.analytics.TDConfig,cn.thinkingdata.analytics.encrypt.TDSecreteKey):46:46 -> access$402
    1:1:java.util.concurrent.locks.ReadWriteLock access$500(cn.thinkingdata.analytics.TDConfig):46:46 -> access$500
    1:1:java.util.Set access$600(cn.thinkingdata.analytics.TDConfig):46:46 -> access$600
    1:1:cn.thinkingdata.analytics.TDConfig enableAutoPush():432:432 -> enableAutoPush
    1:1:cn.thinkingdata.analytics.TDConfig enableDNSService(java.util.List):421:421 -> enableDNSService
    1:1:cn.thinkingdata.analytics.TDConfig enableEncrypt(boolean):396:396 -> enableEncrypt
    2:8:cn.thinkingdata.analytics.TDConfig enableEncrypt(int,java.lang.String):409:415 -> enableEncrypt
    1:1:java.util.List getAllServerUrlList():321:321 -> getAllServerUrlList
    1:4:java.lang.String getCurrentServerUrl():271:274 -> getCurrentServerUrl
    5:5:java.lang.String getCurrentServerUrl():272:272 -> getCurrentServerUrl
    1:1:java.lang.String getDebugUrl():325:325 -> getDebugUrl
    1:4:java.util.TimeZone getDefaultTimeZone():385:388 -> getDefaultTimeZone
    1:4:int getFlushBulkSize():348:351 -> getFlushBulkSize
    1:4:int getFlushInterval():341:344 -> getFlushInterval
    1:1:cn.thinkingdata.analytics.TDConfig getInstance(android.content.Context,java.lang.String):116:116 -> getInstance
    2:2:cn.thinkingdata.analytics.TDConfig getInstance(android.content.Context,java.lang.String,java.lang.String):131:131 -> getInstance
    3:26:cn.thinkingdata.analytics.TDConfig getInstance(android.content.Context,java.lang.String,java.lang.String,java.lang.String):144:167 -> getInstance
    1:1:cn.thinkingdata.analytics.TDConfig$ModeEnum getMode():253:253 -> getMode
    1:1:java.lang.String getName():175:175 -> getName
    1:110:void getRemoteConfig():451:560 -> getRemoteConfig
    1:1:javax.net.ssl.SSLSocketFactory getSSLSocketFactory():447:447 -> getSSLSocketFactory
    1:1:cn.thinkingdata.analytics.encrypt.TDSecreteKey getSecreteKey():392:392 -> getSecreteKey
    1:1:java.lang.String getServerUrl():261:261 -> getServerUrl
    1:7:void initAllServerUrls(java.util.List):284:290 -> initAllServerUrls
    8:18:void initAllServerUrls(java.util.List):290:300 -> initAllServerUrls
    1:1:boolean isDebug():329:329 -> isDebug
    1:1:boolean isDebugOnly():333:333 -> isDebugOnly
    1:5:boolean isDisabledEvent(java.lang.String):185:189 -> isDisabledEvent
    6:7:boolean isDisabledEvent(java.lang.String):189:190 -> isDisabledEvent
    1:1:boolean isEnableMutiprocess():211:211 -> isEnableMutiprocess
    1:1:boolean isNormal():337:337 -> isNormal
    1:11:int cn.thinkingdata.analytics.utils.TDUtils.convertToNetworkType(java.lang.String):776:786 -> isShouldFlush
    1:11:boolean isShouldFlush(java.lang.String):257 -> isShouldFlush
    12:12:boolean isShouldFlush(java.lang.String):257:257 -> isShouldFlush
    1:1:cn.thinkingdata.analytics.TDConfig setDefaultTimeZone(java.util.TimeZone):380:380 -> setDefaultTimeZone
    1:1:cn.thinkingdata.analytics.TDConfig setMode(cn.thinkingdata.analytics.TDConfig$ModeEnum):222:222 -> setMode
    2:7:cn.thinkingdata.analytics.TDConfig setMode(cn.thinkingdata.analytics.TDConfig$TDMode):233:238 -> setMode
    8:14:cn.thinkingdata.analytics.TDConfig setMode(cn.thinkingdata.analytics.TDConfig$TDMode):235:241 -> setMode
    1:1:cn.thinkingdata.analytics.TDConfig setMutiprocess(boolean):201:201 -> setMutiprocess
    1:1:void setName(java.lang.String):171:171 -> setName
    1:7:void setNetworkType(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType):356:362 -> setNetworkType
    8:8:void setNetworkType(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType):358:358 -> setNetworkType
    1:3:cn.thinkingdata.analytics.TDConfig setSSLSocketFactory(javax.net.ssl.SSLSocketFactory):438:440 -> setSSLSocketFactory
    1:3:cn.thinkingdata.analytics.TDConfig setSecretKey(cn.thinkingdata.analytics.encrypt.TDSecreteKey):401:403 -> setSecretKey
    1:1:cn.thinkingdata.analytics.TDConfig setTrackOldData(boolean):371:371 -> setTrackOldData
    1:3:void switchToNextUrl():309:311 -> switchToNextUrl
    1:1:boolean trackOldData():376:376 -> trackOldData
cn.thinkingdata.analytics.TDConfig$1 -> cn.thinkingdata.analytics.r:
# {"id":"sourceFile","fileName":"TDConfig.java"}
    java.lang.String val$token -> a
    cn.thinkingdata.analytics.TDConfig this$0 -> b
    1:1:void <init>(cn.thinkingdata.analytics.TDConfig,java.lang.String):100:100 -> <init>
    1:4:void run():103:106 -> 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):421:421 -> <init>
    1:2:void run():424:425 -> 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):451:451 -> <init>
    1:50:void run():454:503 -> run
    51:51:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.calibrateTime(long):106:106 -> run
    51:51:void run():503 -> 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():503 -> run
    58:58:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.calibrateTime(long):107:107 -> run
    58:58:void run():503 -> run
    59:59:void run():507:507 -> run
    60:66:java.lang.String cn.thinkingdata.analytics.utils.TDUtils.getSuffix(java.lang.String,int):693:699 -> run
    60:66:void run():507 -> run
    67:68:void run():507:508 -> run
    69:80:void run():507:518 -> run
    81:119:void run():518:556 -> run
    120:126:void run():546:552 -> run
    127:135:void run():544:552 -> run
    136:146:void run():542:552 -> run
    147:155:void run():550:558 -> 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>():356:356 -> <clinit>
cn.thinkingdata.analytics.TDConfig$ModeEnum -> cn.thinkingdata.analytics.TDConfig$ModeEnum:
# {"id":"sourceFile","fileName":"TDConfig.java"}
    1:1:cn.thinkingdata.analytics.TDConfig$ModeEnum[] $values():567:567 -> $values
    1:9:void <clinit>():571:579 -> <clinit>
    10:10:void <clinit>():567:567 -> <clinit>
    1:1:void <init>(java.lang.String,int):567:567 -> <init>
    1:1:cn.thinkingdata.analytics.TDConfig$ModeEnum valueOf(java.lang.String):567:567 -> valueOf
    1:1:cn.thinkingdata.analytics.TDConfig$ModeEnum[] values():567:567 -> values
cn.thinkingdata.analytics.TDConfig$NetworkType -> cn.thinkingdata.analytics.TDConfig$NetworkType:
# {"id":"sourceFile","fileName":"TDConfig.java"}
    1:1:void <init>(cn.thinkingdata.analytics.TDConfig):606:606 -> <init>
cn.thinkingdata.analytics.TDConfig$TDDNSService -> cn.thinkingdata.analytics.TDConfig$TDDNSService:
# {"id":"sourceFile","fileName":"TDConfig.java"}
    1:1:cn.thinkingdata.analytics.TDConfig$TDDNSService[] $values():600:600 -> $values
    1:3:void <clinit>():601:603 -> <clinit>
    4:4:void <clinit>():600:600 -> <clinit>
    1:1:void <init>(java.lang.String,int):600:600 -> <init>
    1:1:cn.thinkingdata.analytics.TDConfig$TDDNSService valueOf(java.lang.String):600:600 -> valueOf
    1:1:cn.thinkingdata.analytics.TDConfig$TDDNSService[] values():600:600 -> values
cn.thinkingdata.analytics.TDConfig$TDMode -> cn.thinkingdata.analytics.TDConfig$TDMode:
# {"id":"sourceFile","fileName":"TDConfig.java"}
    1:1:cn.thinkingdata.analytics.TDConfig$TDMode[] $values():585:585 -> $values
    1:9:void <clinit>():589:597 -> <clinit>
    10:10:void <clinit>():585:585 -> <clinit>
    1:1:void <init>(java.lang.String,int):585:585 -> <init>
    1:1:cn.thinkingdata.analytics.TDConfig$TDMode valueOf(java.lang.String):585:585 -> valueOf
    1:1:cn.thinkingdata.analytics.TDConfig$TDMode[] values():585:585 -> 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/u;"}
    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/u;"}
    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/u;"}
    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/u;"}
    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/z;"}
    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/u;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/z;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/u;"}
    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/l;"}
    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/O;"}
    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>():73:74 -> <clinit>
    1:1:void <init>():177:177 -> <init>
    2:34:void <init>():75:107 -> <init>
    35:35:void <init>(cn.thinkingdata.analytics.TDConfig):181:181 -> <init>
    36:149:void <init>(cn.thinkingdata.analytics.TDConfig):75:188 -> <init>
    150:191:void cn.thinkingdata.analytics.utils.CommonUtil.listenFPS():67:108 -> <init>
    150:191:void <init>(cn.thinkingdata.analytics.TDConfig):190 -> <init>
    192:203:void <init>(cn.thinkingdata.analytics.TDConfig) -> <init>
    204:206:boolean cn.thinkingdata.analytics.utils.CommonUtil.isMainProcess(android.content.Context):37:39 -> <init>
    204:206:void <init>(cn.thinkingdata.analytics.TDConfig):203 -> <init>
    207:210:void <init>(cn.thinkingdata.analytics.TDConfig):204:207 -> <init>
    211:211:void <init>(cn.thinkingdata.analytics.TDConfig):184:184 -> <init>
    1:1:cn.thinkingdata.analytics.persistence.CommonStorageManager access$000(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):70:70 -> 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):70:70 -> access$100
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventListener access$200(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):70:70 -> access$200
    1:1:boolean access$300():70:70 -> access$300
    1:1:boolean access$302(boolean):70:70 -> access$302
    1:1:boolean access$400(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):70:70 -> access$400
    1:1:boolean access$402(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,boolean):70:70 -> access$402
    1:1:void access$500(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,java.lang.String,org.json.JSONObject,cn.thinkingdata.analytics.utils.ITime):70:70 -> access$500
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;Ljava/lang/String;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/n;)V"}
    1:7:void allInstances(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$InstanceProcessor):1421:1427 -> allInstances
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/N;)V"}
    8:8:void allInstances(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$InstanceProcessor):1427:1427 -> allInstances
    1:5:void appBecomeActive():1238:1242 -> appBecomeActive
    6:6:long cn.thinkingdata.analytics.data.EventTimer.getBackgroundDuration():84:84 -> appBecomeActive
    6:6:void appBecomeActive():1244 -> appBecomeActive
    7:7:void appBecomeActive():1244:1244 -> appBecomeActive
    8:8:long cn.thinkingdata.analytics.data.EventTimer.getStartTime():64:64 -> appBecomeActive
    8:8:void appBecomeActive():1244 -> appBecomeActive
    9:9:void appBecomeActive():1245:1245 -> appBecomeActive
    10:10:void cn.thinkingdata.analytics.data.EventTimer.setStartTime(long):72:72 -> appBecomeActive
    10:10:void appBecomeActive():1245 -> appBecomeActive
    11:11:void cn.thinkingdata.analytics.data.EventTimer.setBackgroundDuration(long):80:80 -> appBecomeActive
    11:11:void appBecomeActive():1246 -> appBecomeActive
    12:12:void appBecomeActive():1251:1251 -> appBecomeActive
    1:8:void appEnterBackground():1216:1223 -> appEnterBackground
    9:9:long cn.thinkingdata.analytics.data.EventTimer.getEventAccumulatedDuration():68:68 -> appEnterBackground
    9:9:void appEnterBackground():1225 -> appEnterBackground
    10:10:void appEnterBackground():1225:1225 -> appEnterBackground
    11:11:long cn.thinkingdata.analytics.data.EventTimer.getStartTime():64:64 -> appEnterBackground
    11:11:void appEnterBackground():1225 -> appEnterBackground
    12:12:void cn.thinkingdata.analytics.data.EventTimer.setEventAccumulatedDuration(long):76:76 -> appEnterBackground
    12:12:void appEnterBackground():1226 -> appEnterBackground
    13:13:void appEnterBackground():1227:1227 -> appEnterBackground
    14:14:void cn.thinkingdata.analytics.data.EventTimer.setStartTime(long):72:72 -> appEnterBackground
    14:14:void appEnterBackground():1227 -> appEnterBackground
    15:15:void appEnterBackground():1232:1232 -> appEnterBackground
    1:1:void autoTrack(java.lang.String,org.json.JSONObject):368:368 -> autoTrack
    2:2:void autoTrack(java.lang.String,org.json.JSONObject,cn.thinkingdata.analytics.utils.ITime):372:372 -> autoTrack
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/n;)V"}
    1:2:void calibrateTime(long):169:170 -> calibrateTime
    3:3:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.calibrateTime(long):106:106 -> calibrateTime
    3:3:void calibrateTime(long):170 -> 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):170 -> calibrateTime
    10:10:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.calibrateTime(long):107:107 -> calibrateTime
    10:10:void calibrateTime(long):170 -> calibrateTime
    1:1:void calibrateTimeWithNtp(java.lang.String[]):174:174 -> calibrateTimeWithNtp
    2:2:void cn.thinkingdata.analytics.utils.CalibratedTimeManager.calibrateTimeWithNtp(java.lang.String[]):119:119 -> calibrateTimeWithNtp
    2:2:void calibrateTimeWithNtp(java.lang.String[]):174 -> 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[]):174 -> calibrateTimeWithNtp
    1:2:void clearSuperProperties():751:752 -> clearSuperProperties
    1:1:cn.thinkingdata.analytics.IThinkingAnalyticsAPI createLightInstance():70:70 -> createLightInstance
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcn/thinkingdata/analytics/a;"}
    2:2:cn.thinkingdata.analytics.ThinkingAnalyticsSDK createLightInstance():1541:1541 -> createLightInstance
    1:2:void enableAutoTrack(java.util.List,org.json.JSONObject):1262:1263 -> enableAutoTrack
    3:4:void enableAutoTrack(java.util.List,cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventListener):1267:1268 -> enableAutoTrack
    5:49:void enableAutoTrack(java.util.List):1273:1317 -> enableAutoTrack
    50:58:void cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.trackAppStartDelay():107:115 -> enableAutoTrack
    50:58:void enableAutoTrack(java.util.List):1317 -> enableAutoTrack
    1:6:void enableThirdPartySharing(int):1562:1567 -> enableThirdPartySharing
    7:13:void enableThirdPartySharing(int,java.lang.Object):1571:1577 -> enableThirdPartySharing
    1:4:void flush():679:682 -> flush
    1:1:java.lang.String getCurrentTime():1553:1553 -> getCurrentTime
    1:1:java.lang.Double getCurrentZoneOffset():1557:1557 -> getCurrentZoneOffset
    1:1:java.lang.String getDeviceId():338:338 -> getDeviceId
    2:2:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getDeviceId():147:147 -> getDeviceId
    2:2:java.lang.String getDeviceId():338 -> 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():338 -> getDeviceId
    1:9:java.lang.String getDistinctId():321:329 -> getDistinctId
    1:4:java.util.List getIgnoredViewTypeList():1350:1353 -> getIgnoredViewTypeList
    1:12:cn.thinkingdata.analytics.ThinkingAnalyticsSDK getInstanceByAppId(java.lang.String):1431:1442 -> getInstanceByAppId
    13:13:cn.thinkingdata.analytics.ThinkingAnalyticsSDK getInstanceByAppId(java.lang.String):1442:1442 -> getInstanceByAppId
    1:6:java.lang.String getLoginId():290:295 -> getLoginId
    1:1:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():697:697 -> getPresetProperties
    2:2:org.json.JSONObject cn.thinkingdata.analytics.data.SystemInformation.currentPresetProperties():210:210 -> getPresetProperties
    2:2:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():697 -> 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():697 -> getPresetProperties
    8:8:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():698:698 -> getPresetProperties
    9:9:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getCurrentNetworkType():205:205 -> getPresetProperties
    9:9:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():698 -> 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():698 -> getPresetProperties
    11:11:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():699:699 -> getPresetProperties
    12:14:double cn.thinkingdata.analytics.utils.CalibratedTimeManager.getSyncTimeZoneOffset():68:70 -> getPresetProperties
    12:14:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():699 -> 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():699 -> 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():699 -> 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():699 -> getPresetProperties
    21:22:double cn.thinkingdata.analytics.utils.TDUtils.getTimezoneOffset(long,java.util.TimeZone):681:682 -> 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():699 -> 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():699 -> getPresetProperties
    24:24:double cn.thinkingdata.analytics.utils.CalibratedTimeManager.getSyncTimeZoneOffset():72:72 -> getPresetProperties
    24:24:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():699 -> 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():699 -> getPresetProperties
    26:26:double cn.thinkingdata.analytics.utils.TDUtils.getTimezoneOffset(long,java.util.TimeZone):682:682 -> 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():699 -> 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():699 -> getPresetProperties
    28:29:double cn.thinkingdata.analytics.utils.CalibratedTimeManager.getSyncTimeZoneOffset():74:75 -> getPresetProperties
    28:29:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():699 -> getPresetProperties
    30:43:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():701:714 -> getPresetProperties
    44:47:int cn.thinkingdata.analytics.utils.CommonUtil.getFPS():60:63 -> getPresetProperties
    44:47:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():714 -> getPresetProperties
    48:52:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():714:718 -> getPresetProperties
    53:53:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getDeviceId():147:147 -> getPresetProperties
    53:53:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():718 -> 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():718 -> getPresetProperties
    55:61:cn.thinkingdata.analytics.TDPresetProperties getPresetProperties():718:724 -> getPresetProperties
    1:1:java.lang.String getRandomID():333:333 -> getRandomID
    2:4:java.lang.String cn.thinkingdata.analytics.persistence.GlobalStorageManager.getRandomID():53:55 -> getRandomID
    2:4:java.lang.String getRandomID():333 -> getRandomID
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingSDKErrorCallback getSDKErrorCallback():808:808 -> getSDKErrorCallback
      # {"id":"com.android.tools.r8.residualsignature","signature":"()Lcn/thinkingdata/analytics/O;"}
    1:1:org.json.JSONObject getSuperProperties():692:692 -> getSuperProperties
    2:2:org.json.JSONObject cn.thinkingdata.analytics.persistence.CommonStorageManager.getSuperProperties():189:189 -> getSuperProperties
    2:2:org.json.JSONObject getSuperProperties():692 -> 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():692 -> getSuperProperties
    1:1:java.lang.String getTimeString(java.util.Date):1549:1549 -> getTimeString
    1:1:java.lang.String getToken():1545:1545 -> getToken
    1:1:void identify(java.lang.String):300:300 -> identify
    2:2:boolean cn.thinkingdata.analytics.utils.CommonUtil.isEmpty(java.lang.String):113:113 -> identify
    2:2:void identify(java.lang.String):301 -> identify
    3:6:void identify(java.lang.String):305:308 -> identify
    7:7:void identify(java.lang.String):307:307 -> identify
    8:8:void identify(java.lang.String):302:302 -> identify
    1:1:void ignoreAppViewEventInExtPackage():1042:1042 -> ignoreAppViewEventInExtPackage
    1:13:void ignoreAutoTrackActivities(java.util.List):920:932 -> ignoreAutoTrackActivities
    1:12:void ignoreAutoTrackActivity(java.lang.Class):903:914 -> ignoreAutoTrackActivity
    1:3:void ignoreView(android.view.View):1410:1412 -> ignoreView
    1:9:void ignoreViewType(java.lang.Class):1358:1366 -> ignoreViewType
    1:15:boolean isActivityAutoTrackAppClickIgnored(java.lang.Class):883:897 -> isActivityAutoTrackAppClickIgnored
    1:15:boolean isActivityAutoTrackAppViewScreenIgnored(java.lang.Class):857:871 -> isActivityAutoTrackAppViewScreenIgnored
    1:1:boolean isAutoTrackEnabled():942:942 -> isAutoTrackEnabled
    1:1:boolean isAutoTrackEventTypeIgnored(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType):938:938 -> isAutoTrackEventTypeIgnored
    1:1:boolean isIgnoreAppViewInExtPackage():1046:1046 -> isIgnoreAppViewInExtPackage
    1:3:boolean isStatusTrackSaveOnly():348:350 -> isStatusTrackSaveOnly
    1:2:boolean isTrackDisabled():342:343 -> isTrackDisabled
    3:4:boolean isTrackDisabled():343:344 -> isTrackDisabled
    1:1:void login(java.lang.String):253:253 -> login
    2:2:boolean cn.thinkingdata.analytics.utils.CommonUtil.isEmpty(java.lang.String):113:113 -> login
    2:2:void login(java.lang.String):254 -> login
    3:6:void login(java.lang.String):258:261 -> login
    7:7:void login(java.lang.String):260:260 -> login
    8:8:void login(java.lang.String):255:255 -> login
    1:6:void logout():274:279 -> logout
    7:7:void logout():278:278 -> logout
    1:4:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):526:529 -> 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):529 -> 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):529:530 -> 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):530 -> 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):530 -> obtainDefaultEventProperties
    10:11:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):530:531 -> 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):531 -> 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):531 -> obtainDefaultEventProperties
    14:17:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):531:534 -> obtainDefaultEventProperties
    18:21:int cn.thinkingdata.analytics.utils.CommonUtil.getFPS():60:63 -> obtainDefaultEventProperties
    18:21:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):534 -> obtainDefaultEventProperties
    22:26:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):534:538 -> 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):538 -> 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):538 -> obtainDefaultEventProperties
    29:58:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):538:567 -> 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):571 -> obtainDefaultEventProperties
    61:63:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):571:573 -> 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):576 -> obtainDefaultEventProperties
    65:77:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):576:588 -> 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):588 -> 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):588 -> obtainDefaultEventProperties
    80:86:org.json.JSONObject obtainDefaultEventProperties(java.lang.String,long,boolean):588:594 -> obtainDefaultEventProperties
    1:1:void registerErrorCallback(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingSDKErrorCallback):804:804 -> registerErrorCallback
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/O;)V"}
    1:2:void setAutoTrackDynamicProperties(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackDynamicProperties):830:831 -> setAutoTrackDynamicProperties
    1:2:void setAutoTrackProperties(java.util.List,org.json.JSONObject):1323:1324 -> setAutoTrackProperties
    1:2:void setDynamicSuperPropertiesTracker(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$DynamicSuperPropertiesTracker):825:826 -> setDynamicSuperPropertiesTracker
    1:5:void setJsBridge(android.webkit.WebView):764:768 -> setJsBridge
    6:6:java.util.Map cn.thinkingdata.analytics.data.SystemInformation.getDeviceInfo():143:143 -> setJsBridge
    6:6:void setJsBridge(android.webkit.WebView):768 -> setJsBridge
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void setJsBridge(android.webkit.WebView):769:769 -> setJsBridge
    1:8:void setJsBridgeForX5WebView(java.lang.Object):775:782 -> setJsBridgeForX5WebView
    9:9:java.util.Map cn.thinkingdata.analytics.data.SystemInformation.getDeviceInfo():143:143 -> setJsBridgeForX5WebView
    9:9:void setJsBridgeForX5WebView(java.lang.Object):782 -> setJsBridgeForX5WebView
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:12:void setJsBridgeForX5WebView(java.lang.Object):783:785 -> setJsBridgeForX5WebView
    1:2:void setNetworkType(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType):362:363 -> setNetworkType
    1:2:void setSuperProperties(org.json.JSONObject):729:730 -> setSuperProperties
    1:4:void setTrackStatus(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus):1462:1465 -> setTrackStatus
    5:5:void setTrackStatus(cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus):1464:1464 -> setTrackStatus
    1:4:void setViewID(android.view.View,java.lang.String):1378:1381 -> setViewID
    5:13:void setViewID(android.app.Dialog,java.lang.String):1387:1395 -> setViewID
    1:5:void setViewProperties(android.view.View,org.json.JSONObject):1401:1405 -> setViewProperties
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK sharedInstance(android.content.Context,java.lang.String):111:111 -> sharedInstance
    2:2:cn.thinkingdata.analytics.ThinkingAnalyticsSDK sharedInstance(android.content.Context,java.lang.String,java.lang.String):115:115 -> sharedInstance
    3:19:cn.thinkingdata.analytics.ThinkingAnalyticsSDK sharedInstance(android.content.Context,java.lang.String,java.lang.String,boolean):120:136 -> sharedInstance
    20:20:cn.thinkingdata.analytics.ThinkingAnalyticsSDK sharedInstance(android.content.Context,java.lang.String,java.lang.String,boolean):132:132 -> sharedInstance
    21:33:cn.thinkingdata.analytics.ThinkingAnalyticsSDK sharedInstance(cn.thinkingdata.analytics.TDConfig):141:153 -> sharedInstance
    34:36:boolean cn.thinkingdata.analytics.utils.CommonUtil.isMainProcess(android.content.Context):37:39 -> sharedInstance
    34:36:cn.thinkingdata.analytics.ThinkingAnalyticsSDK sharedInstance(cn.thinkingdata.analytics.TDConfig):153 -> sharedInstance
    37:47:cn.thinkingdata.analytics.ThinkingAnalyticsSDK sharedInstance(cn.thinkingdata.analytics.TDConfig):154:164 -> sharedInstance
    1:3:void timeEvent(java.lang.String):836:838 -> timeEvent
    1:1:void track(java.lang.String,org.json.JSONObject):377:377 -> track
    2:2:void track(java.lang.String,org.json.JSONObject,java.util.Date):382:382 -> track
    3:3:void track(java.lang.String,org.json.JSONObject,java.util.Date,java.util.TimeZone):387:387 -> track
    4:4:void track(java.lang.String,org.json.JSONObject,cn.thinkingdata.analytics.utils.ITime):391:391 -> track
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/n;)V"}
    5:5:void track(java.lang.String,org.json.JSONObject,cn.thinkingdata.analytics.utils.ITime,boolean):395:395 -> track
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/n;Z)V"}
    6:6:void track(java.lang.String):400:400 -> track
    7:32:void track(cn.thinkingdata.analytics.ThinkingAnalyticsEvent):405:430 -> 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):434:451 -> track
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/n;ZLjava/util/Map;Lcn/thinkingdata/analytics/utils/u;I)V"}
    1:1:void trackAppCrashAndEndEvent(org.json.JSONObject):1346:1346 -> trackAppCrashAndEndEvent
    2:2:void cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.trackAppCrashAndEndEvent(org.json.JSONObject):430:430 -> trackAppCrashAndEndEvent
    2:2:void trackAppCrashAndEndEvent(org.json.JSONObject):1346 -> trackAppCrashAndEndEvent
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:5:void cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.trackAppCrashAndEndEvent(org.json.JSONObject):430:432 -> trackAppCrashAndEndEvent
    3:5:void trackAppCrashAndEndEvent(org.json.JSONObject):1346 -> trackAppCrashAndEndEvent
    1:2:void trackAppInstall():1257:1258 -> trackAppInstall
    1:2:void trackFragmentAppViewScreen():1372:1373 -> trackFragmentAppViewScreen
    1:1:void trackInternal(cn.thinkingdata.analytics.data.DataDescription):509:509 -> 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):509 -> 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):509 -> 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):509 -> 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):509 -> trackInternal
    1:29:void trackViewScreen(android.app.Activity):1051:1079 -> trackViewScreen
    30:70:void trackViewScreen(android.app.Fragment):1085:1125 -> trackViewScreen
    71:149:void trackViewScreen(java.lang.Object):1132:1210 -> trackViewScreen
    1:20:void trackViewScreenInternal(java.lang.String,org.json.JSONObject):1017:1036 -> trackViewScreenInternal
    1:1:void trackWithDebugOnly(java.lang.String,org.json.JSONObject):504:504 -> trackWithDebugOnly
    1:2:void unsetSuperProperty(java.lang.String):740:741 -> unsetSuperProperty
    1:1:void user_add(org.json.JSONObject):607:607 -> 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):607 -> 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):607 -> user_add
    4:4:void user_add(java.lang.String,java.lang.Number):612:612 -> 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):612 -> 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):612 -> 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):612 -> user_add
    11:11:void user_add(org.json.JSONObject,java.util.Date):616:616 -> 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):616 -> 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):616 -> user_add
    1:1:void user_append(org.json.JSONObject):621:621 -> 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):621 -> 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):621 -> user_append
    4:4:void user_append(org.json.JSONObject,java.util.Date):625:625 -> 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):625 -> 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):625 -> user_append
    1:1:void user_delete():661:661 -> user_delete
    2:2:void cn.thinkingdata.analytics.data.UserOperationHandler.user_delete(java.util.Date):74:74 -> user_delete
    2:2:void user_delete():661 -> 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():661 -> user_delete
    4:4:void user_delete(java.util.Date):665:665 -> 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):665 -> 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):665 -> user_delete
    1:1:void user_operations(cn.thinkingdata.analytics.utils.TDConstants$DataType,org.json.JSONObject,java.util.Date):656:656 -> user_operations
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/utils/u;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):656 -> 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):656 -> user_operations
    1:1:void user_set(org.json.JSONObject):648:648 -> 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):648 -> 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):648 -> user_set
    4:4:void user_set(org.json.JSONObject,java.util.Date):652:652 -> 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):652 -> 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):652 -> user_set
    1:1:void user_setOnce(org.json.JSONObject):639:639 -> 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):639 -> 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):639 -> user_setOnce
    4:4:void user_setOnce(org.json.JSONObject,java.util.Date):643:643 -> 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):643 -> 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):643 -> user_setOnce
    1:1:void user_uniqAppend(org.json.JSONObject):630:630 -> 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):630 -> 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):630 -> user_uniqAppend
    4:4:void user_uniqAppend(org.json.JSONObject,java.util.Date):634:634 -> 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):634 -> 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):634 -> user_uniqAppend
    1:1:void user_unset(java.lang.String[]):670:670 -> 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[]):670 -> 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[]):670 -> user_unset
    13:13:void user_unset(org.json.JSONObject,java.util.Date):674:674 -> 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):674 -> 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):674 -> user_unset
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$1 -> cn.thinkingdata.analytics.E:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.TDConfig val$config -> a
    java.util.List val$backUrls -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/ArrayList;"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> c
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,cn.thinkingdata.analytics.TDConfig,java.util.List):207:207 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;Lcn/thinkingdata/analytics/TDConfig;Ljava/util/ArrayList;)V"}
    1:6:void run():210:215 -> run
    7:7:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getPausePostFlag():173:173 -> run
    7:7:void run():215 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getPausePostFlag():173:173 -> run
    8:8:void run():215 -> run
    9:11:void run():215:217 -> run
    12:12:void cn.thinkingdata.analytics.data.DataHandle.flushOldData(java.lang.String):142:142 -> run
    12:12:void run():217 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:void cn.thinkingdata.analytics.data.DataHandle.flushOldData(java.lang.String):142:142 -> run
    13:13:void run():217 -> run
    14:18:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.postOldDataToServer(java.lang.String):337:341 -> run
    14:18:void cn.thinkingdata.analytics.data.DataHandle.flushOldData(java.lang.String):142 -> run
    14:18:void run():217 -> run
    19:22:void run():220:223 -> run
    23:23:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getPausePostFlag():173:173 -> run
    23:23:void run():223 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getPausePostFlag():173:173 -> run
    24:24:void run():223 -> run
    25:26:void run():224:225 -> run
    27:27:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getEnableFlag():141:141 -> run
    27:27:void run():225 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    28:28:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getEnableFlag():141:141 -> run
    28:28:void run():225 -> run
    29:30:void run():226:227 -> run
    31:31:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getOptOutFlag():157:157 -> run
    31:31:void run():227 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    32:32:boolean cn.thinkingdata.analytics.persistence.CommonStorageManager.getOptOutFlag():157:157 -> run
    32:32:void run():227 -> run
    33:41:void run():228:236 -> run
    42:44:boolean cn.thinkingdata.analytics.utils.TDUtils.isLogControlFileExist():799:801 -> run
    42:44:void run():236 -> run
    45:47:void run():237:239 -> run
    48:52:void cn.thinkingdata.analytics.utils.plugin.TDPluginUtils.clearPluginEvent(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):62:66 -> run
    48:52:void run():239 -> run
    53:54:void run():240:241 -> run
    55:61:java.lang.String cn.thinkingdata.analytics.utils.TDUtils.getSuffix(java.lang.String,int):693:699 -> run
    55:61:void run():241 -> run
    62:62:void run():241:241 -> run
    63:69:void run():240:246 -> run
    70:70:void run():232:232 -> 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):752:752 -> <init>
    1:1:void run():755:755 -> 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):838:838 -> <init>
    1:1:void run():842:842 -> run
    2:2:boolean cn.thinkingdata.analytics.utils.PropertyUtils.isInvalidName(java.lang.String):41:41 -> run
    2:2:void run():842 -> run
    3:8:void run():842:847 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$12 -> cn.thinkingdata.analytics.A:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.utils.ITime val$time -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/n;"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> b
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,cn.thinkingdata.analytics.utils.ITime):1282:1282 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;Lcn/thinkingdata/analytics/utils/n;)V"}
    1:4:void run():1285:1288 -> run
    5:5:java.lang.Long cn.thinkingdata.analytics.persistence.GlobalStorageManager.getLastInstallTime():39:39 -> run
    5:5:void run():1288 -> 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():1288 -> run
    7:10:void run():1288:1291 -> run
    11:11:void cn.thinkingdata.analytics.persistence.GlobalStorageManager.saveLastInstallTime(java.lang.Long):46:46 -> run
    11:11:void run():1291 -> 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():1291 -> run
    13:18:void run():1294:1299 -> 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):1305:1305 -> <init>
    1:2:void run():1308:1309 -> run
    3:13:cn.thinkingdata.analytics.autotrack.TAExceptionHandler cn.thinkingdata.analytics.autotrack.TAExceptionHandler.getInstance(android.content.Context):200:210 -> run
    3:13:void run():1309 -> run
    14:14:void run():1311:1311 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$14 -> cn.thinkingdata.analytics.C:
# {"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):1324:1324 -> <init>
    1:10:void run():1328:1337 -> run
    11:22:void cn.thinkingdata.analytics.utils.TDUtils.mergeNestedJSONObject(org.json.JSONObject,org.json.JSONObject,java.util.TimeZone):583:594 -> run
    11:22:void run():1337 -> run
    23:23:void run():1339:1339 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$15 -> cn.thinkingdata.analytics.D:
# {"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):1465:1465 -> <init>
    1:38:void run():1468:1505 -> run
    39:39:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveEnableFlag(boolean):149:149 -> run
    39:39:void run():1505 -> 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():1505 -> run
    41:41:void run():1506:1506 -> run
    42:42:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveOptOutFlag(boolean):165:165 -> run
    42:42:void run():1506 -> 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():1506 -> run
    44:44:void run():1507:1507 -> run
    45:45:void cn.thinkingdata.analytics.persistence.CommonStorageManager.savePausePostFlag(boolean):181:181 -> run
    45:45:void run():1507 -> 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():1507 -> run
    47:49:void run():1508:1510 -> run
    50:50:void run():1498:1498 -> run
    51:51:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveEnableFlag(boolean):149:149 -> run
    51:51:void run():1498 -> 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():1498 -> run
    53:53:void run():1499:1499 -> run
    54:54:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveOptOutFlag(boolean):165:165 -> run
    54:54:void run():1499 -> 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():1499 -> run
    56:56:void run():1500:1500 -> run
    57:57:void cn.thinkingdata.analytics.persistence.CommonStorageManager.savePausePostFlag(boolean):181:181 -> run
    57:57:void run():1500 -> 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():1500 -> run
    59:60:void run():1501:1502 -> run
    61:61:void run():1479:1479 -> run
    62:62:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveEnableFlag(boolean):149:149 -> run
    62:62:void run():1479 -> 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():1479 -> run
    64:64:void run():1480:1480 -> run
    65:65:void cn.thinkingdata.analytics.persistence.CommonStorageManager.savePausePostFlag(boolean):181:181 -> run
    65:65:void run():1480 -> 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():1480 -> run
    67:68:void run():1481:1482 -> run
    69:69:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveOptOutFlag(boolean):165:165 -> run
    69:69:void run():1482 -> 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():1482 -> run
    71:71:void run():1483:1483 -> run
    72:72:void cn.thinkingdata.analytics.data.DataHandle.emptyMessageQueue(java.lang.String):151:151 -> run
    72:72:void run():1483 -> 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):151:151 -> run
    73:73:void run():1483 -> run
    74:85:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.emptyQueue(java.lang.String):183:194 -> run
    74:85:void cn.thinkingdata.analytics.data.DataHandle.emptyMessageQueue(java.lang.String):151 -> run
    74:85:void run():1483 -> run
    86:97:void run():1484:1495 -> run
    98:98:void run():1491:1491 -> run
    99:99:void run():1488:1488 -> run
    100:100:void run():1471:1471 -> run
    101:101:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveOptOutFlag(boolean):165:165 -> run
    101:101:void run():1471 -> 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():1471 -> run
    103:103:void run():1472:1472 -> run
    104:104:void cn.thinkingdata.analytics.persistence.CommonStorageManager.savePausePostFlag(boolean):181:181 -> run
    104:104:void run():1472 -> 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():1472 -> run
    106:108:void run():1473:1475 -> run
    109:109:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveEnableFlag(boolean):149:149 -> run
    109:109:void run():1475 -> 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():1475 -> run
    111:111:void run():1476:1476 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$2 -> cn.thinkingdata.analytics.F:
# {"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):261:261 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;)V"}
    1:1:void run():264:264 -> run
    2:12:void cn.thinkingdata.analytics.persistence.CommonStorageManager.saveLoginId(java.lang.String):61:71 -> run
    2:12:void run():264 -> run
    13:15:void run():265:267 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$3 -> cn.thinkingdata.analytics.G:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> a
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):279:279 -> <init>
    1:1:void run():282:282 -> run
    2:11:void cn.thinkingdata.analytics.persistence.CommonStorageManager.logout(boolean,android.content.Context):91:100 -> run
    2:11:void run():282 -> run
    12:13:void run():283:284 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$4 -> cn.thinkingdata.analytics.H:
# {"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):308:308 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;)V"}
    1:1:void run():311:311 -> run
    2:9:void cn.thinkingdata.analytics.persistence.CommonStorageManager.setIdentifyId(java.lang.String):117:124 -> run
    2:9:void run():311 -> run
    10:12:void run():312:314 -> run
    13:13:void cn.thinkingdata.analytics.persistence.CommonStorageManager.setIdentifyId(java.lang.String):124:124 -> run
    13:13:void run():311 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$5 -> cn.thinkingdata.analytics.I:
# {"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/u;"}
    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/n;"}
    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):451:451 -> <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/u;Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;Lcn/thinkingdata/analytics/utils/n;Ljava/lang/String;Ljava/lang/String;ZILjava/util/Map;)V"}
    1:7:void run():454:460 -> run
    8:8:boolean cn.thinkingdata.analytics.utils.PropertyUtils.isInvalidName(java.lang.String):41:41 -> run
    8:8:void run():460 -> run
    9:41:void run():460:492 -> run
    42:42:void cn.thinkingdata.analytics.data.DataDescription.setExtraFields(java.util.Map):51:51 -> run
    42:42:void run():493 -> run
    43:45:void run():495:497 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$6 -> cn.thinkingdata.analytics.J:
# {"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):509:509 -> <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):512:516 -> onSuccess
    6:6:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):108:108 -> onSuccess
    6:6:void onSuccess(org.json.JSONObject):516 -> 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):108:108 -> onSuccess
    7:7:void onSuccess(org.json.JSONObject):516 -> onSuccess
    8:12:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.saveToDatabase(cn.thinkingdata.analytics.data.DataDescription):167:171 -> onSuccess
    8:12:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):108 -> onSuccess
    8:12:void onSuccess(org.json.JSONObject):516 -> onSuccess
    13:13:void onSuccess(org.json.JSONObject):514:514 -> onSuccess
    14:15:void cn.thinkingdata.analytics.data.DataHandle.postToDebug(cn.thinkingdata.analytics.data.DataDescription):123:124 -> onSuccess
    14:15:void onSuccess(org.json.JSONObject):514 -> onSuccess
    16:20:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.postToDebug(cn.thinkingdata.analytics.data.DataDescription):379:383 -> onSuccess
    16:20:void cn.thinkingdata.analytics.data.DataHandle.postToDebug(cn.thinkingdata.analytics.data.DataDescription):124 -> onSuccess
    16:20:void onSuccess(org.json.JSONObject):514 -> onSuccess
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$7 -> cn.thinkingdata.analytics.K:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    cn.thinkingdata.analytics.ThinkingAnalyticsSDK this$0 -> a
    1:1:void <init>(cn.thinkingdata.analytics.ThinkingAnalyticsSDK):682:682 -> <init>
    1:1:void run():685:685 -> run
    2:2:void cn.thinkingdata.analytics.data.DataHandle.flush(java.lang.String):133:133 -> run
    2:2:void run():685 -> 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):133:133 -> run
    3:3:void run():685 -> run
    4:7:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.triggerFlush(java.lang.String):176:179 -> run
    4:7:void cn.thinkingdata.analytics.data.DataHandle.flush(java.lang.String):133 -> run
    4:7:void run():685 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$8 -> cn.thinkingdata.analytics.L:
# {"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):730:730 -> <init>
    1:1:void run():733:733 -> run
    2:11:void cn.thinkingdata.analytics.persistence.CommonStorageManager.setSuperProperties(org.json.JSONObject,java.util.TimeZone):202:211 -> run
    2:11:void run():733 -> run
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$9 -> cn.thinkingdata.analytics.M:
# {"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):741:741 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Lcn/thinkingdata/analytics/ThinkingAnalyticsSDK;)V"}
    1:1:void run():744:744 -> run
    2:8:void cn.thinkingdata.analytics.persistence.CommonStorageManager.unsetSuperProperty(java.lang.String):225:231 -> run
    2:8:void run():744 -> 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():948:948 -> $values
    1:21:void <clinit>():952:972 -> <clinit>
    22:22:void <clinit>():948:948 -> <clinit>
    1:2:void <init>(java.lang.String,int,java.lang.String):1007:1008 -> <init>
    1:13:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType autoTrackEventTypeFromEventName(java.lang.String):983:995 -> autoTrackEventTypeFromEventName
    14:14:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType autoTrackEventTypeFromEventName(java.lang.String):991:991 -> autoTrackEventTypeFromEventName
    15:23:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType autoTrackEventTypeFromEventName(java.lang.String):989:997 -> autoTrackEventTypeFromEventName
    24:30:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType autoTrackEventTypeFromEventName(java.lang.String):993:999 -> autoTrackEventTypeFromEventName
    1:1:java.lang.String getEventName():1012:1012 -> getEventName
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType valueOf(java.lang.String):948:948 -> valueOf
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType[] values():948:948 -> values
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$DynamicSuperPropertiesTracker -> cn.thinkingdata.analytics.ThinkingAnalyticsSDK$DynamicSuperPropertiesTracker:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$InstanceProcessor -> cn.thinkingdata.analytics.N:
# {"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():1449:1449 -> $values
    1:7:void <clinit>():1451:1457 -> <clinit>
    8:8:void <clinit>():1449:1449 -> <clinit>
    1:1:void <init>(java.lang.String,int):1449:1449 -> <init>
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus valueOf(java.lang.String):1449:1449 -> valueOf
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus[] values():1449:1449 -> values
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingSDKErrorCallback -> cn.thinkingdata.analytics.O:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType -> cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType:
# {"id":"sourceFile","fileName":"ThinkingAnalyticsSDK.java"}
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType[] $values():354:354 -> $values
    1:3:void <clinit>():355:357 -> <clinit>
    4:4:void <clinit>():354:354 -> <clinit>
    1:1:void <init>(java.lang.String,int):354:354 -> <init>
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType valueOf(java.lang.String):354:354 -> valueOf
    1:1:cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType[] values():354:354 -> 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.P:
# {"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.Q:
# {"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.S:
# {"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.T:
# {"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.U:
# {"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):340:340 -> 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.V:
# {"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.W:
# {"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.X:
# {"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.Y:
# {"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/u;"}
    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.l:
# {"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):70:82 -> a
    14:15:boolean isBackgroundStartEventEnabled(android.content.Context):302:303 -> a
    16:22:org.json.JSONArray toJSONArray(java.lang.Object):353:359 -> a
    23:23:org.json.JSONArray toJSONArray(java.lang.Object):355:355 -> a
    24:53:java.lang.String getStartReason():365:394 -> a
    1:31:java.lang.Object wrap(java.lang.Object):312:342 -> b
    1:2:void onActivityCreated(android.app.Activity,android.os.Bundle):65:66 -> onActivityCreated
    1:5:void onActivityPaused(android.app.Activity):288:292 -> onActivityPaused
    6:6:void trackAppStartEvent(cn.thinkingdata.analytics.utils.ITime,boolean):121:121 -> onActivityPaused
    6:6:void onActivityPaused(android.app.Activity):293 -> onActivityPaused
    7:8:void onActivityPaused(android.app.Activity):296:296 -> onActivityPaused
    1:5:void onActivityResumed(android.app.Activity):244:248 -> onActivityResumed
    6:6:void trackAppStartEvent(cn.thinkingdata.analytics.utils.ITime,boolean):121:121 -> onActivityResumed
    6:6:void onActivityResumed(android.app.Activity):249 -> onActivityResumed
    7:19:void onActivityResumed(android.app.Activity):252:264 -> onActivityResumed
    20:20:void trackAppViewEvent(java.lang.String,org.json.JSONObject):219:219 -> onActivityResumed
    20:20:void onActivityResumed(android.app.Activity):265 -> onActivityResumed
    21:26:void onActivityResumed(android.app.Activity):267:272 -> onActivityResumed
    27:27:void trackAppViewEvent(java.lang.String,org.json.JSONObject):219:219 -> onActivityResumed
    27:27:void onActivityResumed(android.app.Activity):274 -> onActivityResumed
    28:28:void onActivityResumed(android.app.Activity):276:276 -> onActivityResumed
    29:29:void trackAppViewEvent(java.lang.String,org.json.JSONObject):219:219 -> onActivityResumed
    29:29:void onActivityResumed(android.app.Activity):277 -> onActivityResumed
    30:30:void onActivityResumed(android.app.Activity):252:252 -> onActivityResumed
    1:5:void onActivityStarted(android.app.Activity):87:91 -> onActivityStarted
    6:6:void trackAppStartEvent(cn.thinkingdata.analytics.utils.ITime,boolean):121:121 -> onActivityStarted
    6:6:void onActivityStarted(android.app.Activity):92 -> onActivityStarted
    7:12:void onActivityStarted(android.app.Activity):94:99 -> onActivityStarted
    13:13:void onActivityStarted(android.app.Activity):99:99 -> onActivityStarted
    1:8:void onActivityStopped(android.app.Activity):399:406 -> onActivityStopped
    9:9:void trackAppEndEvent():182:182 -> onActivityStopped
    9:9:void onActivityStopped(android.app.Activity):407 -> onActivityStopped
    10:11:void onActivityStopped(android.app.Activity):409:409 -> onActivityStopped
cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks$1 -> cn.thinkingdata.analytics.autotrack.h:
# {"id":"sourceFile","fileName":"ThinkingDataActivityLifecycleCallbacks.java"}
    cn.thinkingdata.analytics.utils.ITime val$appStartEnableTime -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/n;"}
    cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/autotrack/l;"}
    1:1:void <init>(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,cn.thinkingdata.analytics.utils.ITime):108:108 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/autotrack/l;Lcn/thinkingdata/analytics/utils/n;)V"}
    1:1:void run():111:111 -> run
    2:2:void cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$000(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,cn.thinkingdata.analytics.utils.ITime,boolean):47:47 -> run
    2:2:void run():111 -> run
    3:3:void cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.trackAppStartEvent(cn.thinkingdata.analytics.utils.ITime,boolean):121:121 -> run
    3:3:void cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$000(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,cn.thinkingdata.analytics.utils.ITime,boolean):47 -> run
    3:3:void run():111 -> run
cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks$2 -> cn.thinkingdata.analytics.autotrack.i:
# {"id":"sourceFile","fileName":"ThinkingDataActivityLifecycleCallbacks.java"}
    cn.thinkingdata.analytics.utils.ITime val$time -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/n;"}
    boolean val$isStartLifeCycle -> b
    cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/autotrack/l;"}
    1:1:void <init>(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,cn.thinkingdata.analytics.utils.ITime,boolean):121:121 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/autotrack/l;Lcn/thinkingdata/analytics/utils/n;Z)V"}
    1:1:void run():124:124 -> 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():124 -> run
    3:3:void run():124:124 -> run
    4:4:boolean cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$200(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    4:4:void run():124 -> run
    5:5:void run():125:125 -> run
    6:6:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    6:6:void run():125 -> run
    7:9:void run():125:127 -> run
    10:10:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    10:10:void run():127 -> run
    11:14:void run():127:130 -> run
    15:15:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    15:15:void run():130 -> run
    16:16:void run():130:130 -> run
    17:17:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    17:17:void run():131 -> run
    18:21:void run():131:134 -> run
    22:22:java.lang.Boolean cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$102(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,java.lang.Boolean):47:47 -> run
    22:22:void run():134 -> run
    23:25:void run():135:137 -> run
    26:26:boolean cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$200(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    26:26:void run():137 -> run
    27:35:void run():137:145 -> run
    36:36:java.lang.ref.WeakReference cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$400(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    36:36:void run():145 -> run
    37:37:void run():146:146 -> run
    38:38:java.lang.ref.WeakReference cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$400(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    38:38:void run():146 -> run
    39:41:void run():146:148 -> run
    42:42:cn.thinkingdata.analytics.data.EventTimer cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$500(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    42:42:void run():148 -> run
    43:44:void run():149:150 -> run
    45:45:cn.thinkingdata.analytics.data.EventTimer cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$500(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    45:45:void run():150 -> run
    46:46:java.lang.String cn.thinkingdata.analytics.data.EventTimer.duration(long):24:24 -> run
    46:46:void run():150 -> run
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    47:48:java.lang.String cn.thinkingdata.analytics.data.EventTimer.duration(long):24:25 -> run
    47:48:void run():150 -> run
    49:55:void run():150:156 -> run
    56:56:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    56:56:void run():156 -> run
    57:59:void run():156:158 -> run
    60:60:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    60:60:void run():158 -> run
    61:68:void run():158:165 -> run
    69:69:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    69:69:void run():165 -> run
    70:71:void run():165:166 -> run
    72:72:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    72:72:void run():166 -> run
    73:74:void run():166:167 -> run
    75:75:boolean cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$602(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,boolean):47:47 -> run
    75:75:void run():167 -> run
    76:77:void run():170:171 -> run
    78:78:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    78:78:void run():171 -> run
    79:80:void run():171:172 -> run
    81:81:cn.thinkingdata.analytics.data.EventTimer cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$502(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,cn.thinkingdata.analytics.data.EventTimer):47:47 -> run
    81:81:void run():172 -> run
cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks$3 -> cn.thinkingdata.analytics.autotrack.j:
# {"id":"sourceFile","fileName":"ThinkingDataActivityLifecycleCallbacks.java"}
    cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks this$0 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/autotrack/l;"}
    1:1:void <init>(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):182:182 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/autotrack/l;)V"}
    1:1:void run():186:186 -> run
    2:2:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    2:2:void run():186 -> run
    3:4:void run():186:187 -> run
    5:5:boolean cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$202(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,boolean):47:47 -> run
    5:5:void run():187 -> run
    6:6:void run():190:190 -> run
    7:7:boolean cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$600(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    7:7:void run():190 -> run
    8:8:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    8:8:void run():191 -> run
    9:11:void run():191:193 -> run
    12:12:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    12:12:void run():193 -> run
    13:15:void run():193:195 -> run
    16:16:java.lang.ref.WeakReference cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$400(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    16:16:void run():195 -> run
    17:17:void run():196:196 -> run
    18:18:java.lang.ref.WeakReference cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$400(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    18:18:void run():196 -> run
    19:24:void run():196:201 -> run
    25:25:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    25:25:void run():201 -> run
    26:27:void run():201:202 -> run
    28:28:boolean cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$602(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,boolean):47:47 -> run
    28:28:void run():202 -> run
    29:31:void run():199:201 -> run
    32:32:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    32:32:void run():201 -> run
    33:33:void run():201:201 -> run
    34:34:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    34:34:void run():201 -> run
    35:36:void run():201:202 -> run
    37:37:boolean cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$602(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,boolean):47:47 -> run
    37:37:void run():202 -> run
    38:44:void run():203:209 -> run
    45:45:cn.thinkingdata.analytics.data.EventTimer cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$502(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,cn.thinkingdata.analytics.data.EventTimer):47:47 -> run
    45:45:void run():209 -> run
    46:46:void run():212:212 -> run
    47:47:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks) -> run
    47:47:void run():212 -> run
    48:48:void run():212:212 -> run
cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks$4 -> cn.thinkingdata.analytics.autotrack.k:
# {"id":"sourceFile","fileName":"ThinkingDataActivityLifecycleCallbacks.java"}
    org.json.JSONObject val$extProperties -> a
    java.lang.String val$screenUrl -> b
    cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks this$0 -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/autotrack/l;"}
    1:1:void <init>(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks,org.json.JSONObject,java.lang.String):219:219 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/autotrack/l;Lorg/json/JSONObject;Ljava/lang/String;)V"}
    1:2:void run():223:224 -> run
    3:3:java.lang.ref.WeakReference cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$400(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    3:3:void run():224 -> run
    4:4:void run():225:225 -> run
    5:5:java.lang.ref.WeakReference cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$400(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    5:5:void run():225 -> run
    6:9:void run():225:228 -> run
    10:10:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    10:10:void run():228 -> run
    11:14:void run():228:231 -> run
    15:15:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    15:15:void run():231 -> run
    16:18:void run():231:233 -> run
    19:19:cn.thinkingdata.analytics.ThinkingAnalyticsSDK cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks.access$300(cn.thinkingdata.analytics.autotrack.ThinkingDataActivityLifecycleCallbacks):47:47 -> run
    19:19:void run():233 -> run
    20:20:void run():233:233 -> 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/n;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType mType -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/u;"}
    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/u;Lorg/json/JSONObject;Lcn/thinkingdata/analytics/utils/n;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/J;"}
    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/J;)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>():60:60 -> <clinit>
    1:1:void <init>(android.content.Context):78:78 -> <init>
    2:19:void <init>(android.content.Context):62:79 -> <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):89 -> <init>
    20:29:void <init>(android.content.Context):81 -> <init>
    30:32:void <init>(android.content.Context):81:83 -> <init>
    33:35:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.cleanupEvents():330:332 -> <init>
    33:35:void <init>(android.content.Context):84 -> <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):89 -> <init>
    36:36:void <init>(android.content.Context):81 -> <init>
    1:11:cn.thinkingdata.analytics.data.DataHandle getInstance(android.content.Context):65:75 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/content/Context;)Lcn/thinkingdata/analytics/data/g;"}
    12:18:void handleTrackPauseToken(java.lang.String,boolean):98:104 -> a
    19:19:void handleTrackPauseToken(java.lang.String,boolean):104:104 -> 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):158:163 -> <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):209:213 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/data/d;Landroid/os/Looper;)V"}
    1:19:void handleMessage(android.os.Message):217:235 -> handleMessage
    20:20:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> handleMessage
    20:20:void handleMessage(android.os.Message):235 -> handleMessage
    21:22:void handleMessage(android.os.Message):235:236 -> handleMessage
    23:23:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> handleMessage
    23:23:void handleMessage(android.os.Message):236 -> handleMessage
    24:26:void handleMessage(android.os.Message):236:238 -> handleMessage
    27:27:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    27:27:void handleMessage(android.os.Message):238 -> 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):94:94 -> handleMessage
    28:28:void handleMessage(android.os.Message):238 -> handleMessage
    29:36:void handleMessage(android.os.Message):240:247 -> handleMessage
    37:43:java.lang.String cn.thinkingdata.analytics.utils.TDUtils.getSuffix(java.lang.String,int):693:699 -> handleMessage
    37:43:void handleMessage(android.os.Message):248 -> handleMessage
    44:45:void handleMessage(android.os.Message):248:249 -> handleMessage
    46:52:void handleMessage(android.os.Message):247:253 -> handleMessage
    53:53:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):199:199 -> handleMessage
    53:53:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):157 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    53:53:void handleMessage(android.os.Message):253 -> handleMessage
    54:54:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    54:54:int cn.thinkingdata.analytics.data.DataHandle.getFlushBulkSize(java.lang.String):300 -> handleMessage
    54:54:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):199 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    54:54:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):157 -> handleMessage
    54:54:void handleMessage(android.os.Message):253 -> handleMessage
    55:55:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    55:55:int cn.thinkingdata.analytics.data.DataHandle.getFlushBulkSize(java.lang.String):300 -> handleMessage
    55:55:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):199 -> handleMessage
    55:55:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):157 -> handleMessage
    55:55:void handleMessage(android.os.Message):253 -> handleMessage
    56:56:int cn.thinkingdata.analytics.data.DataHandle.getFlushBulkSize(java.lang.String):302:302 -> handleMessage
    56:56:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):199 -> handleMessage
    56:56:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):157 -> handleMessage
    56:56:void handleMessage(android.os.Message):253 -> handleMessage
    57:57:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):200:200 -> handleMessage
    57:57:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):157 -> handleMessage
    57:57:void handleMessage(android.os.Message):253 -> handleMessage
    58:58:cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker cn.thinkingdata.analytics.data.DataHandle.access$000(cn.thinkingdata.analytics.data.DataHandle):49:49 -> handleMessage
    58:58:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):200 -> handleMessage
    58:58:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):157 -> handleMessage
    58:58:void handleMessage(android.os.Message):253 -> handleMessage
    59:61:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):200:202 -> handleMessage
    59:61:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):157 -> handleMessage
    59:61:void handleMessage(android.os.Message):253 -> handleMessage
    62:62:cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker cn.thinkingdata.analytics.data.DataHandle.access$000(cn.thinkingdata.analytics.data.DataHandle):49:49 -> handleMessage
    62:62:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):202 -> handleMessage
    62:62:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):157 -> handleMessage
    62:62:void handleMessage(android.os.Message):253 -> handleMessage
    63:63:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    63:63:int cn.thinkingdata.analytics.data.DataHandle.getFlushInterval(java.lang.String):306 -> handleMessage
    63:63:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):202 -> handleMessage
    63:63:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):157 -> handleMessage
    63:63:void handleMessage(android.os.Message):253 -> handleMessage
    64:64:int cn.thinkingdata.analytics.data.DataHandle.getFlushInterval(java.lang.String):308:308 -> handleMessage
    64:64:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):202 -> handleMessage
    64:64:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):157 -> handleMessage
    64:64:void handleMessage(android.os.Message):253 -> handleMessage
    65:65:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.checkSendStrategy(java.lang.String,int):202:202 -> handleMessage
    65:65:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$200(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker,java.lang.String,int):157 -> handleMessage
    65:65:void handleMessage(android.os.Message):253 -> handleMessage
    66:88:void handleMessage(android.os.Message):237:259 -> handleMessage
    89:89:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    89:89:void handleMessage(android.os.Message):259 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    90:90:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    90:90:void handleMessage(android.os.Message):259 -> handleMessage
    91:92:void handleMessage(android.os.Message):261:262 -> handleMessage
    93:98:void handleMessage(android.os.Message):261:266 -> handleMessage
    99:108:void handleMessage(android.os.Message):265:274 -> handleMessage
    109:109:cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker cn.thinkingdata.analytics.data.DataHandle.access$000(cn.thinkingdata.analytics.data.DataHandle):49:49 -> handleMessage
    109:109:void handleMessage(android.os.Message):274 -> handleMessage
    110:110:void handleMessage(android.os.Message):274:274 -> handleMessage
    111:115:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.emptyQueue(java.lang.String):388:392 -> handleMessage
    111:115:void handleMessage(android.os.Message):274 -> handleMessage
    116:116:void handleMessage(android.os.Message):275:275 -> handleMessage
    117:117:android.os.Handler cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$300(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker):157:157 -> handleMessage
    117:117:void handleMessage(android.os.Message):275 -> handleMessage
    118:119:void handleMessage(android.os.Message):275:276 -> handleMessage
    120:120:android.os.Handler cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.access$300(cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker):157:157 -> handleMessage
    120:120:void handleMessage(android.os.Message):276 -> handleMessage
    121:124:void handleMessage(android.os.Message):276:279 -> handleMessage
    125:125:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> handleMessage
    125:125:void handleMessage(android.os.Message):279 -> handleMessage
    126:127:void handleMessage(android.os.Message):279:280 -> handleMessage
    128:128:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> handleMessage
    128:128:void handleMessage(android.os.Message):280 -> handleMessage
    129:129:void handleMessage(android.os.Message):280:280 -> handleMessage
    130:130:java.lang.String cn.thinkingdata.analytics.data.DatabaseAdapter$Table.getName():42:42 -> handleMessage
    130:130: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)"]}
    130:130:void handleMessage(android.os.Message):280 -> handleMessage
    131:136:void cn.thinkingdata.analytics.data.DatabaseAdapter.cleanupEvents(cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):386:391 -> handleMessage
    131:136:void handleMessage(android.os.Message):280 -> handleMessage
    137:137:void cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.deleteDatabase():77:77 -> handleMessage
    137:137: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)"]}
    137:137:void handleMessage(android.os.Message):280 -> handleMessage
    138:138:void cn.thinkingdata.analytics.data.DatabaseAdapter$DatabaseHelper.deleteDatabase():78:78 -> handleMessage
    138:138:void cn.thinkingdata.analytics.data.DatabaseAdapter.cleanupEvents(cn.thinkingdata.analytics.data.DatabaseAdapter$Table,java.lang.String):391 -> handleMessage
    138:138:void handleMessage(android.os.Message):280 -> handleMessage
    139:140:void handleMessage(android.os.Message):281:281 -> handleMessage
    141:146:void handleMessage(android.os.Message):278:283 -> handleMessage
    147:147:cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker cn.thinkingdata.analytics.data.DataHandle.access$000(cn.thinkingdata.analytics.data.DataHandle):49:49 -> handleMessage
    147:147:void handleMessage(android.os.Message):283 -> handleMessage
    148:151:void handleMessage(android.os.Message):283:286 -> 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/l;"}
    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:494:void <init>(cn.thinkingdata.analytics.data.DataHandle):320:813 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/data/g;)V"}
    495:500:void <init>(cn.thinkingdata.analytics.data.DataHandle):321:326 -> <init>
    501:501:cn.thinkingdata.analytics.utils.RemoteService cn.thinkingdata.analytics.data.DataHandle.getPoster():312:312 -> <init>
    501:501:void <init>(cn.thinkingdata.analytics.data.DataHandle):326 -> <init>
    502:502:void <init>(cn.thinkingdata.analytics.data.DataHandle):326:326 -> <init>
    1:1:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):318:318 -> 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):641:654 -> a
    2:15:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):318 -> a
    16:17:java.util.Map createExtraHeaders(java.lang.String):784:785 -> a
    16:17:void sendData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):654 -> a
    16:17:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):318 -> a
    18:18:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getLibName():72:72 -> a
    18:18:java.util.Map createExtraHeaders(java.lang.String):785 -> a
    18:18:void sendData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):654 -> a
    18:18:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):318 -> a
    19:20:java.util.Map createExtraHeaders(java.lang.String):785:786 -> a
    19:20:void sendData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):654 -> a
    19:20:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):318 -> a
    21:21:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getLibVersion():76:76 -> a
    21:21:java.util.Map createExtraHeaders(java.lang.String):786 -> a
    21:21:void sendData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):654 -> a
    21:21:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):318 -> a
    22:24:java.util.Map createExtraHeaders(java.lang.String):786:788 -> a
    22:24:void sendData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):654 -> a
    22:24:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):318 -> a
    25:28:void sendData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):654:657 -> a
    25:28:void access$800(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject):318 -> a
    29:29:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):318:318 -> 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):554:569 -> a
    30:45:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):318 -> 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):569 -> 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):318 -> 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):569 -> a
    47:47:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):318 -> a
    48:59:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):572:583 -> a
    48:59:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):318 -> a
    60:66:java.lang.String cn.thinkingdata.analytics.utils.TDUtils.getSuffix(java.lang.String,int):693:699 -> a
    60:66:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):583 -> a
    60:66:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):318 -> a
    67:68:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):584:585 -> a
    67:68:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):318 -> a
    69:70:java.util.Map createExtraHeaders(java.lang.String):784:785 -> a
    69:70:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):585 -> a
    69:70:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):318 -> a
    71:71:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getLibName():72:72 -> a
    71:71:java.util.Map createExtraHeaders(java.lang.String):785 -> a
    71:71:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):585 -> a
    71:71:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):318 -> a
    72:73:java.util.Map createExtraHeaders(java.lang.String):785:786 -> a
    72:73:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):585 -> a
    72:73:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):318 -> a
    74:74:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getLibVersion():76:76 -> a
    74:74:java.util.Map createExtraHeaders(java.lang.String):786 -> a
    74:74:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):585 -> a
    74:74:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):318 -> a
    75:77:java.util.Map createExtraHeaders(java.lang.String):786:788 -> a
    75:77:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):585 -> a
    75:77:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):318 -> a
    78:128:void sendDebugData(cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):585:635 -> a
    78:128:void access$900(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig,org.json.JSONObject,int):318 -> a
    129:140:void postToServer(java.lang.String):348:359 -> a
    141:141:void postToServer(java.lang.String):359:359 -> a
    142:157:void posterToServerDelayed(java.lang.String,long):397:412 -> a
    158:158:void posterToServerDelayed(java.lang.String,long):412:412 -> a
    159:168:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):666:675 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/TDConfig;Ljava/lang/String;)V"}
    169:169:java.util.Map cn.thinkingdata.analytics.data.DataHandle.access$1100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    169:169:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):675 -> a
    170:171:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):675:676 -> a
    172:172:java.util.Map cn.thinkingdata.analytics.data.DataHandle.access$1100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    172:172:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):676 -> a
    173:180:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):676:683 -> a
    181:181:android.content.Context cn.thinkingdata.analytics.data.DataHandle.access$1000(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    181:181:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):683 -> a
    182:182:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):683:683 -> a
    183:183:boolean cn.thinkingdata.analytics.data.SystemInformation.isOnline():190:190 -> a
    183:183:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):683 -> 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):683 -> a
    191:191:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):687:687 -> a
    192:192:android.content.Context cn.thinkingdata.analytics.data.DataHandle.access$1000(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    192:192:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):687 -> a
    193:193:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):687:687 -> 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):687 -> 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):687 -> a
    196:196:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):688:688 -> a
    197:197:boolean cn.thinkingdata.analytics.data.SystemInformation.isOnline():199:199 -> a
    197:197:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):683 -> a
    198:207:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):692:701 -> a
    208:208:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    208:208:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):701 -> a
    209:210:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):701:702 -> a
    211:211:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    211:211:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):702 -> a
    212:228:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):702:718 -> a
    229:229:android.content.Context cn.thinkingdata.analytics.data.DataHandle.access$1000(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    229:229:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):718 -> a
    230:231:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):718:719 -> a
    232:232:android.content.Context cn.thinkingdata.analytics.data.DataHandle.access$1000(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    232:232:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):719 -> a
    233:267:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):719:753 -> a
    268:268:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    268:268:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):753 -> a
    269:270:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):753:754 -> a
    271:271:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    271:271:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):754 -> a
    272:275:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):755:758 -> a
    276:276:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):757:757 -> a
    277:277:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):756:756 -> a
    278:288:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):743:753 -> a
    289:289:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    289:289:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):753 -> a
    290:291:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):753:754 -> a
    292:292:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    292:292:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):754 -> a
    293:296:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):755:758 -> a
    297:297:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):757:757 -> a
    298:298:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):756:756 -> a
    299:321:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):740:762 -> a
    322:338:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):737:753 -> a
    339:339:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    339:339:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):753 -> a
    340:341:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):753:754 -> a
    342:342:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    342:342:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):754 -> a
    343:346:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):755:758 -> a
    347:347:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):757:757 -> a
    348:348:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):756:756 -> a
    349:363:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):735:749 -> a
    364:379:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):747:762 -> a
    380:380:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):753:753 -> a
    381:381:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    381:381:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):753 -> a
    382:383:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):753:754 -> a
    384:384:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    384:384:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):754 -> a
    385:388:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):755:758 -> a
    389:401:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):757:769 -> a
    402:402:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):756:756 -> a
    403:403:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):704:704 -> a
    404:404:void sendData(java.lang.String,cn.thinkingdata.analytics.TDConfig):677:677 -> a
    405:405:void handleSDKError(java.lang.String,int,java.lang.String,java.lang.String):774:774 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"}
    406:406:android.content.Context cn.thinkingdata.analytics.data.DataHandle.access$1000(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    406:406:void handleSDKError(java.lang.String,int,java.lang.String,java.lang.String):774 -> a
    407:408:void handleSDKError(java.lang.String,int,java.lang.String,java.lang.String):774:775 -> a
    409:409:android.content.Context cn.thinkingdata.analytics.data.DataHandle.access$1000(cn.thinkingdata.analytics.data.DataHandle):49:49 -> a
    409:409:void handleSDKError(java.lang.String,int,java.lang.String,java.lang.String):775 -> a
    410:412:void handleSDKError(java.lang.String,int,java.lang.String,java.lang.String):775:777 -> a
    413:414:java.util.Map createExtraHeaders(int,boolean):793:794 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(IZ)Ljava/util/HashMap;"}
    415:415:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getLibName():72:72 -> a
    415:415:java.util.Map createExtraHeaders(int,boolean):794 -> a
    416:417:java.util.Map createExtraHeaders(int,boolean):794:795 -> a
    418:418:java.lang.String cn.thinkingdata.analytics.data.SystemInformation.getLibVersion():76:76 -> a
    418:418:java.util.Map createExtraHeaders(int,boolean):795 -> a
    419:423:java.util.Map createExtraHeaders(int,boolean):795:799 -> 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):417:418 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/data/f;Landroid/os/Looper;)V"}
    1:116:void handleMessage(android.os.Message):423:538 -> handleMessage
    117:117:android.content.Context cn.thinkingdata.analytics.data.DataHandle.access$1000(cn.thinkingdata.analytics.data.DataHandle):49:49 -> handleMessage
    117:117:void handleMessage(android.os.Message):538 -> handleMessage
    118:119:void handleMessage(android.os.Message):538:539 -> handleMessage
    120:120:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> handleMessage
    120:120:void handleMessage(android.os.Message):539 -> handleMessage
    121:122:void handleMessage(android.os.Message):539:540 -> handleMessage
    123:123:cn.thinkingdata.analytics.data.DatabaseAdapter cn.thinkingdata.analytics.data.DataHandle.access$100(cn.thinkingdata.analytics.data.DataHandle):49:49 -> handleMessage
    123:123:void handleMessage(android.os.Message):540 -> handleMessage
    124:124:void handleMessage(android.os.Message):541:541 -> handleMessage
    125:125:long cn.thinkingdata.analytics.data.TDContextConfig.getDataExpiration():85:85 -> handleMessage
    125:125:void handleMessage(android.os.Message):541 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    126:129:void handleMessage(android.os.Message):540:543 -> handleMessage
    130:130:void handleMessage(android.os.Message):543:543 -> handleMessage
    131:135:void handleMessage(android.os.Message):498:502 -> handleMessage
    136:136:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    136:136:void handleMessage(android.os.Message):502 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    137:137:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    137:137:void handleMessage(android.os.Message):502 -> handleMessage
    138:139:void handleMessage(android.os.Message):503:504 -> handleMessage
    140:140:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):108:108 -> handleMessage
    140:140:void handleMessage(android.os.Message):504 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    141:141:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):108:108 -> handleMessage
    141:141:void handleMessage(android.os.Message):504 -> handleMessage
    142:146:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.saveToDatabase(cn.thinkingdata.analytics.data.DataDescription):167:171 -> handleMessage
    142:146:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):108 -> handleMessage
    142:146:void handleMessage(android.os.Message):504 -> handleMessage
    147:166:void handleMessage(android.os.Message):507:526 -> handleMessage
    167:171:void handleMessage(android.os.Message):524:528 -> handleMessage
    172:172:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):108:108 -> handleMessage
    172:172:void handleMessage(android.os.Message):528 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    173:173:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):108:108 -> handleMessage
    173:173:void handleMessage(android.os.Message):528 -> handleMessage
    174:178:void cn.thinkingdata.analytics.data.DataHandle$SaveMessageWorker.saveToDatabase(cn.thinkingdata.analytics.data.DataDescription):167:171 -> handleMessage
    174:178:void cn.thinkingdata.analytics.data.DataHandle.saveClickData(cn.thinkingdata.analytics.data.DataDescription):108 -> handleMessage
    174:178:void handleMessage(android.os.Message):528 -> handleMessage
    179:179:void handleMessage(android.os.Message):533:533 -> handleMessage
    180:185:void handleMessage(android.os.Message):484:489 -> handleMessage
    186:186:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    186:186:void handleMessage(android.os.Message):489 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    187:187:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    187:187:void handleMessage(android.os.Message):489 -> handleMessage
    188:192:void handleMessage(android.os.Message):489:493 -> handleMessage
    193:193:void handleMessage(android.os.Message):491:491 -> handleMessage
    194:198:void handleMessage(android.os.Message):473:477 -> handleMessage
    199:199:java.lang.Object cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.access$400(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker):318:318 -> handleMessage
    199:199:void handleMessage(android.os.Message):477 -> handleMessage
    200:202:void handleMessage(android.os.Message):477:479 -> handleMessage
    203:203:void handleMessage(android.os.Message):479:479 -> handleMessage
    204:204:void handleMessage(android.os.Message):455:455 -> handleMessage
    205:205:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    205:205:void handleMessage(android.os.Message):455 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    206:206:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    206:206:void handleMessage(android.os.Message):455 -> handleMessage
    207:211:void handleMessage(android.os.Message):457:461 -> handleMessage
    212:212:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.access$700(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,java.lang.String,cn.thinkingdata.analytics.TDConfig):318:318 -> handleMessage
    212:212:void handleMessage(android.os.Message):461 -> handleMessage
    213:214:void handleMessage(android.os.Message):463:464 -> handleMessage
    215:217:void handleMessage(android.os.Message):463:465 -> handleMessage
    218:219:void handleMessage(android.os.Message):425:426 -> handleMessage
    220:220:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    220:220:void handleMessage(android.os.Message):426 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    221:221:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    221:221:void handleMessage(android.os.Message):426 -> handleMessage
    222:225:void handleMessage(android.os.Message):428:431 -> handleMessage
    226:226:java.lang.Object cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.access$400(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker):318:318 -> handleMessage
    226:226:void handleMessage(android.os.Message):431 -> handleMessage
    227:231:void handleMessage(android.os.Message):431:435 -> handleMessage
    232:232:android.os.Handler cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.access$500(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker):318:318 -> handleMessage
    232:232:void handleMessage(android.os.Message):435 -> handleMessage
    233:238:void handleMessage(android.os.Message):435:440 -> handleMessage
    239:239:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.access$600(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig):318:318 -> handleMessage
    239:239:void handleMessage(android.os.Message):440 -> handleMessage
    240:240:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.sendData(cn.thinkingdata.analytics.TDConfig):661:661 -> handleMessage
    240:240:void cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.access$600(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker,cn.thinkingdata.analytics.TDConfig):318 -> handleMessage
    240:240:void handleMessage(android.os.Message):440 -> handleMessage
    241:242:void handleMessage(android.os.Message):442:443 -> handleMessage
    243:246:void handleMessage(android.os.Message):442:445 -> handleMessage
    247:251:void handleMessage(android.os.Message):444:448 -> handleMessage
    252:252:java.lang.Object cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker.access$400(cn.thinkingdata.analytics.data.DataHandle$SendMessageWorker):318:318 -> handleMessage
    252:252:void handleMessage(android.os.Message):448 -> handleMessage
    253:255:void handleMessage(android.os.Message):448:450 -> handleMessage
    256:256:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    256:256:int cn.thinkingdata.analytics.data.DataHandle.getFlushInterval(java.lang.String):306 -> handleMessage
    256:256:void handleMessage(android.os.Message):450 -> handleMessage
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    257:257:cn.thinkingdata.analytics.TDConfig cn.thinkingdata.analytics.data.DataHandle.getConfig(java.lang.String):94:94 -> handleMessage
    257:257:int cn.thinkingdata.analytics.data.DataHandle.getFlushInterval(java.lang.String):306 -> handleMessage
    257:257:void handleMessage(android.os.Message):450 -> handleMessage
    258:258:int cn.thinkingdata.analytics.data.DataHandle.getFlushInterval(java.lang.String):308:308 -> handleMessage
    258:258:void handleMessage(android.os.Message):450 -> handleMessage
    259:260:void handleMessage(android.os.Message):450:451 -> handleMessage
    261:261:void handleMessage(android.os.Message):451:451 -> handleMessage
    262:262:void handleMessage(android.os.Message):437:437 -> 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":"(ILjava/lang/String;Ljava/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):733:733 -> 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):725:725 -> a
    65:65:java.lang.String getDisk(android.content.Context,boolean):307 -> a
    66:66:double cn.thinkingdata.analytics.utils.TDUtils.formatNumber(double):725:725 -> 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):725:725 -> c
    8:8:java.lang.String getRAM(android.content.Context):231 -> c
    9:9:double cn.thinkingdata.analytics.utils.TDUtils.formatNumber(double):725:725 -> 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/u;"}
    cn.thinkingdata.analytics.utils.ITime val$time -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/n;"}
    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/u;Lcn/thinkingdata/analytics/utils/n;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":"(Lcn/thinkingdata/analytics/TDConfig;Ljava/lang/String;)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):711:714 -> 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/m;"}
    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/n;"}
    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/x;"}
    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>():31:31 -> <clinit>
    1:3:java.lang.String getMainProcessName(android.content.Context):45:47 -> a
    4:4:java.lang.String cn.thinkingdata.analytics.data.TDContextConfig.getMainProcessName():76:76 -> a
    4:4:java.lang.String getMainProcessName(android.content.Context):48 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:7:java.lang.String getMainProcessName(android.content.Context):49:51 -> a
    8:19:org.json.JSONObject cloneJsonObject(org.json.JSONObject):118:129 -> a
    20:28:org.json.JSONArray cloneJsonArray(org.json.JSONArray):140:148 -> a
    29:31:void handleSDKError(cn.thinkingdata.analytics.ThinkingAnalyticsSDK,int,java.lang.String,java.lang.String):157:159 -> a
cn.thinkingdata.analytics.utils.CommonUtil$1 -> cn.thinkingdata.analytics.utils.b:
# {"id":"sourceFile","fileName":"CommonUtil.java"}
    1:1:void <init>():68:68 -> <init>
    1:17:void doFrame(long):71:87 -> doFrame
    18:18:void doFrame(long):87:87 -> 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):91:91 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/utils/b;)V"}
    1:4:void doFrame(long):94:97 -> doFrame
    5:5:void doFrame(long):97:97 -> 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):101:101 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Landroid/os/Handler;Lcn/thinkingdata/analytics/utils/c;)V"}
    1:2:void run():104:105 -> 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.j:
# {"id":"sourceFile","fileName":"DNSServiceManager.java"}
    java.util.Map mUrlIpMap -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Ljava/util/concurrent/ConcurrentHashMap;"}
    java.util.List dnsList -> b
    long lastEnableTime -> c
    1:16:void <init>():29:44 -> <init>
    1:10:void enableDNSService(java.util.List,java.util.List):49:58 -> a
    11:24:void requestDNSUrl(int,java.lang.String):64:77 -> a
    25:33:java.lang.String getDNSUrl(cn.thinkingdata.analytics.TDConfig$TDDNSService):123:131 -> a
    25:33:void requestDNSUrl(int,java.lang.String):77 -> a
    34:34:java.lang.String getDNSUrl(cn.thinkingdata.analytics.TDConfig$TDDNSService):129:129 -> a
    34:34:void requestDNSUrl(int,java.lang.String):77 -> a
    35:35:java.lang.String getDNSUrl(cn.thinkingdata.analytics.TDConfig$TDDNSService):127:127 -> a
    35:35:void requestDNSUrl(int,java.lang.String):77 -> a
    36:49:void requestDNSUrl(int,java.lang.String):78:91 -> a
cn.thinkingdata.analytics.utils.DNSServiceManager$1 -> cn.thinkingdata.analytics.utils.g:
# {"id":"sourceFile","fileName":"DNSServiceManager.java"}
    int val$finalIndex -> a
    java.lang.String val$finalUrl -> b
    java.lang.String val$finalHost -> c
    cn.thinkingdata.analytics.utils.DNSServiceManager this$0 -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/j;"}
    1:1:void <init>(cn.thinkingdata.analytics.utils.DNSServiceManager,int,java.lang.String,java.lang.String):91:91 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/utils/j;ILjava/lang/String;Ljava/lang/String;)V"}
    1:1:void onFailure(int,java.lang.String):94:94 -> onFailure
    2:2:void cn.thinkingdata.analytics.utils.DNSServiceManager.access$000(cn.thinkingdata.analytics.utils.DNSServiceManager,int,java.lang.String):29:29 -> onFailure
    2:2:void onFailure(int,java.lang.String):94 -> onFailure
    1:9:void onSuccess(cn.thinkingdata.core.network.TDNetResponse):100:108 -> onSuccess
    10:10:java.util.Map cn.thinkingdata.analytics.utils.DNSServiceManager.access$100(cn.thinkingdata.analytics.utils.DNSServiceManager):29:29 -> onSuccess
    10:10:void onSuccess(cn.thinkingdata.core.network.TDNetResponse):108 -> onSuccess
    11:18:void onSuccess(cn.thinkingdata.core.network.TDNetResponse):108:115 -> onSuccess
    19:19:void cn.thinkingdata.analytics.utils.DNSServiceManager.access$000(cn.thinkingdata.analytics.utils.DNSServiceManager,int,java.lang.String):29:29 -> onSuccess
    19:19:void onSuccess(cn.thinkingdata.core.network.TDNetResponse):115 -> 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>():123:123 -> <clinit>
cn.thinkingdata.analytics.utils.DNSServiceManager$UrlInfo -> cn.thinkingdata.analytics.utils.i:
# {"id":"sourceFile","fileName":"DNSServiceManager.java"}
    java.lang.String ip -> a
    java.lang.String host -> b
    1:3:void <init>(java.lang.String,java.lang.String):38:40 -> <init>
cn.thinkingdata.analytics.utils.HttpService -> cn.thinkingdata.analytics.utils.l:
# {"id":"sourceFile","fileName":"HttpService.java"}
    1:1:void <init>():34:34 -> <init>
    1:19:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):41:59 -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/TDConfig;Ljava/lang/String;Ljava/util/HashMap;)Ljava/lang/String;"}
    20:20:java.lang.String cn.thinkingdata.analytics.utils.DNSServiceManager.getHostByUrl(java.lang.String):150:150 -> a
    20:20:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):59 -> a
    21:22:java.lang.String cn.thinkingdata.analytics.utils.DNSServiceManager.getHostByUrl(java.lang.String):150:151 -> a
    21:22:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):59 -> a
    23:137:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):60:174 -> a
    138:180:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):132:174 -> a
    181:181:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):136:136 -> a
    182:260:java.lang.String performRequest(cn.thinkingdata.analytics.TDConfig,java.lang.String,java.util.Map):98:176 -> a
    261:267:java.lang.String encodeData(java.lang.String):180:186 -> a
    268:274:java.lang.String getClientUrl(cn.thinkingdata.analytics.TDConfig):190:196 -> a
    275:275:java.lang.String cn.thinkingdata.analytics.utils.DNSServiceManager.getIpByUrl(java.lang.String):140:140 -> a
    275:275:java.lang.String getClientUrl(cn.thinkingdata.analytics.TDConfig):196 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    276:277:java.lang.String cn.thinkingdata.analytics.utils.DNSServiceManager.getIpByUrl(java.lang.String):140:141 -> a
    276:277:java.lang.String getClientUrl(cn.thinkingdata.analytics.TDConfig):196 -> a
    278:279:java.lang.String getClientUrl(cn.thinkingdata.analytics.TDConfig):197:198 -> a
    280:280:java.lang.String cn.thinkingdata.analytics.utils.DNSServiceManager.getHostByUrl(java.lang.String):150:150 -> a
    280:280:java.lang.String getClientUrl(cn.thinkingdata.analytics.TDConfig):198 -> a
    281:282:java.lang.String cn.thinkingdata.analytics.utils.DNSServiceManager.getHostByUrl(java.lang.String):150:151 -> a
    281:282:java.lang.String getClientUrl(cn.thinkingdata.analytics.TDConfig):198 -> a
    283:287:java.lang.String getClientUrl(cn.thinkingdata.analytics.TDConfig):199:203 -> a
cn.thinkingdata.analytics.utils.HttpService$1 -> cn.thinkingdata.analytics.utils.k:
# {"id":"sourceFile","fileName":"HttpService.java"}
    java.lang.String val$finalHost -> a
    1:1:void <init>(cn.thinkingdata.analytics.utils.HttpService,java.lang.String):70:70 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Ljava/lang/String;)V"}
    1:1:boolean verify(java.lang.String,javax.net.ssl.SSLSession):73:73 -> verify
cn.thinkingdata.analytics.utils.ICalibratedTime -> cn.thinkingdata.analytics.utils.m:
# {"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.n:
# {"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.p:
# {"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/o;"}
    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.o:
# {"id":"sourceFile","fileName":"PropertyUtils.java"}
    1:4:void <init>():28:31 -> <init>
cn.thinkingdata.analytics.utils.RemoteService$ServiceUnavailableException -> cn.thinkingdata.analytics.utils.q:
# {"id":"sourceFile","fileName":"RemoteService.java"}
    1:1:void <init>(java.lang.String):26:26 -> <init>
cn.thinkingdata.analytics.utils.TDCalibratedTime -> cn.thinkingdata.analytics.utils.r:
# {"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.t:
# {"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.s:
# {"id":"sourceFile","fileName":"TDCalibratedTimeWithNTP.java"}
    cn.thinkingdata.analytics.utils.TDNTPClient ntpClient -> a
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/w;"}
    cn.thinkingdata.analytics.utils.TDCalibratedTimeWithNTP this$0 -> b
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/t;"}
    1:2:void <init>(cn.thinkingdata.analytics.utils.TDCalibratedTimeWithNTP):26:27 -> <init>
      # {"id":"com.android.tools.r8.residualsignature","signature":"(Lcn/thinkingdata/analytics/utils/t;)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.u:
# {"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/u;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType TRACK_UPDATE -> c
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/u;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType TRACK_OVERWRITE -> d
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/u;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType USER_ADD -> e
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/u;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType USER_SET -> f
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/u;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType USER_SET_ONCE -> g
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/u;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType USER_UNSET -> h
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/u;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType USER_APPEND -> i
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/u;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType USER_DEL -> j
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/u;"}
    cn.thinkingdata.analytics.utils.TDConstants$DataType USER_UNIQ_APPEND -> k
      # {"id":"com.android.tools.r8.residualsignature","signature":"Lcn/thinkingdata/analytics/utils/u;"}
    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/u;"}
    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/u;"}
    1:1:cn.thinkingdata.analytics.utils.TDConstants$DataType[] values():18:18 -> values
      # {"id":"com.android.tools.r8.residualsignature","signature":"()[Lcn/thinkingdata/analytics/utils/u;"}
cn.thinkingdata.analytics.utils.TDDebugException -> cn.thinkingdata.analytics.utils.v:
# {"id":"sourceFile","fileName":"TDDebugException.java"}
    1:1:void <init>(java.lang.String):12:12 -> <init>
cn.thinkingdata.analytics.utils.TDNTPClient -> cn.thinkingdata.analytics.utils.w:
# {"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.x:
# {"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):681:682 -> 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.y:
# {"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/m;"}
    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/m;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):681:682 -> 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.z:
# {"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.A:
# {"id":"sourceFile","fileName":"TDUtils.java"}
    1:5:int getChildIndex(android.view.ViewParent,android.view.View):73:77 -> a
    6:6:java.lang.String getViewId(android.view.View):340:340 -> a
    6:6:int getChildIndex(android.view.ViewParent,android.view.View):78 -> a
    7:10:int getChildIndex(android.view.ViewParent,android.view.View):80:83 -> 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):85 -> a
    14:14:java.lang.String getViewId(android.view.View):340:340 -> a
    14:14:int getChildIndex(android.view.ViewParent,android.view.View):89 -> a
    15:15:int getChildIndex(android.view.ViewParent,android.view.View):91:91 -> 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):85 -> a
    21:21:int getChildIndex(android.view.ViewParent,android.view.View):105:105 -> a
    22:45:void addViewPathProperties(android.app.Activity,android.view.View,org.json.JSONObject):128:151 -> 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):165:243 -> a
    125:145:java.lang.String getTitleFromFragment(java.lang.Object,java.lang.String):289:309 -> a
    146:158:android.app.Activity getActivityFromContext(android.content.Context):322:334 -> a
    159:162:java.lang.String getViewId(android.view.View,java.lang.String):354:357 -> a
    163:179:java.lang.String getActivityTitle(android.app.Activity):377:393 -> a
    180:186:void setTag(java.lang.String,android.view.View,int,java.lang.Object):423:429 -> a
    187:191:java.lang.Object getTag(java.lang.String,android.view.View,int):441:445 -> a
    192:216:void getScreenNameAndTitleFromActivity(org.json.JSONObject,android.app.Activity):461:485 -> a
    217:237:void mergeJSONObject(org.json.JSONObject,org.json.JSONObject,java.util.TimeZone):547:567 -> a
    238:259:org.json.JSONArray formatJSONArray(org.json.JSONArray,java.util.TimeZone):608:629 -> a
    260:286:org.json.JSONObject formatJSONObject(org.json.JSONObject,java.util.TimeZone):645:671 -> a
    287:299:java.lang.String formatTime(java.util.Date,java.util.TimeZone):816:828 -> a
    300:300:java.lang.String formatTime(java.util.Date,java.util.TimeZone):821:821 -> a
    1:20:void getFragmentNameFromView(android.view.View,org.json.JSONObject):256:275 -> b
    21:49:java.lang.String getToolbarTitle(android.app.Activity):497:525 -> b
    50:56:android.util.Pair getInstallInfo(android.content.Context):835:841 -> b
    1:13:boolean isForeground(android.content.Context):744:756 -> 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/u;"}
    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
