# compiler: R8 # compiler_version: 2.1.86 # pg_map_id: b42582e # common_typos_disable ai.neuvision.api2.base.AudioFrame -> ai.neuvision.api2.base.AudioFrame: 1:8:void (java.nio.ByteBuffer,byte[],int,int,int,int,long):14:21 -> 1:1:java.lang.String toString():25:25 -> toString ai.neuvision.api2.rtc.Constants -> ai.neuvision.api2.rtc.Constants: 1:1:void ():511:511 -> ai.neuvision.api2.rtc.Constants$AudioProfile -> ai.neuvision.api2.rtc.Constants$AudioProfile: 1:6:void ():534:539 -> 7:7:void ():533:533 -> 1:2:void (java.lang.String,int,int):543:544 -> 1:1:int getValue(ai.neuvision.api2.rtc.Constants$AudioProfile):548:548 -> getValue 1:1:ai.neuvision.api2.rtc.Constants$AudioProfile valueOf(java.lang.String):533:533 -> valueOf 1:1:ai.neuvision.api2.rtc.Constants$AudioProfile[] values():533:533 -> values ai.neuvision.api2.rtc.Constants$AudioScenario -> ai.neuvision.api2.rtc.Constants$AudioScenario: 1:6:void ():515:520 -> 7:7:void ():514:514 -> 1:2:void (java.lang.String,int,int):524:525 -> 1:1:int getValue(ai.neuvision.api2.rtc.Constants$AudioScenario):529:529 -> getValue 1:1:ai.neuvision.api2.rtc.Constants$AudioScenario valueOf(java.lang.String):514:514 -> valueOf 1:1:ai.neuvision.api2.rtc.Constants$AudioScenario[] values():514:514 -> values ai.neuvision.api2.rtc.Constants$MediaType -> ai.neuvision.api2.rtc.Constants$MediaType: 1:4:void ():553:556 -> 5:5:void ():552:552 -> 1:2:void (java.lang.String,int,int):560:561 -> 1:1:int getValue(ai.neuvision.api2.rtc.Constants$MediaType):565:565 -> getValue 1:1:ai.neuvision.api2.rtc.Constants$MediaType valueOf(java.lang.String):552:552 -> valueOf 1:1:ai.neuvision.api2.rtc.Constants$MediaType[] values():552:552 -> values ai.neuvision.api2.rtc.IRtcChannelEventHandler -> ai.neuvision.api2.rtc.IRtcChannelEventHandler: 1:1:void ():5:5 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler -> ai.neuvision.api2.rtc.IRtcEngineEventHandler: 1:1:void ():17:17 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$AgoraFacePositionInfo -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$AgoraFacePositionInfo: 1:1:void ():954:954 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$AudioVolumeInfo -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$AudioVolumeInfo: 1:1:void ():1081:1081 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$ClientRole -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$ClientRole: 1:1:void ():1097:1097 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$ErrorCode -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$ErrorCode: 1:1:void ():1203:1203 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$LastmileProbeResult -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$LastmileProbeResult: 1:1:void ():1033:1033 -> 2:3:void ():1030:1031 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$LastmileProbeResult$LastmileProbeOneWayResult -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$LastmileProbeResult$LastmileProbeOneWayResult: 1:1:void ():1041:1041 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$LocalAudioStats -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$LocalAudioStats: 1:1:void ():982:982 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$LocalVideoStats -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$LocalVideoStats: 1:1:void ():1023:1023 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$Quality -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$Quality: 1:1:void ():1241:1241 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$RemoteAudioStats -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$RemoteAudioStats: 1:1:void ():972:972 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$RemoteVideoStats -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$RemoteVideoStats: 1:1:void ():1003:1003 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$RtcStats -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$RtcStats: 1:1:void ():1071:1071 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$UserOfflineReason -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$UserOfflineReason: 1:1:void ():1089:1089 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$VideoProfile -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$VideoProfile: 1:1:void ():1130:1130 -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$WarnCode -> ai.neuvision.api2.rtc.IRtcEngineEventHandler$WarnCode: 1:1:void ():1228:1228 -> ai.neuvision.api2.rtc.RtcChannel -> ai.neuvision.api2.rtc.RtcChannel: ai.neuvision.api2.rtc.IRtcChannelEventHandler mEventHandler -> a 1:1:void ():14:14 -> 2:2:void ():12:12 -> 1:1:ai.neuvision.api2.rtc.IRtcChannelEventHandler getEventHandler():22:22 -> getEventHandler 1:1:void setRtcChannelEventHandler(ai.neuvision.api2.rtc.IRtcChannelEventHandler):18:18 -> setRtcChannelEventHandler ai.neuvision.api2.rtc.RtcEngine -> ai.neuvision.api2.rtc.RtcEngine: android.app.Application sApplication -> b ai.neuvision.api2.rtc.internal.RtcEngineImpl mInstance -> a 1:1:void ():43:43 -> 1:1:android.view.SurfaceView CreateRendererView(android.content.Context):230:230 -> CreateRendererView 1:4:android.view.TextureView CreateTextureView(android.content.Context):236:239 -> CreateTextureView 5:5:android.view.TextureView CreateTextureView(android.content.Context):237:237 -> CreateTextureView 1:1:void addHandler(ai.neuvision.api2.rtc.IRtcEngineEventHandler):475:475 -> addHandler 1:4:ai.neuvision.api2.rtc.RtcEngine create(android.app.Application,java.lang.String,java.lang.String,java.lang.String,ai.neuvision.api2.rtc.IRtcEngineEventHandler):77:80 -> create 5:8:ai.neuvision.api2.rtc.RtcEngine create(java.lang.String,java.lang.String,ai.neuvision.api2.rtc.IRtcEngineEventHandler):97:100 -> create 9:12:ai.neuvision.api2.rtc.RtcEngine create(ai.neuvision.api2.rtc.RtcEngineConfig):105:108 -> create 1:4:void destroy():115:118 -> destroy 1:1:java.lang.String getErrorDescription(int):487:487 -> getErrorDescription 1:1:java.lang.String getMediaEngineVersion():463:463 -> getMediaEngineVersion 1:1:java.lang.String getSdkVersion():457:457 -> getSdkVersion 1:1:void onApplicationCreate(android.app.Application):126:126 -> onApplicationCreate 2:2:void onApplicationCreate(android.app.Application):124:124 -> onApplicationCreate 1:1:void removeHandler(ai.neuvision.api2.rtc.IRtcEngineEventHandler):479:479 -> removeHandler ai.neuvision.api2.rtc.RtcEngineConfig -> ai.neuvision.api2.rtc.RtcEngineConfig: 1:1:void ():14:14 -> 2:7:void ():7:12 -> ai.neuvision.api2.rtc.RtcEngineConfig$IPAreaCode -> ai.neuvision.api2.rtc.RtcEngineConfig$IPAreaCode: 1:1:void ():26:26 -> ai.neuvision.api2.rtc.internal.EncryptionConfig -> ai.neuvision.api2.rtc.internal.EncryptionConfig: 1:3:void ():7:9 -> ai.neuvision.api2.rtc.internal.EncryptionConfig$EncryptionMode -> ai.neuvision.api2.rtc.internal.EncryptionConfig$EncryptionMode: 1:5:void ():13:17 -> 6:6:void ():12:12 -> 1:2:void (java.lang.String,int,int):21:22 -> 1:1:int getValue():26:26 -> getValue 1:1:ai.neuvision.api2.rtc.internal.EncryptionConfig$EncryptionMode valueOf(java.lang.String):12:12 -> valueOf 1:1:ai.neuvision.api2.rtc.internal.EncryptionConfig$EncryptionMode[] values():12:12 -> values ai.neuvision.api2.rtc.internal.LastmileProbeConfig -> ai.neuvision.api2.rtc.internal.LastmileProbeConfig: 1:1:void ():9:9 -> ai.neuvision.api2.rtc.internal.RtcEngineImpl -> ai.neuvision.api2.rtc.internal.RtcEngineImpl: java.lang.String mUserAccount -> f java.util.HashMap mVideoViewMap -> i boolean mRetryConnecting -> o ai.neuvision.api2.rtc.video.VideoCanvas mLocalVideoCanvas -> B boolean mEnableVideo -> u boolean mDefaultMuteAllRemoteVideoStreams -> w boolean mRetryFailed -> q java.lang.String mChannelName -> t android.app.Activity mActivity -> d long mStartJoinChanelTime -> y ai.neuvision.api2.rtc.IRtcEngineEventHandler mHandler -> c ai.neuvision.sdk.events.NetworkState$NetworkStateTracker mNetworkStateListener -> r android.os.Handler mAndroidHandler -> m java.util.Set mInCallMembers -> k java.lang.String mAppId -> e java.lang.String mAppSecret -> g long mStartCallTime -> j ai.neuvision.sdk.core.state.SessionState mSessionState -> l ai.neuvision.kit.message.interf.IAppMessage mMessageListener -> n boolean mDefaultSpeakerOn -> v boolean mEnableAudioVolumeIndication -> x java.lang.String mOptionalInfo -> s java.lang.Long mUid -> h boolean mJoiningChannel -> z java.lang.String mToken -> A java.lang.Runnable mRetryRunnable -> p 1:1:void (android.app.Application,java.lang.String,java.lang.String,java.lang.String,ai.neuvision.api2.rtc.IRtcEngineEventHandler):316:316 -> 2:268:void (android.app.Application,java.lang.String,java.lang.String,java.lang.String,ai.neuvision.api2.rtc.IRtcEngineEventHandler):84:350 -> 269:269:void (android.app.Application,java.lang.String,java.lang.String,java.lang.String,ai.neuvision.api2.rtc.IRtcEngineEventHandler):331:331 -> 270:270:void (android.app.Application,java.lang.String,java.lang.String,java.lang.String,ai.neuvision.api2.rtc.IRtcEngineEventHandler):327:327 -> 271:271:void (android.app.Application,java.lang.String,java.lang.String,java.lang.String,ai.neuvision.api2.rtc.IRtcEngineEventHandler):318:318 -> 272:272:void (ai.neuvision.api2.rtc.RtcEngineConfig):388:388 -> 1:1:boolean access$002(ai.neuvision.api2.rtc.internal.RtcEngineImpl,boolean):76:76 -> a 2:3:void lambda$new$1(android.net.NetworkInfo):268:269 -> a 4:4:void retryJoinChannel():495:495 -> a 4:4:void lambda$new$1(android.net.NetworkInfo):270 -> a 5:24:void lambda$new$1(android.net.NetworkInfo):271:290 -> a 25:27:void lambda$null$0():280:282 -> a 28:37:int login(java.lang.String,java.lang.String,java.lang.String,ai.neuvision.api2.rtc.IRtcEngineEventHandler):355:364 -> a 38:49:void muteVideo(long,boolean,android.app.Activity):1528:1539 -> a 50:53:void muteVideo(long,boolean,android.app.Activity):1531:1534 -> a 54:54:void delayDevelopMethod(java.lang.String):2411:2411 -> a 1:1:int addInjectStreamUrl(java.lang.String,ai.neuvision.api2.rtc.live.LiveInjectStreamConfig):2106:2106 -> addInjectStreamUrl 1:1:int addPublishStreamUrl(java.lang.String,boolean):2118:2118 -> addPublishStreamUrl 1:1:int addVideoWatermark(ai.neuvision.api2.rtc.video.AgoraImage):2032:2032 -> addVideoWatermark 2:2:int addVideoWatermark(java.lang.String,ai.neuvision.api2.rtc.video.WatermarkOptions):2038:2038 -> addVideoWatermark 1:1:int adjustAudioMixingPlayoutVolume(int):1809:1809 -> adjustAudioMixingPlayoutVolume 1:1:int adjustAudioMixingPublishVolume(int):1815:1815 -> adjustAudioMixingPublishVolume 1:1:int adjustAudioMixingVolume(int):1803:1803 -> adjustAudioMixingVolume 1:1:android.app.Activity getActivity():1578:1578 -> adjustPlaybackSignalVolume 1:1:int adjustPlaybackSignalVolume(int):854 -> adjustPlaybackSignalVolume 2:3:int adjustPlaybackSignalVolume(int):858:859 -> adjustPlaybackSignalVolume 1:1:int adjustRecordingSignalVolume(int):832:832 -> adjustRecordingSignalVolume 1:1:int adjustUserPlaybackSignalVolume(long,int):995:995 -> adjustUserPlaybackSignalVolume 1:1:boolean access$102(ai.neuvision.api2.rtc.internal.RtcEngineImpl,boolean):76:76 -> b 2:2:void deprecatedMethod(java.lang.String):2402:2402 -> b 1:1:boolean access$202(ai.neuvision.api2.rtc.internal.RtcEngineImpl,boolean):76:76 -> c 2:2:void showLog(java.lang.String):2416:2416 -> c 1:1:int clearVideoWatermarks():2044:2044 -> clearVideoWatermarks 1:1:int complain(java.lang.String,java.lang.String):2297:2297 -> complain 1:1:int createDataStream(boolean,boolean):2136:2136 -> createDataStream 1:1:ai.neuvision.api2.rtc.RtcChannel createRtcChannel(java.lang.String):2397:2397 -> createRtcChannel 1:2:ai.neuvision.sdk.api.NeuVideoView createTextureView(android.app.Activity):2453:2454 -> createTextureView 1:1:void unSupportMethod(java.lang.String):2406:2406 -> d 1:1:int disableLastmileTest():1905:1905 -> disableLastmileTest 1:3:int disableVideo():1088:1090 -> disableVideo 1:19:void doDestroy():405:423 -> doDestroy 1:1:int enableAudioQualityIndication(boolean):892:892 -> enableAudioQualityIndication 1:1:int enableAudioVolumeIndication(int,int,boolean):884:884 -> enableAudioVolumeIndication 1:1:int enableDualStreamMode(boolean):2068:2068 -> enableDualStreamMode 1:1:int enableEncryption(boolean,ai.neuvision.api2.rtc.internal.EncryptionConfig):2100:2100 -> enableEncryption 1:1:int enableFaceDetection(boolean):2257:2257 -> enableFaceDetection 1:1:boolean enableHighPerfWifiMode(boolean):2327:2327 -> enableHighPerfWifiMode 1:1:int enableInEarMonitoring(boolean):1706:1706 -> enableInEarMonitoring 1:1:int enableLastmileTest():1899:1899 -> enableLastmileTest 1:1:int enableLocalAudio(boolean):920:920 -> enableLocalAudio 1:1:android.app.Activity getActivity():1578:1578 -> enableLocalVideo 1:1:int enableLocalVideo(boolean):1464 -> enableLocalVideo 2:2:int enableLocalVideo(boolean):1468:1468 -> enableLocalVideo 1:1:int enableSoundPositionIndication(boolean):1767:1767 -> enableSoundPositionIndication 1:3:int enableVideo():1062:1064 -> enableVideo 1:1:int enableWebSdkInteroperability(boolean):723:723 -> enableWebSdkInteroperability 1:1:ai.neuvision.api2.rtc.IAudioEffectManager getAudioEffectManager():1857:1857 -> getAudioEffectManager 1:1:int getAudioMixingCurrentPosition():1839:1839 -> getAudioMixingCurrentPosition 1:1:int getAudioMixingDuration():1833:1833 -> getAudioMixingDuration 1:1:int getAudioMixingPlayoutVolume():1821:1821 -> getAudioMixingPlayoutVolume 1:1:int getAudioMixingPublishVolume():1827:1827 -> getAudioMixingPublishVolume 1:1:java.lang.String getCallId():2286:2286 -> getCallId 1:1:float getCameraMaxZoomFactor():2239:2239 -> getCameraMaxZoomFactor 1:9:int getConnectionState():737:745 -> getConnectionState 1:1:long getNativeHandle():2321:2321 -> getNativeHandle 1:1:java.lang.String getParameter(java.lang.String,java.lang.String):2355:2355 -> getParameter 1:1:long getUid():2449:2449 -> getUid 1:1:int getUserInfoByUid(long,ai.neuvision.api2.rtc.models.UserInfo):717:717 -> getUserInfoByUid 1:1:boolean isCameraAutoFocusFaceModeSupported():2227:2227 -> isCameraAutoFocusFaceModeSupported 1:1:boolean isCameraExposurePositionSupported():2221:2221 -> isCameraExposurePositionSupported 1:1:boolean isCameraFocusSupported():2215:2215 -> isCameraFocusSupported 1:1:boolean isCameraTorchSupported():2209:2209 -> isCameraTorchSupported 1:1:boolean isCameraZoomSupported():2203:2203 -> isCameraZoomSupported 1:1:boolean isLoginSuccess():2439:2439 -> isLoginSuccess 1:1:boolean isSpeakerphoneEnabled():1686:1686 -> isSpeakerphoneEnabled 1:1:boolean isTextureEncodeSupported():2002:2002 -> isTextureEncodeSupported 1:10:int joinChannel(java.lang.String,java.lang.String,java.lang.String,long):481:490 -> joinChannel 1:1:int joinChannelWithUserAccount(java.lang.String,java.lang.String,java.lang.String):667:667 -> joinChannelWithUserAccount 1:1:int leaveChannel():529:529 -> leaveChannel 1:1:void monitorBluetoothHeadsetEvent(boolean):2338:2338 -> monitorBluetoothHeadsetEvent 1:1:void monitorHeadsetEvent(boolean):2333:2333 -> monitorHeadsetEvent 1:1:android.app.Activity getActivity():1578:1578 -> muteAllRemoteVideoStreams 1:1:int muteAllRemoteVideoStreams(boolean):1560 -> muteAllRemoteVideoStreams 2:8:int muteAllRemoteVideoStreams(boolean):1564:1570 -> muteAllRemoteVideoStreams 1:4:int muteLocalAudioStream(boolean):944:947 -> muteLocalAudioStream 1:1:android.app.Activity getActivity():1578:1578 -> muteLocalVideoStream 1:1:int muteLocalVideoStream(boolean):1491 -> muteLocalVideoStream 2:2:int muteLocalVideoStream(boolean):1495:1495 -> muteLocalVideoStream 1:1:android.app.Activity getActivity():1578:1578 -> muteRemoteVideoStream 1:1:int muteRemoteVideoStream(long,boolean):1516 -> muteRemoteVideoStream 2:5:int muteRemoteVideoStream(long,boolean):1520:1523 -> muteRemoteVideoStream 1:1:int pauseAudio():796:796 -> pauseAudio 1:1:int pauseAudioMixing():1791:1791 -> pauseAudioMixing 1:1:int pullPlaybackAudioFrame(byte[],int):1973:1973 -> pullPlaybackAudioFrame 1:1:int pushExternalAudioFrame(byte[],long):1985:1985 -> pushExternalAudioFrame 1:1:boolean pushExternalVideoFrame(ai.neuvision.api2.rtc.video.AgoraVideoFrame):1996:1996 -> pushExternalVideoFrame 1:1:int rate(java.lang.String,int,java.lang.String):2291:2291 -> rate 1:1:int registerAudioFrameObserver(ai.neuvision.api2.rtc.IAudioFrameObserver):2008:2008 -> registerAudioFrameObserver 1:23:int registerLocalUserAccount(java.lang.String,java.lang.String,java.lang.String):596:618 -> registerLocalUserAccount 1:1:int registerMediaMetadataObserver(ai.neuvision.api2.rtc.IMetadataObserver,int):2361:2361 -> registerMediaMetadataObserver 1:1:int removeInjectStreamUrl(java.lang.String):2112:2112 -> removeInjectStreamUrl 1:1:int removePublishStreamUrl(java.lang.String):2124:2124 -> removePublishStreamUrl 1:1:int renewToken(java.lang.String):552:552 -> renewToken 1:1:int resumeAudio():802:802 -> resumeAudio 1:1:int resumeAudioMixing():1797:1797 -> resumeAudioMixing 1:1:int retryLogin():2429:2429 -> retryLogin 1:1:int sendCustomReportMessage(java.lang.String,java.lang.String,java.lang.String,java.lang.String,int):440:440 -> sendCustomReportMessage 1:6:int sendStreamMessage(int,byte[]):2162:2167 -> sendStreamMessage 1:1:int setAudioMixingPitch(int):1851:1851 -> setAudioMixingPitch 1:1:int setAudioMixingPosition(int):1845:1845 -> setAudioMixingPosition 1:1:int setAudioProfile(int,int):807:807 -> setAudioProfile 1:1:int setBeautyEffectOptions(boolean,ai.neuvision.api2.rtc.video.BeautyOptions):1604:1604 -> setBeautyEffectOptions 1:1:int setCameraAutoFocusFaceModeEnabled(boolean):2269:2269 -> setCameraAutoFocusFaceModeEnabled 1:1:int setCameraCapturerConfiguration(ai.neuvision.api2.rtc.video.CameraCapturerConfiguration):1209:1209 -> setCameraCapturerConfiguration 1:1:int setCameraExposurePosition(float,float):2251:2251 -> setCameraExposurePosition 1:1:int setCameraFocusPositionInPreview(float,float):2245:2245 -> setCameraFocusPositionInPreview 1:1:int setCameraTorchOn(boolean):2263:2263 -> setCameraTorchOn 1:1:int setCameraZoomFactor(float):2233:2233 -> setCameraZoomFactor 1:1:int setChannelProfile(int):428:428 -> setChannelProfile 1:1:int setClientRole(int):434:434 -> setClientRole 1:3:int setDefaultAudioRoutetoSpeakerphone(boolean):1633:1635 -> setDefaultAudioRoutetoSpeakerphone 1:2:int setDefaultMuteAllRemoteVideoStreams(boolean):1598:1599 -> setDefaultMuteAllRemoteVideoStreams 1:6:int setEnableSpeakerphone(boolean):1662:1667 -> setEnableSpeakerphone 1:1:int setEncryptionMode(java.lang.String):2094:2094 -> setEncryptionMode 1:1:int setEncryptionSecret(java.lang.String):2087:2087 -> setEncryptionSecret 1:1:int setExternalAudioSink(boolean,int,int):1967:1967 -> setExternalAudioSink 1:1:int setExternalAudioSource(boolean,int,int):1979:1979 -> setExternalAudioSource 1:1:void setExternalVideoSource(boolean,boolean,boolean):1991:1991 -> setExternalVideoSource 1:1:int setHighQualityAudioParameters(boolean,boolean,boolean):814:814 -> setHighQualityAudioParameters 1:1:int setInEarMonitoringVolume(int):1723:1723 -> setInEarMonitoringVolume 1:1:int setLiveTranscoding(ai.neuvision.api2.rtc.live.LiveTranscoding):2130:2130 -> setLiveTranscoding 1:1:int setLocalPublishFallbackOption(int):2056:2056 -> setLocalPublishFallbackOption 1:1:int setLocalRenderMode(int):1302:1302 -> setLocalRenderMode 2:2:int setLocalRenderMode(int,int):1332:1332 -> setLocalRenderMode 1:1:int setLocalVideoMirrorMode(int):2181:2181 -> setLocalVideoMirrorMode 1:1:int setLocalVideoRenderer(ai.neuvision.api2.rtc.mediaio.IVideoSink):1945:1945 -> setLocalVideoRenderer 1:1:int setLocalVoiceChanger(int):1755:1755 -> setLocalVoiceChanger 1:1:int setLocalVoiceEqualization(int,int):1743:1743 -> setLocalVoiceEqualization 1:1:int setLocalVoicePitch(double):1737:1737 -> setLocalVoicePitch 1:1:int setLocalVoiceReverb(int,int):1749:1749 -> setLocalVoiceReverb 1:1:int setLocalVoiceReverbPreset(int):1761:1761 -> setLocalVoiceReverbPreset 1:1:int setLogFile(java.lang.String):2303:2303 -> setLogFile 1:1:int setLogFileSize(int):2315:2315 -> setLogFileSize 1:1:int setLogFilter(int):2309:2309 -> setLogFilter 1:1:int setMixedAudioFrameParameters(int,int):2026:2026 -> setMixedAudioFrameParameters 1:1:int setParameters(java.lang.String):2349:2349 -> setParameters 1:1:int setPlaybackAudioFrameParameters(int,int,int,int):2020:2020 -> setPlaybackAudioFrameParameters 1:1:void setPreferHeadset(boolean):2344:2344 -> setPreferHeadset 1:1:int setRecordingAudioFrameParameters(int,int,int,int):2014:2014 -> setRecordingAudioFrameParameters 1:1:int setRemoteDefaultVideoStreamType(int):2080:2080 -> setRemoteDefaultVideoStreamType 1:8:int setRemoteRenderMode(long,int):1355:1362 -> setRemoteRenderMode 9:9:android.app.Activity getActivity():1578:1578 -> setRemoteRenderMode 9:9:int setRemoteRenderMode(long,int):1364 -> setRemoteRenderMode 10:10:int setRemoteRenderMode(long,int):1368:1368 -> setRemoteRenderMode 11:11:int setRemoteRenderMode(long,int,int):1403:1403 -> setRemoteRenderMode 1:1:int setRemoteSubscribeFallbackOption(int):2062:2062 -> setRemoteSubscribeFallbackOption 1:1:int setRemoteUserPriority(long,int):2050:2050 -> setRemoteUserPriority 1:1:int setRemoteVideoRenderer(long,ai.neuvision.api2.rtc.mediaio.IVideoSink):1961:1961 -> setRemoteVideoRenderer 1:1:int setRemoteVideoStreamType(long,int):2074:2074 -> setRemoteVideoStreamType 1:1:int setRemoteVoicePosition(long,double,double):1773:1773 -> setRemoteVoicePosition 1:20:int setVideoEncoderConfiguration(ai.neuvision.api2.rtc.video.VideoEncoderConfiguration):1128:1147 -> setVideoEncoderConfiguration 21:39:int setVideoEncoderConfiguration(ai.neuvision.api2.rtc.video.VideoEncoderConfiguration):1141:1159 -> setVideoEncoderConfiguration 1:1:int setVideoProfile(int,boolean):1097:1097 -> setVideoProfile 2:2:int setVideoProfile(int,int,int,int):1104:1104 -> setVideoProfile 1:1:int setVideoQualityParameters(boolean):2174:2174 -> setVideoQualityParameters 1:1:int setVideoSource(ai.neuvision.api2.rtc.mediaio.IVideoSource):1931:1931 -> setVideoSource 1:7:int setupLocalVideo(ai.neuvision.api2.rtc.video.VideoCanvas):1233:1239 -> setupLocalVideo 1:10:int setupRemoteVideo(ai.neuvision.api2.rtc.video.VideoCanvas):1261:1270 -> setupRemoteVideo 11:11:android.app.Activity getActivity():1578:1578 -> setupRemoteVideo 11:11:int setupRemoteVideo(ai.neuvision.api2.rtc.video.VideoCanvas):1271 -> setupRemoteVideo 12:14:int setupRemoteVideo(ai.neuvision.api2.rtc.video.VideoCanvas):1275:1277 -> setupRemoteVideo 1:1:int startAudioMixing(java.lang.String,boolean,boolean,int):1779:1779 -> startAudioMixing 1:1:int startAudioRecording(java.lang.String,int):1863:1863 -> startAudioRecording 2:2:int startAudioRecording(java.lang.String,int,int):1869:1869 -> startAudioRecording 1:1:int startChannelMediaRelay(ai.neuvision.api2.rtc.video.ChannelMediaRelayConfiguration):2367:2367 -> startChannelMediaRelay 1:1:int startDumpVideoReceiveTrack(int,java.lang.String):2385:2385 -> startDumpVideoReceiveTrack 1:1:int startEchoTest():1881:1881 -> startEchoTest 2:2:int startEchoTest(int):1887:1887 -> startEchoTest 1:1:int startLastmileProbeTest(ai.neuvision.api2.rtc.internal.LastmileProbeConfig):1911:1911 -> startLastmileProbeTest 1:1:int startPreview():1423:1423 -> startPreview 1:1:int stopAudioMixing():1785:1785 -> stopAudioMixing 1:1:int stopAudioRecording():1875:1875 -> stopAudioRecording 1:1:int stopChannelMediaRelay():2373:2373 -> stopChannelMediaRelay 1:1:int stopDumpVideoReceiveTrack():2391:2391 -> stopDumpVideoReceiveTrack 1:1:int stopEchoTest():1893:1893 -> stopEchoTest 1:1:int stopLastmileProbeTest():1917:1917 -> stopLastmileProbeTest 1:1:int stopPreview():1437:1437 -> stopPreview 1:3:int switchCamera():2194:2196 -> switchCamera 1:1:int switchChannel(java.lang.String,java.lang.String):500:500 -> switchChannel 1:1:int updateChannelMediaRelay(ai.neuvision.api2.rtc.video.ChannelMediaRelayConfiguration):2379:2379 -> updateChannelMediaRelay 1:1:int useExternalAudioDevice():1731:1731 -> useExternalAudioDevice ai.neuvision.api2.rtc.internal.RtcEngineImpl$1 -> ai.neuvision.api2.rtc.internal.RtcEngineImpl$a: ai.neuvision.api2.rtc.internal.RtcEngineImpl this$0 -> a 1:1:void (ai.neuvision.api2.rtc.internal.RtcEngineImpl,java.lang.String):87:87 -> 1:2:void onAudioVolume(int,long):175:176 -> onAudioVolume 3:3:boolean ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$1200(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onAudioVolume 3:3:void onAudioVolume(int,long):176 -> onAudioVolume 4:4:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onAudioVolume 4:4:void onAudioVolume(int,long):179 -> onAudioVolume 5:7:void onAudioVolume(int,long):181:183 -> onAudioVolume 8:8:java.lang.String ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$700(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onAudioVolume 8:8:void onAudioVolume(int,long):183 -> onAudioVolume 9:12:void onAudioVolume(int,long):183:186 -> onAudioVolume 13:13:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onAudioVolume 13:13:void onAudioVolume(int,long):187 -> onAudioVolume 14:14:void onAudioVolume(int,long):187:187 -> onAudioVolume 1:2:void onAudioVolumeOfSelf(int):193:194 -> onAudioVolumeOfSelf 1:2:void onCallEnd(long,long,int,java.lang.String):157:158 -> onCallEnd 3:3:boolean ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$100(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onCallEnd 3:3:void onCallEnd(long,long,int,java.lang.String):158 -> onCallEnd 4:5:void onCallEnd(long,long,int,java.lang.String):159:160 -> onCallEnd 6:6:java.util.Set ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$1100(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onCallEnd 6:6:void onCallEnd(long,long,int,java.lang.String):160 -> onCallEnd 7:8:void onCallEnd(long,long,int,java.lang.String):160:161 -> onCallEnd 9:9:long ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$300(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onCallEnd 9:9:void onCallEnd(long,long,int,java.lang.String):161 -> onCallEnd 10:10:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onCallEnd 10:10:void onCallEnd(long,long,int,java.lang.String):162 -> onCallEnd 11:14:void onCallEnd(long,long,int,java.lang.String):163:166 -> onCallEnd 15:15:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onCallEnd 15:15:void onCallEnd(long,long,int,java.lang.String):166 -> onCallEnd 16:17:void onCallEnd(long,long,int,java.lang.String):166:167 -> onCallEnd 18:18:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onCallEnd 18:18:void onCallEnd(long,long,int,java.lang.String):167 -> onCallEnd 19:19:void onCallEnd(long,long,int,java.lang.String):167:167 -> onCallEnd 1:2:void onCallEvent(int,long):199:200 -> onCallEvent 3:3:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onCallEvent 3:3:void onCallEvent(int,long):200 -> onCallEvent 4:34:void onCallEvent(int,long):201:231 -> onCallEvent 35:37:void onCallEvent(int,long):221:223 -> onCallEvent 38:43:void onCallEvent(int,long):211:216 -> onCallEvent 1:9:void onMemberStateChange(java.util.List):107:115 -> onMemberStateChange 10:10:java.util.Set ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$1100(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onMemberStateChange 10:10:void onMemberStateChange(java.util.List):115 -> onMemberStateChange 11:15:void onMemberStateChange(java.util.List):115:119 -> onMemberStateChange 16:16:java.util.Set ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$1100(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onMemberStateChange 16:16:void onMemberStateChange(java.util.List):119 -> onMemberStateChange 17:22:void onMemberStateChange(java.util.List):119:124 -> onMemberStateChange 23:23:java.util.Set ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$1100(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onMemberStateChange 23:23:void onMemberStateChange(java.util.List):124 -> onMemberStateChange 24:25:void onMemberStateChange(java.util.List):124:125 -> onMemberStateChange 26:26:java.util.Set ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$1100(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onMemberStateChange 26:26:void onMemberStateChange(java.util.List):125 -> onMemberStateChange 27:30:void onMemberStateChange(java.util.List):125:128 -> onMemberStateChange 31:31:boolean ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$500(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onMemberStateChange 31:31:void onMemberStateChange(java.util.List):128 -> onMemberStateChange 32:32:void onMemberStateChange(java.util.List):129:129 -> onMemberStateChange 33:33:boolean ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$1000(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onMemberStateChange 33:33:void onMemberStateChange(java.util.List):129 -> onMemberStateChange 34:36:void onMemberStateChange(java.util.List):129:131 -> onMemberStateChange 37:37:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onMemberStateChange 37:37:void onMemberStateChange(java.util.List):131 -> onMemberStateChange 38:39:void onMemberStateChange(java.util.List):132:133 -> onMemberStateChange 40:40:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onMemberStateChange 40:40:void onMemberStateChange(java.util.List):133 -> onMemberStateChange 41:44:void onMemberStateChange(java.util.List):133:136 -> onMemberStateChange 45:45:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onMemberStateChange 45:45:void onMemberStateChange(java.util.List):136 -> onMemberStateChange 46:46:java.lang.String ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$700(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onMemberStateChange 46:46:void onMemberStateChange(java.util.List):136 -> onMemberStateChange 47:48:void onMemberStateChange(java.util.List):136:137 -> onMemberStateChange 49:49:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onMemberStateChange 49:49:void onMemberStateChange(java.util.List):137 -> onMemberStateChange 50:51:void onMemberStateChange(java.util.List):137:138 -> onMemberStateChange 52:52:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onMemberStateChange 52:52:void onMemberStateChange(java.util.List):138 -> onMemberStateChange 53:59:void onMemberStateChange(java.util.List):138:144 -> onMemberStateChange 60:60:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onMemberStateChange 60:60:void onMemberStateChange(java.util.List):144 -> onMemberStateChange 61:61:void onMemberStateChange(java.util.List):150:150 -> onMemberStateChange 1:5:void onReceiveAccepted(long,long):90:94 -> onReceiveAccepted 6:6:long ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$302(ai.neuvision.api2.rtc.internal.RtcEngineImpl,long):76:76 -> onReceiveAccepted 6:6:void onReceiveAccepted(long,long):94 -> onReceiveAccepted 7:7:void onReceiveAccepted(long,long):95:95 -> onReceiveAccepted 8:8:boolean ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$400(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onReceiveAccepted 8:8:void onReceiveAccepted(long,long):95 -> onReceiveAccepted 9:9:boolean ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$500(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onReceiveAccepted 9:9:void onReceiveAccepted(long,long):95 -> onReceiveAccepted 10:11:void onReceiveAccepted(long,long):95:96 -> onReceiveAccepted 12:12:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onReceiveAccepted 12:12:void onReceiveAccepted(long,long):96 -> onReceiveAccepted 13:13:java.lang.String ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$700(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onReceiveAccepted 13:13:void onReceiveAccepted(long,long):97 -> onReceiveAccepted 14:14:java.lang.Long ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$800(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onReceiveAccepted 14:14:void onReceiveAccepted(long,long):97 -> onReceiveAccepted 15:16:void onReceiveAccepted(long,long):97:98 -> onReceiveAccepted 17:17:long ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$900(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onReceiveAccepted 17:17:void onReceiveAccepted(long,long):98 -> onReceiveAccepted 18:21:void onReceiveAccepted(long,long):97:100 -> onReceiveAccepted 22:22:boolean ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$1000(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onReceiveAccepted 22:22:void onReceiveAccepted(long,long):100 -> onReceiveAccepted 23:23:void onReceiveAccepted(long,long):101:101 -> onReceiveAccepted ai.neuvision.api2.rtc.internal.RtcEngineImpl$2 -> ai.neuvision.api2.rtc.internal.RtcEngineImpl$b: ai.neuvision.api2.rtc.internal.RtcEngineImpl this$0 -> a 1:1:void (ai.neuvision.api2.rtc.internal.RtcEngineImpl):239:239 -> 1:1:void onAppDataReceived(java.lang.String,long):250:250 -> onAppDataReceived 2:2:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onAppDataReceived 2:2:void onAppDataReceived(java.lang.String,long):250 -> onAppDataReceived 3:12:void onAppDataReceived(java.lang.String,long):251:260 -> onAppDataReceived 13:13:ai.neuvision.api2.rtc.IRtcEngineEventHandler ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$600(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onAppDataReceived 13:13:void onAppDataReceived(java.lang.String,long):260 -> onAppDataReceived 14:14:void onAppDataReceived(java.lang.String,long):260:260 -> onAppDataReceived ai.neuvision.api2.rtc.internal.RtcEngineImpl$3 -> ai.neuvision.api2.rtc.internal.RtcEngineImpl$c: ai.neuvision.api2.rtc.IRtcEngineEventHandler val$handler -> a ai.neuvision.api2.rtc.internal.RtcEngineImpl this$0 -> c java.lang.String val$userAccount -> b 1:1:void (ai.neuvision.api2.rtc.internal.RtcEngineImpl,ai.neuvision.api2.rtc.IRtcEngineEventHandler,java.lang.String):364:364 -> 1:2:void onLoginFailed(int,java.lang.String):379:380 -> onLoginFailed 1:1:void onLoginSuccess(java.lang.Long,java.lang.String):367:367 -> onLoginSuccess 2:2:java.lang.Long ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$802(ai.neuvision.api2.rtc.internal.RtcEngineImpl,java.lang.Long):76:76 -> onLoginSuccess 2:2:void onLoginSuccess(java.lang.Long,java.lang.String):367 -> onLoginSuccess 3:6:void onLoginSuccess(java.lang.Long,java.lang.String):368:371 -> onLoginSuccess 7:7:ai.neuvision.api2.rtc.video.VideoCanvas ai.neuvision.api2.rtc.internal.RtcEngineImpl.access$1300(ai.neuvision.api2.rtc.internal.RtcEngineImpl):76:76 -> onLoginSuccess 7:7:void onLoginSuccess(java.lang.Long,java.lang.String):371 -> onLoginSuccess 8:8:void onLoginSuccess(java.lang.Long,java.lang.String):372:372 -> onLoginSuccess ai.neuvision.api2.rtc.live.LiveInjectStreamConfig -> ai.neuvision.api2.rtc.live.LiveInjectStreamConfig: 1:1:void ():13:13 -> 2:14:void ():4:16 -> ai.neuvision.api2.rtc.live.LiveInjectStreamConfig$AudioSampleRateType -> ai.neuvision.api2.rtc.live.LiveInjectStreamConfig$AudioSampleRateType: 1:3:void ():20:22 -> 4:4:void ():19:19 -> 1:2:void (java.lang.String,int,int):26:27 -> 1:1:int getValue(ai.neuvision.api2.rtc.live.LiveInjectStreamConfig$AudioSampleRateType):31:31 -> getValue 1:1:ai.neuvision.api2.rtc.live.LiveInjectStreamConfig$AudioSampleRateType valueOf(java.lang.String):19:19 -> valueOf 1:1:ai.neuvision.api2.rtc.live.LiveInjectStreamConfig$AudioSampleRateType[] values():19:19 -> values ai.neuvision.api2.rtc.live.LiveTranscoding -> ai.neuvision.api2.rtc.live.LiveTranscoding: java.util.Map transcodingUsers -> a java.util.Map advancedFeatures -> b 1:1:void ():50:50 -> 2:55:void ():12:65 -> 1:3:int addUser(ai.neuvision.api2.rtc.live.LiveTranscoding$TranscodingUser):69:71 -> addUser 1:1:java.util.Map getAdvancedFeatures():47:47 -> getAdvancedFeatures 1:1:int getBackgroundColor():121:121 -> getBackgroundColor 1:1:int getBlue():147:147 -> getBlue 1:1:int getGreen():141:141 -> getGreen 1:1:int getRed():135:135 -> getRed 1:1:int getUserCount():117:117 -> getUserCount 1:2:java.util.ArrayList getUsers():79:80 -> getUsers 1:5:int removeUser(int):107:111 -> removeUser 1:1:void setAdvancedFeatures(java.lang.String,java.lang.Boolean):43:43 -> setAdvancedFeatures 1:1:void setBackgroundColor(int):125:125 -> setBackgroundColor 2:2:void setBackgroundColor(int,int,int):129:129 -> setBackgroundColor 1:3:void setBlue(int):169:171 -> setBlue 1:3:void setGreen(int):161:163 -> setGreen 1:3:void setRed(int):153:155 -> setRed 1:11:void setUsers(java.util.ArrayList):84:94 -> setUsers 12:17:void setUsers(java.util.Map):98:103 -> setUsers ai.neuvision.api2.rtc.live.LiveTranscoding$AudioCodecProfileType -> ai.neuvision.api2.rtc.live.LiveTranscoding$AudioCodecProfileType: 1:2:void ():189:190 -> 3:3:void ():188:188 -> 1:2:void (java.lang.String,int,int):194:195 -> 1:1:int getValue(ai.neuvision.api2.rtc.live.LiveTranscoding$AudioCodecProfileType):199:199 -> getValue 1:1:ai.neuvision.api2.rtc.live.LiveTranscoding$AudioCodecProfileType valueOf(java.lang.String):188:188 -> valueOf 1:1:ai.neuvision.api2.rtc.live.LiveTranscoding$AudioCodecProfileType[] values():188:188 -> values ai.neuvision.api2.rtc.live.LiveTranscoding$AudioSampleRateType -> ai.neuvision.api2.rtc.live.LiveTranscoding$AudioSampleRateType: 1:3:void ():220:222 -> 4:4:void ():219:219 -> 1:2:void (java.lang.String,int,int):226:227 -> 1:1:int getValue(ai.neuvision.api2.rtc.live.LiveTranscoding$AudioSampleRateType):231:231 -> getValue 1:1:ai.neuvision.api2.rtc.live.LiveTranscoding$AudioSampleRateType valueOf(java.lang.String):219:219 -> valueOf 1:1:ai.neuvision.api2.rtc.live.LiveTranscoding$AudioSampleRateType[] values():219:219 -> values ai.neuvision.api2.rtc.live.LiveTranscoding$TranscodingUser -> ai.neuvision.api2.rtc.live.LiveTranscoding$TranscodingUser: 1:1:void ():184:184 -> 2:2:void ():181:181 -> ai.neuvision.api2.rtc.live.LiveTranscoding$VideoCodecProfileType -> ai.neuvision.api2.rtc.live.LiveTranscoding$VideoCodecProfileType: 1:3:void ():204:206 -> 4:4:void ():203:203 -> 1:2:void (java.lang.String,int,int):210:211 -> 1:1:int getValue(ai.neuvision.api2.rtc.live.LiveTranscoding$VideoCodecProfileType):215:215 -> getValue 1:1:ai.neuvision.api2.rtc.live.LiveTranscoding$VideoCodecProfileType valueOf(java.lang.String):203:203 -> valueOf 1:1:ai.neuvision.api2.rtc.live.LiveTranscoding$VideoCodecProfileType[] values():203:203 -> values ai.neuvision.api2.rtc.models.ChannelMediaOptions -> ai.neuvision.api2.rtc.models.ChannelMediaOptions: 1:1:void ():7:7 -> 2:3:void ():4:5 -> ai.neuvision.api2.rtc.models.UserInfo -> ai.neuvision.api2.rtc.models.UserInfo: 1:1:void ():7:7 -> ai.neuvision.api2.rtc.utils.AudioMngHelper -> ai.neuvision.api2.rtc.utils.AudioMngHelper: android.media.AudioManager audioManager -> a int VOICE_STEP_100 -> d int NOW_AUDIO_TYPE -> b int NOW_FLAG -> c 1:1:void (android.content.Context):57:57 -> 2:31:void (android.content.Context):29:58 -> 1:5:int addVoice100():136:140 -> addVoice100 1:1:ai.neuvision.api2.rtc.utils.AudioMngHelper addVoiceSystem():108:108 -> addVoiceSystem 1:1:int get100CurrentVolume():74:74 -> get100CurrentVolume 1:1:int getSystemCurrentVolume():66:66 -> getSystemCurrentVolume 1:1:int getSystemMaxVolume():62:62 -> getSystemMaxVolume 1:1:ai.neuvision.api2.rtc.utils.AudioMngHelper setAudioType(int):93:93 -> setAudioType 1:1:ai.neuvision.api2.rtc.utils.AudioMngHelper setFlag(int):103:103 -> setFlag 1:5:int setVoice100(int):123:127 -> setVoice100 1:1:ai.neuvision.api2.rtc.utils.AudioMngHelper setVoiceStep100(int):83:83 -> setVoiceStep100 1:5:int subVoice100():149:153 -> subVoice100 1:1:ai.neuvision.api2.rtc.utils.AudioMngHelper subVoiceSystem():113:113 -> subVoiceSystem ai.neuvision.api2.rtc.utils.BytesUtil -> ai.neuvision.api2.rtc.utils.BytesUtil: 1:1:void ():3:3 -> 1:4:int bytes2Int(byte[]):7:10 -> bytes2Int 1:6:byte[] int2Bytes(int):15:20 -> int2Bytes ai.neuvision.api2.rtc.video.AgoraImage -> ai.neuvision.api2.rtc.video.AgoraImage: 1:1:void ():10:10 -> ai.neuvision.api2.rtc.video.AgoraVideoFrame -> ai.neuvision.api2.rtc.video.AgoraVideoFrame: 1:1:void ():37:37 -> 2:16:void ():21:35 -> ai.neuvision.api2.rtc.video.BeautyOptions -> ai.neuvision.api2.rtc.video.BeautyOptions: 1:5:void (int,float,float,float):12:16 -> 6:10:void ():19:23 -> ai.neuvision.api2.rtc.video.CameraCapturerConfiguration -> ai.neuvision.api2.rtc.video.CameraCapturerConfiguration: 1:3:void (ai.neuvision.api2.rtc.video.CameraCapturerConfiguration$CAPTURER_OUTPUT_PREFERENCE,ai.neuvision.api2.rtc.video.CameraCapturerConfiguration$CAMERA_DIRECTION):7:9 -> ai.neuvision.api2.rtc.video.CameraCapturerConfiguration$CAMERA_DIRECTION -> ai.neuvision.api2.rtc.video.CameraCapturerConfiguration$CAMERA_DIRECTION: 1:2:void ():13:14 -> 3:3:void ():12:12 -> 1:2:void (java.lang.String,int,int):18:19 -> 1:1:int getValue():23:23 -> getValue 1:1:ai.neuvision.api2.rtc.video.CameraCapturerConfiguration$CAMERA_DIRECTION valueOf(java.lang.String):12:12 -> valueOf 1:1:ai.neuvision.api2.rtc.video.CameraCapturerConfiguration$CAMERA_DIRECTION[] values():12:12 -> values ai.neuvision.api2.rtc.video.CameraCapturerConfiguration$CAPTURER_OUTPUT_PREFERENCE -> ai.neuvision.api2.rtc.video.CameraCapturerConfiguration$CAPTURER_OUTPUT_PREFERENCE: 1:3:void ():28:30 -> 4:4:void ():27:27 -> 1:2:void (java.lang.String,int,int):34:35 -> 1:1:int getValue():39:39 -> getValue 1:1:ai.neuvision.api2.rtc.video.CameraCapturerConfiguration$CAPTURER_OUTPUT_PREFERENCE valueOf(java.lang.String):27:27 -> valueOf 1:1:ai.neuvision.api2.rtc.video.CameraCapturerConfiguration$CAPTURER_OUTPUT_PREFERENCE[] values():27:27 -> values ai.neuvision.api2.rtc.video.ChannelMediaInfo -> ai.neuvision.api2.rtc.video.ChannelMediaInfo: 1:1:void (java.lang.String,java.lang.String,int):8:8 -> 2:9:void (java.lang.String,java.lang.String,int):4:11 -> ai.neuvision.api2.rtc.video.ChannelMediaRelayConfiguration -> ai.neuvision.api2.rtc.video.ChannelMediaRelayConfiguration: java.util.Map destInfos -> b ai.neuvision.api2.rtc.video.ChannelMediaInfo srcInfo -> a 1:1:void ():10:10 -> 2:7:void ():7:12 -> 1:1:java.util.Map getDestChannelMediaInfos():35:35 -> getDestChannelMediaInfos 1:1:ai.neuvision.api2.rtc.video.ChannelMediaInfo getSrcChannelMediaInfo():31:31 -> getSrcChannelMediaInfo 1:1:void removeDestChannelInfo(java.lang.String):27:27 -> removeDestChannelInfo 1:2:void setDestChannelInfo(java.lang.String,ai.neuvision.api2.rtc.video.ChannelMediaInfo):20:21 -> setDestChannelInfo 1:1:void setSrcChannelInfo(ai.neuvision.api2.rtc.video.ChannelMediaInfo):16:16 -> setSrcChannelInfo ai.neuvision.api2.rtc.video.VideoCanvas -> ai.neuvision.api2.rtc.video.VideoCanvas: 1:5:void (android.view.View):38:42 -> 6:10:void (android.view.View,int,long):45:49 -> 11:16:void (android.view.View,int,java.lang.String,long):52:57 -> 17:21:void (android.view.View,int,long,int):60:64 -> 22:27:void (android.view.View,int,java.lang.String,long,int):67:72 -> ai.neuvision.api2.rtc.video.VideoEncoderConfiguration -> ai.neuvision.api2.rtc.video.VideoEncoderConfiguration: 1:19:void ():4:22 -> 1:9:void ():36:44 -> 10:18:void (ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$VideoDimensions,ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$FRAME_RATE,int,ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$ORIENTATION_MODE):47:55 -> 19:27:void (int,int,ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$FRAME_RATE,int,ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$ORIENTATION_MODE):58:66 -> ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$DEGRADATION_PREFERENCE -> ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$DEGRADATION_PREFERENCE: 1:3:void ():70:72 -> 4:4:void ():69:69 -> 1:2:void (java.lang.String,int,int):76:77 -> 1:1:int getValue():81:81 -> getValue 1:1:ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$DEGRADATION_PREFERENCE valueOf(java.lang.String):69:69 -> valueOf 1:1:ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$DEGRADATION_PREFERENCE[] values():69:69 -> values ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$FRAME_RATE -> ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$FRAME_RATE: 1:6:void ():102:107 -> 7:7:void ():101:101 -> 1:2:void (java.lang.String,int,int):111:112 -> 1:1:int getValue():116:116 -> getValue 1:1:ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$FRAME_RATE valueOf(java.lang.String):101:101 -> valueOf 1:1:ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$FRAME_RATE[] values():101:101 -> values ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$ORIENTATION_MODE -> ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$ORIENTATION_MODE: 1:3:void ():86:88 -> 4:4:void ():85:85 -> 1:2:void (java.lang.String,int,int):92:93 -> 1:1:int getValue():97:97 -> getValue 1:1:ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$ORIENTATION_MODE valueOf(java.lang.String):85:85 -> valueOf 1:1:ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$ORIENTATION_MODE[] values():85:85 -> values ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$VideoDimensions -> ai.neuvision.api2.rtc.video.VideoEncoderConfiguration$VideoDimensions: 1:3:void (int,int):124:126 -> 4:6:void ():129:131 -> ai.neuvision.api2.rtc.video.WatermarkOptions -> ai.neuvision.api2.rtc.video.WatermarkOptions: 1:1:void ():8:8 -> 2:4:void ():4:6 -> ai.neuvision.api2.rtc.video.WatermarkOptions$Rectangle -> ai.neuvision.api2.rtc.video.WatermarkOptions$Rectangle: 1:1:void ():17:17 -> 2:11:void ():12:21 -> 12:12:void (int,int,int,int):24:24 -> 13:29:void (int,int,int,int):12:28 -> ai.neuvision.api2.streaming.AudioStreamConfiguration -> ai.neuvision.api2.streaming.AudioStreamConfiguration: 1:5:void ():13:17 -> 6:10:void (int,int,int):22:26 -> 1:1:int getBitrate():70:70 -> getBitrate 1:1:int getBytesPerSample():48:48 -> getBytesPerSample 1:1:int getNumberOfChannels():59:59 -> getNumberOfChannels 1:1:int getSampleRateHz():37:37 -> getSampleRateHz 1:1:java.lang.String toString():74:74 -> toString ai.neuvision.api2.streaming.StreamingContext -> ai.neuvision.api2.streaming.StreamingContext: boolean enableAudioStreaming -> a boolean enableVideoStreaming -> b 1:1:void (ai.neuvision.api2.streaming.StreamingEventHandler,java.lang.String,android.content.Context):100:100 -> 2:9:void (ai.neuvision.api2.streaming.StreamingEventHandler,java.lang.String,android.content.Context,ai.neuvision.api2.streaming.VideoStreamConfiguration):104:111 -> 10:17:void (ai.neuvision.api2.streaming.StreamingEventHandler,java.lang.String,android.content.Context,ai.neuvision.api2.streaming.VideoStreamConfiguration,ai.neuvision.api2.streaming.AudioStreamConfiguration):116:123 -> 1:1:java.lang.String getAppId():33:33 -> getAppId 1:1:ai.neuvision.api2.streaming.AudioStreamConfiguration getAudioStreamConfiguration():86:86 -> getAudioStreamConfiguration 1:1:android.content.Context getContext():43:43 -> getContext 1:1:ai.neuvision.api2.streaming.StreamingEventHandler getEventHandler():22:22 -> getEventHandler 1:1:ai.neuvision.api2.streaming.VideoStreamConfiguration getVideoStreamConfiguration():96:96 -> getVideoStreamConfiguration 1:1:boolean isEnableAudioStreaming():65:65 -> isEnableAudioStreaming 1:1:boolean isEnableVideoStreaming():76:76 -> isEnableVideoStreaming ai.neuvision.api2.streaming.StreamingEventHandler -> ai.neuvision.api2.streaming.StreamingEventHandler: 1:1:void ():10:10 -> ai.neuvision.api2.streaming.StreamingKit -> ai.neuvision.api2.streaming.StreamingKit: ai.neuvision.api2.streaming.internal.StreamingKitImpl mInstance -> a 1:1:void ():8:8 -> 1:6:ai.neuvision.api2.streaming.StreamingKit create(ai.neuvision.api2.streaming.StreamingContext):21:26 -> create 1:3:void destroy():39:41 -> destroy ai.neuvision.api2.streaming.VideoFilter -> ai.neuvision.api2.streaming.VideoFilter: 1:1:void ():5:5 -> ai.neuvision.api2.streaming.VideoStreamConfiguration -> ai.neuvision.api2.streaming.VideoStreamConfiguration: 1:19:void ():4:22 -> 1:5:void ():29:33 -> 6:10:void (ai.neuvision.api2.streaming.VideoStreamConfiguration$VideoDimensions,ai.neuvision.api2.streaming.VideoStreamConfiguration$FRAME_RATE,int,ai.neuvision.api2.streaming.VideoStreamConfiguration$ORIENTATION_MODE):39:43 -> 11:15:void (int,int,ai.neuvision.api2.streaming.VideoStreamConfiguration$FRAME_RATE,int,ai.neuvision.api2.streaming.VideoStreamConfiguration$ORIENTATION_MODE):50:54 -> 16:20:void (int,int,int,int,ai.neuvision.api2.streaming.VideoStreamConfiguration$ORIENTATION_MODE):61:65 -> 1:1:int getBitrate():109:109 -> getBitrate 1:1:int getFramerate():98:98 -> getFramerate 1:1:int getHeight():87:87 -> getHeight 1:1:int getOrientationMode():120:120 -> getOrientationMode 1:1:int getWidth():76:76 -> getWidth 1:1:java.lang.String toString():124:124 -> toString ai.neuvision.api2.streaming.VideoStreamConfiguration$FRAME_RATE -> ai.neuvision.api2.streaming.VideoStreamConfiguration$FRAME_RATE: 1:7:void ():143:149 -> 8:8:void ():142:142 -> 1:2:void (java.lang.String,int,int):153:154 -> 1:1:int getValue():158:158 -> getValue 1:1:ai.neuvision.api2.streaming.VideoStreamConfiguration$FRAME_RATE valueOf(java.lang.String):142:142 -> valueOf 1:1:ai.neuvision.api2.streaming.VideoStreamConfiguration$FRAME_RATE[] values():142:142 -> values ai.neuvision.api2.streaming.VideoStreamConfiguration$ORIENTATION_MODE -> ai.neuvision.api2.streaming.VideoStreamConfiguration$ORIENTATION_MODE: 1:2:void ():128:129 -> 3:3:void ():127:127 -> 1:2:void (java.lang.String,int,int):133:134 -> 1:1:int getValue():138:138 -> getValue 1:1:ai.neuvision.api2.streaming.VideoStreamConfiguration$ORIENTATION_MODE valueOf(java.lang.String):127:127 -> valueOf 1:1:ai.neuvision.api2.streaming.VideoStreamConfiguration$ORIENTATION_MODE[] values():127:127 -> values ai.neuvision.api2.streaming.VideoStreamConfiguration$VideoDimensions -> ai.neuvision.api2.streaming.VideoStreamConfiguration$VideoDimensions: 1:3:void (int,int):166:168 -> 4:6:void ():171:173 -> ai.neuvision.api2.streaming.internal.StreamingKitImpl -> ai.neuvision.api2.streaming.internal.StreamingKitImpl: 1:1:void (ai.neuvision.api2.streaming.StreamingContext):19:19 -> ai.neuvision.api2.streaming.internal.VideoPreviewRendererImpl -> ai.neuvision.api2.streaming.internal.VideoPreviewRendererImpl: 1:1:void (long):11:11 -> ai.neuvision.kit.BuildConfig -> ai.neuvision.kit.BuildConfig: 1:1:void ():6:6 -> ai.neuvision.kit.LogDelegate -> ai.neuvision.kit.LogDelegate: 1:1:void (java.lang.String,java.lang.Object):10:10 -> ai.neuvision.kit.SharedPreferencesDelegate -> ai.neuvision.kit.SharedPreferencesDelegate: java.lang.Object default -> c java.lang.String name -> b kotlin.Lazy prefs$delegate -> a 1:4:void (java.lang.String,java.lang.Object):16:19 -> 1:1:android.content.SharedPreferences getPrefs():0:0 -> getValue 1:1:java.lang.Object getValue(java.lang.Object,kotlin.reflect.KProperty):25 -> getValue 2:8:java.lang.Object getValue(java.lang.Object,kotlin.reflect.KProperty):26:32 -> getValue 1:1:android.content.SharedPreferences getPrefs():0:0 -> setValue 1:1:void setValue(java.lang.Object,kotlin.reflect.KProperty,java.lang.Object):38 -> setValue 2:10:void setValue(java.lang.Object,kotlin.reflect.KProperty,java.lang.Object):38:46 -> setValue 11:11:void setValue(java.lang.Object,kotlin.reflect.KProperty,java.lang.Object):45:45 -> setValue ai.neuvision.kit.SharedPreferencesDelegate$prefs$2 -> ai.neuvision.kit.SharedPreferencesDelegate$a: ai.neuvision.kit.SharedPreferencesDelegate this$0 -> a 1:1:android.content.SharedPreferences invoke():20:20 -> invoke 1:1:java.lang.Object invoke():16 -> invoke ai.neuvision.kit.YCKException -> ai.neuvision.kit.YCKException: 1:1:void (java.lang.String):9:9 -> 2:2:void ():12:12 -> 1:1:java.lang.String getReason():9:9 -> getReason ai.neuvision.kit.audio.Aec -> ai.neuvision.kit.audio.Aec: boolean echoDetect -> a int mode -> b 1:1:void (boolean,int):31:31 -> 2:2:void (boolean,int,int,kotlin.jvm.internal.DefaultConstructorMarker):35:35 -> 1:1:boolean getEchoDetect():33:33 -> getEchoDetect 1:1:int getMode():35:35 -> getMode 1:1:void setEchoDetect(boolean):33:33 -> setEchoDetect 1:1:void setMode(int):35:35 -> setMode ai.neuvision.kit.audio.Aec1 -> ai.neuvision.kit.audio.Aec1: boolean echoDetect -> a int mode -> b 1:1:void (boolean,int):31:31 -> 2:2:void (boolean,int,int,kotlin.jvm.internal.DefaultConstructorMarker):35:35 -> 1:1:boolean getEchoDetect():33:33 -> getEchoDetect 1:1:int getMode():35:35 -> getMode 1:1:void setEchoDetect(boolean):33:33 -> setEchoDetect 1:1:void setMode(int):35:35 -> setMode ai.neuvision.kit.audio.Agc -> ai.neuvision.kit.audio.Agc: int mode -> a 1:1:void (int):38:38 -> 2:2:void (int,int,kotlin.jvm.internal.DefaultConstructorMarker):40:40 -> 1:1:int getMode():40:40 -> getMode 1:1:void setMode(int):40:40 -> setMode ai.neuvision.kit.audio.Agc1 -> ai.neuvision.kit.audio.Agc1: int mode -> a 1:1:void (int):38:38 -> 2:2:void (int,int,kotlin.jvm.internal.DefaultConstructorMarker):40:40 -> 1:1:int getMode():40:40 -> getMode 1:1:void setMode(int):40:40 -> setMode ai.neuvision.kit.audio.Ans -> ai.neuvision.kit.audio.Ans: int level -> a 1:1:void (int):43:43 -> 2:2:void (int,int,kotlin.jvm.internal.DefaultConstructorMarker):45:45 -> 1:1:int getLevel():45:45 -> getLevel 1:1:void setLevel(int):45:45 -> setLevel ai.neuvision.kit.audio.Ans1 -> ai.neuvision.kit.audio.Ans1: int level -> a 1:1:void (int):43:43 -> 2:2:void (int,int,kotlin.jvm.internal.DefaultConstructorMarker):45:45 -> 1:1:int getLevel():45:45 -> getLevel 1:1:void setLevel(int):45:45 -> setLevel ai.neuvision.kit.audio.AudioConfig -> ai.neuvision.kit.audio.AudioConfig: ai.neuvision.kit.audio.Player player -> g ai.neuvision.kit.audio.Ans ans -> c ai.neuvision.kit.audio.Codec codec -> e ai.neuvision.kit.audio.Basic basic -> d ai.neuvision.kit.audio.Recorder recorder -> h ai.neuvision.kit.audio.Aec aec -> a ai.neuvision.kit.audio.Agc agc -> b ai.neuvision.kit.audio.Device device -> f 1:1:void (ai.neuvision.kit.audio.Aec,ai.neuvision.kit.audio.Agc,ai.neuvision.kit.audio.Ans,ai.neuvision.kit.audio.Basic,ai.neuvision.kit.audio.Codec,ai.neuvision.kit.audio.Device,ai.neuvision.kit.audio.Player,ai.neuvision.kit.audio.Recorder):12:12 -> 2:6:void (ai.neuvision.kit.audio.Aec,ai.neuvision.kit.audio.Agc,ai.neuvision.kit.audio.Ans,ai.neuvision.kit.audio.Basic,ai.neuvision.kit.audio.Codec,ai.neuvision.kit.audio.Device,ai.neuvision.kit.audio.Player,ai.neuvision.kit.audio.Recorder,int,kotlin.jvm.internal.DefaultConstructorMarker):24:28 -> 1:1:ai.neuvision.kit.audio.Aec getAec():14:14 -> getAec 1:1:ai.neuvision.kit.audio.Agc getAgc():16:16 -> getAgc 1:1:ai.neuvision.kit.audio.Ans getAns():18:18 -> getAns 1:1:ai.neuvision.kit.audio.Basic getBasic():20:20 -> getBasic 1:1:ai.neuvision.kit.audio.Codec getCodec():22:22 -> getCodec 1:1:ai.neuvision.kit.audio.Device getDevice():24:24 -> getDevice 1:1:ai.neuvision.kit.audio.Player getPlayer():26:26 -> getPlayer 1:1:ai.neuvision.kit.audio.Recorder getRecorder():28:28 -> getRecorder 1:1:void setAec(ai.neuvision.kit.audio.Aec):14:14 -> setAec 1:1:void setAgc(ai.neuvision.kit.audio.Agc):16:16 -> setAgc 1:1:void setAns(ai.neuvision.kit.audio.Ans):18:18 -> setAns 1:1:void setBasic(ai.neuvision.kit.audio.Basic):20:20 -> setBasic 1:1:void setCodec(ai.neuvision.kit.audio.Codec):22:22 -> setCodec 1:1:void setDevice(ai.neuvision.kit.audio.Device):24:24 -> setDevice 1:1:void setPlayer(ai.neuvision.kit.audio.Player):26:26 -> setPlayer 1:1:void setRecorder(ai.neuvision.kit.audio.Recorder):28:28 -> setRecorder ai.neuvision.kit.audio.AudioConfig1 -> ai.neuvision.kit.audio.AudioConfig1: ai.neuvision.kit.audio.Codec1 codec -> e ai.neuvision.kit.audio.Aec1 aec -> a ai.neuvision.kit.audio.Ans1 ans -> c ai.neuvision.kit.audio.Basic1 basic -> d ai.neuvision.kit.audio.Recorder1 recoder -> h ai.neuvision.kit.audio.Agc1 agc -> b ai.neuvision.kit.audio.Device1 device -> f ai.neuvision.kit.audio.Player1 player -> g 1:1:void (ai.neuvision.kit.audio.Aec1,ai.neuvision.kit.audio.Agc1,ai.neuvision.kit.audio.Ans1,ai.neuvision.kit.audio.Basic1,ai.neuvision.kit.audio.Codec1,ai.neuvision.kit.audio.Device1,ai.neuvision.kit.audio.Player1,ai.neuvision.kit.audio.Recorder1):12:12 -> 2:16:void (ai.neuvision.kit.audio.Aec1,ai.neuvision.kit.audio.Agc1,ai.neuvision.kit.audio.Ans1,ai.neuvision.kit.audio.Basic1,ai.neuvision.kit.audio.Codec1,ai.neuvision.kit.audio.Device1,ai.neuvision.kit.audio.Player1,ai.neuvision.kit.audio.Recorder1,int,kotlin.jvm.internal.DefaultConstructorMarker):14:28 -> 1:1:ai.neuvision.kit.audio.Aec1 getAec():14:14 -> getAec 1:1:ai.neuvision.kit.audio.Agc1 getAgc():16:16 -> getAgc 1:1:ai.neuvision.kit.audio.Ans1 getAns():18:18 -> getAns 1:1:ai.neuvision.kit.audio.Basic1 getBasic():20:20 -> getBasic 1:1:ai.neuvision.kit.audio.Codec1 getCodec():22:22 -> getCodec 1:1:ai.neuvision.kit.audio.Device1 getDevice():24:24 -> getDevice 1:1:ai.neuvision.kit.audio.Player1 getPlayer():26:26 -> getPlayer 1:1:ai.neuvision.kit.audio.Recorder1 getRecoder():28:28 -> getRecoder 1:1:void setAec(ai.neuvision.kit.audio.Aec1):14:14 -> setAec 1:1:void setAgc(ai.neuvision.kit.audio.Agc1):16:16 -> setAgc 1:1:void setAns(ai.neuvision.kit.audio.Ans1):18:18 -> setAns 1:1:void setBasic(ai.neuvision.kit.audio.Basic1):20:20 -> setBasic 1:1:void setCodec(ai.neuvision.kit.audio.Codec1):22:22 -> setCodec 1:1:void setDevice(ai.neuvision.kit.audio.Device1):24:24 -> setDevice 1:1:void setPlayer(ai.neuvision.kit.audio.Player1):26:26 -> setPlayer 1:1:void setRecoder(ai.neuvision.kit.audio.Recorder1):28:28 -> setRecoder ai.neuvision.kit.audio.AudioEngine -> ai.neuvision.kit.audio.AudioEngine: 1:1:void ():53:53 -> 1:1:void ():170:170 -> 2:1245:void ():61:1304 -> 1:1:boolean access$000(ai.neuvision.kit.audio.AudioEngine):52:52 -> access$000 1:1:void access$100(ai.neuvision.kit.audio.AudioEngine):52:52 -> access$100 1:1:android.media.AudioManager access$200(ai.neuvision.kit.audio.AudioEngine):52:52 -> access$200 1:1:boolean access$302(ai.neuvision.kit.audio.AudioEngine,boolean):52:52 -> access$302 1:1:boolean access$400(ai.neuvision.kit.audio.AudioEngine):52:52 -> access$400 1:1:boolean access$402(ai.neuvision.kit.audio.AudioEngine,boolean):52:52 -> access$402 1:1:void access$500(ai.neuvision.kit.audio.AudioEngine,boolean):52:52 -> access$500 1:1:void access$600(ai.neuvision.kit.audio.AudioEngine):52:52 -> access$600 1:1:ai.neuvision.kit.session.AudioStateCallback access$700(ai.neuvision.kit.audio.AudioEngine):52:52 -> access$700 1:33:void close():302:334 -> close 1:1:int createExternalAudioTrack(android.media.AudioFormat):903:903 -> createExternalAudioTrack 1:1:int destroyExternalAudioTrack(int):908:908 -> destroyExternalAudioTrack 1:9:int encoderOutputAudioData(java.nio.ByteBuffer,ai.neuvision.kit.audio.AudioFrameContext,int):345:353 -> encoderOutputAudioData 1:17:ai.neuvision.kit.audio.AudioFrameShort forceGetAFrame():583:599 -> forceGetAFrame 18:41:ai.neuvision.kit.audio.AudioFrameShort forceGetAFrame():593:616 -> forceGetAFrame 42:42:boolean ai.neuvision.kit.audio.YCKAudioSessionIn.isClosed():110:110 -> forceGetAFrame 42:42:ai.neuvision.kit.audio.AudioFrameShort forceGetAFrame():617 -> forceGetAFrame 43:77:ai.neuvision.kit.audio.AudioFrameShort forceGetAFrame():620:654 -> forceGetAFrame 1:1:java.util.LinkedList getActiveParticipants():166:166 -> getActiveParticipants 1:1:int getAecMode():150:150 -> getAecMode 1:1:int getAudioFrameMs():838:838 -> getAudioFrameMs 1:5:int getAudioFrameMsOf(long):842:846 -> getAudioFrameMsOf 1:1:int getAudioPreferredMode():113:113 -> getAudioPreferredMode 1:1:ai.neuvision.kit.audio.AudioProcessConfigManager getAudioProcessConfigManager():79:79 -> getAudioProcessConfigManager 1:1:int getAudioQuality():449:449 -> getAudioQuality 1:1:int getAudioSampleRate():434:434 -> getAudioSampleRate 1:1:ai.neuvision.kit.audio.AudioEngine$Callback getCallback():95:95 -> getCallback 1:2:short getCurrentPlayingSeqIdOf(long):827:828 -> getCurrentPlayingSeqIdOf 1:1:short getCurrentRecordingSeqId():833:833 -> getCurrentRecordingSeqId 1:1:int getDenoiseLevel():131:131 -> getDenoiseLevel 1:44:java.lang.String getDeviceAudioInfo():1316:1359 -> getDeviceAudioInfo 1:45:android.media.AudioManager$OnAudioFocusChangeListener getFocusChangeListener():1014:1058 -> getFocusChangeListener 1:1:int getFrameSize():851:851 -> getFrameSize 1:1:ai.neuvision.kit.audio.AudioEngine getInstance():174:174 -> getInstance 1:13:int getJitterBuffersAverageLossRateIns():413:425 -> getJitterBuffersAverageLossRateIns 1:1:int getMaxMixNum():865:865 -> getMaxMixNum 1:1:int getMediaType():103:103 -> getMediaType 1:31:android.media.AudioManager$AudioRecordingCallback getRecordCallback():972:1002 -> getRecordCallback 1:6:int getRecordMode():281:286 -> getRecordMode 1:1:ai.neuvision.kit.audio.AudioRecorder getRecorder():821:821 -> getRecorder 1:1:ai.neuvision.kit.audio.YCKAudioSessionInMgr getSessionInMgr():496:496 -> getSessionInMgr 1:1:ai.neuvision.kit.audio.YCKAudioSessionOut getSessionOut():500:500 -> getSessionOut 1:1:ai.neuvision.sdk.sdwan.transport.YCKTransportSession getTransportSession():483:483 -> getTransportSession 1:1:int getVoiceRatio():457:457 -> getVoiceRatio 1:10:void init(android.content.Context,int):243:252 -> init 1:2:boolean isAvailable():506:507 -> isAvailable 3:3:boolean ai.neuvision.kit.audio.YCKAudioSessionIn.isClosed():110:110 -> isAvailable 3:3:boolean isAvailable():508 -> isAvailable 1:1:boolean isMusic():461:461 -> isMusic 1:1:boolean isMute():811:811 -> isMute 1:1:boolean isSpeakerOn():465:465 -> isSpeakerOn 1:2:void lambda$notifyAudioEvent$1(int,int):1256:1257 -> lambda$notifyAudioEvent$1 1:1:void lambda$null$0(int,int):1257:1257 -> lambda$null$0 1:2:void mixExternalAudio(java.nio.ByteBuffer):877:878 -> mixExternalAudio 3:3:int mixExternalAudio(java.nio.ByteBuffer,int):912:912 -> mixExternalAudio 1:11:void mute():781:791 -> mute 1:57:void notifyAudioEvent():1245:1301 -> notifyAudioEvent 1:96:void notifyRecordDataAvailable(int,short[],int):676:771 -> notifyRecordDataAvailable 97:97:void notifyRecordDataAvailable(int,short[],int):677:677 -> notifyRecordDataAvailable 1:10:void onReceivedAudioData(ai.neuvision.sdk.sdwan.transport.AbstractTransport,java.nio.ByteBuffer,java.nio.ByteBuffer,int,long):371:380 -> onReceivedAudioData 11:17:void onReceivedAudioData(ai.neuvision.sdk.sdwan.transport.AbstractTransport,java.nio.ByteBuffer,java.nio.ByteBuffer,int,long):378:384 -> onReceivedAudioData 1:1:void openFocusSnatch(boolean):1226:1226 -> openFocusSnatch 1:5:void reportAudioVolume(int,long):856:860 -> reportAudioVolume 1:5:void reportAudioVolumeOfSelf(int):358:362 -> reportAudioVolumeOfSelf 1:17:int requestJitterBufferAudioRepeatFactorOf(ai.neuvision.sdk.sdwan.transport.AbstractTransport,long):390:406 -> requestJitterBufferAudioRepeatFactorOf 1:1:int resetExternalAudioTrack(int):926:926 -> resetExternalAudioTrack 1:1:void restartWhenFocusLossed():1068:1068 -> restartWhenFocusLossed 2:42:void restartWhenFocusLossed(boolean):1076:1116 -> restartWhenFocusLossed 1:34:void setActiveParticipants(java.util.LinkedList):178:211 -> setActiveParticipants 35:36:void setActiveParticipants(java.util.LinkedList):180:181 -> setActiveParticipants 1:1:void setAecMode(int):159:159 -> setAecMode 1:14:void setAudioAcceptList(java.util.HashSet):936:949 -> setAudioAcceptList 1:1:void setAudioDataListener(ai.neuvision.kit.audio.AudioDataListener):962:962 -> setAudioDataListener 1:8:void setAudioPreferredMode(int):118:125 -> setAudioPreferredMode 1:1:void setAudioQuality(int):453:453 -> setAudioQuality 1:8:void setAudioSampleRate(int):438:445 -> setAudioSampleRate 1:3:void setAudioStateCallback(ai.neuvision.kit.session.AudioStateCallback):1230:1232 -> setAudioStateCallback 1:1:void setCallback(ai.neuvision.kit.audio.AudioEngine$Callback):99:99 -> setCallback 1:5:void setDenoiseLevel(int):141:145 -> setDenoiseLevel 6:6:void setDenoiseLevel(int):139:139 -> setDenoiseLevel 1:2:void setExternalAudioFormat(android.media.AudioFormat):884:885 -> setExternalAudioFormat 3:3:int setExternalAudioFormat(android.media.AudioFormat,int):922:922 -> setExternalAudioFormat 1:2:void setExternalAudioVolume(float):891:892 -> setExternalAudioVolume 3:3:int setExternalAudioVolume(float,int):917:917 -> setExternalAudioVolume 1:1:void setMaxMixNum(int):870:870 -> setMaxMixNum 1:1:void setMediaType(int):108:108 -> setMediaType 1:2:void setPhoneCallMode(boolean):816:817 -> setPhoneCallMode 1:8:void setSpeakerOn(boolean):469:476 -> setSpeakerOn 1:5:void setTransportSession(ai.neuvision.sdk.sdwan.transport.YCKTransportSession):487:491 -> setTransportSession 1:20:void start():215:234 -> start 1:5:void startRecorder():257:261 -> startRecorder 6:24:void startRecorder():258:276 -> startRecorder 25:26:void startRecorder():272:273 -> startRecorder 1:7:void startTimerForRestart():1131:1137 -> startTimerForRestart 8:8:void startTimerForRestart():1132:1132 -> startTimerForRestart 1:5:void stopRecorder():294:298 -> stopRecorder 1:16:ai.neuvision.kit.audio.AudioFrameShort tryGetAFrame():518:533 -> tryGetAFrame 17:36:ai.neuvision.kit.audio.AudioFrameShort tryGetAFrame():528:547 -> tryGetAFrame 37:37:boolean ai.neuvision.kit.audio.YCKAudioSessionIn.isClosed():110:110 -> tryGetAFrame 37:37:ai.neuvision.kit.audio.AudioFrameShort tryGetAFrame():548 -> tryGetAFrame 38:63:ai.neuvision.kit.audio.AudioFrameShort tryGetAFrame():551:576 -> tryGetAFrame 1:11:void unMute():796:806 -> unMute 1:2:void withPlayerSaver(java.lang.String,int):957:958 -> withPlayerSaver ai.neuvision.kit.audio.AudioEngine$1 -> ai.neuvision.kit.audio.AudioEngine$a: ai.neuvision.kit.audio.AudioEngine this$0 -> a 1:1:void (ai.neuvision.kit.audio.AudioEngine):973:973 -> 1:20:void onRecordingConfigChanged(java.util.List):976:995 -> onRecordingConfigChanged ai.neuvision.kit.audio.AudioEngine$2 -> ai.neuvision.kit.audio.AudioEngine$b: ai.neuvision.kit.audio.AudioEngine this$0 -> a 1:1:void (ai.neuvision.kit.audio.AudioEngine):1015:1015 -> 1:36:void onAudioFocusChange(int):1018:1053 -> onAudioFocusChange 37:37:void onAudioFocusChange(int):1046:1046 -> onAudioFocusChange 38:50:void onAudioFocusChange(int):1027:1039 -> onAudioFocusChange 51:51:void onAudioFocusChange(int):1035:1035 -> onAudioFocusChange ai.neuvision.kit.audio.AudioEngine$3 -> ai.neuvision.kit.audio.AudioEngine$c: ai.neuvision.kit.audio.AudioEngine this$0 -> a 1:1:void (ai.neuvision.kit.audio.AudioEngine):1137:1137 -> 1:30:void run():1142:1171 -> run 31:76:void run():1167:1212 -> run 77:82:void run():1203:1208 -> run ai.neuvision.kit.audio.AudioEngine$4 -> ai.neuvision.kit.audio.AudioEngine$d: ai.neuvision.kit.audio.AudioEngine this$0 -> a 1:1:void (ai.neuvision.kit.audio.AudioEngine):1304:1304 -> 1:4:void onReceive(android.content.Context,android.content.Intent):1307:1310 -> onReceive ai.neuvision.kit.audio.AudioFrameContext -> ai.neuvision.kit.audio.AudioFrameContext: byte attribute -> b java.lang.String TAG -> a short attributeExt -> c 1:19:void ():15:33 -> 20:27:void (java.nio.ByteBuffer):18:25 -> 28:33:void (java.nio.ByteBuffer):23:28 -> 1:1:byte getAttribute():47:47 -> getAttribute 1:1:short getAttributeExt():48:48 -> getAttributeExt 1:1:java.lang.String getTAG():16:16 -> getTAG 1:1:int getVolume():50:50 -> getVolume 1:1:boolean hasExtContext():86:86 -> hasExtContext 1:1:boolean isFrameMs10():74:74 -> isFrameMs10 1:1:boolean isFrameMs20():78:78 -> isFrameMs20 1:1:boolean isFrameMs40():82:82 -> isFrameMs40 1:1:boolean isFrameMs5():70:70 -> isFrameMs5 1:1:void setAttribute(byte):47:47 -> setAttribute 1:1:void setAttributeExt(short):48:48 -> setAttributeExt 1:3:void setFlag(byte):63:65 -> setFlag 1:6:void setVolume(int):52:57 -> setVolume 7:7:void setVolume(int):53:53 -> setVolume 1:5:java.nio.ByteBuffer toData():92:96 -> toData ai.neuvision.kit.audio.AudioFrameContext$AudioExtraAttribute -> ai.neuvision.kit.audio.AudioFrameContext$AudioExtraAttribute: 1:1:void ():36:36 -> 1:1:void ():36:36 -> ai.neuvision.kit.audio.AudioFrameShort -> ai.neuvision.kit.audio.AudioFrameShort: boolean silentFrames -> a 1:1:void ():84:84 -> 1:1:void (int,int):33:33 -> 2:18:void (int,int):20:36 -> 19:20:void (int,long):40:41 -> 21:21:void (short[],int):44:44 -> 22:48:void (short[],int):20:46 -> 1:1:int getSize(int,long):81:81 -> a 2:8:void checkForSilent():184:190 -> a 1:1:java.lang.Object clone():12:12 -> clone 2:4:ai.neuvision.kit.audio.AudioFrameShort clone():213:215 -> clone 1:2:ai.neuvision.kit.audio.AudioFrameShort getSilentFrame(int,long):109:110 -> getSilentFrame 1:8:int getVolume():202:209 -> getVolume 1:1:boolean isSilent():56:56 -> isSilent 1:15:java.util.List makeFixDurationList(java.util.List,long):115:129 -> makeFixDurationList 16:68:java.util.List makeFixDurationList(java.util.List,long):126:178 -> makeFixDurationList 69:69:java.util.List makeFixDurationList(java.util.List,long):116:116 -> makeFixDurationList 1:2:ai.neuvision.kit.audio.AudioFrameShort makeFromData(short[],int):50:51 -> makeFromData 1:7:void recheckSilent():61:67 -> recheckSilent 1:1:java.lang.String toString():221:221 -> toString ai.neuvision.kit.audio.AudioMngHelper -> ai.neuvision.kit.audio.AudioMngHelper: android.media.AudioManager audioManager -> a int VOICE_STEP_100 -> d int NOW_AUDIO_TYPE -> b int NOW_FLAG -> c 1:1:void (android.content.Context):62:62 -> 2:38:void (android.content.Context):27:63 -> 1:5:int addVoice100():152:156 -> addVoice100 1:1:ai.neuvision.kit.audio.AudioMngHelper addVoiceSystem():117:117 -> addVoiceSystem 1:1:int get100CurrentVolume():80:80 -> get100CurrentVolume 1:1:int getSystemCurrentVolume():71:71 -> getSystemCurrentVolume 1:1:int getSystemMaxVolume():67:67 -> getSystemMaxVolume 1:1:ai.neuvision.kit.audio.AudioMngHelper setAudioType(int):101:101 -> setAudioType 1:1:ai.neuvision.kit.audio.AudioMngHelper setFlag(int):112:112 -> setFlag 1:5:int setVoice100(int):138:142 -> setVoice100 1:1:ai.neuvision.kit.audio.AudioMngHelper setVoiceStep100(int):90:90 -> setVoiceStep100 1:1:ai.neuvision.kit.audio.AudioMngHelper showCurrentVolume():127:127 -> showCurrentVolume 1:5:int subVoice100():166:170 -> subVoice100 1:1:ai.neuvision.kit.audio.AudioMngHelper subVoiceSystem():122:122 -> subVoiceSystem ai.neuvision.kit.audio.AudioProcessConfig -> ai.neuvision.kit.audio.AudioProcessConfig: 1:106:void (java.lang.String,java.lang.String,java.lang.String,java.lang.String):18:123 -> 1:4:java.lang.String createJson():127:130 -> createJson 5:13:java.lang.String createJson():128:136 -> createJson 14:21:java.lang.String createJson():134:141 -> createJson 22:22:java.lang.String createJson():139:139 -> createJson 23:33:java.lang.String createJson():137:147 -> createJson 34:38:java.lang.String createJson():145:149 -> createJson 1:1:int getAgcMode():46:46 -> getAgcMode 1:1:int getDenoiseLevel():28:28 -> getDenoiseLevel 1:1:int getForcePlayGainLevel():58:58 -> getForcePlayGainLevel 1:1:int getForceRecordGainLevel():52:52 -> getForceRecordGainLevel 1:1:int getFrameMs():65:65 -> getFrameMs 1:1:int getRecordMode():39:39 -> getRecordMode 1:1:int getSampleRate():64:64 -> getSampleRate 1:9:void initParameter(ai.neuvision.kit.audio.AudioConfig):107:115 -> initParameter 1:1:boolean isHardwareAEC():35:35 -> isHardwareAEC 1:1:boolean isResidualEchoDetector():63:63 -> isResidualEchoDetector 1:1:void setAgcMode(int):46:46 -> setAgcMode 1:27:void setConfig(java.lang.String,java.lang.String,java.lang.String,java.lang.String):68:94 -> setConfig 28:56:void setConfig(java.lang.String,java.lang.String,java.lang.String,java.lang.String):74:102 -> setConfig 1:1:void setDenoiseLevel(int):28:28 -> setDenoiseLevel 1:1:void setForcePlayGainLevel(int):58:58 -> setForcePlayGainLevel 1:1:void setForceRecordGainLevel(int):52:52 -> setForceRecordGainLevel 1:1:void setFrameMs(int):65:65 -> setFrameMs 1:1:void setHardwareAEC(boolean):35:35 -> setHardwareAEC 1:1:void setRecordMode(int):39:39 -> setRecordMode 1:1:void setResidualEchoDetector(boolean):63:63 -> setResidualEchoDetector 1:1:void setSampleRate(int):64:64 -> setSampleRate ai.neuvision.kit.audio.AudioProcessConfig$Companion -> ai.neuvision.kit.audio.AudioProcessConfig$Companion: 1:1:void ():118:118 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):118:118 -> ai.neuvision.kit.audio.AudioProcessConfig$setConfig$type$1 -> ai.neuvision.kit.audio.AudioProcessConfig$setConfig$type$1: 1:1:void ():68:68 -> ai.neuvision.kit.audio.AudioProcessConfigManager -> ai.neuvision.kit.audio.AudioProcessConfigManager: 1:1:void (android.content.Context):31:31 -> 2:6:void (android.content.Context):29:33 -> 1:1:ai.neuvision.kit.audio.AudioProcessConfig access$000(ai.neuvision.kit.audio.AudioProcessConfigManager):23:23 -> access$000 1:1:ai.neuvision.kit.audio.AudioProcessConfig access$002(ai.neuvision.kit.audio.AudioProcessConfigManager,ai.neuvision.kit.audio.AudioProcessConfig):23:23 -> access$002 1:1:ai.neuvision.kit.audio.AudioProcessConfig access$100(ai.neuvision.kit.audio.AudioProcessConfigManager,java.lang.String):23:23 -> access$100 1:1:void cleanForceSpecifiedConf():45:45 -> cleanForceSpecifiedConf 1:10:ai.neuvision.kit.audio.AudioProcessConfig getConfigFromAsset(java.lang.String):126:126 -> getConfigFromAsset 18:18:ai.neuvision.kit.audio.AudioProcessConfig getConfigFromAsset(java.lang.String):134:134 -> getConfigFromAsset 19:28:ai.neuvision.kit.audio.AudioProcessConfig getConfigFromAsset(java.lang.String):126:135 -> getConfigFromAsset 1:10:int[] getConfigIntArray(ai.neuvision.kit.audio.AudioProcessConfig):61:70 -> getConfigIntArray 1:2:ai.neuvision.kit.audio.AudioProcessConfig getFinalConf():49:50 -> getFinalConf 1:1:ai.neuvision.kit.audio.AudioProcessConfig getForceSpecifiedConf():37:37 -> getForceSpecifiedConf 1:17:void loadDefaultConfig():104:120 -> loadDefaultConfig 1:15:ai.neuvision.kit.audio.AudioProcessConfig loadFromDbWithDeviceMatch():83:97 -> loadFromDbWithDeviceMatch 16:25:ai.neuvision.kit.audio.AudioProcessConfig loadFromDbWithDeviceMatch():89:89 -> loadFromDbWithDeviceMatch 33:34:ai.neuvision.kit.audio.AudioProcessConfig loadFromDbWithDeviceMatch():97:98 -> loadFromDbWithDeviceMatch 1:1:void setForceSpecifiedConf(ai.neuvision.kit.audio.AudioProcessConfig):41:41 -> setForceSpecifiedConf ai.neuvision.kit.audio.AudioProcessConfigManager$1 -> ai.neuvision.kit.audio.AudioProcessConfigManager$a: ai.neuvision.kit.audio.AudioProcessConfigManager this$0 -> a 1:1:void (ai.neuvision.kit.audio.AudioProcessConfigManager):104:104 -> 1:12:void run():107:118 -> run ai.neuvision.kit.audio.AudioRecorder -> ai.neuvision.kit.audio.AudioRecorder: 1:1:void ():22:22 -> 1:1:void (android.media.AudioManager):249:249 -> 2:233:void (android.media.AudioManager):19:250 -> 1:1:int access$000(long,java.lang.Object):16:16 -> access$000 1:14:void checkNeedTryGet(long):126:139 -> checkNeedTryGet 15:20:void checkNeedTryGet(long):138:143 -> checkNeedTryGet 21:30:void checkNeedTryGet(long):142:151 -> checkNeedTryGet 31:31:void checkNeedTryGet(long):150:150 -> checkNeedTryGet 1:1:ai.neuvision.kit.audio.AudioRecorder create(android.media.AudioManager,int,int):254:254 -> create 2:12:ai.neuvision.kit.audio.AudioRecorder create(android.media.AudioManager,int,int,int,int,int,int[]):260:270 -> create 1:13:void destroy():276:288 -> destroy 1:9:int getAvailablePlayFrameCnt():432:440 -> getAvailablePlayFrameCnt 1:8:int getConfig(int):421:428 -> getConfig 1:1:boolean getHandsFree():458:458 -> getHandsFree 1:10:int getOptimalRecordBufferSize(android.media.AudioManager,int):466:475 -> getOptimalRecordBufferSize 11:20:int getOptimalRecordBufferSize(android.media.AudioManager,int):472:481 -> getOptimalRecordBufferSize 21:23:int getOptimalRecordBufferSize(android.media.AudioManager,int):475:477 -> getOptimalRecordBufferSize 1:1:int getPlayMode():522:522 -> getPlayMode 1:1:int getRecordMode():518:518 -> getRecordMode 1:1:boolean isPrepared():514:514 -> isPrepared 1:7:int lastError():294:300 -> lastError 1:1:boolean notifyEvent(int,int):244:244 -> notifyEvent 1:6:boolean notifyPlayDataAvailable(short[],int,int):225:230 -> notifyPlayDataAvailable 1:22:boolean notifyPlayDataCanSend():192:213 -> notifyPlayDataCanSend 1:22:boolean notifyPlayDataNeeded():160:181 -> notifyPlayDataNeeded 1:3:void notifyRecordDataAvailable(int,short[],int):236:238 -> notifyRecordDataAvailable 1:1:boolean prepareRecording(ai.neuvision.kit.audio.YCKPlaybackSourceProvider,ai.neuvision.kit.audio.IRecorderCallback):306:306 -> prepareRecording 2:19:boolean prepareRecording(ai.neuvision.kit.audio.YCKPlaybackSourceProvider,ai.neuvision.kit.audio.IRecorderCallback,android.media.AudioManager$OnAudioFocusChangeListener):310:327 -> prepareRecording 1:8:int setConfig(int,int):409:416 -> setConfig 1:8:void setHandsFree(boolean):445:452 -> setHandsFree 9:9:void setHandsFree(boolean):446:446 -> setHandsFree 1:52:boolean startRecording():333:384 -> startRecording 1:13:boolean stopRecording():389:401 -> stopRecording ai.neuvision.kit.audio.AudioRecorder$1 -> ai.neuvision.kit.audio.AudioRecorder$a: ai.neuvision.kit.audio.AudioRecorder this$0 -> c java.lang.Object val$finalJavaObj -> b long val$finalNativeObj -> a 1:1:void (ai.neuvision.kit.audio.AudioRecorder,java.lang.String,long,java.lang.Object):357:357 -> 1:4:void run():361:364 -> run ai.neuvision.kit.audio.Basic -> ai.neuvision.kit.audio.Basic: int frameMs -> b int sampleRate -> c int depth -> a 1:1:void (int,int,int):48:48 -> 2:2:void (int,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):54:54 -> 1:1:int getDepth():50:50 -> getDepth 1:1:int getFrameMs():52:52 -> getFrameMs 1:1:int getSampleRate():54:54 -> getSampleRate 1:1:void setDepth(int):50:50 -> setDepth 1:1:void setFrameMs(int):52:52 -> setFrameMs 1:1:void setSampleRate(int):54:54 -> setSampleRate ai.neuvision.kit.audio.Basic1 -> ai.neuvision.kit.audio.Basic1: int frameSize -> b int sampleRate -> c int depth -> a 1:1:void (int,int,int):48:48 -> 2:2:void (int,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):54:54 -> 1:1:int getDepth():50:50 -> getDepth 1:1:int getFrameSize():52:52 -> getFrameSize 1:1:int getSampleRate():54:54 -> getSampleRate 1:1:void setDepth(int):50:50 -> setDepth 1:1:void setFrameSize(int):52:52 -> setFrameSize 1:1:void setSampleRate(int):54:54 -> setSampleRate ai.neuvision.kit.audio.Codec -> ai.neuvision.kit.audio.Codec: java.lang.String format -> a 1:1:void (java.lang.String):57:57 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):59:59 -> 1:1:java.lang.String getFormat():59:59 -> getFormat 1:1:void setFormat(java.lang.String):59:59 -> setFormat ai.neuvision.kit.audio.Codec1 -> ai.neuvision.kit.audio.Codec1: java.lang.String format -> a 1:1:void (java.lang.String):57:57 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):59:59 -> 1:1:java.lang.String getFormat():59:59 -> getFormat 1:1:void setFormat(java.lang.String):59:59 -> setFormat ai.neuvision.kit.audio.CoreRingBuffer -> ai.neuvision.kit.audio.CoreRingBuffer: int tail -> f int sampleRate -> g java.nio.ByteBuffer buffer -> d int head -> e int frameBytes20ms -> b int bufferSize -> c int frameSize -> a 1:1:void (int):36:36 -> 2:2:void (int,int):39:39 -> 3:30:void (int,int):16:43 -> 1:16:void putFrame(java.nio.ShortBuffer,int,boolean):55:70 -> a 17:21:void putFrame(java.nio.ShortBuffer,int,boolean):69:73 -> a 22:34:void putFrame(java.nio.ShortBuffer,int,boolean):72:84 -> a 35:43:void putFrame(java.nio.ShortBuffer,int,boolean):79:87 -> a 44:51:void getFromRingBuffer(int,java.nio.ByteBuffer,int,int):166:173 -> a 1:18:void insert2RingBuffer(int,java.nio.ByteBuffer,int,int):103:120 -> b 19:20:void insert2RingBuffer(int,java.nio.ByteBuffer,int,int):111:112 -> b 1:1:int getAvailableSizeInByte():161:161 -> getAvailableSizeInByte 1:1:ai.neuvision.kit.audio.AudioFrameShort getFrame():124:124 -> getFrame 2:17:ai.neuvision.kit.audio.AudioFrameShort getFrame(int):134:149 -> getFrame 18:31:ai.neuvision.kit.audio.AudioFrameShort getFrame(int):144:157 -> getFrame 1:4:void main(java.lang.String[]):291:294 -> main 1:6:void putData(short[]):93:98 -> putData 1:1:void putDataForRecord(java.nio.ShortBuffer,int):51:51 -> putDataForRecord 1:1:void putFrameForPlay(java.nio.ShortBuffer,int):47:47 -> putFrameForPlay 1:93:int findPitch(int):187:279 -> tryFastPlay 1:93:int tryFastPlay(int):177 -> tryFastPlay 94:94:int tryFastPlay(int):179:179 -> tryFastPlay ai.neuvision.kit.audio.Device -> ai.neuvision.kit.audio.Device: java.util.List abiList -> b java.lang.String model -> g java.lang.String manufacturer -> f int sdk -> h java.lang.String abi -> a java.lang.String brand -> c java.lang.String id -> e java.lang.String deviceName -> d 1:1:void (java.lang.String,java.util.List,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,int):62:62 -> 2:2:void (java.lang.String,java.util.List,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,int,kotlin.jvm.internal.DefaultConstructorMarker):78:78 -> 1:1:java.lang.String getAbi():64:64 -> getAbi 1:1:java.util.List getAbiList():66:66 -> getAbiList 1:1:java.lang.String getBrand():68:68 -> getBrand 1:1:java.lang.String getDeviceName():70:70 -> getDeviceName 1:1:java.lang.String getId():72:72 -> getId 1:1:java.lang.String getManufacturer():74:74 -> getManufacturer 1:1:java.lang.String getModel():76:76 -> getModel 1:1:int getSdk():78:78 -> getSdk 1:1:void setAbi(java.lang.String):64:64 -> setAbi 1:1:void setAbiList(java.util.List):66:66 -> setAbiList 1:1:void setBrand(java.lang.String):68:68 -> setBrand 1:1:void setDeviceName(java.lang.String):70:70 -> setDeviceName 1:1:void setId(java.lang.String):72:72 -> setId 1:1:void setManufacturer(java.lang.String):74:74 -> setManufacturer 1:1:void setModel(java.lang.String):76:76 -> setModel 1:1:void setSdk(int):78:78 -> setSdk ai.neuvision.kit.audio.Device1 -> ai.neuvision.kit.audio.Device1: java.lang.String sdk -> g java.lang.String model -> f java.lang.String abi -> a java.lang.String brand -> c java.lang.String abiList -> b java.lang.String id -> e java.lang.String deviceName -> d 1:1:void (java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String):62:62 -> 2:2:void (java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):76:76 -> 1:1:java.lang.String getAbi():64:64 -> getAbi 1:1:java.lang.String getAbiList():66:66 -> getAbiList 1:1:java.lang.String getBrand():68:68 -> getBrand 1:1:java.lang.String getDeviceName():70:70 -> getDeviceName 1:1:java.lang.String getId():72:72 -> getId 1:1:java.lang.String getModel():74:74 -> getModel 1:1:java.lang.String getSdk():76:76 -> getSdk 1:1:void setAbi(java.lang.String):64:64 -> setAbi 1:1:void setAbiList(java.lang.String):66:66 -> setAbiList 1:1:void setBrand(java.lang.String):68:68 -> setBrand 1:1:void setDeviceName(java.lang.String):70:70 -> setDeviceName 1:1:void setId(java.lang.String):72:72 -> setId 1:1:void setModel(java.lang.String):74:74 -> setModel 1:1:void setSdk(java.lang.String):76:76 -> setSdk ai.neuvision.kit.audio.ExternalAudio -> ai.neuvision.kit.audio.ExternalAudio: android.util.SparseArray tracks -> b int sampleRate -> c int trackCount -> a 1:3:void (int):15:17 -> 1:4:void close():94:97 -> close 1:4:int createAudioTrack(android.media.AudioFormat):102:105 -> createAudioTrack 1:3:int destroyAudioTrack(int):121:123 -> destroyAudioTrack 1:154:ai.neuvision.kit.audio.AudioFrameShort getAudioData():21:174 -> getAudioData 155:165:ai.neuvision.kit.audio.AudioFrameShort getAudioData():29:39 -> getAudioData 1:1:void (int):15:15 -> getSampleRate 1:1:int getSampleRate():15 -> getSampleRate 1:12:int mixAudio(java.nio.ByteBuffer,int):132:143 -> mixAudio 1:18:void putAudioData(java.nio.ByteBuffer):48:65 -> putAudioData 1:3:int resetAudioTrack(int):152:154 -> resetAudioTrack 1:8:void setAudioFormat(android.media.AudioFormat):71:78 -> setAudioFormat 9:11:int setAudioFormat(android.media.AudioFormat,int):110:112 -> setAudioFormat 1:3:int setAudioVolume(float,int):162:164 -> setAudioVolume 1:8:void setVolume(float):83:90 -> setVolume ai.neuvision.kit.audio.ExternalAudioTrack -> ai.neuvision.kit.audio.ExternalAudioTrack: long nativeProcessor -> f float volume -> d int sampleRate -> g ai.neuvision.kit.audio.CoreRingBuffer ringBuffer -> e boolean isRunning -> a android.media.AudioFormat audioFormat -> c boolean needResample -> b 1:1:void ():43:43 -> 1:33:void (int):17:49 -> 1:2:void close():106:107 -> close 1:1:ai.neuvision.kit.audio.AudioFrameShort getAudioData():97:97 -> getAudioData 1:1:android.media.AudioFormat getAudioFormat():21:21 -> getAudioFormat 1:1:int getSampleRate():17:17 -> getSampleRate 1:1:float getVolume():37:37 -> getVolume 1:38:void putAudioData(java.nio.ByteBuffer):54:91 -> putAudioData 39:39:void putAudioData(java.nio.ByteBuffer):57:57 -> putAudioData 1:1:void reset():101:101 -> reset 1:11:void setAudioFormat(android.media.AudioFormat):24:34 -> setAudioFormat 1:1:void setVolume(float):37:37 -> setVolume ai.neuvision.kit.audio.ExternalAudioTrack$Companion -> ai.neuvision.kit.audio.ExternalAudioTrack$Companion: 1:1:void ():41:41 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):41:41 -> ai.neuvision.kit.audio.JitterBuffer -> ai.neuvision.kit.audio.JitterBuffer: int maxJitterBufferLength -> n int maxNumNotReady -> o int lostRate -> j ai.neuvision.kit.audio.YCKJitterBufferFrame lastFrame -> f boolean isRunning -> l byte[] seqlog -> m int state -> c ai.neuvision.kit.audio.JitterBuffer$JitterBufferReceiver receiver -> k short minReadyLastSecond -> g short numNotReady -> h short lastSeq -> e short numWaiting -> i long from -> s int playCount -> r java.util.LinkedList buffer -> a java.lang.String TAG -> b short bufferLength -> d long checkInterval -> p int logCount -> q 1:1:void access$timerAction(ai.neuvision.kit.audio.JitterBuffer):20:20 -> 1:1:void (long):20 -> 2:61:void (long):21:80 -> 1:2:void setBufferLength(short):27:28 -> a 3:19:void timerAction():302:302 -> a 36:41:void timerAction():319:319 -> a 42:42:void timerAction():302:302 -> a 43:44:int findStart(int):432:433 -> a 1:1:void access$timerAction(ai.neuvision.kit.audio.JitterBuffer):20:20 -> access$isRunning$p 1:1:boolean access$isRunning$p(ai.neuvision.kit.audio.JitterBuffer):20 -> access$isRunning$p 1:1:void access$timerAction(ai.neuvision.kit.audio.JitterBuffer):20:20 -> access$setRunning$p 1:1:void access$setRunning$p(ai.neuvision.kit.audio.JitterBuffer,boolean):20 -> access$setRunning$p 1:1:void access$timerAction(ai.neuvision.kit.audio.JitterBuffer):20:20 -> access$timerAction 1:1:void close():355:355 -> close 2:2:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> close 2:2:void close():561 -> close 3:6:void close():357:360 -> close 1:16:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():150:165 -> getFrame 17:17:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> getFrame 17:17:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():491 -> getFrame 18:58:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():167:207 -> getFrame 59:59:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> getFrame 59:59:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():498 -> getFrame 60:62:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():209:211 -> getFrame 63:63:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> getFrame 63:63:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():505 -> getFrame 64:66:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():214:216 -> getFrame 67:82:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():207:222 -> getFrame 83:83:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> getFrame 83:83:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():512 -> getFrame 84:90:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():224:230 -> getFrame 91:91:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> getFrame 91:91:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():519 -> getFrame 92:114:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():232:254 -> getFrame 115:115:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> getFrame 115:115:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():533 -> getFrame 116:116:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():256:256 -> getFrame 117:117:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():249:249 -> getFrame 118:118:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> getFrame 118:118:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():526 -> getFrame 119:128:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():251:260 -> getFrame 129:129:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> getFrame 129:129:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():540 -> getFrame 130:152:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():263:285 -> getFrame 153:153:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> getFrame 153:153:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():547 -> getFrame 154:156:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():287:289 -> getFrame 157:157:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> getFrame 157:157:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():554 -> getFrame 158:158:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():292:292 -> getFrame 159:159:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():285:285 -> getFrame 160:160:ai.neuvision.kit.audio.YCKJitterBufferFrame getFrame():150:150 -> getFrame 1:1:void access$timerAction(ai.neuvision.kit.audio.JitterBuffer):20:20 -> getFrom 1:1:long getFrom():20 -> getFrom 1:1:int getLostRate():35:35 -> getLostRate 1:1:void setReceiver(ai.neuvision.kit.audio.JitterBuffer$JitterBufferReceiver):41:41 -> getReceiver 1:1:ai.neuvision.kit.audio.JitterBuffer$JitterBufferReceiver getReceiver():41 -> getReceiver 1:1:int getState():23:23 -> getState 1:1:boolean isAccelerating():85:85 -> isAccelerating 1:1:boolean isWaiting():89:89 -> isWaiting 1:53:java.lang.String log():364:416 -> log 54:54:java.lang.String log():398:398 -> log 55:55:java.lang.String log():397:397 -> log 56:56:java.lang.String log():396:396 -> log 57:57:java.lang.String log():395:395 -> log 58:58:java.lang.String log():394:394 -> log 59:59:java.lang.String log():393:393 -> log 60:60:java.lang.String log():392:392 -> log 61:61:java.lang.String log():391:391 -> log 62:80:java.lang.String log():390:408 -> log 81:81:java.lang.String log():407:407 -> log 82:82:java.lang.String log():406:406 -> log 83:83:java.lang.String log():405:405 -> log 84:84:java.lang.String log():404:404 -> log 85:85:java.lang.String log():403:403 -> log 86:86:java.lang.String log():402:402 -> log 87:87:java.lang.String log():401:401 -> log 88:88:java.lang.String log():400:400 -> log 89:114:java.lang.String log():399:424 -> log 1:3:void putFrame(ai.neuvision.kit.audio.YCKJitterBufferFrame):94:96 -> putFrame 4:4:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> putFrame 4:4:void putFrame(ai.neuvision.kit.audio.YCKJitterBufferFrame):484 -> putFrame 5:44:void putFrame(ai.neuvision.kit.audio.YCKJitterBufferFrame):98:137 -> putFrame 45:45:void putFrame(ai.neuvision.kit.audio.YCKJitterBufferFrame):94:94 -> putFrame 1:3:void reset():347:347 -> reset 6:7:void reset():350:351 -> reset 8:8:void reset():347:347 -> reset 1:3:void setAudioPreferredMode(int):339:341 -> setAudioPreferredMode 4:11:void setAudioPreferredMode(int):329:336 -> setAudioPreferredMode 1:2:void setLostRate(int):37:38 -> setLostRate 1:1:void setReceiver(ai.neuvision.kit.audio.JitterBuffer$JitterBufferReceiver):41:41 -> setReceiver 1:1:java.lang.String stateStr():428:428 -> stateStr ai.neuvision.kit.audio.JitterBuffer$Companion -> ai.neuvision.kit.audio.JitterBuffer$Companion: 1:1:void ():53:53 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):53:53 -> ai.neuvision.kit.audio.JitterBuffer$PreferredMode -> ai.neuvision.kit.audio.JitterBuffer$PreferredMode: 1:1:void ():66:66 -> 1:1:void ():66:66 -> ai.neuvision.kit.audio.JitterBuffer$State -> ai.neuvision.kit.audio.JitterBuffer$State: 1:1:void ():58:58 -> 1:1:void ():58:58 -> ai.neuvision.kit.audio.JitterBuffer$timerAction$2 -> ai.neuvision.kit.audio.JitterBuffer$a: ai.neuvision.kit.audio.JitterBuffer this$0 -> a 1:2:void run():320:321 -> run ai.neuvision.kit.audio.Player -> ai.neuvision.kit.audio.Player: int forcePlayGainLevel -> a 1:1:void (int):81:81 -> 2:2:void (int,int,kotlin.jvm.internal.DefaultConstructorMarker):83:83 -> 1:1:int getForcePlayGainLevel():83:83 -> getForcePlayGainLevel 1:1:void setForcePlayGainLevel(int):83:83 -> setForcePlayGainLevel ai.neuvision.kit.audio.Player1 -> ai.neuvision.kit.audio.Player1: int forcePlayGainLevel -> a 1:1:void (int):79:79 -> 2:2:void (int,int,kotlin.jvm.internal.DefaultConstructorMarker):81:81 -> 1:1:int getForcePlayGainLevel():81:81 -> getForcePlayGainLevel 1:1:void setForcePlayGainLevel(int):81:81 -> setForcePlayGainLevel ai.neuvision.kit.audio.Recorder -> ai.neuvision.kit.audio.Recorder: int mode -> b int forceRecordGainLevel -> a 1:1:void (int,int):86:86 -> 2:2:void (int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):90:90 -> 1:1:int getForceRecordGainLevel():88:88 -> getForceRecordGainLevel 1:1:int getMode():90:90 -> getMode 1:1:void setForceRecordGainLevel(int):88:88 -> setForceRecordGainLevel 1:1:void setMode(int):90:90 -> setMode ai.neuvision.kit.audio.Recorder1 -> ai.neuvision.kit.audio.Recorder1: int mode -> b int forceRecordGainLevel -> a 1:1:void (int,int):84:84 -> 2:2:void (int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):88:88 -> 1:1:int getForceRecordGainLevel():86:86 -> getForceRecordGainLevel 1:1:int getMode():88:88 -> getMode 1:1:void setForceRecordGainLevel(int):86:86 -> setForceRecordGainLevel 1:1:void setMode(int):88:88 -> setMode ai.neuvision.kit.audio.RingBuffer -> ai.neuvision.kit.audio.RingBuffer: java.nio.ByteBuffer mBuffer -> i int mBufferSize -> h int mFrameSize -> f int mByte20ms -> g int mStart -> d int mStop -> e java.lang.String TAG -> b int mPlayFrameByteSize -> c int sampleRate -> a 1:10:void ():16:25 -> 1:1:void copy2buffer(int,byte[],int,int):65:65 -> a 2:89:int findPitch(int):120:207 -> a 1:4:void copyFromBuffer(int,byte[],int,int):102:105 -> b 1:15:ai.neuvision.kit.audio.AudioFrameShort getFrame():75:89 -> getFrame 16:22:ai.neuvision.kit.audio.AudioFrameShort getFrame():85:91 -> getFrame 23:26:void copyFromBuffer(int,byte[],int,int):102:105 -> getFrame 23:26:void copyFromBuffer(int,byte[]):97 -> getFrame 23:26:ai.neuvision.kit.audio.AudioFrameShort getFrame():81 -> getFrame 27:38:ai.neuvision.kit.audio.AudioFrameShort getFrame():82:93 -> getFrame 1:1:int getSampleRate():17:17 -> getSampleRate 1:1:void putData(short[]):29:29 -> putData 2:18:void putData(byte[]):36:52 -> putData 2:18:void putData(short[]):29 -> putData 19:19:void copy2buffer(int,byte[]):58:58 -> putData 19:19:void putData(byte[]):47 -> putData 19:19:void putData(short[]):29 -> putData 20:20:void putData(byte[]):48:48 -> putData 20:20:void putData(short[]):29 -> putData 1:1:void setSampleRate(int):17:17 -> setSampleRate 1:4:int tryFastPlay(int):110:113 -> tryFastPlay ai.neuvision.kit.audio.VolumeChangeObserver -> ai.neuvision.kit.audio.VolumeChangeObserver: ai.neuvision.kit.audio.VolumeChangeObserver$VolumeBroadcastReceiver mVolumeBroadcastReceiver -> d ai.neuvision.kit.audio.AudioMngHelper audioMngHelper -> b android.media.AudioManager mAudioManager -> f java.lang.Runnable notifyCallback -> h ai.neuvision.kit.audio.VolumeChangeObserver$VolumeChangeListener mVolumeChangeListener -> c boolean mRegistered -> g android.content.Context mContext -> e int audioType -> a 1:1:void (android.content.Context):44:44 -> 2:40:void (android.content.Context):25:63 -> 41:44:void (android.content.Context):45:48 -> 1:19:void printVolume():127:145 -> a 20:20:void printVolume():139:139 -> a 21:30:void printVolume():133:142 -> a 31:45:void printVolume():136:150 -> a 1:1:int getCurrentMusicVolume():81:81 -> getCurrentMusicVolume 1:1:ai.neuvision.kit.audio.VolumeChangeObserver$VolumeChangeListener getVolumeChangeListener():86:86 -> getVolumeChangeListener 1:2:void notifyEvent():59:60 -> notifyEvent 1:6:void registerReceiver():100:105 -> registerReceiver 1:4:void setAudioType(int):52:55 -> setAudioType 1:2:void setVolumeChangeListener(ai.neuvision.kit.audio.VolumeChangeObserver$VolumeChangeListener):90:91 -> setVolumeChangeListener 1:10:void unregisterReceiver():112:121 -> unregisterReceiver ai.neuvision.kit.audio.VolumeChangeObserver$1 -> ai.neuvision.kit.audio.VolumeChangeObserver$a: ai.neuvision.kit.audio.VolumeChangeObserver this$0 -> a 1:1:void (ai.neuvision.kit.audio.VolumeChangeObserver):63:63 -> 1:1:void run():66:66 -> run 2:2:android.media.AudioManager ai.neuvision.kit.audio.VolumeChangeObserver.access$000(ai.neuvision.kit.audio.VolumeChangeObserver):21:21 -> run 2:2:void run():66 -> run 3:3:void run():66:66 -> run 4:4:int ai.neuvision.kit.audio.VolumeChangeObserver.access$100(ai.neuvision.kit.audio.VolumeChangeObserver):21:21 -> run 4:4:void run():66 -> run 5:11:void run():67:73 -> run 12:12:ai.neuvision.kit.audio.AudioMngHelper ai.neuvision.kit.audio.VolumeChangeObserver.access$200(ai.neuvision.kit.audio.VolumeChangeObserver):21:21 -> run 12:12:void run():73 -> run 13:14:void run():73:74 -> run ai.neuvision.kit.audio.VolumeChangeObserver$VolumeBroadcastReceiver -> ai.neuvision.kit.audio.VolumeChangeObserver$b: java.lang.ref.WeakReference mObserverWeakReference -> a 1:2:void (ai.neuvision.kit.audio.VolumeChangeObserver):156:157 -> 1:5:void onReceive(android.content.Context,android.content.Intent):162:166 -> onReceive 6:6:int ai.neuvision.kit.audio.VolumeChangeObserver.access$100(ai.neuvision.kit.audio.VolumeChangeObserver):21:21 -> onReceive 6:6:void onReceive(android.content.Context,android.content.Intent):167 -> onReceive 7:7:void onReceive(android.content.Context,android.content.Intent):168:168 -> onReceive 8:8:java.lang.Runnable ai.neuvision.kit.audio.VolumeChangeObserver.access$300(ai.neuvision.kit.audio.VolumeChangeObserver):21:21 -> onReceive 8:8:void onReceive(android.content.Context,android.content.Intent):168 -> onReceive 9:10:void onReceive(android.content.Context,android.content.Intent):168:169 -> onReceive 11:11:void ai.neuvision.kit.audio.VolumeChangeObserver.access$400(ai.neuvision.kit.audio.VolumeChangeObserver):21:21 -> onReceive 11:11:void onReceive(android.content.Context,android.content.Intent):171 -> onReceive 12:12:ai.neuvision.kit.audio.AudioMngHelper ai.neuvision.kit.audio.VolumeChangeObserver.access$200(ai.neuvision.kit.audio.VolumeChangeObserver):21:21 -> onReceive 12:12:void onReceive(android.content.Context,android.content.Intent):173 -> onReceive 13:13:void onReceive(android.content.Context,android.content.Intent):173:173 -> onReceive ai.neuvision.kit.audio.YCKAudioManagerWrap -> ai.neuvision.kit.audio.YCKAudioManagerWrap: int retryCnt -> n long mLastMode -> l android.content.Context mAppCxt -> b boolean mWiredHeadsetOn -> i int mCurrentBluetoothChanelState -> j android.media.AudioManager mAudioManager -> d ai.neuvision.kit.audio.AudioRecorder yckRecorder -> a java.lang.Runnable mBlueRefreshRunnable -> m java.lang.Object mLock -> c boolean mHandsFreeEnable -> f boolean mBluetoothScoEnable -> g boolean mMuteEnable -> h android.content.IntentFilter mIntentFilter -> k android.content.BroadcastReceiver mReceiver -> p android.bluetooth.BluetoothAdapter mBluetoothAdapter -> e java.lang.Runnable mBlueToothOpenRunnable -> o 1:1:void (android.content.Context,ai.neuvision.kit.audio.AudioRecorder):149:149 -> 2:127:void (android.content.Context,ai.neuvision.kit.audio.AudioRecorder):43:168 -> 1:1:boolean access$102(ai.neuvision.kit.audio.YCKAudioManagerWrap,boolean):22:22 -> a 2:15:void sendAudioStateUpdatedBroadcast(long):173:186 -> a 16:36:void closeBluetoothChannel():491:511 -> a 1:1:boolean access$202(ai.neuvision.kit.audio.YCKAudioManagerWrap,boolean):22:22 -> b 2:5:boolean isBluetoothA2dpOn():388:391 -> b 1:1:boolean access$802(ai.neuvision.kit.audio.YCKAudioManagerWrap,boolean):22:22 -> c 2:28:void openBluetoothChannel():461:487 -> c 1:12:long getMode():445:456 -> getMode 1:4:boolean isBluetoothAvailable():395:398 -> isBluetoothAvailable 1:5:boolean isHandsFree():379:383 -> isHandsFree 6:9:boolean isHandsFree():381:384 -> isHandsFree 1:3:boolean isMuted():422:424 -> isMuted 1:3:boolean isWiredHeadsetOn():433:435 -> isWiredHeadsetOn 1:20:void onSessionStart():271:290 -> onSessionStart 1:44:void onSessionStop():295:338 -> onSessionStop 1:22:boolean setHandsFree(boolean):348:369 -> setHandsFree 23:29:boolean setHandsFree(boolean):360:366 -> setHandsFree 30:32:boolean setHandsFree(boolean):365:367 -> setHandsFree 33:48:boolean setHandsFree(boolean):354:369 -> setHandsFree 1:7:void setMute(boolean):407:413 -> setMute ai.neuvision.kit.audio.YCKAudioManagerWrap$1 -> ai.neuvision.kit.audio.YCKAudioManagerWrap$a: ai.neuvision.kit.audio.YCKAudioManagerWrap this$0 -> a 1:1:void (ai.neuvision.kit.audio.YCKAudioManagerWrap):58:58 -> 1:1:void run():61:61 -> run 2:2:java.lang.Object ai.neuvision.kit.audio.YCKAudioManagerWrap.access$000(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 2:2:void run():61 -> run 3:4:void run():61:62 -> run 5:5:boolean ai.neuvision.kit.audio.YCKAudioManagerWrap.access$100(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 5:5:void run():62 -> run 6:9:void run():63:66 -> run 10:10:void ai.neuvision.kit.audio.YCKAudioManagerWrap.access$300(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 10:10:void run():66 -> run 11:11:void run():67:67 -> run 12:12:android.media.AudioManager ai.neuvision.kit.audio.YCKAudioManagerWrap.access$400(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 12:12:void run():67 -> run 13:19:void run():67:73 -> run 20:20:void ai.neuvision.kit.audio.YCKAudioManagerWrap.access$500(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 20:20:void run():73 -> run 21:24:void run():75:78 -> run 25:25:void ai.neuvision.kit.audio.YCKAudioManagerWrap.access$300(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 25:25:void run():78 -> run 26:26:void run():79:79 -> run 27:27:boolean ai.neuvision.kit.audio.YCKAudioManagerWrap.access$600(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 27:27:void run():79 -> run 28:34:void run():79:85 -> run 35:35:void ai.neuvision.kit.audio.YCKAudioManagerWrap.access$300(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 35:35:void run():85 -> run 36:36:void run():86:86 -> run 37:37:boolean ai.neuvision.kit.audio.YCKAudioManagerWrap.access$600(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 37:37:void run():86 -> run 38:40:void run():86:88 -> run 41:41:void ai.neuvision.kit.audio.YCKAudioManagerWrap.access$700(ai.neuvision.kit.audio.YCKAudioManagerWrap,long):22:22 -> run 41:41:void run():88 -> run 42:42:void run():89:89 -> run ai.neuvision.kit.audio.YCKAudioManagerWrap$2 -> ai.neuvision.kit.audio.YCKAudioManagerWrap$b: ai.neuvision.kit.audio.YCKAudioManagerWrap this$0 -> a 1:1:void (ai.neuvision.kit.audio.YCKAudioManagerWrap):97:97 -> 1:2:void run():100:101 -> run 3:3:int ai.neuvision.kit.audio.YCKAudioManagerWrap.access$900(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 3:3:void run():101 -> run 4:13:void run():102:111 -> run 14:14:boolean ai.neuvision.kit.audio.YCKAudioManagerWrap.access$1000(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 14:14:void run():111 -> run 15:15:void run():111:111 -> run 16:16:android.media.AudioManager ai.neuvision.kit.audio.YCKAudioManagerWrap.access$400(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 16:16:void run():111 -> run 17:18:void run():111:112 -> run 19:19:int ai.neuvision.kit.audio.YCKAudioManagerWrap.access$902(ai.neuvision.kit.audio.YCKAudioManagerWrap,int):22:22 -> run 19:19:void run():112 -> run 20:20:void run():113:113 -> run 21:21:android.media.AudioManager ai.neuvision.kit.audio.YCKAudioManagerWrap.access$400(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 21:21:void run():113 -> run 22:24:void run():113:115 -> run 25:25:void ai.neuvision.kit.audio.YCKAudioManagerWrap.access$700(ai.neuvision.kit.audio.YCKAudioManagerWrap,long):22:22 -> run 25:25:void run():115 -> run 26:26:void run():118:118 -> run 27:27:void ai.neuvision.kit.audio.YCKAudioManagerWrap.access$500(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 27:27:void run():118 -> run 28:28:void run():119:119 -> run 29:29:android.media.AudioManager ai.neuvision.kit.audio.YCKAudioManagerWrap.access$400(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 29:29:void run():119 -> run 30:31:void run():119:120 -> run 32:32:int ai.neuvision.kit.audio.YCKAudioManagerWrap.access$908(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 32:32:void run():120 -> run 33:33:void run():121:121 -> run ai.neuvision.kit.audio.YCKAudioManagerWrap$3 -> ai.neuvision.kit.audio.YCKAudioManagerWrap$c: ai.neuvision.kit.audio.YCKAudioManagerWrap this$0 -> a 1:1:void (ai.neuvision.kit.audio.YCKAudioManagerWrap):125:125 -> 1:3:void onReceive(android.content.Context,android.content.Intent):132:134 -> onReceive 4:218:void ai.neuvision.kit.audio.YCKAudioManagerWrap.onWiredHeadsetStateChanged(android.content.Intent):0:214 -> onReceive 4:218:void ai.neuvision.kit.audio.YCKAudioManagerWrap.access$1100(ai.neuvision.kit.audio.YCKAudioManagerWrap,android.content.Intent):22 -> onReceive 4:218:void onReceive(android.content.Context,android.content.Intent):134 -> onReceive 219:219:void ai.neuvision.kit.audio.YCKAudioManagerWrap.onWiredHeadsetStateChanged(android.content.Intent):212:212 -> onReceive 219:219:void ai.neuvision.kit.audio.YCKAudioManagerWrap.access$1100(ai.neuvision.kit.audio.YCKAudioManagerWrap,android.content.Intent):22 -> onReceive 219:219:void onReceive(android.content.Context,android.content.Intent):134 -> onReceive 220:222:void onReceive(android.content.Context,android.content.Intent):135:137 -> onReceive 223:459:void ai.neuvision.kit.audio.YCKAudioManagerWrap.onBluetoothStateChanged(android.content.Intent):0:236 -> onReceive 223:459:void ai.neuvision.kit.audio.YCKAudioManagerWrap.access$1200(ai.neuvision.kit.audio.YCKAudioManagerWrap,android.content.Intent):22 -> onReceive 223:459:void onReceive(android.content.Context,android.content.Intent):137 -> onReceive 460:462:void onReceive(android.content.Context,android.content.Intent):138:140 -> onReceive 463:722:void ai.neuvision.kit.audio.YCKAudioManagerWrap.onBluetoothConnectionStateChanged(android.content.Intent):0:259 -> onReceive 463:722:void ai.neuvision.kit.audio.YCKAudioManagerWrap.access$1300(ai.neuvision.kit.audio.YCKAudioManagerWrap,android.content.Intent):22 -> onReceive 463:722:void onReceive(android.content.Context,android.content.Intent):140 -> onReceive 723:729:void ai.neuvision.kit.audio.YCKAudioManagerWrap.onBluetoothConnectionStateChanged(android.content.Intent):258:264 -> onReceive 723:729:void ai.neuvision.kit.audio.YCKAudioManagerWrap.access$1300(ai.neuvision.kit.audio.YCKAudioManagerWrap,android.content.Intent):22 -> onReceive 723:729:void onReceive(android.content.Context,android.content.Intent):140 -> onReceive 730:733:void ai.neuvision.kit.audio.YCKAudioManagerWrap.onBluetoothConnectionStateChanged(android.content.Intent):263:266 -> onReceive 730:733:void ai.neuvision.kit.audio.YCKAudioManagerWrap.access$1300(ai.neuvision.kit.audio.YCKAudioManagerWrap,android.content.Intent):22 -> onReceive 730:733:void onReceive(android.content.Context,android.content.Intent):140 -> onReceive 734:736:void onReceive(android.content.Context,android.content.Intent):141:143 -> onReceive 737:737:java.lang.Runnable ai.neuvision.kit.audio.YCKAudioManagerWrap.access$1400(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> onReceive 737:737:void onReceive(android.content.Context,android.content.Intent):143 -> onReceive 738:739:void onReceive(android.content.Context,android.content.Intent):143:144 -> onReceive 740:740:java.lang.Runnable ai.neuvision.kit.audio.YCKAudioManagerWrap.access$1400(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> onReceive 740:740:void onReceive(android.content.Context,android.content.Intent):144 -> onReceive 741:741:void onReceive(android.content.Context,android.content.Intent):144:144 -> onReceive ai.neuvision.kit.audio.YCKAudioManagerWrap$4 -> ai.neuvision.kit.audio.YCKAudioManagerWrap$d: ai.neuvision.kit.audio.YCKAudioManagerWrap this$0 -> a 1:1:void (ai.neuvision.kit.audio.YCKAudioManagerWrap):325:325 -> 1:3:void run():328:330 -> run 4:4:android.media.AudioManager ai.neuvision.kit.audio.YCKAudioManagerWrap.access$400(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 4:4:void run():330 -> run 5:6:void run():330:331 -> run 7:7:void ai.neuvision.kit.audio.YCKAudioManagerWrap.access$300(ai.neuvision.kit.audio.YCKAudioManagerWrap):22:22 -> run 7:7:void run():331 -> run 8:8:void run():333:333 -> run ai.neuvision.kit.audio.YCKAudioManagerWrap$YcBluetooth -> ai.neuvision.kit.audio.YCKAudioManagerWrap$YcBluetooth: 1:1:void ():515:515 -> 1:19:int isBluetoothAvailable(android.bluetooth.BluetoothAdapter):529:547 -> isBluetoothAvailable ai.neuvision.kit.audio.YCKAudioSessionIn -> ai.neuvision.kit.audio.YCKAudioSessionIn: boolean isMixing -> n int audioRepeatFactor -> l boolean needMixing -> o int mixPriority -> m int audioVolume -> h boolean isRobot -> k int count -> i ai.neuvision.kit.audio.CoreRingBuffer ringBuffer -> c int sampleRate -> f ai.neuvision.kit.audio.YCKOpus decoder -> a ai.neuvision.kit.audio.JitterBuffer jitterBuffer -> b ai.neuvision.kit.audio.YCKAudioSessionIn$AudioVolumeListener mAudioVolumeListener -> j short currSeqId -> e java.util.ArrayDeque tmpBuffer -> d boolean closed -> g int[] vTable -> q int nullFrameCount -> p 1:1:void ():78:78 -> 1:1:void (long):54:54 -> 2:338:void (long):33:369 -> 339:348:void (long):55:64 -> 1:17:void processReceivedAudioData(java.nio.ByteBuffer,ai.neuvision.kit.audio.AudioFrameContext,int,long):81:97 -> a 1:5:void close():102:106 -> close 1:14:ai.neuvision.kit.audio.AudioFrameShort forceGetAFrame(int):226:239 -> forceGetAFrame 15:37:void analysis(java.lang.Object,boolean):372:394 -> forceGetAFrame 15:37:ai.neuvision.kit.audio.AudioFrameShort forceGetAFrame(int):239 -> forceGetAFrame 38:109:ai.neuvision.kit.audio.AudioFrameShort forceGetAFrame(int):243:314 -> forceGetAFrame 110:118:void reportAudioVolume(ai.neuvision.kit.audio.AudioFrameShort,int):325:333 -> forceGetAFrame 110:118:ai.neuvision.kit.audio.AudioFrameShort forceGetAFrame(int):317 -> forceGetAFrame 1:1:int getAudioFrameMs():355:355 -> getAudioFrameMs 1:3:int getJitterBufferLostRate():359:361 -> getJitterBufferLostRate 1:1:int getMixPriority():365:365 -> getMixPriority 1:1:short getSeqId():347:347 -> getSeqId 1:4:void onFrameOut(ai.neuvision.kit.audio.YCKJitterBufferFrame):115:118 -> onFrameOut 5:53:void decode(ai.neuvision.kit.audio.YCKJitterBufferFrame,java.util.ArrayDeque):123:171 -> onFrameOut 5:53:void onFrameOut(ai.neuvision.kit.audio.YCKJitterBufferFrame):118 -> onFrameOut 1:1:void setAudioPreferredMode(int):351:351 -> setAudioPreferredMode 1:1:void setAudioVolumeListener(ai.neuvision.kit.audio.YCKAudioSessionIn$AudioVolumeListener):51:51 -> setAudioVolumeListener 1:1:ai.neuvision.kit.audio.AudioFrameShort tryGetAFrame(int):211:211 -> tryGetAFrame ai.neuvision.kit.audio.YCKAudioSessionInMgr -> ai.neuvision.kit.audio.YCKAudioSessionInMgr: ai.neuvision.kit.audio.YCKAudioSessionInMgr$AudioVolumeListener mAudioVolumeListener -> a 1:1:void (ai.neuvision.kit.audio.AudioEngine):21:21 -> 2:7:void (ai.neuvision.kit.audio.AudioEngine):17:22 -> 1:4:void close():27:30 -> close 1:1:java.util.Set getAllFroms():85:85 -> getAllFroms 1:1:ai.neuvision.kit.audio.YCKAudioSessionIn getSessionInFor(long):62:62 -> getSessionInFor 1:8:ai.neuvision.kit.audio.YCKAudioSessionIn getSessionInOrCreate(long):66:73 -> initCodecFor 1:8:ai.neuvision.kit.audio.YCKAudioSessionIn initCodecFor(long,int):79 -> initCodecFor 9:16:void ai.neuvision.kit.audio.YCKAudioSessionIn.initDecoder(int):68:75 -> initCodecFor 9:16:ai.neuvision.kit.audio.YCKAudioSessionIn initCodecFor(long,int):80 -> initCodecFor 17:17:void ai.neuvision.kit.audio.YCKAudioSessionIn.initDecoder(int):73:73 -> initCodecFor 17:17:ai.neuvision.kit.audio.YCKAudioSessionIn initCodecFor(long,int):80 -> initCodecFor 1:12:void processReceiveAudioData(java.nio.ByteBuffer,ai.neuvision.kit.audio.AudioFrameContext,int,long):47:58 -> processReceiveAudioData 1:6:void removeIn(java.lang.Long):89:94 -> removeIn 1:2:void reportAudioVolume(int,long):106:107 -> reportAudioVolume 1:1:void setAudioVolumeListener(ai.neuvision.kit.audio.YCKAudioSessionInMgr$AudioVolumeListener):40:40 -> setAudioVolumeListener ai.neuvision.kit.audio.YCKAudioSessionOut -> ai.neuvision.kit.audio.YCKAudioSessionOut: ai.neuvision.kit.utils.AudioFrameCalcu audioFrameCalcu -> i float dtxForceInterval -> h java.util.List filters -> d ai.neuvision.kit.audio.YCKAudioSessionOutListener callback -> a int audioVolume -> f boolean notSendSilentAudioEnabled -> g int count -> e int[] vTable -> j java.util.concurrent.ExecutorService executor -> b ai.neuvision.kit.audio.AudioEngine engine -> c 1:1:void ():176:176 -> 1:1:void (ai.neuvision.kit.audio.AudioEngine):53:53 -> 2:24:void (ai.neuvision.kit.audio.AudioEngine):39:61 -> 1:6:void lambda$new$0(ai.neuvision.sdk.utils.AbstractMetrixItem$MetrixSameTickBase):62:62 -> a 7:32:void innerProcess(java.nio.ShortBuffer,ai.neuvision.kit.audio.AudioFrameContext):179:204 -> a 33:45:int reportAudioVolume(java.nio.ShortBuffer,int):280:292 -> a 33:45:void innerProcess(java.nio.ShortBuffer,ai.neuvision.kit.audio.AudioFrameContext):206 -> a 46:48:void setVolumeToContext(int,ai.neuvision.kit.audio.AudioFrameContext):302:304 -> a 46:48:void innerProcess(java.nio.ShortBuffer,ai.neuvision.kit.audio.AudioFrameContext):208 -> a 49:54:void innerProcess(java.nio.ShortBuffer,ai.neuvision.kit.audio.AudioFrameContext):209:214 -> a 55:67:void send(ai.neuvision.kit.audio.AudioFrameContext,java.nio.ByteBuffer):223:235 -> a 55:67:void innerProcess(java.nio.ShortBuffer,ai.neuvision.kit.audio.AudioFrameContext):217 -> a 1:7:int addFilter(ai.neuvision.kit.audio.RawAudioPCMFilter):90:96 -> addFilter 8:8:int addFilter(ai.neuvision.kit.audio.RawAudioPCMFilter):95:95 -> addFilter 1:2:boolean allZero(java.nio.ShortBuffer):272:273 -> allZero 1:3:void lambda$processNewAudioCaptureData$1(java.nio.ShortBuffer,ai.neuvision.kit.audio.AudioFrameContext):169:171 -> b 1:9:void close():112:120 -> close 1:1:int getAudioQuality():139:139 -> getAudioQuality 1:1:ai.neuvision.kit.audio.YCKAudioSessionOutListener getCallback():125:125 -> getCallback 1:1:short getCurrentSeqId():157:157 -> getCurrentSeqId 1:1:ai.neuvision.kit.video.VideoCodecMetrix getEncodeMetrix():134:134 -> getEncodeMetrix 1:1:float getVad(java.nio.ShortBuffer):266:266 -> getVad 1:1:int getVoiceRatio():147:147 -> getVoiceRatio 1:9:void init(int):72:80 -> init 1:1:boolean isMusic():152:152 -> isMusic 1:1:boolean isNotSendSilentAudioEnabled():309:309 -> isNotSendSilentAudioEnabled 1:5:void processNewAudioCaptureData(java.nio.ShortBuffer,ai.neuvision.kit.audio.AudioFrameContext):163:167 -> processNewAudioCaptureData 1:7:int removeFilter(ai.neuvision.kit.audio.RawAudioPCMFilter):100:106 -> removeFilter 8:8:int removeFilter(ai.neuvision.kit.audio.RawAudioPCMFilter):105:105 -> removeFilter 1:1:void setAudioQuality(int):143:143 -> setAudioQuality 1:1:void setCallback(ai.neuvision.kit.audio.YCKAudioSessionOutListener):129:129 -> setCallback 1:1:void setNotSendSilentAudioEnabled(boolean):313:313 -> setNotSendSilentAudioEnabled 1:2:void start():84:85 -> start 1:22:void vadCheck(java.nio.ShortBuffer,ai.neuvision.kit.audio.AudioFrameContext,int):239:260 -> vadCheck ai.neuvision.kit.audio.YCKJitterBuffer -> ai.neuvision.kit.audio.YCKJitterBuffer: ai.neuvision.kit.audio.YCKJitterBuffer$JitterBufferReceiver receiver -> a long lastMeasureTime -> e int bufferLength -> d ai.neuvision.kit.audio.YCKJitterBuffer$State state -> b java.util.LinkedList buffer -> c 1:27:void (long):22:48 -> 28:28:void (long):23:23 -> 1:1:ai.neuvision.kit.audio.YCKJitterBuffer$JitterBufferReceiver getReceiver():27:27 -> getReceiver 1:17:void putFrame(ai.neuvision.kit.audio.YCKJitterBufferFrame):71:87 -> putFrame 18:46:void putFrame(ai.neuvision.kit.audio.YCKJitterBufferFrame):86:114 -> putFrame 47:61:void measure():205:219 -> putFrame 47:61:void putFrame(ai.neuvision.kit.audio.YCKJitterBufferFrame):116 -> putFrame 62:62:void putFrame(ai.neuvision.kit.audio.YCKJitterBufferFrame):114:114 -> putFrame 1:7:void reset():61:67 -> reset 1:1:void setReceiver(ai.neuvision.kit.audio.YCKJitterBuffer$JitterBufferReceiver):31:31 -> setReceiver ai.neuvision.kit.audio.YCKJitterBuffer$State -> ai.neuvision.kit.audio.YCKJitterBuffer$a: ai.neuvision.kit.audio.YCKJitterBuffer$State[] $VALUES -> e ai.neuvision.kit.audio.YCKJitterBuffer$State DEDELERATE -> d ai.neuvision.kit.audio.YCKJitterBuffer$State ACCELERATE -> c ai.neuvision.kit.audio.YCKJitterBuffer$State PLAYING -> b ai.neuvision.kit.audio.YCKJitterBuffer$State WAITING -> a 1:1:void ():41:41 -> 2:2:void ():40:40 -> 1:1:void (java.lang.String,int):40:40 -> 1:1:ai.neuvision.kit.audio.YCKJitterBuffer$State valueOf(java.lang.String):40:40 -> valueOf 1:1:ai.neuvision.kit.audio.YCKJitterBuffer$State[] values():40:40 -> values ai.neuvision.kit.audio.YCKJitterBufferFrame -> ai.neuvision.kit.audio.YCKJitterBufferFrame: 1:3:void (short,java.nio.ByteBuffer):18:20 -> ai.neuvision.kit.audio.YCKMixer -> ai.neuvision.kit.audio.YCKMixer: 1:1:void ():11:11 -> 1:16:ai.neuvision.kit.audio.AudioFrameShort mixAFrame(android.util.LongSparseArray):15:30 -> mixAFrame 17:29:ai.neuvision.kit.audio.AudioFrameShort mixAFrame(android.util.LongSparseArray):29:41 -> mixAFrame ai.neuvision.kit.audio.YCKOpus -> ai.neuvision.kit.audio.YCKOpus: 1:3:void ():17:19 -> 1:26:void ():13:38 -> 1:2:void checkNative():94:95 -> checkNative 1:7:void createDecoder(int):61:67 -> createDecoder 1:7:void createEncoder(int):43:49 -> createEncoder 8:8:void createEncoder(int):44:44 -> createEncoder 1:2:java.nio.ShortBuffer decode(java.nio.ByteBuffer):133:134 -> decode 3:20:java.nio.ShortBuffer decode(java.nio.ByteBuffer,boolean):142:159 -> decode 1:2:java.nio.ShortBuffer decodeWithFec(java.nio.ByteBuffer):128:129 -> decodeWithFec 1:7:void destroy():72:78 -> destroy 1:25:java.nio.ByteBuffer encode(java.nio.ShortBuffer):100:124 -> encode 1:1:int getAudioQuality():84:84 -> getAudioQuality 1:1:int getDecFrameSize():169:169 -> getDecFrameSize 1:1:int getEncFrameSize():164:164 -> getEncFrameSize 1:1:int getFrameMs():192:192 -> getFrameMs 1:1:int getFrameSize(int,int):53:53 -> getFrameSize 2:2:int getFrameSize():57:57 -> getFrameSize 1:1:int getPacketLossPercent():188:188 -> getPacketLossPercent 1:1:int getVoiceRatio():206:206 -> getVoiceRatio 1:1:boolean isMusic():210:210 -> isMusic 1:3:void setAudioQuality(int):88:90 -> setAudioQuality 1:5:int setFrameMs(int):197:201 -> setFrameMs 1:3:int setPacketLossPercent(int):180:182 -> setPacketLossPercent ai.neuvision.kit.audio.wav.PcmStreamToWav -> ai.neuvision.kit.audio.wav.PcmStreamToWav: 1:1:void (java.io.File,int,int):34:34 -> 2:2:void (java.io.File,int,int,int,java.util.concurrent.Executor):37:37 -> 3:22:void (java.io.File,int,int,int,java.util.concurrent.Executor):28:47 -> 1:5:void writeHeader(long):51:55 -> a 6:10:void innerClose():73:77 -> a 11:16:void innerWrite(java.util.List):95:100 -> a 17:20:void write(short[]):108:111 -> a 17:20:void innerWrite(java.util.List):100 -> a 21:25:void innerWrite(java.util.List):99:103 -> a 1:11:void appendBatch(java.util.List):81:91 -> appendBatch 1:3:void lambda$close$0():62:64 -> b 4:6:void lambda$appendBatch$1(java.util.List):84:86 -> b 1:11:void close():59:69 -> close ai.neuvision.kit.audio.wav.PcmToWavUtil -> ai.neuvision.kit.audio.wav.PcmToWavUtil: boolean $assertionsDisabled -> a 1:1:void ():20:20 -> 1:1:void ():20:20 -> 1:4:void writeInt(java.io.DataOutputStream,int):88:91 -> a 5:6:void writeShort(java.io.DataOutputStream,short):95:96 -> a 7:8:void writeString(java.io.DataOutputStream,java.lang.String):100:101 -> a 9:9:void assertTrue(boolean):132:132 -> a 10:14:java.lang.String readString(java.io.DataInputStream,int):156:160 -> a 15:18:java.lang.String readString(java.io.DataInputStream,int):159:162 -> a 19:22:int readInt(java.io.DataInputStream):166:169 -> a 1:2:int readShort(java.io.DataInputStream):174:175 -> b 1:15:ai.neuvision.kit.audio.wav.PcmToWavUtil$HeaderInfo readHeader(java.io.DataInputStream):113:127 -> readHeader 1:3:short[] readPCM(java.io.DataInputStream,int):136:138 -> readPCM 4:6:int readPCM(java.io.DataInputStream,short[]):145:147 -> readPCM 1:1:void saveToFile(java.lang.String,int,int,short[]):50:50 -> saveToFile 2:2:java.io.DataOutputStream getByName(java.lang.String):46:46 -> saveToFile 2:2:void saveToFile(java.lang.String,int,int,short[]):51 -> saveToFile 3:5:void saveToFile(java.lang.String,int,int,short[]):52:54 -> saveToFile 6:9:void saveToFile(java.lang.String,int,int,short[]):51:54 -> saveToFile 10:15:void saveToFile(java.lang.String,java.util.List):58:63 -> saveToFile 16:16:void saveToFile(java.lang.String,java.util.List):62:62 -> saveToFile 17:17:java.io.DataOutputStream getByName(java.lang.String):46:46 -> saveToFile 17:17:void saveToFile(java.lang.String,java.util.List):65 -> saveToFile 18:36:void saveToFile(java.lang.String,java.util.List):66:84 -> saveToFile 37:49:void saveToFile(java.lang.String,java.util.List):72:84 -> saveToFile 50:55:void saveToFile(java.lang.String,java.util.List):65:70 -> saveToFile 1:13:void writeHeader(java.io.DataOutputStream,int,int,int):24:36 -> writeHeader 1:2:void writePCMPart(java.io.DataOutputStream,short[]):40:41 -> writePCMPart ai.neuvision.kit.audio.wav.PcmToWavUtil$HeaderInfo -> ai.neuvision.kit.audio.wav.PcmToWavUtil$HeaderInfo: 1:1:void ():106:106 -> ai.neuvision.kit.audio.wav.PlayerSaver -> ai.neuvision.kit.audio.wav.PlayerSaver: java.lang.String currFile -> a ai.neuvision.kit.audio.wav.PcmStreamToWav saver -> b 1:4:void (java.lang.String,int):28:31 -> 1:4:void append(long,int,ai.neuvision.kit.audio.AudioFrameShort):51:54 -> append 5:7:void append(ai.neuvision.kit.audio.AudioFrameShort):74:76 -> append 1:4:void close():59:62 -> close 1:1:void start(long,int):35:35 -> start 2:9:void start(long,int,int):39:46 -> start ai.neuvision.kit.call.CallEvent -> ai.neuvision.kit.call.CallEvent: 1:1:void ():12:12 -> 1:1:void ():12:12 -> ai.neuvision.kit.call.CallInfo -> ai.neuvision.kit.call.CallInfo: long opSrc -> j java.lang.String fromName -> k long peer -> e int net -> f int mediaType -> g java.lang.String channelName -> n long me -> d long sessionId -> c ai.neuvision.sdk.sdwan.signal.UserInfo participantInfo -> l java.util.ArrayList relays -> i java.util.ArrayList callees -> h java.lang.String TAG -> a long lastChangeTime -> m short mode -> b long lastRelayChangeTime -> o 1:3:void ():15:17 -> 1:70:java.util.LinkedList activeParticipants():56:125 -> activeParticipants 71:82:java.util.LinkedList activeParticipants():68:79 -> activeParticipants 1:13:void clear():40:52 -> clear 1:1:void setCallees(java.util.ArrayList):26:26 -> getCallees 1:1:java.util.ArrayList getCallees():26 -> getCallees 1:1:void setChannelName(java.lang.String):34:34 -> getChannelName 1:1:java.lang.String getChannelName():34 -> getChannelName 1:1:void setFromName(java.lang.String):29:29 -> getFromName 1:1:java.lang.String getFromName():29 -> getFromName 1:1:void setLastChangeTime(long):33:33 -> getLastChangeTime 1:1:long getLastChangeTime():33 -> getLastChangeTime 1:1:void setLastRelayChangeTime(long):36:36 -> getLastRelayChangeTime 1:1:long getLastRelayChangeTime():36 -> getLastRelayChangeTime 1:1:void setMe(long):21:21 -> getMe 1:1:long getMe():21 -> getMe 1:1:void setMediaType(int):24:24 -> getMediaType 1:1:int getMediaType():24 -> getMediaType 1:1:void setMode(short):19:19 -> getMode 1:1:short getMode():19 -> getMode 1:1:void setNet(int):23:23 -> getNet 1:1:int getNet():23 -> getNet 1:1:void setOpSrc(long):28:28 -> getOpSrc 1:1:long getOpSrc():28 -> getOpSrc 1:1:void setParticipantInfo(ai.neuvision.sdk.sdwan.signal.UserInfo):32:32 -> getParticipantInfo 1:1:ai.neuvision.sdk.sdwan.signal.UserInfo getParticipantInfo():32 -> getParticipantInfo 1:1:void setPeer(long):22:22 -> getPeer 1:1:long getPeer():22 -> getPeer 1:1:void setRelays(java.util.ArrayList):27:27 -> getRelays 1:1:java.util.ArrayList getRelays():27 -> getRelays 1:1:void setSessionId(long):20:20 -> getSessionId 1:1:long getSessionId():20 -> getSessionId 1:40:java.util.Set newJoin():88:127 -> newJoin 41:44:java.util.Set newJoin():91:94 -> newJoin 1:28:java.util.Set newLeave():102:129 -> newLeave 29:32:java.util.Set newLeave():105:108 -> newLeave 1:1:void setCallees(java.util.ArrayList):26:26 -> setCallees 1:1:void setChannelName(java.lang.String):34:34 -> setChannelName 1:1:void setFromName(java.lang.String):29:29 -> setFromName 1:1:void setLastChangeTime(long):33:33 -> setLastChangeTime 1:1:void setLastRelayChangeTime(long):36:36 -> setLastRelayChangeTime 1:1:void setMe(long):21:21 -> setMe 1:1:void setMediaType(int):24:24 -> setMediaType 1:1:void setMode(short):19:19 -> setMode 1:1:void setNet(int):23:23 -> setNet 1:1:void setOpSrc(long):28:28 -> setOpSrc 1:1:void setParticipantInfo(ai.neuvision.sdk.sdwan.signal.UserInfo):32:32 -> setParticipantInfo 1:1:void setPeer(long):22:22 -> setPeer 1:1:void setRelays(java.util.ArrayList):27:27 -> setRelays 1:1:void setSessionId(long):20:20 -> setSessionId 1:3:java.lang.String toString():116:118 -> toString ai.neuvision.kit.call.CallInfo$activeParticipants$$inlined$sortBy$1 -> ai.neuvision.kit.call.CallInfo$activeParticipants$$inlined$sortBy$1: 1:1:int compare(java.lang.Object,java.lang.Object):102:102 -> compare 2:2:java.util.LinkedList ai.neuvision.kit.call.CallInfo.activeParticipants():66:66 -> compare 2:2:int compare(java.lang.Object,java.lang.Object):320 -> compare ai.neuvision.kit.call.CallManager -> ai.neuvision.kit.call.CallManager: java.util.LinkedList mStateChangeListeners -> l java.util.LinkedList mCallManagerCallbacks -> m int inCallIndex -> o ai.neuvision.kit.audio.AudioEngine mAudioEngine -> b ai.neuvision.kit.data.DataEngine mDataEngine -> d int syncCount -> k ai.neuvision.kit.call.statemachine.StateMachine mStateMachine -> f ai.neuvision.kit.call.CallManager$mPush3Listener$1 mPush3Listener -> t ai.neuvision.kit.video.VideoEngine mVideoEngine -> c java.util.LinkedList customSignals -> r java.util.LinkedList cseqIds -> s ai.neuvision.kit.IRequestName mRequestNameListener -> n kotlin.Lazy signalDeduplicate$delegate -> u kotlin.Lazy mCallManager$delegate -> v java.lang.Runnable mCalledTimeoutCallback -> i java.util.Timer timer -> j java.lang.Runnable mCallingTimeoutCallback -> h ai.neuvision.sdk.sdwan.transport.YCKTransportSession mTransportSession -> e ai.neuvision.kit.call.CallInfo mCurCallInfo -> a long lastCustomSignalTs -> q android.os.HandlerThread mSessionSyncHandlerThread -> g int curNetworkQuality -> p 1:1:void ():61:61 -> 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> 1:1:void ():57 -> 2:1303:void ():96:1397 -> 1304:1304:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> java.util.ArrayDeque getSignalDeduplicate() -> a 1:1:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> a 1:1:void handlerPush3Message(com.neuvision.push3.Push3Message):1997 -> a 2:9:void handlerPush3Message(com.neuvision.push3.Push3Message):1840:1847 -> a 10:10:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> a 10:10:void handlerPush3Message(com.neuvision.push3.Push3Message):1998 -> a 11:13:void handlerPush3Message(com.neuvision.push3.Push3Message):1848:1850 -> a 14:14:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> a 14:14:void handlerPush3Message(com.neuvision.push3.Push3Message):1999 -> a 15:15:void handlerPush3Message(com.neuvision.push3.Push3Message):1851:1851 -> a 16:16:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> a 16:16:void handlerPush3Message(com.neuvision.push3.Push3Message):2000 -> a 17:19:void handlerPush3Message(com.neuvision.push3.Push3Message):1854:1856 -> a 1:1:void accept():1108:1108 -> accept 1:1:void calledTimeout():1393:1393 -> access$calledTimeout 1:1:void access$calledTimeout(ai.neuvision.kit.call.CallManager):57 -> access$calledTimeout 1:1:void callingTimeout():1388:1388 -> access$callingTimeout 1:1:void access$callingTimeout(ai.neuvision.kit.call.CallManager):57 -> access$callingTimeout 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getCseqIds$p 1:1:java.util.LinkedList access$getCseqIds$p(ai.neuvision.kit.call.CallManager):57 -> access$getCseqIds$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getCustomSignals$p 1:1:java.util.LinkedList access$getCustomSignals$p(ai.neuvision.kit.call.CallManager):57 -> access$getCustomSignals$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getInCallIndex$p 1:1:int access$getInCallIndex$p(ai.neuvision.kit.call.CallManager):57 -> access$getInCallIndex$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getMAudioEngine$p 1:1:ai.neuvision.kit.audio.AudioEngine access$getMAudioEngine$p(ai.neuvision.kit.call.CallManager):57 -> access$getMAudioEngine$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getMCallManager$cp 1:1:kotlin.Lazy access$getMCallManager$cp():57 -> access$getMCallManager$cp 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getMCallManagerCallbacks$p 1:1:java.util.LinkedList access$getMCallManagerCallbacks$p(ai.neuvision.kit.call.CallManager):57 -> access$getMCallManagerCallbacks$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getMCalledTimeoutCallback$p 1:1:java.lang.Runnable access$getMCalledTimeoutCallback$p(ai.neuvision.kit.call.CallManager):57 -> access$getMCalledTimeoutCallback$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getMCallingTimeoutCallback$p 1:1:java.lang.Runnable access$getMCallingTimeoutCallback$p(ai.neuvision.kit.call.CallManager):57 -> access$getMCallingTimeoutCallback$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getMCurCallInfo$p 1:1:ai.neuvision.kit.call.CallInfo access$getMCurCallInfo$p(ai.neuvision.kit.call.CallManager):57 -> access$getMCurCallInfo$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getMDataEngine$p 1:1:ai.neuvision.kit.data.DataEngine access$getMDataEngine$p(ai.neuvision.kit.call.CallManager):57 -> access$getMDataEngine$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getMStateChangeListeners$p 1:1:java.util.LinkedList access$getMStateChangeListeners$p(ai.neuvision.kit.call.CallManager):57 -> access$getMStateChangeListeners$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getMStateMachine$p 1:1:ai.neuvision.kit.call.statemachine.StateMachine access$getMStateMachine$p(ai.neuvision.kit.call.CallManager):57 -> access$getMStateMachine$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getMVideoEngine$p 1:1:ai.neuvision.kit.video.VideoEngine access$getMVideoEngine$p(ai.neuvision.kit.call.CallManager):57 -> access$getMVideoEngine$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getSyncCount$p 1:1:int access$getSyncCount$p(ai.neuvision.kit.call.CallManager):57 -> access$getSyncCount$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$getTimer$p 1:1:java.util.Timer access$getTimer$p(ai.neuvision.kit.call.CallManager):57 -> access$getTimer$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$handlerPush3Message 1:1:void access$handlerPush3Message(ai.neuvision.kit.call.CallManager,com.neuvision.push3.Push3Message):57 -> access$handlerPush3Message 1:1:java.lang.String requestNameOfCallerWithUid(long):1861:1861 -> access$requestNameOfCallerWithUid 1:1:java.lang.String access$requestNameOfCallerWithUid(ai.neuvision.kit.call.CallManager,long):57 -> access$requestNameOfCallerWithUid 1:11:void sendPstnSignal():975:985 -> access$sendPstnSignal 1:11:void access$sendPstnSignal(ai.neuvision.kit.call.CallManager):57 -> access$sendPstnSignal 12:12:java.lang.String requestNameOfCallerWithUid(long):1861:1861 -> access$sendPstnSignal 12:12:void sendPstnSignal():985 -> access$sendPstnSignal 12:12:void access$sendPstnSignal(ai.neuvision.kit.call.CallManager):57 -> access$sendPstnSignal 13:13:void sendPstnSignal():987:987 -> access$sendPstnSignal 13:13:void access$sendPstnSignal(ai.neuvision.kit.call.CallManager):57 -> access$sendPstnSignal 14:23:void sendPstnSignal():982:991 -> access$sendPstnSignal 14:23:void access$sendPstnSignal(ai.neuvision.kit.call.CallManager):57 -> access$sendPstnSignal 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$sendStateSync 1:1:void access$sendStateSync(ai.neuvision.kit.call.CallManager):57 -> access$sendStateSync 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$setInCallIndex$p 1:1:void access$setInCallIndex$p(ai.neuvision.kit.call.CallManager,int):57 -> access$setInCallIndex$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$setMCalledTimeoutCallback$p 1:1:void access$setMCalledTimeoutCallback$p(ai.neuvision.kit.call.CallManager,java.lang.Runnable):57 -> access$setMCalledTimeoutCallback$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$setMCallingTimeoutCallback$p 1:1:void access$setMCallingTimeoutCallback$p(ai.neuvision.kit.call.CallManager,java.lang.Runnable):57 -> access$setMCallingTimeoutCallback$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$setMCurCallInfo$p 1:1:void access$setMCurCallInfo$p(ai.neuvision.kit.call.CallManager,ai.neuvision.kit.call.CallInfo):57 -> access$setMCurCallInfo$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$setMStateMachine$p 1:1:void access$setMStateMachine$p(ai.neuvision.kit.call.CallManager,ai.neuvision.kit.call.statemachine.StateMachine):57 -> access$setMStateMachine$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$setSyncCount$p 1:1:void access$setSyncCount$p(ai.neuvision.kit.call.CallManager,int):57 -> access$setSyncCount$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> access$setTimer$p 1:1:void access$setTimer$p(ai.neuvision.kit.call.CallManager,java.util.Timer):57 -> access$setTimer$p 1:1:void autoPerspectiveTransform(long):1819:1819 -> autoPerspectiveTransform 1:11:void sendStateSync():996:1006 -> b 12:32:void sendStateSync():1005:1025 -> b 33:42:void sendStateSync():1020:1029 -> b 43:43:void sendStateSync():1005:1005 -> b 1:778:void setupStateMachine():190:967 -> c 779:779:void setupStateMachine():948:948 -> c 780:804:void setupStateMachine():947:971 -> c 1:5:void callMultiparty(java.util.ArrayList,int,ai.neuvision.sdk.sdwan.signal.CallOption,ai.neuvision.kit.call.CallManager$CallHandler):1062:1062 -> callMultiparty 11:11:void callMultiparty(java.util.ArrayList,int,ai.neuvision.sdk.sdwan.signal.CallOption,ai.neuvision.kit.call.CallManager$CallHandler):1068:1068 -> callMultiparty 1:4:void callOneOne(long,int,ai.neuvision.sdk.sdwan.signal.CallOption,ai.neuvision.kit.call.CallManager$CallHandler):1052:1052 -> callOneOne 9:9:void callOneOne(long,int,ai.neuvision.sdk.sdwan.signal.CallOption,ai.neuvision.kit.call.CallManager$CallHandler):1057:1057 -> callOneOne 1:1:void cancel():1118:1118 -> cancel 1:1:void cancelVideoTransform(long):1828:1828 -> cancelVideoTransform 1:1:void close():1511:1511 -> close 2:2:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> close 2:2:void close():1995 -> close 3:10:void close():1511:1518 -> close 1:1:void confirmVideoTransform(long):1824:1824 -> confirmVideoTransform 1:1:int createExternalAudioTrack(android.media.AudioFormat):1639:1639 -> createExternalAudioTrack 1:1:ai.neuvision.kit.call.CallInfo currentCallInfo():1522:1522 -> currentCallInfo 1:1:java.lang.String currentCallState():1526:1526 -> currentCallState 1:2:void destroy():1773:1774 -> destroy 1:1:int destroyExternalAudioTrack(int):1643:1643 -> destroyExternalAudioTrack 1:1:int getAecMode():1610:1610 -> getAecMode 1:1:int getAudioPreferredMode():1622:1622 -> getAudioPreferredMode 1:1:int getAudioQuality():1554:1554 -> getAudioQuality 1:1:int getAudioSampleRate():1563:1563 -> getAudioSampleRate 1:1:int getBandwidthUpperLimit():1546:1546 -> getBandwidthUpperLimit 1:1:boolean getBaseRect(android.graphics.PointF,android.graphics.PointF,android.graphics.PointF,android.graphics.PointF,long,boolean):1802:1802 -> getBaseRect 1:1:int getCameraPosition():1530:1530 -> getCameraPosition 1:1:int getCameraPreviewFrameRate():1730:1730 -> getCameraPreviewFrameRate 1:1:void ():119:119 -> getCurNetworkQuality 1:1:int getCurNetworkQuality():119 -> getCurNetworkQuality 1:1:int getDenoiseLevel():1602:1602 -> getDenoiseLevel 1:1:ai.neuvision.sdk.sdwan.signal.UserInfo getGroupCallMembers():1778:1778 -> getGroupCallMembers 1:1:boolean getMIsInCall():112:112 -> getMIsInCall 1:1:void setMTransportSession(ai.neuvision.sdk.sdwan.transport.YCKTransportSession):100:100 -> getMTransportSession 1:1:ai.neuvision.sdk.sdwan.transport.YCKTransportSession getMTransportSession():100 -> getMTransportSession 1:1:int getMaxAudioMixingNumber():1668:1668 -> getMaxAudioMixingNumber 1:1:ai.neuvision.sdk.sdwan.metrix.MetrixDataNetworkInfo getNetworkInfo(long):1957:1957 -> getNetworkInfo 1:1:int getP2pEnableRatio():1757:1757 -> getP2pEnableRatio 1:1:void getPerspectiveRect(android.graphics.PointF,android.graphics.PointF,android.graphics.PointF,android.graphics.PointF,long):1811:1811 -> getPerspectiveRect 1:1:long getVideoAverageBitrate():1538:1538 -> getVideoAverageBitrate 1:1:java.lang.String getVideoEncoder(ai.neuvision.kit.video.VideoType):1718:1718 -> getVideoEncoder 1:1:ai.neuvision.kit.video.MimeType getVideoEncoderMime(ai.neuvision.kit.video.VideoType):1710:1710 -> getVideoEncoderMime 1:1:int getVideoFrameRate(ai.neuvision.kit.video.VideoType):1739:1739 -> getVideoFrameRate 1:1:int getVideoMaxBitrate(ai.neuvision.kit.video.VideoType):1726:1726 -> getVideoMaxBitrate 1:1:android.util.Size getVideoPreferredSize():1702:1702 -> getVideoPreferredSize 1:1:void hangup():1123:1123 -> hangup 2:9:void hangup(int,java.lang.String,boolean):1136:1143 -> hangup 1:1:void hangup$default(ai.neuvision.kit.call.CallManager,int,java.lang.String,boolean,int,java.lang.Object):1135:1135 -> hangup$default 1:1:void hangupAndCloseSession():1127:1127 -> hangupAndCloseSession 1:1:void hangupWithTimeout():1132:1132 -> hangupWithTimeout 1:3:void inviteMultiparty(java.util.ArrayList,long,ai.neuvision.kit.call.CallManager$CallHandler):1094:1096 -> inviteMultiparty 1:1:boolean isCameraOn():1594:1594 -> isCameraOn 1:1:boolean isCameraOnById(long):1948:1948 -> isCameraOnById 1:1:boolean isMirrorHorizontal(long):1785:1785 -> isMirrorHorizontal 1:1:boolean isMirrorVertical(long):1789:1789 -> isMirrorVertical 1:1:boolean isMuted():1581:1581 -> isMuted 1:1:boolean isMutedById(long):1952:1952 -> isMutedById 1:1:boolean isSpeakerOn():1572:1572 -> isSpeakerOn 1:4:void joinChannel(java.lang.String,int,ai.neuvision.kit.call.CallManager$CallHandler):1072:1072 -> joinChannel 10:10:void joinChannel(java.lang.String,int,ai.neuvision.kit.call.CallManager$CallHandler):1078:1078 -> joinChannel 1:6:void joinMultiparty(long,int,ai.neuvision.sdk.sdwan.signal.CallOption,ai.neuvision.kit.call.CallManager$CallHandler):1082:1082 -> joinMultiparty 12:13:void joinMultiparty(long,int,ai.neuvision.sdk.sdwan.signal.CallOption,ai.neuvision.kit.call.CallManager$CallHandler):1088:1089 -> joinMultiparty 1:3:void kickMultiparty(java.util.ArrayList,long,ai.neuvision.kit.call.CallManager$CallHandler):1101:1103 -> kickMultiparty 1:1:void mixExternalAudio(java.nio.ByteBuffer):1627:1627 -> mixExternalAudio 2:2:int mixExternalAudio(java.nio.ByteBuffer,int):1647:1647 -> mixExternalAudio 1:107:void onAudioVolume(int,long):1915:2021 -> onAudioVolume 108:108:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> onAudioVolume 108:108:void onAudioVolume(int,long):2022 -> onAudioVolume 109:109:void onAudioVolume(int,long):1915:1915 -> onAudioVolume 1:111:void onAudioVolumeOfSelf(int):1905:2015 -> onAudioVolumeOfSelf 112:112:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> onAudioVolumeOfSelf 112:112:void onAudioVolumeOfSelf(int):2016 -> onAudioVolumeOfSelf 113:113:void onAudioVolumeOfSelf(int):1905:1905 -> onAudioVolumeOfSelf 1:73:void onDataReceived(java.nio.ByteBuffer,ai.neuvision.kit.data.DataFrameContext,long):1961:2033 -> onDataReceived 74:74:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> onDataReceived 74:74:void onDataReceived(java.nio.ByteBuffer,ai.neuvision.kit.data.DataFrameContext,long):2034 -> onDataReceived 75:144:void onDataReceived(java.nio.ByteBuffer,ai.neuvision.kit.data.DataFrameContext,long):1970:2039 -> onDataReceived 145:145:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> onDataReceived 145:145:void onDataReceived(java.nio.ByteBuffer,ai.neuvision.kit.data.DataFrameContext,long):2040 -> onDataReceived 146:147:void onDataReceived(java.nio.ByteBuffer,ai.neuvision.kit.data.DataFrameContext,long):1977:1978 -> onDataReceived 148:148:void onDataReceived(java.nio.ByteBuffer,ai.neuvision.kit.data.DataFrameContext,long):1961:1961 -> onDataReceived 1:103:void onEvent(ai.neuvision.sdk.sdwan.transport.AbstractTransport,int,long):1925:2027 -> onEvent 104:104:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> onEvent 104:104:void onEvent(ai.neuvision.sdk.sdwan.transport.AbstractTransport,int,long):2028 -> onEvent 105:120:void onEvent(ai.neuvision.sdk.sdwan.transport.AbstractTransport,int,long):1925:1940 -> onEvent 121:121:void onEvent(ai.neuvision.sdk.sdwan.transport.AbstractTransport,int,long):1939:1939 -> onEvent 122:124:void onEvent(ai.neuvision.sdk.sdwan.transport.AbstractTransport,int,long):1936:1938 -> onEvent 125:125:void onEvent(ai.neuvision.sdk.sdwan.transport.AbstractTransport,int,long):1925:1925 -> onEvent 1:125:void onLocalVideoFrameReady(ai.neuvision.kit.video.YCKFrameContext):1883:2007 -> onLocalVideoFrameReady 126:126:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> onLocalVideoFrameReady 126:126:void onLocalVideoFrameReady(ai.neuvision.kit.video.YCKFrameContext):2008 -> onLocalVideoFrameReady 127:127:void onLocalVideoFrameReady(ai.neuvision.kit.video.YCKFrameContext):1883:1883 -> onLocalVideoFrameReady 1:38:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1399:1436 -> onReceivedSignalPacket 39:43:void receiveCallBusy(ai.neuvision.kit.call.CallSignal):1307:1311 -> onReceivedSignalPacket 39:43:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1432 -> onReceivedSignalPacket 44:49:void receiveCallEnd(ai.neuvision.kit.call.CallSignal):1297:1302 -> onReceivedSignalPacket 44:49:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1431 -> onReceivedSignalPacket 50:55:void receiveCallCancel(ai.neuvision.kit.call.CallSignal):1287:1292 -> onReceivedSignalPacket 50:55:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1430 -> onReceivedSignalPacket 56:61:void receiveCallReject(ai.neuvision.kit.call.CallSignal):1277:1282 -> onReceivedSignalPacket 56:61:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1429 -> onReceivedSignalPacket 62:79:void receiveCallAccept(ai.neuvision.kit.call.CallSignal):1255:1272 -> onReceivedSignalPacket 62:79:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1428 -> onReceivedSignalPacket 80:85:void receiveCallServerRing(ai.neuvision.kit.call.CallSignal):1245:1250 -> onReceivedSignalPacket 80:85:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1427 -> onReceivedSignalPacket 86:92:void receiveCallRing(ai.neuvision.kit.call.CallSignal):1234:1240 -> onReceivedSignalPacket 86:92:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1426 -> onReceivedSignalPacket 93:98:void receiveCallSidCreated(ai.neuvision.kit.call.CallSignal):1224:1229 -> onReceivedSignalPacket 93:98:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1425 -> onReceivedSignalPacket 99:99:void receiveCallSidCreated(ai.neuvision.kit.call.CallSignal):1225:1225 -> onReceivedSignalPacket 99:99:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1425 -> onReceivedSignalPacket 100:113:void receiveCallNewRelays(ai.neuvision.kit.call.CallSignal):1367:1380 -> onReceivedSignalPacket 100:113:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1435 -> onReceivedSignalPacket 114:771:void receiveCallStateInfo(ai.neuvision.kit.call.CallSignal):1329:1986 -> onReceivedSignalPacket 114:771:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1434 -> onReceivedSignalPacket 772:1405:void receiveCallStateInfo(ai.neuvision.kit.call.CallSignal):1356:1356 -> onReceivedSignalPacket 772:1405:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1434 -> onReceivedSignalPacket 1406:1406:void receiveCallStateInfo(ai.neuvision.kit.call.CallSignal):1357:1357 -> onReceivedSignalPacket 1406:1406:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1434 -> onReceivedSignalPacket 1407:1416:void receiveCallMemberState(ai.neuvision.kit.call.CallSignal):1316:1325 -> onReceivedSignalPacket 1407:1416:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1433 -> onReceivedSignalPacket 1417:1428:void receiveCallInvite(ai.neuvision.kit.call.CallSignal):1186:1197 -> onReceivedSignalPacket 1417:1428:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1424 -> onReceivedSignalPacket 1429:1429:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> onReceivedSignalPacket 1429:1429:void receiveCallInvite(ai.neuvision.kit.call.CallSignal):1985 -> onReceivedSignalPacket 1429:1429:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1424 -> onReceivedSignalPacket 1430:1451:void receiveCallInvite(ai.neuvision.kit.call.CallSignal):1197:1218 -> onReceivedSignalPacket 1430:1451:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1424 -> onReceivedSignalPacket 1452:1485:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1438:1471 -> onReceivedSignalPacket 1486:1506:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1458:1478 -> onReceivedSignalPacket 1507:1517:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1474:1484 -> onReceivedSignalPacket 1518:1518:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> onReceivedSignalPacket 1518:1518:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1991 -> onReceivedSignalPacket 1519:1519:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1484:1484 -> onReceivedSignalPacket 1520:1520:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1474:1474 -> onReceivedSignalPacket 1521:1558:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):1458:1495 -> onReceivedSignalPacket 1:129:void onRemoteVideoFrameReady(ai.neuvision.kit.video.YCKFrameContext,long):1873:2001 -> onRemoteVideoFrameReady 130:130:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> onRemoteVideoFrameReady 130:130:void onRemoteVideoFrameReady(ai.neuvision.kit.video.YCKFrameContext,long):2002 -> onRemoteVideoFrameReady 131:131:void onRemoteVideoFrameReady(ai.neuvision.kit.video.YCKFrameContext,long):1873:1873 -> onRemoteVideoFrameReady 1:119:void onStopAcceptVideo(boolean):1895:2013 -> onStopAcceptVideo 120:120:void onStopAcceptVideo(boolean):1897:1897 -> onStopAcceptVideo 121:121:void onStopAcceptVideo(boolean):1895:1895 -> onStopAcceptVideo 1:1:void registerCallManagerCallback(ai.neuvision.kit.call.CallManagerCallback):1043:1043 -> registerCallManagerCallback 1:1:void registerRequestNameListener(ai.neuvision.kit.IRequestName):1865:1865 -> registerRequestNameListener 1:1:void registerStateChangeListener(ai.neuvision.kit.call.CallManager$CallStateChangeListener):1035:1035 -> registerStateChangeListener 1:1:void reject():1113:1113 -> reject 1:7:void requestRecord(ai.neuvision.sdk.sdwan.signal.RecordType):1173:1179 -> requestRecord 8:13:void requestRecord(ai.neuvision.sdk.sdwan.signal.RecordType):1177:1182 -> requestRecord 1:1:int resetExternalAudio(int):1659:1659 -> resetExternalAudio 1:1:void resetVideoTransform(long):1832:1832 -> resetVideoTransform 1:3:void sendAppCommand(java.nio.ByteBuffer):1148:1150 -> sendAppCommand 4:6:void sendAppCommand(java.nio.ByteBuffer,long):1154:1156 -> sendAppCommand 1:3:void sendAppData(java.nio.ByteBuffer):1160:1162 -> sendAppData 4:6:void sendAppData(java.nio.ByteBuffer,long):1166:1168 -> sendAppData 1:3:void sendCustomSignal(ai.neuvision.kit.call.CustomSignal,long):1503:1505 -> sendCustomSignal 1:1:void setAecMode(int):1614:1614 -> setAecMode 1:1:void setAudioAcceptList(java.util.HashSet):1664:1664 -> setAudioAcceptList 1:1:void setAudioPreferredMode(int):1618:1618 -> setAudioPreferredMode 1:1:void setAudioQuality(int):1558:1558 -> setAudioQuality 1:1:void setAudioSampleRate(int):1567:1567 -> setAudioSampleRate 1:1:void setAudioStateCallback(ai.neuvision.kit.session.AudioStateCallback):1769:1769 -> setAudioStateCallback 1:1:void setBandwidthUpperLimit(int):1550:1550 -> setBandwidthUpperLimit 1:1:void setBaseRect(android.graphics.PointF,android.graphics.PointF,android.graphics.PointF,android.graphics.PointF):1807:1807 -> setBaseRect 1:1:void setCameraOn(boolean):1598:1598 -> setCameraOn 1:1:void setCameraPostion(int):1534:1534 -> setCameraPostion 1:1:void setCameraPreviewFrameRate(int):1734:1734 -> setCameraPreviewFrameRate 1:1:void setCameraStateCallback(android.hardware.camera2.CameraDevice$StateCallback):1765:1765 -> setCameraStateCallback 1:1:void ():119:119 -> setCurNetworkQuality 1:1:void setCurNetworkQuality(int):119 -> setCurNetworkQuality 1:1:void setDenoiseLevel(int):1606:1606 -> setDenoiseLevel 1:1:void setExternalAudioFormat(android.media.AudioFormat):1631:1631 -> setExternalAudioFormat 2:2:int setExternalAudioFormat(android.media.AudioFormat,int):1655:1655 -> setExternalAudioFormat 1:1:void setExternalAudioVolume(float):1635:1635 -> setExternalAudioVolume 2:2:int setExternalAudioVolume(float,int):1651:1651 -> setExternalAudioVolume 1:1:void setMTransportSession(ai.neuvision.sdk.sdwan.transport.YCKTransportSession):100:100 -> setMTransportSession 1:1:void setMaxAudioMixingNumber(int):1672:1672 -> setMaxAudioMixingNumber 1:1:void setMirrorHorizontal(boolean,long):1793:1793 -> setMirrorHorizontal 1:1:void setMirrorVertical(boolean,long):1797:1797 -> setMirrorVertical 1:3:void setMute(boolean):1586:1588 -> setMute 1:1:void setP2pEnabledRatio(int):1753:1753 -> setP2pEnabledRatio 1:1:void setPerspectiveRect(android.graphics.PointF,android.graphics.PointF,android.graphics.PointF,android.graphics.PointF):1815:1815 -> setPerspectiveRect 1:1:void setPhoneCallMode(boolean):1761:1761 -> setPhoneCallMode 1:1:void setSpeaker(boolean):1577:1577 -> setSpeaker 1:8:void setVideoAspectRatio(float):1690:1697 -> setVideoAspectRatio 1:1:void setVideoAverageBitrate(long):1542:1542 -> setVideoAverageBitrate 1:1:void setVideoCustomSize(android.util.Size):1686:1686 -> setVideoCustomSize 1:1:void setVideoEncoder(java.lang.String,ai.neuvision.kit.video.VideoType):1714:1714 -> setVideoEncoder 1:1:void setVideoEncoderMime(ai.neuvision.kit.video.MimeType,ai.neuvision.kit.video.VideoType):1706:1706 -> setVideoEncoderMime 1:1:void setVideoFrameRate(int,ai.neuvision.kit.video.VideoType):1743:1743 -> setVideoFrameRate 1:1:void setVideoMaxBitrate(int,ai.neuvision.kit.video.VideoType):1722:1722 -> setVideoMaxBitrate 1:1:void setVideoPreferredSize(ai.neuvision.kit.video.Resolution):1678:1678 -> setVideoPreferredSize 2:2:void setVideoPreferredSize(ai.neuvision.kit.video.Resolution,float):1682:1682 -> setVideoPreferredSize 1:1:void unRegisterCallManagerCallback(ai.neuvision.kit.call.CallManagerCallback):1047:1047 -> unRegisterCallManagerCallback 1:1:void unRegisterRequestNameListener():1869:1869 -> unRegisterRequestNameListener 1:1:void unRegisterStateChangeListener(ai.neuvision.kit.call.CallManager$CallStateChangeListener):1039:1039 -> unRegisterStateChangeListener ai.neuvision.kit.call.CallManager$CallMode -> ai.neuvision.kit.call.CallManager$CallMode: 1:1:void ():136:136 -> 1:1:void ():136:136 -> ai.neuvision.kit.call.CallManager$Companion -> ai.neuvision.kit.call.CallManager$Companion: 1:1:void ():59:59 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):59:59 -> 1:1:ai.neuvision.kit.call.CallManager getMCallManager():0:0 -> getInstance 1:1:ai.neuvision.kit.call.CallManager getInstance():64 -> getInstance ai.neuvision.kit.call.CallManager$Companion$mCallManager$2 -> ai.neuvision.kit.call.CallManager$a: ai.neuvision.kit.call.CallManager$Companion$mCallManager$2 INSTANCE -> a 1:1:ai.neuvision.kit.call.CallManager invoke():61:61 -> invoke 1:1:java.lang.Object invoke():59 -> invoke ai.neuvision.kit.call.CallManager$MediaType -> ai.neuvision.kit.call.CallManager$MediaType: 1:1:void ():141:141 -> 1:1:void ():141:141 -> ai.neuvision.kit.call.CallManager$SubType -> ai.neuvision.kit.call.CallManager$SubType: 1:1:void ():151:151 -> 1:1:void ():151:151 -> ai.neuvision.kit.call.CallManager$accept$1 -> ai.neuvision.kit.call.CallManager$b: ai.neuvision.kit.call.CallManager$accept$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$callMultiparty$1 -> ai.neuvision.kit.call.CallManager$c: ai.neuvision.kit.call.CallManager$CallHandler $completion -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:1070:void invoke(ai.neuvision.kit.YCKException):0:1068 -> invoke 2:1070:java.lang.Object invoke(java.lang.Object):57 -> invoke 1071:1071:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$callOneOne$1 -> ai.neuvision.kit.call.CallManager$d: ai.neuvision.kit.call.CallManager$CallHandler $completion -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:1059:void invoke(ai.neuvision.kit.YCKException):0:1057 -> invoke 2:1059:java.lang.Object invoke(java.lang.Object):57 -> invoke 1060:1060:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$calledTimeout$1 -> a: ai.neuvision.kit.call.CallManager$calledTimeout$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$callingTimeout$1 -> b: ai.neuvision.kit.call.CallManager$callingTimeout$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$cancel$1 -> ai.neuvision.kit.call.CallManager$e: ai.neuvision.kit.call.CallManager$cancel$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$hangup$state$1 -> ai.neuvision.kit.call.CallManager$f: ai.neuvision.kit.call.CallManager$hangup$state$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$inviteMultiparty$1 -> ai.neuvision.kit.call.CallManager$g: ai.neuvision.kit.call.CallManager$CallHandler $completion -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:1098:void invoke(ai.neuvision.kit.YCKException):0:1096 -> invoke 2:1098:java.lang.Object invoke(java.lang.Object):57 -> invoke 1099:1099:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$joinChannel$1 -> ai.neuvision.kit.call.CallManager$h: ai.neuvision.kit.call.CallManager$CallHandler $completion -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:1080:void invoke(ai.neuvision.kit.YCKException):0:1078 -> invoke 2:1080:java.lang.Object invoke(java.lang.Object):57 -> invoke 1081:1081:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$joinMultiparty$1 -> ai.neuvision.kit.call.CallManager$i: ai.neuvision.kit.call.CallManager$CallHandler $completion -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:1090:void invoke(ai.neuvision.kit.YCKException):0:1088 -> invoke 2:1090:java.lang.Object invoke(java.lang.Object):57 -> invoke 1091:1091:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$kickMultiparty$1 -> ai.neuvision.kit.call.CallManager$j: ai.neuvision.kit.call.CallManager$CallHandler $completion -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:1105:void invoke(ai.neuvision.kit.YCKException):0:1103 -> invoke 2:1105:java.lang.Object invoke(java.lang.Object):57 -> invoke 1106:1106:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$mCalledTimeoutCallback$1 -> ai.neuvision.kit.call.CallManager$k: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:void run():107:107 -> run ai.neuvision.kit.call.CallManager$mCallingTimeoutCallback$1 -> ai.neuvision.kit.call.CallManager$l: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:void run():106:106 -> run ai.neuvision.kit.call.CallManager$mPush3Listener$1 -> ai.neuvision.kit.call.CallManager$mPush3Listener$1: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:void (ai.neuvision.kit.call.CallManager):126:126 -> 1:1:void onNotificationClicked(com.neuvision.push3.Push3Message):128:128 -> onNotificationClicked 1:1:void onTransferMessageReceived(com.neuvision.push3.Push3Message):132:132 -> onTransferMessageReceived ai.neuvision.kit.call.CallManager$onAudioVolume$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$onAudioVolume$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallManagerCallback $it$inlined -> a long $from$inlined -> c int $volume$inlined -> b 1:1:void run():80:80 -> run ai.neuvision.kit.call.CallManager$onAudioVolumeOfSelf$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$onAudioVolumeOfSelf$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallManagerCallback $it$inlined -> a int $volume$inlined -> b 1:1:void run():80:80 -> run ai.neuvision.kit.call.CallManager$onDataReceived$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$onDataReceived$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallManagerCallback $it$inlined -> a long $from$inlined -> c java.nio.ByteBuffer $data$inlined -> b 1:1:void run():80:80 -> run ai.neuvision.kit.call.CallManager$onDataReceived$$inlined$synchronized$lambda$2 -> ai.neuvision.kit.call.CallManager$onDataReceived$$inlined$synchronized$lambda$2: ai.neuvision.kit.call.CallManagerCallback $it$inlined -> a long $from$inlined -> c java.nio.ByteBuffer $data$inlined -> b 1:1:void run():80:80 -> run ai.neuvision.kit.call.CallManager$onEvent$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$onEvent$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallManager this$0 -> b ai.neuvision.kit.call.CallManagerCallback $it$inlined -> a long $from$inlined -> d int $event$inlined -> c 1:2:void run():80:81 -> run ai.neuvision.kit.call.CallManager$onLocalVideoFrameReady$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$onLocalVideoFrameReady$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallManagerCallback $it$inlined -> a ai.neuvision.kit.video.YCKFrameContext $context$inlined -> b 1:1:void run():80:80 -> run ai.neuvision.kit.call.CallManager$onReceivedSignalPacket$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$onReceivedSignalPacket$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CustomSignal $signal$inlined -> b ai.neuvision.kit.call.CallManager this$0 -> a 1:3:void run():80:82 -> run ai.neuvision.kit.call.CallManager$onRemoteVideoFrameReady$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$onRemoteVideoFrameReady$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallManagerCallback $it$inlined -> a long $from$inlined -> c ai.neuvision.kit.video.YCKFrameContext $context$inlined -> b 1:1:void run():80:80 -> run ai.neuvision.kit.call.CallManager$receiveCallAccept$1 -> c: ai.neuvision.kit.call.CallManager$receiveCallAccept$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$receiveCallBusy$1 -> d: ai.neuvision.kit.call.CallManager$receiveCallBusy$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$receiveCallCancel$1 -> e: ai.neuvision.kit.call.CallManager$receiveCallCancel$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$receiveCallEnd$1 -> f: ai.neuvision.kit.call.CallManager$receiveCallEnd$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$receiveCallInvite$ret$1 -> g: ai.neuvision.kit.call.CallManager$receiveCallInvite$ret$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$receiveCallMemberState$1 -> h: ai.neuvision.kit.call.CallManager$receiveCallMemberState$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$receiveCallReject$1 -> i: ai.neuvision.kit.call.CallManager$receiveCallReject$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$receiveCallRing$1 -> j: ai.neuvision.kit.call.CallManager$receiveCallRing$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$receiveCallServerRing$1 -> k: ai.neuvision.kit.call.CallManager$receiveCallServerRing$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$receiveCallSidCreated$1 -> l: ai.neuvision.kit.call.CallManager$receiveCallSidCreated$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$receiveCallStateInfo$1 -> m: ai.neuvision.kit.call.CallManager$receiveCallStateInfo$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$reject$1 -> ai.neuvision.kit.call.CallManager$m: ai.neuvision.kit.call.CallManager$reject$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.YCKException):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$1 -> ai.neuvision.kit.call.CallManager$x: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:230:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):0:228 -> invoke 2:230:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 231:231:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$10 -> ai.neuvision.kit.call.CallManager$n: ai.neuvision.kit.call.CallManager$setupStateMachine$10 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$11 -> ai.neuvision.kit.call.CallManager$o: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:497:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:495 -> invoke 2:497:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 498:498:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 498:498:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 498:498:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 499:499:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):495:495 -> invoke 499:499:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 500:500:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 501:501:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):495:495 -> invoke 501:501:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$11$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$11$$special$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallManager$setupStateMachine$11 this$0 -> a ai.neuvision.kit.call.CallSignal $signal$inlined -> b 1:11:void run():80:90 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$12 -> ai.neuvision.kit.call.CallManager$p: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:522:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:520 -> invoke 2:522:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 523:523:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 523:523:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 523:523:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 524:524:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):520:520 -> invoke 524:524:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 525:525:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 526:526:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):520:520 -> invoke 526:526:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$12$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$12$$special$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallSignal $signal$inlined -> b ai.neuvision.kit.call.CallManager$setupStateMachine$12 this$0 -> a 1:3:void run():80:82 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$13 -> ai.neuvision.kit.call.CallManager$q: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:545:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:543 -> invoke 2:545:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 546:546:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 546:546:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 546:546:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 547:547:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):543:543 -> invoke 547:547:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 548:548:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$13$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$13$$special$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallManager$setupStateMachine$13 this$0 -> a ai.neuvision.kit.call.CallSignal $signal$inlined -> b 1:3:void run():80:82 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$14 -> ai.neuvision.kit.call.CallManager$r: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:571:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:569 -> invoke 2:571:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 572:572:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 572:572:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 572:572:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 573:573:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):569:569 -> invoke 573:573:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 574:574:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 575:575:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):569:569 -> invoke 575:575:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$14$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$14$$special$$inlined$synchronized$lambda$1: ai.neuvision.sdk.sdwan.signal.CallEndReason $reason$inlined -> c ai.neuvision.kit.call.CallSignal $signal$inlined -> b ai.neuvision.kit.call.CallManager$setupStateMachine$14 this$0 -> a 1:7:void run():80:86 -> run 8:8:void run():82:82 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$15 -> ai.neuvision.kit.call.CallManager$s: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:596:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:594 -> invoke 2:596:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 597:597:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$16 -> ai.neuvision.kit.call.CallManager$t: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:610:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:608 -> invoke 2:610:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 611:611:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$17 -> ai.neuvision.kit.call.CallManager$u: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:1987:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:1985 -> invoke 2:1987:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 1988:1988:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):653:653 -> invoke 1988:1988:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 1989:1989:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):651:651 -> invoke 1989:1989:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 1990:1990:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 1991:1991:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):651:651 -> invoke 1991:1991:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$17$$special$$inlined$synchronized$lambda$1 -> n: ai.neuvision.kit.call.CallManager$setupStateMachine$17 this$0 -> b ai.neuvision.kit.call.CallManagerCallback $it -> a long $opsrc$inlined -> c java.lang.String $fromName$inlined -> d 1:4:void run():654:657 -> run 5:5:void run():655:655 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$18 -> ai.neuvision.kit.call.CallManager$v: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:675:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:673 -> invoke 2:675:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 676:676:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$19 -> ai.neuvision.kit.call.CallManager$w: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:704:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:702 -> invoke 2:704:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 705:716:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):697:708 -> invoke 705:716:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 717:727:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):706:716 -> invoke 717:727:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 728:728:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 728:728:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 728:728:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 729:729:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):716:716 -> invoke 729:729:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 730:730:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 731:731:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):716:716 -> invoke 731:731:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$19$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$19$$special$$inlined$synchronized$lambda$1: long $sid$inlined -> b ai.neuvision.kit.call.CallManager$setupStateMachine$19 this$0 -> a ai.neuvision.kit.call.CallSignal $signal$inlined -> c 1:3:void run():80:82 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$2 -> ai.neuvision.kit.call.CallManager$i0: ai.neuvision.kit.call.CallManager$setupStateMachine$2 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:2:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 3:3:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$20 -> ai.neuvision.kit.call.CallManager$y: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:735:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:733 -> invoke 2:735:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 736:736:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$21 -> ai.neuvision.kit.call.CallManager$z: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:754:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:752 -> invoke 2:754:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 755:755:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 755:755:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 755:755:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 756:756:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):752:752 -> invoke 756:756:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 757:757:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 758:758:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):752:752 -> invoke 758:758:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$21$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$21$$special$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallManager$setupStateMachine$21 this$0 -> a 1:3:void run():80:82 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$22 -> ai.neuvision.kit.call.CallManager$a0: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:764:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:762 -> invoke 2:764:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 765:765:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 765:765:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 765:765:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 766:766:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):762:762 -> invoke 766:766:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 767:767:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 768:768:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):762:762 -> invoke 768:768:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$22$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$22$$special$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallManager$setupStateMachine$22 this$0 -> a 1:10:void run():80:89 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$23 -> ai.neuvision.kit.call.CallManager$b0: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:779:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:777 -> invoke 2:779:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 780:780:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 780:780:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 780:780:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 781:781:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):777:777 -> invoke 781:781:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 782:782:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 783:783:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):777:777 -> invoke 783:783:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$23$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$23$$special$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.statemachine.Transition $transition$inlined -> b ai.neuvision.kit.call.CallManager$setupStateMachine$23 this$0 -> a 1:5:void run():80:84 -> run 6:6:void run():82:82 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$24 -> ai.neuvision.kit.call.CallManager$c0: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:792:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:790 -> invoke 2:792:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 793:793:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 793:793:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 793:793:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 794:794:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):790:790 -> invoke 794:794:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 795:795:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 796:796:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):790:790 -> invoke 796:796:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$24$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$24$$special$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallManager$setupStateMachine$24 this$0 -> a 1:3:void run():80:82 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$25 -> ai.neuvision.kit.call.CallManager$d0: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:802:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:800 -> invoke 2:802:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 803:803:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 803:803:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 803:803:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 804:804:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):800:800 -> invoke 804:804:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 805:805:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 806:806:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):800:800 -> invoke 806:806:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$25$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$25$$special$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallManager$setupStateMachine$25 this$0 -> a 1:3:void run():80:82 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$26 -> ai.neuvision.kit.call.CallManager$e0: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:815:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:813 -> invoke 2:815:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 816:816:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 816:816:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 816:816:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 817:817:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):810:810 -> invoke 817:817:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 818:818:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 819:819:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):810:810 -> invoke 819:819:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$26$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$26$$special$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.statemachine.Transition $transition$inlined -> b ai.neuvision.kit.call.CallManager$setupStateMachine$26 this$0 -> a 1:7:void run():80:86 -> run 8:8:void run():83:83 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$27 -> ai.neuvision.kit.call.CallManager$f0: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:856:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:854 -> invoke 2:856:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 857:857:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 857:857:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1986 -> invoke 857:857:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 858:867:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):854:863 -> invoke 858:867:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 868:868:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 868:868:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1990 -> invoke 868:868:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 869:880:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):863:874 -> invoke 869:880:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 881:881:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 881:881:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1994 -> invoke 881:881:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 882:897:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):874:889 -> invoke 882:897:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 898:906:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):888:896 -> invoke 898:906:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 907:907:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 908:908:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):874:874 -> invoke 908:908:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 909:909:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):863:863 -> invoke 909:909:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 910:910:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):854:854 -> invoke 910:910:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$27$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$27$$special$$inlined$synchronized$lambda$1: ai.neuvision.sdk.sdwan.signal.UserInfo $info$inlined -> b ai.neuvision.kit.call.CallManager$setupStateMachine$27 this$0 -> a 1:3:void run():80:82 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$27$$special$$inlined$synchronized$lambda$2 -> ai.neuvision.kit.call.CallManager$setupStateMachine$27$$special$$inlined$synchronized$lambda$2: ai.neuvision.kit.call.CallManager$setupStateMachine$27 this$0 -> a java.util.Set $newJoin$inlined -> b 1:5:void run():80:84 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$27$$special$$inlined$synchronized$lambda$3 -> ai.neuvision.kit.call.CallManager$setupStateMachine$27$$special$$inlined$synchronized$lambda$3: ai.neuvision.kit.call.CallManager$setupStateMachine$27 this$0 -> a java.util.Set $newLeave$inlined -> b 1:6:void run():80:85 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$28 -> ai.neuvision.kit.call.CallManager$g0: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:912:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:910 -> invoke 2:912:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 913:913:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 913:913:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 913:913:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 914:914:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):910:910 -> invoke 914:914:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 915:915:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 916:916:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):910:910 -> invoke 916:916:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$28$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$28$$special$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallManager$setupStateMachine$28 this$0 -> a 1:3:void run():80:82 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$29 -> ai.neuvision.kit.call.CallManager$h0: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:931:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:929 -> invoke 2:931:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 932:932:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> invoke 932:932:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 932:932:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 933:933:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):929:929 -> invoke 933:933:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 934:934:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 935:935:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):929:929 -> invoke 935:935:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$29$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$29$$special$$inlined$synchronized$lambda$1: ai.neuvision.kit.call.CallManager$setupStateMachine$29 this$0 -> a 1:3:void run():80:82 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$3 -> ai.neuvision.kit.call.CallManager$k0: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:238:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):0:236 -> invoke 2:238:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 239:239:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> invoke 239:239:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 239:239:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 240:249:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):236:245 -> invoke 240:249:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 250:250:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$30 -> ai.neuvision.kit.call.CallManager$j0: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object):57:57 -> invoke 2:1987:void invoke(ai.neuvision.kit.call.statemachine.Transition):0:1985 -> invoke 2:1987:java.lang.Object invoke(java.lang.Object):57 -> invoke 1988:1988:void invoke(ai.neuvision.kit.call.statemachine.Transition):942:942 -> invoke 1988:1988:java.lang.Object invoke(java.lang.Object):57 -> invoke 1989:1989:java.lang.Object invoke(java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$4 -> ai.neuvision.kit.call.CallManager$l0: ai.neuvision.kit.call.statemachine.State $incallState -> b ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:255:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):0:253 -> invoke 2:255:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 256:256:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$5 -> ai.neuvision.kit.call.CallManager$m0: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:260:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):0:258 -> invoke 2:260:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 261:261:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$6 -> ai.neuvision.kit.call.CallManager$n0: ai.neuvision.kit.call.statemachine.State $incallState -> b ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:267:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):0:265 -> invoke 2:267:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 268:268:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$7 -> ai.neuvision.kit.call.CallManager$o0: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:278:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):0:276 -> invoke 2:278:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 279:279:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> invoke 279:279:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):1986 -> invoke 279:279:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 280:288:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):276:284 -> invoke 280:288:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 289:289:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> invoke 289:289:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):1987 -> invoke 289:289:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 290:310:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):284:304 -> invoke 290:310:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 311:311:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):274:274 -> invoke 311:311:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 312:312:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> invoke 312:312:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):1985 -> invoke 312:312:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 313:313:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):274:274 -> invoke 313:313:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 314:314:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$7$$special$$inlined$timer$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$7$$special$$inlined$timer$1: ai.neuvision.kit.call.CallManager$setupStateMachine$7 this$0 -> a ai.neuvision.sdk.sdwan.transport.YCKTransportSession $transport$inlined -> b 1:1:void (ai.neuvision.kit.call.CallManager$setupStateMachine$7,ai.neuvision.sdk.sdwan.transport.YCKTransportSession):146:146 -> 1:12:void run():149:149 -> run 25:50:void run():162:187 -> run 51:51:void run():178:178 -> run 52:52:void run():177:177 -> run 53:53:void ai.neuvision.sdk.utils.DebuggerKt.extraHandle(java.lang.Object,java.lang.String,kotlin.jvm.functions.Function1):179:179 -> run 53:53:void run():194 -> run 54:54:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> run 54:54:void run():198 -> run 55:65:void run():202:212 -> run 66:66:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> run 66:66:void run():214 -> run 67:69:void run():220:220 -> run 76:84:void run():227:235 -> run 85:85:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> run 85:85:void run():238 -> run 86:90:void run():242:246 -> run 91:91:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> run 91:91:void run():248 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$7$$special$$inlined$timer$1$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$7$$special$$inlined$timer$1$lambda$1: ai.neuvision.kit.call.CallStatus $status$inlined -> a ai.neuvision.kit.call.CallManager$setupStateMachine$7$$special$$inlined$timer$1 this$0 -> b 1:3:void run():80:82 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$7$$special$$inlined$timer$1$lambda$2 -> ai.neuvision.kit.call.CallManager$setupStateMachine$7$$special$$inlined$timer$1$lambda$2: kotlin.Pair $signal$inlined -> b ai.neuvision.kit.call.CallManagerCallback $it$inlined -> a 1:1:void run():80:80 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$7$$special$$inlined$timer$1$lambda$3 -> ai.neuvision.kit.call.CallManager$setupStateMachine$7$$special$$inlined$timer$1$lambda$3: ai.neuvision.kit.call.CallManager$setupStateMachine$7$$special$$inlined$timer$1 this$0 -> a 1:1:void run():80:80 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$7$$special$$inlined$timer$1$lambda$4 -> ai.neuvision.kit.call.CallManager$setupStateMachine$7$$special$$inlined$timer$1$lambda$4: ai.neuvision.kit.call.CallManager$setupStateMachine$7$$special$$inlined$timer$1 this$0 -> a 1:1:void run():80:80 -> run ai.neuvision.kit.call.CallManager$setupStateMachine$8 -> ai.neuvision.kit.call.CallManager$p0: ai.neuvision.kit.call.CallManager this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke 2:411:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):0:409 -> invoke 2:411:java.lang.Object invoke(java.lang.Object,java.lang.Object):57 -> invoke 412:412:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$9 -> ai.neuvision.kit.call.CallManager$setupStateMachine$9: ai.neuvision.kit.call.CallManager this$0 -> a 1:30:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):414:443 -> a 31:41:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):442:452 -> a 42:42:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> a 42:42:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1985 -> a 43:48:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):452:457 -> a 49:57:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):456:464 -> a 58:58:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> a 58:58:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):1986 -> a 59:59:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):464:464 -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):57:57 -> invoke ai.neuvision.kit.call.CallManager$setupStateMachine$9$$special$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.call.CallManager$setupStateMachine$9$$special$$inlined$synchronized$lambda$1: long $sid$inlined -> b long $to$inlined -> c ai.neuvision.kit.call.CallManager$setupStateMachine$9 this$0 -> a 1:3:void run():80:82 -> run ai.neuvision.kit.call.CallManager$signalDeduplicate$2 -> ai.neuvision.kit.call.CallManager$q0: ai.neuvision.kit.call.CallManager$signalDeduplicate$2 INSTANCE -> a 1:1:java.util.ArrayDeque invoke():1397:1397 -> invoke 1:1:java.lang.Object invoke():57 -> invoke ai.neuvision.kit.call.CallSignal -> ai.neuvision.kit.call.CallSignal: ai.neuvision.sdk.sdwan.signal.UserInfo info -> h java.lang.String id -> i long timestamp -> f int source -> j long from -> b ai.neuvision.sdk.sdwan.signal.CallOption option -> g long sessionID -> d long to -> c int ttl -> e short type -> a 1:63:void ():13:75 -> 1:1:long getFrom():67:67 -> getFrom 1:1:java.lang.String getId():74:74 -> getId 1:1:ai.neuvision.sdk.sdwan.signal.UserInfo getInfo():73:73 -> getInfo 1:1:ai.neuvision.sdk.sdwan.signal.CallOption getOption():72:72 -> getOption 1:1:long getSessionID():69:69 -> getSessionID 1:1:int getSource():75:75 -> getSource 1:1:long getTimestamp():71:71 -> getTimestamp 1:1:long getTo():68:68 -> getTo 1:1:int getTtl():70:70 -> getTtl 1:1:short getType():66:66 -> getType 1:9:ai.neuvision.sdk.sdwan.signal.SignalPacket packetOfCallSignal():79:87 -> packetOfCallSignal 1:1:void setFrom(long):67:67 -> setFrom 1:1:void setId(java.lang.String):74:74 -> setId 1:1:void setInfo(ai.neuvision.sdk.sdwan.signal.UserInfo):73:73 -> setInfo 1:1:void setOption(ai.neuvision.sdk.sdwan.signal.CallOption):72:72 -> setOption 1:1:void setSessionID(long):69:69 -> setSessionID 1:1:void setSource(int):75:75 -> setSource 1:1:void setTimestamp(long):71:71 -> setTimestamp 1:1:void setTo(long):68:68 -> setTo 1:1:void setTtl(int):70:70 -> setTtl 1:1:void setType(short):66:66 -> setType 1:1:java.lang.String toString():97:97 -> toString ai.neuvision.kit.call.CallSignal$Companion -> ai.neuvision.kit.call.CallSignal$Companion: 1:1:void ():19:19 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):19:19 -> 1:11:ai.neuvision.kit.call.CallSignal signalFromPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket):50:60 -> signalFromPacket ai.neuvision.kit.call.CallSignalManager -> ai.neuvision.kit.call.CallSignalManager: ai.neuvision.sdk.sdwan.signal.SignalHandler mSignalHandler -> a 1:7:void ():31:37 -> 1:1:ai.neuvision.kit.call.CallSignalManager ai.neuvision.kit.call.CallSignalManager$Holder.access$100():23:23 -> instance 1:1:ai.neuvision.kit.call.CallSignalManager instance():28 -> instance 1:2:void onReceivedSignalPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):42:43 -> onReceivedSignalPacket 1:1:void registerSignalPacketListener(ai.neuvision.sdk.sdwan.signal.SignalHandler):48:48 -> registerSignalPacketListener 1:2:void sendCallSignalByUdp(ai.neuvision.kit.call.CallSignal):75:76 -> sendCallSignal 1:2:void sendCallSignal(ai.neuvision.kit.call.CallSignal):59 -> sendCallSignal 1:1:void unRegisterSignalPacketListener():52:52 -> unRegisterSignalPacketListener ai.neuvision.kit.call.CallSignalManager$Holder -> ai.neuvision.kit.call.CallSignalManager$a: ai.neuvision.kit.call.CallSignalManager INSTANCE -> a 1:1:void ():24:24 -> 2:2:void ai.neuvision.kit.call.CallSignalManager.(ai.neuvision.kit.call.CallSignalManager$1):19:19 -> 2:2:void ():24 -> 3:3:void ():24:24 -> ai.neuvision.kit.call.CallStatus -> ai.neuvision.kit.call.CallStatus: 1:19:void (int,int,int,int,int,int,int,int,boolean,int,int,int,int,boolean):13:31 -> 20:20:void (int,int,int,int,int,int,int,int,boolean,int,int,int,int,boolean,int,kotlin.jvm.internal.DefaultConstructorMarker):27:27 -> 1:1:int getAudioQuality():20:20 -> getAudioQuality 1:1:int getBandwidthDown():14:14 -> getBandwidthDown 1:1:int getBandwidthUp():15:15 -> getBandwidthUp 1:1:boolean getDenoiseOn():22:22 -> getDenoiseOn 1:1:int getJitterBufferLossRate():26:26 -> getJitterBufferLossRate 1:1:int getJitterCount():23:23 -> getJitterCount 1:1:int getLossRateDown():24:24 -> getLossRateDown 1:1:int getLossRateUp():25:25 -> getLossRateUp 1:25:int getNetworkQuality():36:60 -> getNetworkQuality 1:1:boolean getNetworkReachable():27:27 -> getNetworkReachable 1:1:int getRTT():18:18 -> getRTT 1:1:float getRatio():31:31 -> getRatio 1:1:int getRepairRate():19:19 -> getRepairRate 1:1:int getTrafficIn():16:16 -> getTrafficIn 1:1:int getTrafficOut():17:17 -> getTrafficOut 1:1:int getVoiceRatio():21:21 -> getVoiceRatio 1:1:void setAudioQuality(int):20:20 -> setAudioQuality 1:1:void setBandwidthDown(int):14:14 -> setBandwidthDown 1:1:void setBandwidthUp(int):15:15 -> setBandwidthUp 1:1:void setDenoiseOn(boolean):22:22 -> setDenoiseOn 1:1:void setJitterBufferLossRate(int):26:26 -> setJitterBufferLossRate 1:1:void setJitterCount(int):23:23 -> setJitterCount 1:1:void setLossRateDown(int):24:24 -> setLossRateDown 1:1:void setLossRateUp(int):25:25 -> setLossRateUp 1:1:void setNetworkReachable(boolean):27:27 -> setNetworkReachable 1:1:void setRTT(int):18:18 -> setRTT 1:1:void setRatio(float):31:31 -> setRatio 1:1:void setRepairRate(int):19:19 -> setRepairRate 1:1:void setTrafficIn(int):16:16 -> setTrafficIn 1:1:void setTrafficOut(int):17:17 -> setTrafficOut 1:1:void setVoiceRatio(int):21:21 -> setVoiceRatio ai.neuvision.kit.call.ControlSignal -> ai.neuvision.kit.call.ControlSignal: 1:25:void ():16:40 -> 1:1:int getCategory():22:22 -> getCategory 1:1:long getFrom():34:34 -> getFrom 1:1:java.lang.String getId():19:19 -> getId 1:1:ai.neuvision.kit.call.ControlSignal$Info getInfo():43:43 -> getInfo 1:1:org.json.JSONObject getOption():46:46 -> getOption 1:1:long getSessionId():31:31 -> getSessionId 1:1:long getTimestamp():28:28 -> getTimestamp 1:1:long getTo():37:37 -> getTo 1:1:long getTtl():40:40 -> getTtl 1:1:int getType():25:25 -> getType 1:1:void setCategory(int):22:22 -> setCategory 1:1:void setFrom(long):34:34 -> setFrom 1:1:void setId(java.lang.String):19:19 -> setId 1:1:void setInfo(ai.neuvision.kit.call.ControlSignal$Info):43:43 -> setInfo 1:1:void setOption(org.json.JSONObject):46:46 -> setOption 1:1:void setSessionId(long):31:31 -> setSessionId 1:1:void setTimestamp(long):28:28 -> setTimestamp 1:1:void setTo(long):37:37 -> setTo 1:1:void setTtl(long):40:40 -> setTtl 1:1:void setType(int):25:25 -> setType ai.neuvision.kit.call.ControlSignal$AudioConfig -> ai.neuvision.kit.call.ControlSignal$AudioConfig: int recordGain -> d int playGain -> e int ans -> b int agc -> c int aec -> a 1:1:void (int,int,int,int,int):61:61 -> 2:2:void (int,int,int,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):71:71 -> 1:1:int getAec():63:63 -> getAec 1:1:int getAgc():67:67 -> getAgc 1:1:int getAns():65:65 -> getAns 1:1:int getPlayGain():71:71 -> getPlayGain 1:1:int getRecordGain():69:69 -> getRecordGain 1:1:void setAec(int):63:63 -> setAec 1:1:void setAgc(int):67:67 -> setAgc 1:1:void setAns(int):65:65 -> setAns 1:1:void setPlayGain(int):71:71 -> setPlayGain 1:1:void setRecordGain(int):69:69 -> setRecordGain ai.neuvision.kit.call.ControlSignal$CameraConfig -> ai.neuvision.kit.call.ControlSignal$CameraConfig: int width -> b int height -> c int fps -> a 1:1:void (int,int,int):85:85 -> 2:2:void (int,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):91:91 -> 1:1:int getFps():87:87 -> getFps 1:1:int getHeight():91:91 -> getHeight 1:1:int getWidth():89:89 -> getWidth 1:1:void setFps(int):87:87 -> setFps 1:1:void setHeight(int):91:91 -> setHeight 1:1:void setWidth(int):89:89 -> setWidth ai.neuvision.kit.call.ControlSignal$Companion -> ai.neuvision.kit.call.ControlSignal$Companion: 1:1:void ():100:100 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):100:100 -> 1:3:ai.neuvision.kit.call.ControlSignal create(java.lang.String):104:106 -> create ai.neuvision.kit.call.ControlSignal$Config -> ai.neuvision.kit.call.ControlSignal$Config: ai.neuvision.kit.call.ControlSignal$VideoConfig video -> b ai.neuvision.kit.call.ControlSignal$AudioConfig audio -> a 1:1:void (ai.neuvision.kit.call.ControlSignal$AudioConfig,ai.neuvision.kit.call.ControlSignal$VideoConfig):54:54 -> 2:2:void (ai.neuvision.kit.call.ControlSignal$AudioConfig,ai.neuvision.kit.call.ControlSignal$VideoConfig,int,kotlin.jvm.internal.DefaultConstructorMarker):58:58 -> 1:1:ai.neuvision.kit.call.ControlSignal$AudioConfig getAudio():56:56 -> getAudio 1:1:ai.neuvision.kit.call.ControlSignal$VideoConfig getVideo():58:58 -> getVideo 1:1:void setAudio(ai.neuvision.kit.call.ControlSignal$AudioConfig):56:56 -> setAudio 1:1:void setVideo(ai.neuvision.kit.call.ControlSignal$VideoConfig):58:58 -> setVideo ai.neuvision.kit.call.ControlSignal$Info -> ai.neuvision.kit.call.ControlSignal$Info: ai.neuvision.kit.call.ControlSignal$Config config -> a 1:1:void (ai.neuvision.kit.call.ControlSignal$Config):49:49 -> 2:2:void (ai.neuvision.kit.call.ControlSignal$Config,int,kotlin.jvm.internal.DefaultConstructorMarker):51:51 -> 1:1:ai.neuvision.kit.call.ControlSignal$Config getConfig():51:51 -> getConfig 1:1:void setConfig(ai.neuvision.kit.call.ControlSignal$Config):51:51 -> setConfig ai.neuvision.kit.call.ControlSignal$VideoCodecConfig -> ai.neuvision.kit.call.ControlSignal$VideoCodecConfig: java.lang.String name -> a 1:1:void (java.lang.String):94:94 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):96:96 -> 1:1:java.lang.String getName():96:96 -> getName 1:1:void setName(java.lang.String):96:96 -> setName ai.neuvision.kit.call.ControlSignal$VideoConfig -> ai.neuvision.kit.call.ControlSignal$VideoConfig: ai.neuvision.kit.call.ControlSignal$CameraConfig camera -> a int cameraResolution -> b ai.neuvision.kit.call.ControlSignal$VideoCodecConfig decoderConfig -> d ai.neuvision.kit.call.ControlSignal$VideoCodecConfig encoderConfig -> c 1:1:void (ai.neuvision.kit.call.ControlSignal$CameraConfig,int,ai.neuvision.kit.call.ControlSignal$VideoCodecConfig,ai.neuvision.kit.call.ControlSignal$VideoCodecConfig):74:74 -> 2:2:void (ai.neuvision.kit.call.ControlSignal$CameraConfig,int,ai.neuvision.kit.call.ControlSignal$VideoCodecConfig,ai.neuvision.kit.call.ControlSignal$VideoCodecConfig,int,kotlin.jvm.internal.DefaultConstructorMarker):82:82 -> 1:1:ai.neuvision.kit.call.ControlSignal$CameraConfig getCamera():76:76 -> getCamera 1:1:int getCameraResolution():78:78 -> getCameraResolution 1:1:ai.neuvision.kit.call.ControlSignal$VideoCodecConfig getDecoderConfig():82:82 -> getDecoderConfig 1:1:ai.neuvision.kit.call.ControlSignal$VideoCodecConfig getEncoderConfig():80:80 -> getEncoderConfig 1:1:void setCamera(ai.neuvision.kit.call.ControlSignal$CameraConfig):76:76 -> setCamera 1:1:void setCameraResolution(int):78:78 -> setCameraResolution 1:1:void setDecoderConfig(ai.neuvision.kit.call.ControlSignal$VideoCodecConfig):82:82 -> setDecoderConfig 1:1:void setEncoderConfig(ai.neuvision.kit.call.ControlSignal$VideoCodecConfig):80:80 -> setEncoderConfig ai.neuvision.kit.call.CustomSignal -> ai.neuvision.kit.call.CustomSignal: 1:21:void ():14:34 -> 1:1:int getCategory():18:18 -> getCategory 1:1:long getFrom():22:22 -> getFrom 1:1:com.google.gson.JsonObject getInfo():32:32 -> getInfo 1:1:com.google.gson.JsonObject getOption():30:30 -> getOption 1:1:long getSessionID():26:26 -> getSessionID 1:1:short getSignal():20:20 -> getSignal 1:1:long getTimestamp():34:34 -> getTimestamp 1:1:long getTo():24:24 -> getTo 1:1:int getTtl():28:28 -> getTtl 1:1:java.lang.String getUuid():16:16 -> getUuid 1:10:ai.neuvision.sdk.sdwan.signal.SignalPacket packetOfCustomSignal():37:46 -> packetOfCustomSignal 1:1:void setCategory(int):18:18 -> setCategory 1:1:void setFrom(long):22:22 -> setFrom 1:1:void setInfo(com.google.gson.JsonObject):32:32 -> setInfo 1:1:void setOption(com.google.gson.JsonObject):30:30 -> setOption 1:1:void setSessionID(long):26:26 -> setSessionID 1:1:void setSignal(short):20:20 -> setSignal 1:1:void setTimestamp(long):34:34 -> setTimestamp 1:1:void setTo(long):24:24 -> setTo 1:1:void setTtl(int):28:28 -> setTtl 1:1:void setUuid(java.lang.String):16:16 -> setUuid ai.neuvision.kit.call.CustomSignal$Companion -> ai.neuvision.kit.call.CustomSignal$Companion: 1:1:void ():50:50 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):50:50 -> 1:14:ai.neuvision.kit.call.CustomSignal signalFromPacket(ai.neuvision.sdk.sdwan.signal.SignalPacket,java.lang.String):52:65 -> signalFromPacket ai.neuvision.kit.call.ParticipantEvent -> ai.neuvision.kit.call.ParticipantEvent: 1:1:void ():10:10 -> 1:1:void ():10:10 -> ai.neuvision.kit.call.ParticipantState -> ai.neuvision.kit.call.ParticipantState: 1:1:void ():13:13 -> 1:1:void ():13:13 -> ai.neuvision.kit.call.statemachine.Event -> ai.neuvision.kit.call.statemachine.Event: java.util.List srcStates -> e ai.neuvision.kit.call.statemachine.State destState -> f kotlin.jvm.functions.Function2 shouldFireEventBlock -> a kotlin.jvm.functions.Function2 didFireEventBlock -> c kotlin.jvm.functions.Function2 willFireEventBlock -> b java.lang.String name -> d 1:7:void (java.lang.String,java.util.List,ai.neuvision.kit.call.statemachine.State):9:15 -> 1:1:ai.neuvision.kit.call.statemachine.State getDestState():9:9 -> getDestState 1:1:kotlin.jvm.functions.Function2 getDidFireEventBlock():15:15 -> getDidFireEventBlock 1:1:java.lang.String getName():9:9 -> getName 1:1:kotlin.jvm.functions.Function2 getShouldFireEventBlock():11:11 -> getShouldFireEventBlock 1:1:java.util.List getSrcStates():9:9 -> getSrcStates 1:1:kotlin.jvm.functions.Function2 getWillFireEventBlock():13:13 -> getWillFireEventBlock 1:1:void setDidFireEventBlock(kotlin.jvm.functions.Function2):15:15 -> setDidFireEventBlock 1:1:void setShouldFireEventBlock(kotlin.jvm.functions.Function2):11:11 -> setShouldFireEventBlock 1:1:void setWillFireEventBlock(kotlin.jvm.functions.Function2):13:13 -> setWillFireEventBlock ai.neuvision.kit.call.statemachine.Event$didFireEventBlock$1 -> ai.neuvision.kit.call.statemachine.Event$a: ai.neuvision.kit.call.statemachine.Event$didFireEventBlock$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):9:9 -> invoke 2:2:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object,java.lang.Object):9 -> invoke 3:3:java.lang.Object invoke(java.lang.Object,java.lang.Object):9:9 -> invoke ai.neuvision.kit.call.statemachine.Event$willFireEventBlock$1 -> ai.neuvision.kit.call.statemachine.Event$b: ai.neuvision.kit.call.statemachine.Event$willFireEventBlock$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):9:9 -> invoke 2:2:void invoke(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.Transition):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object,java.lang.Object):9 -> invoke 3:3:java.lang.Object invoke(java.lang.Object,java.lang.Object):9:9 -> invoke ai.neuvision.kit.call.statemachine.State -> ai.neuvision.kit.call.statemachine.State: java.lang.String name -> f ai.neuvision.sdk.sdwan.signal.UserInfo userInfo -> g kotlin.jvm.functions.Function2 willEnterStateBlock -> a kotlin.jvm.functions.Function2 willExitStateBlock -> c kotlin.jvm.functions.Function2 didEnterStateBlock -> b kotlin.jvm.functions.Function2 infoChangeBlock -> e kotlin.jvm.functions.Function2 didExitStateBlock -> d 1:11:void (java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo):11:21 -> 12:12:void (java.lang.String):14:14 -> 1:4:boolean equals(java.lang.Object):27:30 -> equals 1:1:kotlin.jvm.functions.Function2 getDidEnterStateBlock():18:18 -> getDidEnterStateBlock 1:1:kotlin.jvm.functions.Function2 getDidExitStateBlock():20:20 -> getDidExitStateBlock 1:1:kotlin.jvm.functions.Function2 getInfoChangeBlock():21:21 -> getInfoChangeBlock 1:1:java.lang.String getName():11:11 -> getName 1:1:ai.neuvision.sdk.sdwan.signal.UserInfo getUserInfo():11:11 -> getUserInfo 1:1:kotlin.jvm.functions.Function2 getWillEnterStateBlock():17:17 -> getWillEnterStateBlock 1:1:kotlin.jvm.functions.Function2 getWillExitStateBlock():19:19 -> getWillExitStateBlock 1:1:int hashCode():34:34 -> hashCode 1:1:void setDidEnterStateBlock(kotlin.jvm.functions.Function2):18:18 -> setDidEnterStateBlock 1:1:void setDidExitStateBlock(kotlin.jvm.functions.Function2):20:20 -> setDidExitStateBlock 1:1:void setInfoChangeBlock(kotlin.jvm.functions.Function2):21:21 -> setInfoChangeBlock 1:1:void setName(java.lang.String):11:11 -> setName 1:1:void setUserInfo(ai.neuvision.sdk.sdwan.signal.UserInfo):11:11 -> setUserInfo 1:1:void setWillEnterStateBlock(kotlin.jvm.functions.Function2):17:17 -> setWillEnterStateBlock 1:1:void setWillExitStateBlock(kotlin.jvm.functions.Function2):19:19 -> setWillExitStateBlock ai.neuvision.kit.call.statemachine.State$didEnterStateBlock$1 -> ai.neuvision.kit.call.statemachine.State$a: ai.neuvision.kit.call.statemachine.State$didEnterStateBlock$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):11:11 -> invoke 2:2:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object,java.lang.Object):11 -> invoke 3:3:java.lang.Object invoke(java.lang.Object,java.lang.Object):11:11 -> invoke ai.neuvision.kit.call.statemachine.State$didExitStateBlock$1 -> ai.neuvision.kit.call.statemachine.State$b: ai.neuvision.kit.call.statemachine.State$didExitStateBlock$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):11:11 -> invoke 2:2:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object,java.lang.Object):11 -> invoke 3:3:java.lang.Object invoke(java.lang.Object,java.lang.Object):11:11 -> invoke ai.neuvision.kit.call.statemachine.State$infoChangeBlock$1 -> ai.neuvision.kit.call.statemachine.State$c: ai.neuvision.kit.call.statemachine.State$infoChangeBlock$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):11:11 -> invoke 2:2:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object,java.lang.Object):11 -> invoke 3:3:java.lang.Object invoke(java.lang.Object,java.lang.Object):11:11 -> invoke ai.neuvision.kit.call.statemachine.State$willEnterStateBlock$1 -> ai.neuvision.kit.call.statemachine.State$d: ai.neuvision.kit.call.statemachine.State$willEnterStateBlock$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):11:11 -> invoke 2:2:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object,java.lang.Object):11 -> invoke 3:3:java.lang.Object invoke(java.lang.Object,java.lang.Object):11:11 -> invoke ai.neuvision.kit.call.statemachine.State$willExitStateBlock$1 -> ai.neuvision.kit.call.statemachine.State$e: ai.neuvision.kit.call.statemachine.State$willExitStateBlock$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):11:11 -> invoke 2:2:void invoke(ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.Transition):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object,java.lang.Object):11 -> invoke 3:3:java.lang.Object invoke(java.lang.Object,java.lang.Object):11:11 -> invoke ai.neuvision.kit.call.statemachine.StateMachine -> ai.neuvision.kit.call.statemachine.StateMachine: kotlin.jvm.functions.Function1 stateChangeBlock -> f java.lang.Object mLock -> c ai.neuvision.kit.call.statemachine.State initialState -> e java.util.ArrayDeque states -> a java.util.ArrayDeque events -> b boolean isActive -> d 1:20:void ():17:36 -> 1:8:void activate():96:96 -> activate 1:142:void addEvent(ai.neuvision.kit.call.statemachine.Event):72:213 -> addEvent 143:145:void addEvent(ai.neuvision.kit.call.statemachine.Event):76:78 -> addEvent 1:1:void addEvents(java.util.List):215:215 -> addEvents 2:2:void addEvents(java.util.List):83:83 -> addEvents 1:6:void addState(ai.neuvision.kit.call.statemachine.State):41:46 -> addState 1:5:void addStates(java.util.List):50:54 -> addStates 1:1:boolean canFireEvent(java.lang.String):109:109 -> canFireEvent 2:2:boolean canFireEvent(ai.neuvision.kit.call.statemachine.Event):117:117 -> canFireEvent 1:11:java.lang.String dotString():188:198 -> dotString 12:13:java.lang.String getEventDestStateName(ai.neuvision.kit.call.statemachine.Event):206:207 -> dotString 12:13:java.lang.String dotString():198 -> dotString 14:18:java.lang.String dotString():198:202 -> dotString 1:131:ai.neuvision.kit.call.statemachine.Event eventNamed(java.lang.String):88:88 -> eventNamed 261:261:ai.neuvision.kit.call.statemachine.Event eventNamed(java.lang.String):218:218 -> eventNamed 1:1:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121:121 -> fireEvent 2:95:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):126:219 -> fireEvent 2:95:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 96:100:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):134:138 -> fireEvent 96:100:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 101:116:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):137:152 -> fireEvent 101:116:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 117:117:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> fireEvent 117:117:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):221 -> fireEvent 117:117:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 118:121:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):152:155 -> fireEvent 118:121:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 122:122:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> fireEvent 122:122:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):222 -> fireEvent 122:122:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 123:130:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):155:162 -> fireEvent 123:130:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 131:131:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> fireEvent 131:131:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):224 -> fireEvent 131:131:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 132:134:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):162:164 -> fireEvent 132:134:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 135:135:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> fireEvent 135:135:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):225 -> fireEvent 135:135:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 136:138:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):164:166 -> fireEvent 136:138:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 139:139:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> fireEvent 139:139:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):226 -> fireEvent 139:139:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 140:144:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):166:170 -> fireEvent 140:144:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 145:145:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> fireEvent 145:145:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):227 -> fireEvent 145:145:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 146:148:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):170:172 -> fireEvent 146:148:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 149:149:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> fireEvent 149:149:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):228 -> fireEvent 149:149:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 150:150:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):172:172 -> fireEvent 150:150:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 151:152:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):158:159 -> fireEvent 151:152:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 153:153:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> fireEvent 153:153:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):223 -> fireEvent 153:153:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 154:170:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):159:175 -> fireEvent 154:170:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 171:171:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> fireEvent 171:171:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):229 -> fireEvent 171:171:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 172:172:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):175:175 -> fireEvent 172:172:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 173:173:boolean fireEvent(ai.neuvision.kit.call.statemachine.Event,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):129:129 -> fireEvent 173:173:boolean fireEvent(java.lang.String,ai.neuvision.sdk.sdwan.signal.UserInfo,kotlin.jvm.functions.Function1):121 -> fireEvent 1:1:void setCurState(ai.neuvision.kit.call.statemachine.State):34:34 -> getCurState 1:1:ai.neuvision.kit.call.statemachine.State getCurState():34 -> getCurState 1:1:void setInitialState(ai.neuvision.kit.call.statemachine.State):25:25 -> getInitialState 1:1:ai.neuvision.kit.call.statemachine.State getInitialState():25 -> getInitialState 1:1:void ():36:36 -> getStateChangeBlock 1:1:kotlin.jvm.functions.Function1 getStateChangeBlock():36 -> getStateChangeBlock 1:1:boolean isInState(java.lang.String):63:63 -> isInState 2:2:boolean isInState(ai.neuvision.kit.call.statemachine.State):67:67 -> isInState 1:1:void setCurState(ai.neuvision.kit.call.statemachine.State):34:34 -> setCurState 1:1:void setInitialState(ai.neuvision.kit.call.statemachine.State):25:25 -> setInitialState 1:1:void ():36:36 -> setStateChangeBlock 1:1:void setStateChangeBlock(kotlin.jvm.functions.Function1):36 -> setStateChangeBlock 1:154:ai.neuvision.kit.call.statemachine.State stateName(java.lang.String):58:58 -> stateName 307:307:ai.neuvision.kit.call.statemachine.State stateName(java.lang.String):211:211 -> stateName 1:4:java.lang.String toString():181:181 -> toString ai.neuvision.kit.call.statemachine.StateMachine$stateChangeBlock$1 -> ai.neuvision.kit.call.statemachine.StateMachine$a: ai.neuvision.kit.call.statemachine.StateMachine$stateChangeBlock$1 INSTANCE -> a 1:1:java.lang.Object invoke(java.lang.Object):17:17 -> invoke 2:2:void invoke(ai.neuvision.kit.call.statemachine.Transition):0:0 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):17 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):17:17 -> invoke ai.neuvision.kit.call.statemachine.Transition -> ai.neuvision.kit.call.statemachine.Transition: ai.neuvision.kit.call.statemachine.State srcState -> c ai.neuvision.sdk.sdwan.signal.UserInfo userinfo -> e ai.neuvision.kit.call.statemachine.State destState -> a ai.neuvision.kit.call.statemachine.StateMachine stateMachine -> d ai.neuvision.kit.call.statemachine.Event event -> b 1:4:void (ai.neuvision.kit.call.statemachine.Event,ai.neuvision.kit.call.statemachine.State,ai.neuvision.kit.call.statemachine.StateMachine,ai.neuvision.sdk.sdwan.signal.UserInfo):11:14 -> 1:1:ai.neuvision.kit.call.statemachine.State getDestState():14:14 -> getDestState 1:1:ai.neuvision.kit.call.statemachine.Event getEvent():11:11 -> getEvent 1:1:ai.neuvision.kit.call.statemachine.State getSrcState():11:11 -> getSrcState 1:1:ai.neuvision.kit.call.statemachine.StateMachine getStateMachine():11:11 -> getStateMachine 1:1:ai.neuvision.sdk.sdwan.signal.UserInfo getUserinfo():11:11 -> getUserinfo 1:1:void setDestState(ai.neuvision.kit.call.statemachine.State):14:14 -> setDestState 1:1:void setEvent(ai.neuvision.kit.call.statemachine.Event):11:11 -> setEvent 1:1:void setSrcState(ai.neuvision.kit.call.statemachine.State):11:11 -> setSrcState 1:1:void setUserinfo(ai.neuvision.sdk.sdwan.signal.UserInfo):11:11 -> setUserinfo 1:1:java.lang.String toString():18:18 -> toString ai.neuvision.kit.data.DataEngine -> ai.neuvision.kit.data.DataEngine: short unicastSeqId -> e ai.neuvision.kit.data.DataCallback dataCallback -> a ai.neuvision.sdk.sdwan.transport.YCKTransportSession transportSession -> b short seqId -> d java.util.Map whiteboards -> f boolean isRunning -> c 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):18:18 -> 1:1:void ():18 -> 2:2:void ():29:29 -> 3:3:void (kotlin.jvm.internal.DefaultConstructorMarker):18:18 -> 1:3:void close():51:53 -> close 1:1:void setDataCallback(ai.neuvision.kit.data.DataCallback):20:20 -> getDataCallback 1:1:ai.neuvision.kit.data.DataCallback getDataCallback():20 -> getDataCallback 1:1:ai.neuvision.sdk.sdwan.transport.YCKTransportSession getTransportSession():21:21 -> getTransportSession 1:25:void onReceiveData(ai.neuvision.sdk.sdwan.transport.AbstractTransport,java.nio.ByteBuffer,java.nio.ByteBuffer,short,long):82:106 -> onReceiveData 26:29:void onReceiveData(ai.neuvision.sdk.sdwan.transport.AbstractTransport,java.nio.ByteBuffer,java.nio.ByteBuffer,short,long):100:103 -> onReceiveData 30:30:void onReceiveData(ai.neuvision.sdk.sdwan.transport.AbstractTransport,java.nio.ByteBuffer,java.nio.ByteBuffer,short,long):97:97 -> onReceiveData 31:37:void onReceiveData(ai.neuvision.sdk.sdwan.transport.AbstractTransport,java.nio.ByteBuffer,java.nio.ByteBuffer,short,long):87:93 -> onReceiveData 38:38:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> onReceiveData 38:38:void onReceiveData(ai.neuvision.sdk.sdwan.transport.AbstractTransport,java.nio.ByteBuffer,java.nio.ByteBuffer,short,long):130 -> onReceiveData 1:2:void registerWhiteboard(ai.neuvision.kit.data.Whiteboard,long):70:71 -> registerWhiteboard 1:5:void sendCommand(ai.neuvision.kit.data.Whiteboard,ai.neuvision.kit.data.WhiteboardCommand):112:116 -> sendCommand 6:10:void sendCommand(ai.neuvision.kit.data.Whiteboard,ai.neuvision.kit.data.WhiteboardCommand,long):120:124 -> sendCommand 1:2:void sendData(java.nio.ByteBuffer,ai.neuvision.kit.data.DataFrameContext):58:59 -> sendData 3:4:void sendData(java.nio.ByteBuffer,ai.neuvision.kit.data.DataFrameContext,long):64:65 -> sendData 1:1:void setDataCallback(ai.neuvision.kit.data.DataCallback):20:20 -> setDataCallback 1:2:void setTransportSession(ai.neuvision.sdk.sdwan.transport.YCKTransportSession):23:24 -> setTransportSession 1:1:void start():43:43 -> start 1:1:void stop():47:47 -> stop 1:2:void unregisterWhiteboard(ai.neuvision.kit.data.Whiteboard,long):76:77 -> unregisterWhiteboard ai.neuvision.kit.data.DataEngine$Companion -> ai.neuvision.kit.data.DataEngine$Companion: 1:1:void ():31:31 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):31:31 -> 1:1:ai.neuvision.kit.data.DataEngine getInstance():33:33 -> getInstance ai.neuvision.kit.data.DataEngine$Holder -> ai.neuvision.kit.data.DataEngine$Holder: ai.neuvision.kit.data.DataEngine instance -> a 1:2:void ():37:38 -> 1:1:void ():37:37 -> 1:1:ai.neuvision.kit.data.DataEngine getInstance():38:38 -> getInstance ai.neuvision.kit.data.DataEngine$onReceiveData$$inlined$apply$lambda$1 -> ai.neuvision.kit.data.DataEngine$onReceiveData$$inlined$apply$lambda$1: ai.neuvision.kit.data.WhiteboardCommand $command$inlined -> b ai.neuvision.kit.data.Whiteboard $this_apply$inlined -> a 1:1:void ai.neuvision.kit.data.DataEngine.onReceiveData(ai.neuvision.sdk.sdwan.transport.AbstractTransport,java.nio.ByteBuffer,java.nio.ByteBuffer,short,long):93:93 -> run 1:1:void run():80 -> run ai.neuvision.kit.data.DataFrameContext -> ai.neuvision.kit.data.DataFrameContext: short type -> a boolean isValid -> c short attribute -> b 1:29:void (java.nio.ByteBuffer):7:35 -> 30:30:void ():26:26 -> 1:1:short getAttribute():10:10 -> getAttribute 1:1:short getType():9:9 -> getType 1:1:boolean isValid():11:11 -> isValid 1:1:void setAttribute(short):10:10 -> setAttribute 1:1:void setType(short):9:9 -> setType 1:1:void setValid(boolean):11:11 -> setValid 1:5:java.nio.ByteBuffer toData():41:41 -> toData ai.neuvision.kit.data.DataFrameContext$DataType -> ai.neuvision.kit.data.DataFrameContext$DataType: 1:1:void ():13:13 -> 1:1:void ():13:13 -> ai.neuvision.kit.data.MatrixTransform -> ai.neuvision.kit.data.MatrixTransform: int MTRANS_Y -> f int MSCALE_Y -> d int MTRANS_X -> e int MSKEW_X -> b int MSKEW_Y -> c int MSCALE_X -> a 1:1:void (int,int,int,int,int,int):16:16 -> 1:1:int getMSCALE_X():17:17 -> getMSCALE_X 1:1:int getMSCALE_Y():20:20 -> getMSCALE_Y 1:1:int getMSKEW_X():18:18 -> getMSKEW_X 1:1:int getMSKEW_Y():19:19 -> getMSKEW_Y 1:1:int getMTRANS_X():21:21 -> getMTRANS_X 1:1:int getMTRANS_Y():22:22 -> getMTRANS_Y 1:1:float getRotate():49:49 -> getRotate 2:2:float getRotate():48:48 -> getRotate 1:1:float getScale():53:53 -> getScale 1:1:float getTranslateX():56:56 -> getTranslateX 1:1:float getTranslateY():58:58 -> getTranslateY 1:1:void setMSCALE_X(int):17:17 -> setMSCALE_X 1:1:void setMSCALE_Y(int):20:20 -> setMSCALE_Y 1:1:void setMSKEW_X(int):18:18 -> setMSKEW_X 1:1:void setMSKEW_Y(int):19:19 -> setMSKEW_Y 1:1:void setMTRANS_X(int):21:21 -> setMTRANS_X 1:1:void setMTRANS_Y(int):22:22 -> setMTRANS_Y ai.neuvision.kit.data.MatrixTransform$Companion -> ai.neuvision.kit.data.MatrixTransform$Companion: 1:1:void ():24:24 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):24:24 -> 1:8:ai.neuvision.kit.data.MatrixTransform build(android.graphics.Matrix):26:33 -> build 9:9:ai.neuvision.kit.data.MatrixTransform build(android.graphics.Matrix):27:27 -> build ai.neuvision.kit.data.StrokeItem -> ai.neuvision.kit.data.StrokeItem: 1:1:void ():8:8 -> 1:1:int getEid():10:10 -> getEid 1:1:java.lang.Integer getOx():19:19 -> getOx 1:1:java.lang.Integer getOy():16:16 -> getOy 1:1:java.lang.Integer getRh():31:31 -> getRh 1:1:java.lang.Integer getRw():28:28 -> getRw 1:1:java.lang.Integer getRx():22:22 -> getRx 1:1:java.lang.Integer getRy():25:25 -> getRy 1:1:long getTimeStamp():34:34 -> getTimeStamp 1:1:long getUid():13:13 -> getUid 1:1:java.lang.Boolean isChangeText():38:38 -> isChangeText 1:1:void setChangeText(java.lang.Boolean):38:38 -> setChangeText 1:1:void setEid(int):10:10 -> setEid 1:1:void setOx(java.lang.Integer):19:19 -> setOx 1:1:void setOy(java.lang.Integer):16:16 -> setOy 1:1:void setRh(java.lang.Integer):31:31 -> setRh 1:1:void setRw(java.lang.Integer):28:28 -> setRw 1:1:void setRx(java.lang.Integer):22:22 -> setRx 1:1:void setRy(java.lang.Integer):25:25 -> setRy 1:1:void setTimeStamp(long):34:34 -> setTimeStamp 1:1:void setUid(long):13:13 -> setUid ai.neuvision.kit.data.StrokeItem$Companion -> ai.neuvision.kit.data.StrokeItem$Companion: 1:1:void ():40:40 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):40:40 -> 1:4:ai.neuvision.kit.data.StrokeItem newInstance(ai.neuvision.kit.data.doodle.core.IDoodleItem):42:45 -> newInstance ai.neuvision.kit.data.Whiteboard -> ai.neuvision.kit.data.Whiteboard: 1:4:void (android.content.Context):6:9 -> 1:1:ai.neuvision.kit.data.Whiteboard$Callback getCallback():8:8 -> getCallback 1:1:long getWbid():9:9 -> getWbid 1:1:void setCallback(ai.neuvision.kit.data.Whiteboard$Callback):8:8 -> setCallback 1:1:void setWbid(long):9:9 -> setWbid ai.neuvision.kit.data.WhiteboardCommand -> ai.neuvision.kit.data.WhiteboardCommand: 1:177:void (java.nio.ByteBuffer):11:187 -> 178:178:void ():159:159 -> 1:1:ai.neuvision.kit.data.WhiteboardEntry getBean():13:13 -> getBean 1:1:long getColor():92:92 -> getColor 1:1:int getCommand():22:22 -> getCommand 1:1:long getCts():122:122 -> getCts 1:1:long getCuid():130:130 -> getCuid 1:1:java.nio.ByteBuffer getData():19:19 -> getData 1:1:int getEid():43:43 -> getEid 1:1:int getEoe():85:85 -> getEoe 1:1:int getEtype():29:29 -> getEtype 1:4:long getEuid():57:60 -> getEuid 1:1:java.lang.String getFileName():50:50 -> getFileName 1:1:long getFrom():74:74 -> getFrom 1:1:java.nio.ByteBuffer getNormData():137:137 -> getNormData 1:5:android.graphics.Rect getRect():106:110 -> getRect 1:1:int getSize():99:99 -> getSize 1:1:long getTimestamp():77:77 -> getTimestamp 1:1:long getUid():68:68 -> getUid 1:1:long getWbid():36:36 -> getWbid 1:1:boolean isValid():139:139 -> isValid 1:1:void setBean(ai.neuvision.kit.data.WhiteboardEntry):13:13 -> setBean 1:1:void setColor(long):95:95 -> setColor 1:1:void setCommand(int):25:25 -> setCommand 1:1:void setCts(long):125:125 -> setCts 1:1:void setCuid(long):133:133 -> setCuid 1:1:void setData(java.nio.ByteBuffer):19:19 -> setData 1:1:void setEid(int):46:46 -> setEid 1:1:void setEoe(int):88:88 -> setEoe 1:1:void setEtype(int):32:32 -> setEtype 1:1:void setEuid(long):64:64 -> setEuid 1:1:void setFileName(java.lang.String):53:53 -> setFileName 1:1:void setFrom(long):74:74 -> setFrom 1:1:void setNormData(java.nio.ByteBuffer):137:137 -> setNormData 1:4:void setRect(android.graphics.Rect):114:117 -> setRect 1:1:void setSize(int):102:102 -> setSize 1:1:void setTimestamp(long):80:80 -> setTimestamp 1:1:void setUid(long):71:71 -> setUid 1:1:void setValid(boolean):139:139 -> setValid 1:1:void setWbid(long):39:39 -> setWbid 1:13:java.nio.ByteBuffer toData():194:206 -> toData 14:14:java.nio.ByteBuffer toData():200:200 -> toData 1:1:java.lang.String toString():211:211 -> toString ai.neuvision.kit.data.WhiteboardCommand$CommandType -> ai.neuvision.kit.data.WhiteboardCommand$CommandType: 1:1:void ():141:141 -> 1:1:void ():141:141 -> ai.neuvision.kit.data.WhiteboardElement -> ai.neuvision.kit.data.WhiteboardElement: android.graphics.Point offset -> g java.nio.ByteBuffer data -> l long timestamp -> f int size -> j long uid -> e int pattern -> k int color -> i android.graphics.Rect rect -> h int eid -> d int status -> b int wbid -> c int type -> a android.graphics.Path path -> m android.graphics.Point prevPoint -> n android.graphics.Point prevTouchPoint -> o 1:8:void ():14:21 -> 1:1:int getColor():24:24 -> getColor 1:1:java.nio.ByteBuffer getData():35:35 -> getData 1:1:int getEid():19:19 -> getEid 1:1:android.graphics.Point getOffset():22:22 -> getOffset 1:1:android.graphics.Path getPath():36:36 -> getPath 1:1:int getPattern():26:26 -> getPattern 1:1:android.graphics.Point getPrevPoint():39:39 -> getPrevPoint 1:1:android.graphics.Point getPrevTouchPoint():40:40 -> getPrevTouchPoint 1:1:android.graphics.Rect getRect():23:23 -> getRect 1:1:int getSize():25:25 -> getSize 1:1:int getStatus():17:17 -> getStatus 1:1:long getTimestamp():21:21 -> getTimestamp 1:1:int getType():16:16 -> getType 1:1:long getUid():20:20 -> getUid 1:1:int getWbid():18:18 -> getWbid 1:1:void setColor(int):24:24 -> setColor 1:1:void setData(java.nio.ByteBuffer):35:35 -> setData 1:1:void setEid(int):19:19 -> setEid 1:1:void setOffset(android.graphics.Point):22:22 -> setOffset 1:1:void setPath(android.graphics.Path):36:36 -> setPath 1:1:void setPattern(int):26:26 -> setPattern 1:1:void setPrevPoint(android.graphics.Point):39:39 -> setPrevPoint 1:1:void setPrevTouchPoint(android.graphics.Point):40:40 -> setPrevTouchPoint 1:1:void setRect(android.graphics.Rect):23:23 -> setRect 1:1:void setSize(int):25:25 -> setSize 1:1:void setStatus(int):17:17 -> setStatus 1:1:void setTimestamp(long):21:21 -> setTimestamp 1:1:void setType(int):16:16 -> setType 1:1:void setUid(long):20:20 -> setUid 1:1:void setWbid(int):18:18 -> setWbid ai.neuvision.kit.data.WhiteboardElement$ElementStatus -> ai.neuvision.kit.data.WhiteboardElement$ElementStatus: 1:1:void ():79:79 -> 1:1:void ():79:79 -> ai.neuvision.kit.data.WhiteboardElement$ElementType -> ai.neuvision.kit.data.WhiteboardElement$ElementType: 1:1:void ():42:42 -> 1:1:void ():42:42 -> ai.neuvision.kit.data.WhiteboardEntry -> ai.neuvision.kit.data.WhiteboardEntry: 1:3:void ():168:168 -> 1:83:void ():10:92 -> 1:1:void setColor(long):43:43 -> getColor 1:1:long getColor():43 -> getColor 1:1:void setCommand(int):13:13 -> getCommand 1:1:int getCommand():13 -> getCommand 1:1:void setCommandPts(long):101:101 -> getCommandPts 1:1:long getCommandPts():101 -> getCommandPts 1:1:void setCts(long):95:95 -> getCts 1:1:long getCts():95 -> getCts 1:1:void setCuid(long):98:98 -> getCuid 1:1:long getCuid():98 -> getCuid 1:1:void setDos(int):113:113 -> getDos 1:1:int getDos():113 -> getDos 1:1:void setEid(int):22:22 -> getEid 1:1:int getEid():22 -> getEid 1:1:void ():76:76 -> getEids 1:1:java.util.List getEids():76 -> getEids 1:1:void setEoe(int):25:25 -> getEoe 1:1:int getEoe():25 -> getEoe 1:1:void setEtype(int):16:16 -> getEtype 1:1:int getEtype():16 -> getEtype 1:1:void setEuid(long):49:49 -> getEuid 1:1:long getEuid():49 -> getEuid 1:1:void ():67:67 -> getFileName 1:1:java.lang.String getFileName():67 -> getFileName 1:1:void setGroupElements(boolean):79:79 -> getGroupElements 1:1:boolean getGroupElements():79 -> getGroupElements 1:1:void setLockStatus(int):110:110 -> getLockStatus 1:1:int getLockStatus():110 -> getLockStatus 1:1:void ():73:73 -> getMoved 1:1:java.util.List getMoved():73 -> getMoved 1:1:void ():52:52 -> getOp 1:1:java.lang.String getOp():52 -> getOp 1:1:void setOriginSize(int):82:82 -> getOriginSize 1:1:int getOriginSize():82 -> getOriginSize 1:1:void setOx(int):55:55 -> getOx 1:1:int getOx():55 -> getOx 1:1:void setOy(int):58:58 -> getOy 1:1:int getOy():58 -> getOy 1:1:void setRectHeight(float):40:40 -> getRectHeight 1:1:float getRectHeight():40 -> getRectHeight 1:1:void setRectWidth(float):37:37 -> getRectWidth 1:1:float getRectWidth():37 -> getRectWidth 1:1:void setRectX(float):31:31 -> getRectX 1:1:float getRectX():31 -> getRectX 1:1:void setRectY(float):34:34 -> getRectY 1:1:float getRectY():34 -> getRectY 1:1:void setSelectMode(int):61:61 -> getSelectMode 1:1:int getSelectMode():61 -> getSelectMode 1:1:void setSize(int):46:46 -> getSize 1:1:int getSize():46 -> getSize 1:1:void ():28:28 -> getTimestamp 1:1:long getTimestamp():28 -> getTimestamp 1:1:void ():64:64 -> getTouch 1:1:java.lang.String getTouch():64 -> getTouch 1:1:void setTransform(ai.neuvision.kit.data.MatrixTransform):107:107 -> getTransform 1:1:ai.neuvision.kit.data.MatrixTransform getTransform():107 -> getTransform 1:1:void ():92:92 -> getUid 1:1:long getUid():92 -> getUid 1:1:void setUndoType(int):104:104 -> getUndoType 1:1:int getUndoType():104 -> getUndoType 1:1:void ():70:70 -> getUnselected 1:1:java.util.List getUnselected():70 -> getUnselected 1:1:void setWbid(long):19:19 -> getWbid 1:1:long getWbid():19 -> getWbid 1:1:void setZippedSize(int):85:85 -> getZippedSize 1:1:int getZippedSize():85 -> getZippedSize 1:1:void setAppend(boolean):88:88 -> isAppend 1:1:boolean isAppend():88 -> isAppend 1:32:org.json.JSONObject removeObject(org.json.JSONObject):142:173 -> removeObject 33:46:org.json.JSONObject removeObject(org.json.JSONObject):144:157 -> removeObject 1:1:void setAppend(boolean):88:88 -> setAppend 1:1:void setColor(long):43:43 -> setColor 1:1:void setCommand(int):13:13 -> setCommand 1:1:void setCommandPts(long):101:101 -> setCommandPts 1:1:void setCts(long):95:95 -> setCts 1:1:void setCuid(long):98:98 -> setCuid 1:1:void setDos(int):113:113 -> setDos 1:1:void setEid(int):22:22 -> setEid 1:1:void ():76:76 -> setEids 1:1:void setEids(java.util.List):76 -> setEids 1:1:void setEoe(int):25:25 -> setEoe 1:1:void setEtype(int):16:16 -> setEtype 1:1:void setEuid(long):49:49 -> setEuid 1:1:void ():67:67 -> setFileName 1:1:void setFileName(java.lang.String):67 -> setFileName 1:1:void setGroupElements(boolean):79:79 -> setGroupElements 1:1:void setLockStatus(int):110:110 -> setLockStatus 1:1:void ():73:73 -> setMoved 1:1:void setMoved(java.util.List):73 -> setMoved 1:1:void ():52:52 -> setOp 1:1:void setOp(java.lang.String):52 -> setOp 1:1:void setOriginSize(int):82:82 -> setOriginSize 1:1:void setOx(int):55:55 -> setOx 1:1:void setOy(int):58:58 -> setOy 1:1:void setRectHeight(float):40:40 -> setRectHeight 1:1:void setRectWidth(float):37:37 -> setRectWidth 1:1:void setRectX(float):31:31 -> setRectX 1:1:void setRectY(float):34:34 -> setRectY 1:1:void setSelectMode(int):61:61 -> setSelectMode 1:1:void setSize(int):46:46 -> setSize 1:1:void ():28:28 -> setTimestamp 1:1:void setTimestamp(long):28 -> setTimestamp 1:1:void ():64:64 -> setTouch 1:1:void setTouch(java.lang.String):64 -> setTouch 1:1:void setTransform(ai.neuvision.kit.data.MatrixTransform):107:107 -> setTransform 1:1:void ():92:92 -> setUid 1:1:void setUid(long):92 -> setUid 1:1:void setUndoType(int):104:104 -> setUndoType 1:1:void ():70:70 -> setUnselected 1:1:void setUnselected(java.util.List):70 -> setUnselected 1:1:void setWbid(long):19:19 -> setWbid 1:1:void setZippedSize(int):85:85 -> setZippedSize 1:1:java.lang.String toJson():138:138 -> toJson 1:1:java.lang.String toString():164:164 -> toString ai.neuvision.kit.data.WhiteboardEntry$Companion -> ai.neuvision.kit.data.WhiteboardEntry$Companion: 1:1:void ():167:167 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):167:167 -> ai.neuvision.kit.data.doodle.CMDGenerate -> ai.neuvision.kit.data.doodle.CMDGenerate: 1:1:void ():13:13 -> 1:4:byte[] gBlackboardWidthHeightRatio(ai.neuvision.kit.data.doodle.DoodleView):15:18 -> gBlackboardWidthHeightRatio 1:4:byte[] gBlackboardXRatio(ai.neuvision.kit.data.doodle.DoodleView,float):22:25 -> gBlackboardXRatio 1:4:byte[] gBlackboardYRatio(ai.neuvision.kit.data.doodle.DoodleView,float):29:32 -> gBlackboardYRatio 1:1:byte[] gOnScroll(ai.neuvision.kit.data.doodle.DoodleView,float,float,float,float):58:58 -> gOnScroll 1:1:byte[] gOnScrollBegin(ai.neuvision.kit.data.doodle.DoodleView,float,float,float,float):44:44 -> gOnScrollBegin 1:1:byte[] gOnScrollEnd(ai.neuvision.kit.data.doodle.DoodleView,float,float,float,float):54:54 -> gOnScrollEnd 1:3:byte[] getDoodlePathJson(java.lang.String,float,float,float,float):68:70 -> getDoodlePathJson ai.neuvision.kit.data.doodle.CourseBean -> ai.neuvision.kit.data.doodle.CourseBean: 1:1:void ():16:16 -> 1:1:java.util.ArrayList getElements():19:19 -> getElements 1:1:void setElements(java.util.ArrayList):19:19 -> setElements ai.neuvision.kit.data.doodle.CourseBean$CourseSyncBean -> ai.neuvision.kit.data.doodle.CourseBean$CourseSyncBean: 1:1:void (ai.neuvision.kit.data.doodle.SyncDoodleBean,byte[]):92:92 -> 1:1:byte[] getData():92:92 -> getData 1:1:ai.neuvision.kit.data.doodle.SyncDoodleBean getSyncBean():92:92 -> getSyncBean ai.neuvision.kit.data.doodle.CourseBean$Element -> ai.neuvision.kit.data.doodle.CourseBean$Element: 1:12:void ():21:32 -> 1:6:void copyFromSyncBean(ai.neuvision.kit.data.doodle.SyncDoodleBean):72:77 -> copyFromSyncBean 1:1:byte[] decodeData():47:47 -> decodeData 1:2:void encodeData(byte[]):51:52 -> encodeData 1:1:long getColor():26:26 -> getColor 1:1:java.lang.String getData():41:41 -> getData 1:1:ai.neuvision.kit.data.doodle.CourseBean$Offset getOffset():38:38 -> getOffset 1:1:int getPattern():32:32 -> getPattern 1:1:ai.neuvision.kit.data.doodle.CourseBean$Rect getRect():35:35 -> getRect 1:1:int getSize():29:29 -> getSize 1:1:ai.neuvision.kit.data.MatrixTransform getTransform():44:44 -> getTransform 1:1:int getType():23:23 -> getType 1:1:void setColor(long):26:26 -> setColor 1:1:void setData(java.lang.String):41:41 -> setData 1:1:void setOffset(ai.neuvision.kit.data.doodle.CourseBean$Offset):38:38 -> setOffset 1:1:void setPattern(int):32:32 -> setPattern 1:1:void setRect(ai.neuvision.kit.data.doodle.CourseBean$Rect):35:35 -> setRect 1:1:void setSize(int):29:29 -> setSize 1:1:void setTransform(ai.neuvision.kit.data.MatrixTransform):44:44 -> setTransform 1:1:void setType(int):23:23 -> setType 1:11:ai.neuvision.kit.data.doodle.SyncDoodleBean toSyncDoodleBean():56:66 -> toSyncDoodleBean ai.neuvision.kit.data.doodle.CourseBean$Offset -> ai.neuvision.kit.data.doodle.CourseBean$Offset: 1:1:void (int,int):90:90 -> 1:1:int getX():90:90 -> getX 1:1:int getY():90:90 -> getY 1:1:void setX(int):90:90 -> setX 1:1:void setY(int):90:90 -> setY ai.neuvision.kit.data.doodle.CourseBean$Rect -> ai.neuvision.kit.data.doodle.CourseBean$Rect: 1:1:void (int,int,int,int):84:84 -> 1:1:int getH():88:88 -> getH 1:1:int getW():87:87 -> getW 1:1:int getX():85:85 -> getX 1:1:int getY():86:86 -> getY 1:1:void setH(int):88:88 -> setH 1:1:void setW(int):87:87 -> setW 1:1:void setX(int):85:85 -> setX 1:1:void setY(int):86:86 -> setY ai.neuvision.kit.data.doodle.CourseParse -> ai.neuvision.kit.data.doodle.CourseParse: 1:1:void ():16:16 -> 1:1:void ():16:16 -> 1:1:byte[] access$getCourseData$p(ai.neuvision.kit.data.doodle.CourseParse):16:16 -> access$getCourseData$p 1:1:void access$setCourseData$p(ai.neuvision.kit.data.doodle.CourseParse,byte[]):16:16 -> access$setCourseData$p 1:15:boolean isValidate(byte[]):24:38 -> isValidate 16:16:boolean isValidate(byte[]):32:32 -> isValidate 1:5:ai.neuvision.kit.data.doodle.CourseBean parse():57:61 -> parse 6:6:ai.neuvision.kit.data.doodle.CourseBean parse():58:58 -> parse 1:10:byte[] signature(ai.neuvision.kit.data.doodle.CourseBean):43:52 -> signature 11:11:byte[] signature(ai.neuvision.kit.data.doodle.CourseBean):46:46 -> signature ai.neuvision.kit.data.doodle.CourseParse$parse$1 -> ai.neuvision.kit.data.doodle.CourseParse$parse$1: 1:1:java.lang.Object get():57:57 -> get 1:1:void set(java.lang.Object):57:57 -> set ai.neuvision.kit.data.doodle.DoodleChildView -> ai.neuvision.kit.data.doodle.DoodleChildView: 1:1:void (android.content.Context):15:15 -> 1:1:android.view.View access$getParentView$p(ai.neuvision.kit.data.doodle.DoodleChildView):15:15 -> access$getParentView$p 1:1:void access$setParentView$p(ai.neuvision.kit.data.doodle.DoodleChildView,android.view.View):15:15 -> access$setParentView$p 1:2:ai.neuvision.kit.data.doodle.DoodleChildView addToParent(ai.neuvision.kit.data.doodle.DoodleView,float,float):49:50 -> addToParent 3:5:void addToParent(float,float):55:57 -> addToParent 6:10:void addToParent(float,float):56:60 -> addToParent 11:11:void addToParent(float,float):57:57 -> addToParent 1:6:boolean dispatchTouchEvent(android.view.MotionEvent):30:35 -> dispatchTouchEvent 7:15:boolean dispatchTouchEvent(android.view.MotionEvent):32:40 -> dispatchTouchEvent 16:21:boolean dispatchTouchEvent(android.view.MotionEvent):38:43 -> dispatchTouchEvent 1:7:void setLayoutParams(android.view.ViewGroup$LayoutParams):67:73 -> setLayoutParams 1:7:void syncParamsFromParent():19:19 -> syncParamsFromParent 1:1:java.lang.String toString():77:77 -> toString ai.neuvision.kit.data.doodle.DoodleChildView$addToParent$1 -> ai.neuvision.kit.data.doodle.DoodleChildView$addToParent$1: 1:1:java.lang.Object get():55:55 -> get 1:1:void set(java.lang.Object):55:55 -> set ai.neuvision.kit.data.doodle.DoodleColor -> ai.neuvision.kit.data.doodle.DoodleColor: 1:1:void (int):35:35 -> 2:10:void (int):29:37 -> 11:11:void (android.graphics.Bitmap):41:41 -> 12:12:void (android.graphics.Bitmap,android.graphics.Matrix):45:45 -> 13:13:void (android.graphics.Bitmap,android.graphics.Matrix,android.graphics.Shader$TileMode,android.graphics.Shader$TileMode):48:48 -> 14:38:void (android.graphics.Bitmap,android.graphics.Matrix,android.graphics.Shader$TileMode,android.graphics.Shader$TileMode):29:53 -> 1:8:void config(ai.neuvision.kit.data.doodle.core.IDoodleItem,android.graphics.Paint):58:65 -> config 1:9:ai.neuvision.kit.data.doodle.core.IDoodleColor copy():116:124 -> copy 1:1:android.graphics.Bitmap getBitmap():106:106 -> getBitmap 1:1:java.lang.Integer getColor():102:102 -> getColor 1:1:int getLevel():133:133 -> getLevel 1:1:android.graphics.Matrix getMatrix():98:98 -> getMatrix 1:1:ai.neuvision.kit.data.doodle.DoodleColor$Type getType():110:110 -> getType 1:2:void setColor(int):70:71 -> setColor 3:4:void setColor(android.graphics.Bitmap):75:76 -> setColor 5:7:void setColor(android.graphics.Bitmap,android.graphics.Matrix):80:82 -> setColor 8:12:void setColor(android.graphics.Bitmap,android.graphics.Matrix,android.graphics.Shader$TileMode,android.graphics.Shader$TileMode):86:90 -> setColor 1:1:void setLevel(int):129:129 -> setLevel 1:1:void setMatrix(android.graphics.Matrix):94:94 -> setMatrix ai.neuvision.kit.data.doodle.DoodleColor$Type -> ai.neuvision.kit.data.doodle.DoodleColor$Type: 1:2:void ():20:21 -> 3:3:void ():19:19 -> 1:1:void (java.lang.String,int):19:19 -> 1:1:ai.neuvision.kit.data.doodle.DoodleColor$Type valueOf(java.lang.String):19:19 -> valueOf 1:1:ai.neuvision.kit.data.doodle.DoodleColor$Type[] values():19:19 -> values ai.neuvision.kit.data.doodle.DoodleOnTouchGestureListener -> ai.neuvision.kit.data.doodle.DoodleOnTouchGestureListener: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.DoodleOperationProxy):103:103 -> 2:406:void (ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.DoodleOperationProxy):76:480 -> 407:424:void (ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.DoodleOperationProxy):104:121 -> 1:1:ai.neuvision.kit.data.doodle.effect.ElementSelector access$000(ai.neuvision.kit.data.doodle.DoodleOnTouchGestureListener):45:45 -> access$000 1:1:ai.neuvision.kit.data.doodle.DoodleView access$100(ai.neuvision.kit.data.doodle.DoodleOnTouchGestureListener):45:45 -> access$100 1:3:float calcLimitX(float):1213:1215 -> calcLimitX 1:16:float calcLimitY(float):1189:1204 -> calcLimitY 1:10:void cancelAllBehavior():1249:1258 -> cancelAllBehavior 1:4:void cancelCreatePath():1263:1266 -> cancelCreatePath 1:3:void cancelFling():1228:1230 -> cancelFling 1:7:void cancelMultiSelector():1271:1277 -> cancelMultiSelector 1:5:void cancelScaleImg():1281:1285 -> cancelScaleImg 1:3:void cancelSelectedItemsBehavior():1291:1293 -> cancelSelectedItemsBehavior 1:19:boolean cornerScrollElement(int):610:628 -> cornerScrollElement 1:50:void drawEraser(int):426:475 -> drawEraser 1:10:void drawLaser(int):266:275 -> drawLaser 1:52:void drawPath(int):210:261 -> drawPath 1:9:void drawRubber(int):281:289 -> drawRubber 1:41:void drawSelector(int):375:415 -> drawSelector 1:43:void drawText(int,boolean):325:367 -> drawText 1:71:void fastScroll(float):634:704 -> fastScroll 1:1:void forceEndCreatePath():1301:1301 -> forceEndCreatePath 2:8:void forceEndCreatePath(boolean):1310:1316 -> forceEndCreatePath 1:10:void forceEndEditText(ai.neuvision.kit.data.doodle.core.IDoodleItem,boolean):1323:1332 -> forceEndEditText 1:1:java.util.List getItemsOnImg():1243:1243 -> getItemsOnImg 1:1:ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem getSelectedItem():1462:1462 -> getSelectedItem 1:5:java.util.List getSelectedItems():1453:1457 -> getSelectedItems 1:3:boolean isPenEditable(ai.neuvision.kit.data.doodle.core.IDoodlePen):1177:1179 -> isPenEditable 1:2:boolean isSelected(ai.neuvision.kit.data.doodle.core.IDoodleItem):1466:1467 -> isSelected 1:1:boolean isSupportScaleItem():1239:1239 -> isSupportScaleItem 1:9:kotlin.Unit lambda$drawPath$0(java.lang.Boolean):238:246 -> lambda$drawPath$0 1:10:void lambda$fastScroll$1(android.animation.ValueAnimator):651:660 -> lambda$fastScroll$1 1:28:boolean moveSelectedItem(int):551:578 -> moveSelectedItem 1:1:boolean onDoubleTap(android.view.MotionEvent):936:936 -> onDoubleTap 1:16:boolean onDown(android.view.MotionEvent):133:148 -> onDown 1:28:boolean onFling(android.view.MotionEvent,android.view.MotionEvent,float,float):1071:1098 -> onFling 1:7:void onLongPress(android.view.MotionEvent):941:947 -> onLongPress 1:23:boolean onMultiPointerScroll(android.view.MotionEvent,android.view.MotionEvent,float,float,int):1142:1164 -> onMultiPointerScroll 1:4:void onOtherPointerDown(android.view.MotionEvent):1133:1136 -> onOtherPointerDown 1:16:void onQuit(long):1507:1522 -> onQuit 1:5:boolean onScale(ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27):1047:1051 -> onScale 1:1:boolean onScaleBegin(ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27):1042:1042 -> onScaleBegin 1:1:void onScaleEnd(ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27):1061:1061 -> onScaleEnd 1:52:boolean onScroll(android.view.MotionEvent,android.view.MotionEvent,float,float):769:820 -> onScroll 53:57:boolean onScroll(android.view.MotionEvent,android.view.MotionEvent,float,float):819:823 -> onScroll 1:55:void onScrollBegin(android.view.MotionEvent):710:764 -> onScrollBegin 1:37:void onScrollEnd(android.view.MotionEvent):832:868 -> onScrollEnd 1:33:boolean onSingleTapConfirmed(android.view.MotionEvent):874:906 -> onSingleTapConfirmed 34:34:boolean onSingleTapConfirmed(android.view.MotionEvent):877:877 -> onSingleTapConfirmed 1:83:boolean onSingleTapUp(android.view.MotionEvent):954:1036 -> onSingleTapUp 1:6:void onUpOrCancel(android.view.MotionEvent):1104:1109 -> onUpOrCancel 1:5:void refreshDoodle(int,boolean):1527:1531 -> refreshDoodle 1:4:void refreshMenuPosition():1536:1539 -> refreshMenuPosition 1:14:boolean rotateElement(int):589:602 -> rotateElement 15:15:boolean rotateElement(int):601:601 -> rotateElement 1:42:boolean scaleElement(int,ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27):485:526 -> scaleElement 43:73:boolean scaleElement(int,ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27):514:544 -> scaleElement 1:50:void selectedOrUnse():153:202 -> selectedOrUnse 1:10:void setColor(ai.neuvision.kit.data.doodle.core.IDoodleColor):1474:1483 -> setColor 1:105:void setSelectedItem(ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem,boolean):1341:1445 -> setSelectedItem 106:106:void setSelectedItem(ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem):1449:1449 -> setSelectedItem 1:15:void setSize(float):1488:1502 -> setSize 1:1:void setSupportScaleItem(boolean):1235:1235 -> setSupportScaleItem 1:1:boolean singleTapAddSize():1183:1183 -> singleTapAddSize 1:1:void updateLocation(android.graphics.Bitmap):1172:1172 -> updateLocation ai.neuvision.kit.data.doodle.DoodleOnTouchGestureListener$1 -> ai.neuvision.kit.data.doodle.DoodleOnTouchGestureListener$1: 1:1:void (ai.neuvision.kit.data.doodle.DoodleOnTouchGestureListener):418:418 -> 1:1:boolean consort(ai.neuvision.kit.data.doodle.core.IDoodleItem):421:421 -> consort ai.neuvision.kit.data.doodle.DoodleOnTouchGestureListener$2 -> ai.neuvision.kit.data.doodle.DoodleOnTouchGestureListener$2: 1:1:void (ai.neuvision.kit.data.doodle.DoodleOnTouchGestureListener):666:666 -> 1:2:void onAnimationCancel(android.animation.Animator):669:670 -> onAnimationCancel 1:2:void onAnimationEnd(android.animation.Animator):675:676 -> onAnimationEnd 1:1:void onAnimationPause(android.animation.Animator):692:692 -> onAnimationPause 1:1:void onAnimationRepeat(android.animation.Animator):681:681 -> onAnimationRepeat 1:1:void onAnimationResume(android.animation.Animator):697:697 -> onAnimationResume 1:2:void onAnimationStart(android.animation.Animator):686:687 -> onAnimationStart ai.neuvision.kit.data.doodle.DoodleOperationProxy -> ai.neuvision.kit.data.doodle.DoodleOperationProxy: 1:4:void (ai.neuvision.kit.data.doodle.DoodleView):23:26 -> 1:3:void dispatchCancelCreate(ai.neuvision.kit.data.doodle.core.IDoodleItem):566:568 -> dispatchCancelCreate 1:1:void dispatchCancelScale(ai.neuvision.kit.data.doodle.core.IDoodleItem):573:573 -> dispatchCancelScale 1:1:boolean dispatchCopyItem(ai.neuvision.kit.data.doodle.core.IDoodleItem):382:382 -> dispatchCopyItem 1:4:boolean dispatchCreate(ai.neuvision.kit.data.doodle.core.IDoodleItem,boolean):39:42 -> dispatchCreate 5:9:boolean dispatchCreate(ai.neuvision.kit.data.doodle.core.IDoodleItem,boolean,kotlin.jvm.functions.Function1):52:56 -> dispatchCreate 1:1:boolean dispatchCreate$default(ai.neuvision.kit.data.doodle.DoodleOperationProxy,ai.neuvision.kit.data.doodle.core.IDoodleItem,boolean,int,java.lang.Object):38:38 -> dispatchCreate$default 2:2:boolean dispatchCreate$default(ai.neuvision.kit.data.doodle.DoodleOperationProxy,ai.neuvision.kit.data.doodle.core.IDoodleItem,boolean,kotlin.jvm.functions.Function1,int,java.lang.Object):50:50 -> dispatchCreate$default 1:516:boolean dispatchDelete(java.util.List):64:579 -> dispatchDelete 517:539:boolean dispatchDelete(java.util.List):69:91 -> dispatchDelete 1:5:void dispatchDrawPathBegin(ai.neuvision.kit.data.doodle.core.IDoodleItem,float,float,float,float):391:395 -> dispatchDrawPathBegin 1:20:void dispatchDrawPathEnd(ai.neuvision.kit.data.doodle.core.IDoodleItem,float,float,float,float):400:419 -> dispatchDrawPathEnd 1:10:boolean dispatchEdit(ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem,boolean):329:338 -> dispatchEdit 1:27:boolean dispatchItemAttrsChange(java.util.List,boolean):115:141 -> dispatchItemAttrsChange 28:35:boolean dispatchItemAttrsChange(java.util.List,boolean):140:147 -> dispatchItemAttrsChange 36:42:boolean dispatchItemAttrsChange(java.util.List,boolean):146:152 -> dispatchItemAttrsChange 43:473:boolean dispatchItemAttrsChange(java.util.List,boolean):151:581 -> dispatchItemAttrsChange 474:474:boolean dispatchItemAttrsChange(java.util.List,boolean):155:155 -> dispatchItemAttrsChange 475:475:boolean dispatchItemAttrsChange(ai.neuvision.kit.data.doodle.core.IDoodleItem,boolean):162:162 -> dispatchItemAttrsChange 1:21:boolean dispatchItemMove(java.util.List,float,float,float,float,float,float):176:196 -> dispatchItemMove 22:42:boolean dispatchItemMove(java.util.List,float,float,float,float,float,float):194:214 -> dispatchItemMove 1:17:boolean dispatchItemRotate(ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem,float):270:286 -> dispatchItemRotate 1:32:void dispatchLock(ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem[]):448:479 -> dispatchLock 1:10:boolean dispatchMoveBoard(float,float):348:357 -> dispatchMoveBoard 1:12:void dispatchMoveLaser(float,float,float,float,float,boolean):366:377 -> dispatchMoveLaser 13:13:void dispatchMoveLaser(float,float,float,float,float,boolean):376:376 -> dispatchMoveLaser 1:19:void dispatchPathDrawing(ai.neuvision.kit.data.doodle.core.IDoodleItem,float,float,float,float):424:442 -> dispatchPathDrawing 1:13:java.util.List dispatchRedo(int):539:551 -> dispatchRedo 1:37:boolean dispatchScale(ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem,float,float,float):225:261 -> dispatchScale 1:3:boolean dispatchSelected(ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem,boolean):299:301 -> dispatchSelected 4:23:boolean dispatchSelected(ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem,boolean):300:319 -> dispatchSelected 1:31:void dispatchUnLock(ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem[]):483:513 -> dispatchUnLock 1:13:java.util.List dispatchUndo(int):521:533 -> dispatchUndo 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):26:26 -> getOperationListener 1:1:ai.neuvision.kit.data.doodle.IOperationListener getOperationListener():26 -> getOperationListener 1:1:void onSizeChanged(int,int):558:558 -> onSizeChanged 1:1:void setAdminList(ai.neuvision.kit.data.doodle.authentication.User):29:29 -> setAdminList 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):26:26 -> setOperationListener 1:1:void setOperationListener(ai.neuvision.kit.data.doodle.IOperationListener):26 -> setOperationListener ai.neuvision.kit.data.doodle.DoodleOperationProxy$dispatchCreate$1 -> ai.neuvision.kit.data.doodle.DoodleOperationProxy$dispatchCreate$1: 1:1:java.lang.Object invoke(java.lang.Object):23:23 -> invoke ai.neuvision.kit.data.doodle.DoodleParams -> ai.neuvision.kit.data.doodle.DoodleParams: 1:1:void ():94:94 -> 1:74:void ():19:92 -> 1:1:ai.neuvision.kit.data.doodle.DoodleParams$DialogInterceptor getDialogInterceptor():159:159 -> getDialogInterceptor 1:1:void setDialogInterceptor(ai.neuvision.kit.data.doodle.DoodleParams$DialogInterceptor):155:155 -> setDialogInterceptor 1:15:void writeToParcel(android.os.Parcel,int):126:140 -> writeToParcel ai.neuvision.kit.data.doodle.DoodleParams$1 -> ai.neuvision.kit.data.doodle.DoodleParams$1: 1:1:void ():94:94 -> 1:1:java.lang.Object createFromParcel(android.os.Parcel):94:94 -> createFromParcel 2:18:ai.neuvision.kit.data.doodle.DoodleParams createFromParcel(android.os.Parcel):97:113 -> createFromParcel 1:1:java.lang.Object[] newArray(int):94:94 -> newArray 2:2:ai.neuvision.kit.data.doodle.DoodleParams[] newArray(int):120:120 -> newArray ai.neuvision.kit.data.doodle.DoodleParams$DialogType -> ai.neuvision.kit.data.doodle.DoodleParams$DialogType: 1:1:void ():163:163 -> 2:2:void ():162:162 -> 1:1:void (java.lang.String,int):162:162 -> 1:1:ai.neuvision.kit.data.doodle.DoodleParams$DialogType valueOf(java.lang.String):162:162 -> valueOf 1:1:ai.neuvision.kit.data.doodle.DoodleParams$DialogType[] values():162:162 -> values ai.neuvision.kit.data.doodle.DoodlePen -> ai.neuvision.kit.data.doodle.DoodlePen: 1:15:void ():19:33 -> 16:16:void ():17:17 -> 1:1:void (java.lang.String,int):17:17 -> 1:9:void config(ai.neuvision.kit.data.doodle.core.IDoodleItem,android.graphics.Paint):40:48 -> config 1:9:void drawHelpers(android.graphics.Canvas,ai.neuvision.kit.data.doodle.core.IDoodle):89:97 -> drawHelpers 1:11:ai.neuvision.kit.data.doodle.effect.CopyLocation getCopyLocation():55:65 -> getCopyLocation 1:11:ai.neuvision.kit.data.doodle.effect.ElementSelector getSelector():69:79 -> getSelector 1:1:ai.neuvision.kit.data.doodle.DoodlePen valueOf(java.lang.String):17:17 -> valueOf 1:1:ai.neuvision.kit.data.doodle.DoodlePen[] values():17:17 -> values ai.neuvision.kit.data.doodle.DoodlePluginManager -> ai.neuvision.kit.data.doodle.DoodlePluginManager: 1:1:void ():14:14 -> 1:1:ai.neuvision.kit.data.doodle.DoodlePluginManager access$getInstance$cp():10:10 -> 1:1:void ():10 -> 2:2:void ():11:11 -> 1:1:ai.neuvision.kit.data.doodle.DoodlePluginManager access$getInstance$cp():10:10 -> access$getInstance$cp 1:1:void addCoursewarePlugin(ai.neuvision.kit.data.doodle.courseware.ICoursewarePlugin):21:21 -> addCoursewarePlugin 1:16:ai.neuvision.kit.data.doodle.courseware.ICoursewarePlugin getCoursewarePlugin(java.lang.String):25:25 -> getCoursewarePlugin 31:31:ai.neuvision.kit.data.doodle.courseware.ICoursewarePlugin getCoursewarePlugin(java.lang.String):40:40 -> getCoursewarePlugin 1:6:java.lang.String getFormatName(java.lang.String):43:48 -> getFormatName 7:38:java.lang.String getFormatName(java.lang.String):32:63 -> getFormatName 39:39:java.lang.String getFormatName(java.lang.String):41:41 -> getFormatName 40:73:java.lang.String getFormatName(java.lang.String):33:33 -> getFormatName 74:105:java.lang.String getFormatName(java.lang.String):34:65 -> getFormatName ai.neuvision.kit.data.doodle.DoodlePluginManager$Companion -> ai.neuvision.kit.data.doodle.DoodlePluginManager$Companion: 1:1:void ():13:13 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):13:13 -> 1:1:ai.neuvision.kit.data.doodle.DoodlePluginManager getInstance():14:14 -> getInstance ai.neuvision.kit.data.doodle.DoodlePluginView -> ai.neuvision.kit.data.doodle.DoodlePluginView: 1:2:void (android.content.Context):20:21 -> 1:1:ai.neuvision.kit.data.doodle.courseware.ICourseware access$getPluginInstance$p(ai.neuvision.kit.data.doodle.DoodlePluginView):20:20 -> access$getPluginInstance$p 1:1:void access$setPluginInstance$p(ai.neuvision.kit.data.doodle.DoodlePluginView,ai.neuvision.kit.data.doodle.courseware.ICourseware):20:20 -> access$setPluginInstance$p 1:2:void onScroll(float,float):65:66 -> onScroll 1:2:void onVerticallyScroll():60:61 -> onVerticallyScroll 1:29:ai.neuvision.kit.data.doodle.DoodlePluginView setCourseFile(java.lang.String):25:53 -> setCourseFile ai.neuvision.kit.data.doodle.DoodlePluginView$onScroll$1 -> ai.neuvision.kit.data.doodle.DoodlePluginView$onScroll$1: 1:1:java.lang.Object get():65:65 -> get 1:1:void set(java.lang.Object):65:65 -> set ai.neuvision.kit.data.doodle.DoodlePluginView$setCourseFile$1 -> ai.neuvision.kit.data.doodle.DoodlePluginView$setCourseFile$1: 1:1:boolean onTouch(android.view.View,android.view.MotionEvent):46:46 -> onTouch ai.neuvision.kit.data.doodle.DoodlePluginView2 -> ai.neuvision.kit.data.doodle.DoodlePluginView2: 1:2:void (android.content.Context):20:21 -> 1:1:android.view.View access$getParentView$p(ai.neuvision.kit.data.doodle.DoodlePluginView2):20:20 -> access$getParentView$p 1:1:ai.neuvision.kit.data.doodle.courseware.ICourseware access$getPluginInstance$p(ai.neuvision.kit.data.doodle.DoodlePluginView2):20:20 -> access$getPluginInstance$p 1:1:void access$setParentView$p(ai.neuvision.kit.data.doodle.DoodlePluginView2,android.view.View):20:20 -> access$setParentView$p 1:1:void access$setPluginInstance$p(ai.neuvision.kit.data.doodle.DoodlePluginView2,ai.neuvision.kit.data.doodle.courseware.ICourseware):20:20 -> access$setPluginInstance$p 1:34:ai.neuvision.kit.data.doodle.DoodlePluginView2 addToParent(ai.neuvision.kit.data.doodle.DoodleView,float,float):74:107 -> addToParent 35:64:ai.neuvision.kit.data.doodle.DoodlePluginView2 addToParent(ai.neuvision.kit.data.doodle.DoodleView,float,float):82:111 -> addToParent 65:67:void addToParent(float,float):116:118 -> addToParent 68:72:void addToParent(float,float):117:121 -> addToParent 73:73:void addToParent(float,float):118:118 -> addToParent 1:6:boolean dispatchTouchEvent(android.view.MotionEvent):43:48 -> dispatchTouchEvent 7:15:boolean dispatchTouchEvent(android.view.MotionEvent):45:53 -> dispatchTouchEvent 16:32:boolean dispatchTouchEvent(android.view.MotionEvent):51:67 -> dispatchTouchEvent 1:2:void onScroll(float,float):149:150 -> onScroll 1:1:ai.neuvision.kit.data.doodle.DoodlePluginView2 setCourseFile(java.lang.String):26:26 -> setCourseFile 1:12:void setLayoutParams(android.view.ViewGroup$LayoutParams):128:139 -> setLayoutParams 1:7:void syncParamsFromParent():31:31 -> syncParamsFromParent 1:1:java.lang.String toString():145:145 -> toString ai.neuvision.kit.data.doodle.DoodlePluginView2$addToParent$1 -> ai.neuvision.kit.data.doodle.DoodlePluginView2$addToParent$1: 1:1:boolean onTouch(android.view.View,android.view.MotionEvent):95:95 -> onTouch ai.neuvision.kit.data.doodle.DoodlePluginView2$addToParent$2 -> ai.neuvision.kit.data.doodle.DoodlePluginView2$addToParent$2: 1:1:java.lang.Object get():116:116 -> get 1:1:void set(java.lang.Object):116:116 -> set ai.neuvision.kit.data.doodle.DoodlePluginView2$onScroll$1 -> ai.neuvision.kit.data.doodle.DoodlePluginView2$onScroll$1: 1:1:java.lang.Object get():149:149 -> get 1:1:void set(java.lang.Object):149:149 -> set ai.neuvision.kit.data.doodle.DoodlePluginView2$setLayoutParams$1 -> ai.neuvision.kit.data.doodle.DoodlePluginView2$setLayoutParams$1: 1:1:java.lang.Object get():129:129 -> get 1:1:void set(java.lang.Object):129:129 -> set ai.neuvision.kit.data.doodle.DoodleShape -> ai.neuvision.kit.data.doodle.DoodleShape: 1:1:void (java.lang.String,int):12:12 -> 1:4:void config(ai.neuvision.kit.data.doodle.core.IDoodleItem,android.graphics.Paint):24:27 -> config 5:5:void config(ai.neuvision.kit.data.doodle.core.IDoodleItem,android.graphics.Paint):25:25 -> config ai.neuvision.kit.data.doodle.DoodleStackUtil -> ai.neuvision.kit.data.doodle.DoodleStackUtil: 1:1:void ():211:211 -> 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> 1:1:void ():16 -> 2:11:void ():19:28 -> 12:12:void (kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> access$getInstanceMap$cp 1:1:java.util.Map access$getInstanceMap$cp():16 -> access$getInstanceMap$cp 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> access$getRedoStack$p 1:1:ai.neuvision.kit.data.doodle.control.CommondStack access$getRedoStack$p(ai.neuvision.kit.data.doodle.DoodleStackUtil):16 -> access$getRedoStack$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> access$getUndoStack$p 1:1:ai.neuvision.kit.data.doodle.control.CommondStack access$getUndoStack$p(ai.neuvision.kit.data.doodle.DoodleStackUtil):16 -> access$getUndoStack$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> access$setRedoStack$p 1:1:void access$setRedoStack$p(ai.neuvision.kit.data.doodle.DoodleStackUtil,ai.neuvision.kit.data.doodle.control.CommondStack):16 -> access$setRedoStack$p 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> access$setUndoStack$p 1:1:void access$setUndoStack$p(ai.neuvision.kit.data.doodle.DoodleStackUtil,ai.neuvision.kit.data.doodle.control.CommondStack):16 -> access$setUndoStack$p 1:1:boolean canRedo():129:129 -> canRedo 1:1:boolean canUndo():127:127 -> canUndo 1:8:void cancelCommand(ai.neuvision.kit.data.WhiteboardCommand):116:123 -> cancelCommand 9:9:void cancelCommand(ai.neuvision.kit.data.WhiteboardCommand):122:122 -> cancelCommand 1:8:ai.neuvision.kit.data.doodle.control.DoodleStackBean getCommandFromUdp(long,boolean):136:143 -> getCommandFromUdp 1:1:java.util.List getRedoData():153:153 -> getRedoData 1:1:int getRedoSize():133:133 -> getRedoSize 1:1:java.util.List getUndoData():149:149 -> getUndoData 1:1:int getUndoSize():131:131 -> getUndoSize 1:5:void pairCommand(ai.neuvision.kit.data.doodle.control.DoodleStackBean):106:110 -> pairCommand 1:4:void popOlderItem(boolean):199:202 -> popOlderItem 1:93:void printStack():171:263 -> printStack 94:185:void printStack():175:266 -> printStack 186:190:void printStack():181:185 -> printStack 1:8:void pushRedo(ai.neuvision.kit.data.doodle.control.DoodleStackBean,boolean):76:83 -> pushRedo 9:9:void ai.neuvision.kit.data.doodle.control.CommondStack.pushAtLast(java.lang.Object,kotlin.jvm.functions.Function2):29:29 -> pushRedo 9:9:void pushRedo(ai.neuvision.kit.data.doodle.control.DoodleStackBean,boolean):258 -> pushRedo 10:14:void pushRedo(ai.neuvision.kit.data.doodle.control.DoodleStackBean,boolean):86:90 -> pushRedo 1:1:void pushRedo$default(ai.neuvision.kit.data.doodle.DoodleStackUtil,ai.neuvision.kit.data.doodle.control.DoodleStackBean,boolean,int,java.lang.Object):75:75 -> pushRedo$default 1:3:void pushUnExecuteCmd(ai.neuvision.kit.data.doodle.control.DoodleStackBean,boolean):192:194 -> pushUnExecuteCmd 1:9:void pushUndo(ai.neuvision.kit.data.doodle.control.DoodleStackBean,boolean):56:64 -> pushUndo 10:10:void ai.neuvision.kit.data.doodle.control.CommondStack.pushAtLast(java.lang.Object,kotlin.jvm.functions.Function2):29:29 -> pushUndo 10:10:void pushUndo(ai.neuvision.kit.data.doodle.control.DoodleStackBean,boolean):256 -> pushUndo 11:15:void pushUndo(ai.neuvision.kit.data.doodle.control.DoodleStackBean,boolean):67:71 -> pushUndo 1:1:void pushUndo$default(ai.neuvision.kit.data.doodle.DoodleStackUtil,ai.neuvision.kit.data.doodle.control.DoodleStackBean,boolean,int,java.lang.Object):55:55 -> pushUndo$default 1:166:void rePush(java.util.List,boolean):95:260 -> rePush 167:169:void rePush(java.util.List,boolean):97:99 -> rePush 1:6:java.util.List redo(int):47:52 -> redo 1:1:java.util.List redo$default(ai.neuvision.kit.data.doodle.DoodleStackUtil,int,int,java.lang.Object):46:46 -> redo$default 1:3:void setMaxStackSize(int):22:24 -> setMaxStackSize 1:3:void setRedoData(java.util.List):164:166 -> setRedoData 1:1:void setSizeChangeListener(ai.neuvision.kit.data.doodle.DoodleStackUtil$StackSizeChangeListener):34:34 -> setSizeChangeListener 1:3:void setUndoData(java.util.List):157:159 -> setUndoData 1:6:java.util.List undo(int):38:43 -> undo 1:1:java.util.List undo$default(ai.neuvision.kit.data.doodle.DoodleStackUtil,int,int,java.lang.Object):37:37 -> undo$default ai.neuvision.kit.data.doodle.DoodleStackUtil$Companion -> ai.neuvision.kit.data.doodle.DoodleStackUtil$Companion: 1:1:void ():210:210 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):210:210 -> 1:8:void clear(long):214:221 -> clear 1:1:ai.neuvision.kit.data.doodle.control.DoodleStackBean generateNewOperation(java.util.List,ai.neuvision.kit.data.WhiteboardCommand,boolean):242:242 -> generateNewOperation 1:1:ai.neuvision.kit.data.doodle.control.DoodleStackBean generateNewOperation$default(ai.neuvision.kit.data.doodle.DoodleStackUtil$Companion,java.util.List,ai.neuvision.kit.data.WhiteboardCommand,boolean,int,java.lang.Object):241:241 -> generateNewOperation$default 1:6:ai.neuvision.kit.data.doodle.DoodleStackUtil getInstance(long):228:233 -> getInstance ai.neuvision.kit.data.doodle.DoodleTouchDetector -> ai.neuvision.kit.data.doodle.DoodleTouchDetector: 1:7:void (android.content.Context,ai.neuvision.kit.data.doodle.util.TouchGestureDetector$IOnTouchGestureListener):8:14 -> ai.neuvision.kit.data.doodle.DoodleView -> ai.neuvision.kit.data.doodle.DoodleView: 1:1:void (android.content.Context,java.util.List):261:261 -> 2:5673:void (android.content.Context,java.util.List):147:5818 -> 5674:5735:void (android.content.Context,java.util.List):263:324 -> 5736:5736:void (android.content.Context):333:333 -> 1:1:ai.neuvision.kit.data.doodle.util.DrawUtil access$000(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$000 1:1:void access$100(ai.neuvision.kit.data.doodle.DoodleView,boolean):144:144 -> access$100 1:1:long access$1000(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$1000 1:1:java.lang.Runnable access$1100(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$1100 1:1:int access$1200(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$1200 1:1:java.util.List access$1300(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$1300 1:1:java.util.List access$1400(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$1400 1:1:boolean access$1500(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$1500 1:1:java.lang.Object access$1600(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$1600 1:1:float access$1700(ai.neuvision.kit.data.doodle.DoodleView,int):144:144 -> access$1700 1:1:void access$1800(ai.neuvision.kit.data.doodle.DoodleView,java.lang.Object[]):144:144 -> access$1800 1:1:ai.neuvision.kit.data.doodle.core.IDoodleTouchDetector access$1900(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$1900 1:1:ai.neuvision.kit.data.doodle.LaserManager access$2000(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$2000 1:1:android.graphics.Bitmap access$2100(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$2100 1:1:long access$2200(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$2200 1:1:long access$2202(ai.neuvision.kit.data.doodle.DoodleView,long):144:144 -> access$2202 1:1:ai.neuvision.kit.data.doodle.core.IDoodlePen access$2300(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$2300 1:1:ai.neuvision.kit.data.doodle.core.IDoodlePen access$2302(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.core.IDoodlePen):144:144 -> access$2302 1:1:ai.neuvision.kit.data.doodle.core.IDoodleShape access$2400(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$2400 1:1:ai.neuvision.kit.data.doodle.core.IDoodleShape access$2402(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.core.IDoodleShape):144:144 -> access$2402 1:1:float access$2500(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$2500 1:1:float access$2502(ai.neuvision.kit.data.doodle.DoodleView,float):144:144 -> access$2502 1:1:ai.neuvision.kit.data.doodle.core.IDoodleColor access$2600(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$2600 1:1:ai.neuvision.kit.data.doodle.core.IDoodleColor access$2602(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.core.IDoodleColor):144:144 -> access$2602 1:1:void access$2700(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$2700 1:1:boolean access$2802(ai.neuvision.kit.data.doodle.DoodleView,boolean):144:144 -> access$2802 1:1:ai.neuvision.kit.data.doodle.DoodleView$IDrawableListener access$2900(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$2900 1:1:boolean access$300(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$300 1:1:boolean access$3002(ai.neuvision.kit.data.doodle.DoodleView,boolean):144:144 -> access$3002 1:1:boolean access$3102(ai.neuvision.kit.data.doodle.DoodleView,boolean):144:144 -> access$3102 1:1:boolean access$3202(ai.neuvision.kit.data.doodle.DoodleView,boolean):144:144 -> access$3202 1:1:boolean access$3302(ai.neuvision.kit.data.doodle.DoodleView,boolean):144:144 -> access$3302 1:1:boolean access$3402(ai.neuvision.kit.data.doodle.DoodleView,boolean):144:144 -> access$3402 1:1:boolean access$3502(ai.neuvision.kit.data.doodle.DoodleView,boolean):144:144 -> access$3502 1:1:java.util.List access$400(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$400 1:1:boolean access$502(ai.neuvision.kit.data.doodle.DoodleView,boolean):144:144 -> access$502 1:1:boolean access$600(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$600 1:1:void access$700(ai.neuvision.kit.data.doodle.DoodleView,java.lang.Object[]):144:144 -> access$700 1:1:int access$800(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$800 1:1:int access$802(ai.neuvision.kit.data.doodle.DoodleView,int):144:144 -> access$802 1:1:int access$804(ai.neuvision.kit.data.doodle.DoodleView):144:144 -> access$804 1:1:void access$900(ai.neuvision.kit.data.doodle.DoodleView,int):144:144 -> access$900 1:2:void activeTxt(java.lang.String):4754:4755 -> activeTxt 1:1:void addActionButton(ai.neuvision.kit.data.doodle.menu.AbsDoodleMenuButton):3311:3311 -> addActionButton 1:1:void addChartlet(android.graphics.Bitmap):3358:3358 -> addChartlet 2:4:void addChartlet(android.graphics.Bitmap,int,int):3395:3397 -> addChartlet 5:7:void addChartlet(ai.neuvision.kit.data.doodle.items.DoodleBitmap):3432:3434 -> addChartlet 1:14:void addEditText(float,float):4760:4773 -> addEditText 1:1:void addFlag(int):522:522 -> addFlag 1:2:void addItem(ai.neuvision.kit.data.doodle.core.IDoodleItem):3447:3448 -> addItem 1:22:void addItemFromSync(ai.neuvision.kit.data.doodle.core.IDoodleItem):3488:3509 -> addItemFromSync 1:26:void addItemInner(ai.neuvision.kit.data.doodle.core.IDoodleItem):3452:3477 -> addItemInner 1:7:void addItemView(ai.neuvision.kit.data.doodle.items.DoodleCustomItem):3519:3525 -> addItemView 1:7:void addMultiItem(ai.neuvision.kit.data.doodle.items.DoodleMultiItem):3747:3753 -> addMultiItem 1:14:void addNewUndo(java.util.List,boolean):2426:2439 -> addNewUndo 1:1:void bindTouchDetector(ai.neuvision.kit.data.doodle.core.IDoodlePen,ai.neuvision.kit.data.doodle.core.IDoodleTouchDetector):717:717 -> bindTouchDetector 1:1:void bottomItem(ai.neuvision.kit.data.doodle.core.IDoodleItem):1176:1176 -> bottomItem 1:1:boolean canRedo():2503:2503 -> canRedo 1:1:boolean canUndo():2493:2493 -> canUndo 1:3:void changeSyncStatus(int):1734:1736 -> changeSyncStatus 1:6:void checkBackgroundReceivedCommands():5826:5831 -> checkBackgroundReceivedCommands 1:29:void checkItemConflic(int,long,boolean):5785:5813 -> checkItemConflic 1:17:void clear():932:948 -> clear 18:40:void clear(long):964:986 -> clear 1:28:void clearAvaiable():3758:3785 -> clearAvaiable 1:1:void clearBitmapCache():993:993 -> clearBitmapCache 1:1:void clearFlag(int):526:526 -> clearFlag 1:1:void clearSelf():955:955 -> clearSelf 1:1:boolean contains(java.lang.String):1492:1492 -> contains 1:1:float convertUnionX(float):2858:2858 -> convertUnionX 1:1:float convertUnionY(float):2862:2862 -> convertUnionY 1:11:void copyItem(ai.neuvision.kit.data.doodle.core.IDoodleItem):5597:5607 -> copyItem 1:124:void dispatchDraw(android.graphics.Canvas):4612:4735 -> dispatchDraw 125:125:void dispatchDraw(android.graphics.Canvas):4613:4613 -> dispatchDraw 1:28:boolean dispatchTouchEvent(android.view.MotionEvent):4553:4580 -> dispatchTouchEvent 1:2:void drawLaser(ai.neuvision.kit.data.doodle.LaserItem):3808:3809 -> drawLaser 3:9:void drawLaser(long,float,float,int,boolean,boolean,java.lang.String):3813:3819 -> drawLaser 1:4:void drawUserControlTips(long,android.graphics.Canvas):3890:3893 -> drawUserControlTips 1:7:void drawUserTips(long,float,float,boolean):3823:3829 -> drawUserTips 1:27:android.graphics.Bitmap drawableToBitmap(android.graphics.drawable.Drawable):1612:1638 -> drawableToBitmap 1:1:void enableOverview(boolean):3202:3202 -> enableOverview 1:1:void enableZoomer(boolean):3185:3185 -> enableZoomer 1:4:java.util.concurrent.ExecutorService exportService():5404:5407 -> exportService 1:24:java.util.List findItemByEidTs(ai.neuvision.kit.data.doodle.control.DoodleStackBean,boolean):2122:2145 -> findItemByEidTs 25:25:java.util.List findItemByEidTs(ai.neuvision.kit.data.doodle.control.DoodleStackBean,boolean):2143:2143 -> findItemByEidTs 26:51:java.util.List findItemByEidTs(ai.neuvision.kit.data.doodle.control.DoodleStackBean,boolean):2141:2166 -> findItemByEidTs 1:9:void fixSignalConflict(ai.neuvision.kit.data.doodle.core.IDoodleItem):5766:5774 -> fixSignalConflict 1:1:int generateItemPosId():2598:2598 -> generateItemPosId 1:4:ai.neuvision.kit.data.doodle.menu.ActionPupopWindow getActionMenu():3291:3294 -> getActionMenu 1:13:java.util.List getAfterItems(ai.neuvision.kit.data.doodle.core.IDoodleItem):1411:1423 -> getAfterItems 1:10:java.util.List getAllItem():1275:1284 -> getAllItem 1:1:java.util.List getAllItemIncludeOtherStatus():1479:1479 -> getAllItemIncludeOtherStatus 1:1:float getAllScale():2712:2712 -> getAllScale 1:1:float getAllTranX():2716:2716 -> getAllTranX 1:1:float getAllTranY():2720:2720 -> getAllTranY 1:20:java.util.List getAvaiableItems():1373:1392 -> getAvaiableItems 1:1:android.graphics.Bitmap getBitmap():1647:1647 -> getBitmap 1:1:double getCanvasH():2772:2772 -> getCanvasH 1:1:double getCanvasW():2768:2768 -> getCanvasW 1:1:int getCenterHeight():2784:2784 -> getCenterHeight 1:1:float getCenterScale():2788:2788 -> getCenterScale 1:1:int getCenterWidth():2780:2780 -> getCenterWidth 1:1:float getCentreTranX():2792:2792 -> getCentreTranX 1:1:float getCentreTranY():2796:2796 -> getCentreTranY 1:1:ai.neuvision.kit.data.doodle.core.IDoodleColor getColor():3011:3011 -> getColor 1:1:ai.neuvision.kit.data.doodle.control.DoodleCopyBean getCopyController():5592:5592 -> getCopyController 1:2:ai.neuvision.kit.data.doodle.courseware.ICoursewarePlugin getCoursewarePlugin(java.lang.String):4991:4992 -> getCoursewarePlugin 1:1:int getCurCoursewarePagePos():4853:4853 -> getCurCoursewarePagePos 1:1:ai.neuvision.kit.data.doodle.core.IDoodleTouchDetector getDefaultTouchDetector(ai.neuvision.kit.data.doodle.core.IDoodlePen):726:726 -> getDefaultTouchDetector 2:2:ai.neuvision.kit.data.doodle.core.IDoodleTouchDetector getDefaultTouchDetector():756:756 -> getDefaultTouchDetector 1:1:android.graphics.Bitmap getDoodleBitmap():1652:1652 -> getDoodleBitmap 1:59:android.graphics.RectF getDoodleBound():448:506 -> getDoodleBound 1:13:ai.neuvision.kit.data.doodle.core.IDoodleItem getDoodleItem(float,float,boolean):1516:1528 -> getDoodleItem 14:14:ai.neuvision.kit.data.doodle.core.IDoodleItem getDoodleItem(float,float):1544:1544 -> getDoodleItem 15:17:ai.neuvision.kit.data.doodle.core.IDoodleItem getDoodleItem(int,long,long):1580:1582 -> getDoodleItem 1:4:ai.neuvision.kit.data.doodle.core.IDoodleItem getDoodleItemByUnionId(int,long):1499:1502 -> getDoodleItemByUnionId 1:16:ai.neuvision.kit.data.doodle.core.IDoodleItem getDoodleItemIDLE(float,float,boolean):1548:1563 -> getDoodleItemIDLE 1:1:float getDoodleMaxScale():1248:1248 -> getDoodleMaxScale 1:1:float getDoodleMinScale():1237:1237 -> getDoodleMinScale 1:1:int getDoodleRotation():813:813 -> getDoodleRotation 1:1:float getDoodleScale():1034:1034 -> getDoodleScale 1:1:float getDoodleTranslationX():1156:1156 -> getDoodleTranslationX 1:1:float getDoodleTranslationY():1146:1146 -> getDoodleTranslationY 1:1:long getDoodleWbid():699:699 -> getDoodleWbid 1:8:ai.neuvision.kit.data.doodle.core.IDoodleItem getFrontViewItem(java.lang.String):1456:1463 -> getFrontViewItem 9:13:ai.neuvision.kit.data.doodle.core.IDoodleItem getFrontViewItem(int,long,long):1598:1602 -> getFrontViewItem 1:1:java.util.List getFrontViewItems():1474:1474 -> getFrontViewItems 1:1:ai.neuvision.kit.data.doodle.DoodleView$IDrawableListener getIDrawableListtener():5500:5500 -> getIDrawableListtener 1:1:int getItemCount():1261:1261 -> getItemCount 1:12:ai.neuvision.kit.data.doodle.core.IDoodleItem getItemFromAll(java.lang.String):1435:1446 -> getItemFromAll 1:1:java.util.List getItemIncludeOtherStatus(int,long):1483:1483 -> getItemIncludeOtherStatus 1:1:int getItemPosId():2608:2608 -> getItemPosId 1:7:java.lang.String getKeySubfix():5689:5695 -> getKeySubfix 1:1:ai.neuvision.kit.data.doodle.LaserManager getLaserManager():3799:3799 -> getLaserManager 1:5:android.graphics.PointF getLaserOffset():3838:3842 -> getLaserOffset 1:1:long getLastActiveUid():1754:1754 -> getLastActiveUid 1:1:boolean getMultiFingerScroll():2894:2894 -> getMultiFingerScroll 1:1:float getNormalizeX(float):2841:2841 -> getNormalizeX 1:1:float getNormalizeY(float):2846:2846 -> getNormalizeY 1:1:java.util.List getPageItems():1319:1319 -> getPageItems 2:2:java.util.List getPageItems(int):1329:1329 -> getPageItems 3:14:java.util.List getPageItems(ai.neuvision.kit.data.doodle.DoodleView$ItemGetter):1353:1364 -> getPageItems 1:1:java.lang.String getPeerLaser():3879:3879 -> getPeerLaser 1:1:ai.neuvision.kit.data.doodle.core.IDoodlePen getPen():2947:2947 -> getPen 1:1:float getRotateScale():2800:2800 -> getRotateScale 1:1:float getRotateTranX():2804:2804 -> getRotateTranX 1:1:float getRotateTranY():2808:2808 -> getRotateTranY 1:2:ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem getSelectedItem():1295:1296 -> getSelectedItem 1:1:ai.neuvision.kit.data.doodle.core.IDoodleShape getShape():2972:2972 -> getShape 1:1:float getSingleScreenCanvasH():2776:2776 -> getSingleScreenCanvasH 1:1:float getSize():3027:3027 -> getSize 1:1:android.graphics.Typeface getTypeface():4825:4825 -> getTypeface 1:1:float getUnificationWidth():691:691 -> getUnificationWidth 1:6:android.graphics.Rect getUnionCommRect(ai.neuvision.kit.data.doodle.core.IDoodleItem):2812:2817 -> getUnionCommRect 7:12:android.graphics.Rect getUnionCommRect(android.graphics.Rect):2822:2827 -> getUnionCommRect 1:1:int getUnionCommX(float):2832:2832 -> getUnionCommX 1:1:int getUnionCommY(float):2836:2836 -> getUnionCommY 1:1:float getUnitSize():1253:1253 -> getUnitSize 1:1:int getViewHeight():1877:1877 -> getViewHeight 1:1:int getViewWidth():1882:1882 -> getViewWidth 1:1:float getZoomerScale():3175:3175 -> getZoomerScale 1:8:void goPage(int):679:686 -> goPage 1:9:void gotoPdfPage(int,float):4977:4985 -> gotoPdfPage 1:1:boolean hasCourse():4844:4844 -> hasCourse 1:1:boolean hasFlag(int):518:518 -> hasFlag 1:62:void init(int,int):356:417 -> init 1:3:void initDefaultDetector():346:348 -> initDefaultDetector 1:1:void initDoodleBitmap():421:421 -> initDoodleBitmap 1:36:void innerRefresh(boolean):578:613 -> innerRefresh 37:47:void innerRefresh(boolean):610:620 -> innerRefresh 1:1:void innerRemoveItem(ai.neuvision.kit.data.doodle.core.IDoodleItem):3532:3532 -> innerRemoveItem 1:205:void innerResetFromStack(java.util.List,boolean):2186:2390 -> innerResetFromStack 1:1:boolean isDoodleSaving():5431:5431 -> isDoodleSaving 1:1:boolean isDrawableOutside():3157:3157 -> isDrawableOutside 1:1:boolean isEnableDraw():3037:3037 -> isEnableDraw 1:1:boolean isEnableOverview():3211:3211 -> isEnableOverview 1:1:boolean isEnableZoomer():3192:3192 -> isEnableZoomer 1:1:boolean isInterceptCommand():3251:3251 -> isInterceptCommand 1:1:boolean isItemOnScreen(ai.neuvision.kit.data.doodle.core.IDoodleItem):2866:2866 -> isItemOnScreen 1:1:boolean isItemSelected(ai.neuvision.kit.data.doodle.core.IDoodleItem):3347:3347 -> isItemSelected 1:1:boolean isNoSyncScroll():3264:3264 -> isNoSyncScroll 1:1:boolean isOptimizeDrawing():3902:3902 -> isOptimizeDrawing 1:1:boolean isRotateHandlerOpened():3218:3218 -> isRotateHandlerOpened 1:1:boolean isScrollingDoodle():3273:3273 -> isScrollingDoodle 1:1:boolean isShowOriginal():2988:2988 -> isShowOriginal 1:1:java.lang.Boolean lambda$addNewUndo$5(ai.neuvision.kit.data.doodle.core.IDoodleItem):2437:2437 -> lambda$addNewUndo$5 1:2:void lambda$changeSyncStatus$3():1737:1738 -> lambda$changeSyncStatus$3 1:2:void lambda$innerRefresh$0():611:612 -> lambda$innerRefresh$0 1:1:void lambda$null$10(ai.neuvision.kit.data.doodle.DoodleInterface$PDFSaveListener,int,java.util.List):5198:5198 -> lambda$null$10 1:1:void lambda$null$11(ai.neuvision.kit.data.doodle.DoodleInterface$PDFSaveListener,java.lang.String):5208:5208 -> lambda$null$11 1:2:void lambda$null$12(java.lang.Exception,ai.neuvision.kit.data.doodle.DoodleInterface$PDFSaveListener):5212:5213 -> lambda$null$12 1:1:void lambda$null$15(ai.neuvision.kit.data.doodle.DoodleInterface$ImageSaveListener):5247:5247 -> lambda$null$15 1:1:void lambda$null$16(ai.neuvision.kit.data.doodle.DoodleInterface$ImageSaveListener):5264:5264 -> lambda$null$16 1:1:void lambda$null$17(ai.neuvision.kit.data.doodle.DoodleInterface$ImageSaveListener):5274:5274 -> lambda$null$17 1:1:void lambda$null$18(ai.neuvision.kit.data.doodle.DoodleInterface$ImageSaveListener,int,java.util.List):5364:5364 -> lambda$null$18 1:2:void lambda$null$19(java.lang.Exception,ai.neuvision.kit.data.doodle.DoodleInterface$ImageSaveListener):5384:5385 -> lambda$null$19 1:1:void lambda$null$20(ai.neuvision.kit.data.doodle.DoodleInterface$ImageSaveListener,java.util.List):5395:5395 -> lambda$null$20 1:1:void lambda$null$9(ai.neuvision.kit.data.doodle.DoodleInterface$PDFSaveListener):5142:5142 -> lambda$null$9 1:2:void lambda$onVerticallyScroll$1():1126:1127 -> lambda$onVerticallyScroll$1 1:1:void lambda$saveAsImage$14(ai.neuvision.kit.data.doodle.DoodleInterface$ImageSaveListener):5237:5237 -> lambda$saveAsImage$14 1:146:void lambda$saveAsImage$21(java.io.File,ai.neuvision.kit.data.doodle.DoodleInterface$ImageSaveListener,android.graphics.Bitmap$CompressFormat,boolean,boolean):5245:5390 -> lambda$saveAsImage$21 147:154:void lambda$saveAsImage$21(java.io.File,ai.neuvision.kit.data.doodle.DoodleInterface$ImageSaveListener,android.graphics.Bitmap$CompressFormat,boolean,boolean):5383:5390 -> lambda$saveAsImage$21 155:163:void lambda$saveAsImage$21(java.io.File,ai.neuvision.kit.data.doodle.DoodleInterface$ImageSaveListener,android.graphics.Bitmap$CompressFormat,boolean,boolean):5389:5397 -> lambda$saveAsImage$21 164:164:void lambda$saveAsImage$21(java.io.File,ai.neuvision.kit.data.doodle.DoodleInterface$ImageSaveListener,android.graphics.Bitmap$CompressFormat,boolean,boolean):5263:5263 -> lambda$saveAsImage$21 165:165:void lambda$saveAsImage$21(java.io.File,ai.neuvision.kit.data.doodle.DoodleInterface$ImageSaveListener,android.graphics.Bitmap$CompressFormat,boolean,boolean):5246:5246 -> lambda$saveAsImage$21 1:92:void lambda$saveAsPdf$13(boolean,ai.neuvision.kit.data.doodle.DoodleInterface$PDFSaveListener,java.lang.String):5127:5218 -> lambda$saveAsPdf$13 93:94:void lambda$saveAsPdf$13(boolean,ai.neuvision.kit.data.doodle.DoodleInterface$PDFSaveListener,java.lang.String):5216:5217 -> lambda$saveAsPdf$13 1:1:void lambda$saveAsPdf$8(ai.neuvision.kit.data.doodle.DoodleInterface$PDFSaveListener):5118:5118 -> lambda$saveAsPdf$8 1:13:void lambda$saveCourse$7(java.lang.String,ai.neuvision.kit.data.doodle.DoodleInterface$CourseSaveListener):5087:5099 -> lambda$saveCourse$7 1:25:void lambda$setCourse$6(java.io.File,ai.neuvision.kit.data.doodle.DoodleInterface$CourseLoadListener,ai.neuvision.kit.data.doodle.DoodleView$LoadCourseMode):5041:5065 -> lambda$setCourse$6 26:39:void lambda$setCourse$6(java.io.File,ai.neuvision.kit.data.doodle.DoodleInterface$CourseLoadListener,ai.neuvision.kit.data.doodle.DoodleView$LoadCourseMode):5052:5065 -> lambda$setCourse$6 40:47:void lambda$setCourse$6(java.io.File,ai.neuvision.kit.data.doodle.DoodleInterface$CourseLoadListener,ai.neuvision.kit.data.doodle.DoodleView$LoadCourseMode):5058:5065 -> lambda$setCourse$6 48:52:void lambda$setCourse$6(java.io.File,ai.neuvision.kit.data.doodle.DoodleInterface$CourseLoadListener,ai.neuvision.kit.data.doodle.DoodleView$LoadCourseMode):5063:5067 -> lambda$setCourse$6 1:1:void lambda$syncFromUid$2(long):1678:1678 -> lambda$syncFromUid$2 1:1:java.lang.Boolean lambda$undoOrRedo$4(boolean,ai.neuvision.kit.data.doodle.core.IDoodleItem):2065:2065 -> lambda$undoOrRedo$4 1:1:void lockItem(ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem[]):5543:5543 -> lockItem 1:1:void logPageInfos():2616:2616 -> logPageInfos 1:9:boolean makesureImageSynced():5411:5419 -> makesureImageSynced 1:19:void markItemToOptimizeDrawing(ai.neuvision.kit.data.doodle.core.IDoodleItem):3914:3932 -> markItemToOptimizeDrawing 1:15:void nextPage():633:647 -> nextPage 1:20:void notifyItemFinishedDrawing(ai.neuvision.kit.data.doodle.core.IDoodleItem):3944:3963 -> notifyItemFinishedDrawing 1:5:void onAttachedToWindow():4526:4530 -> onAttachedToWindow 1:1:void onChangeCourse():4874:4874 -> onChangeCourse 1:1:boolean onCheckIsTextEditor():4778:4778 -> onCheckIsTextEditor 1:4:android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo):4788:4791 -> onCreateInputConnection 1:8:void onDetachedFromWindow():4541:4548 -> onDetachedFromWindow 1:3:void onLayout(boolean,int,int,int,int):4605:4607 -> onLayout 1:1:void onMeasure(int,int):769:769 -> onMeasure 1:2:void onScroll(float,float):4924:4925 -> onScroll 1:2:void onSizeChanged(int,int,int,int):4593:4594 -> onSizeChanged 1:22:void onSomeoneQuit(long):5705:5726 -> onSomeoneQuit 1:3:void onUnableDraw():2692:2694 -> onUnableDraw 1:16:void onVerticallyScroll():1120:1135 -> onVerticallyScroll 1:46:void pasteItem():5613:5658 -> pasteItem 1:11:void prePage():657:667 -> prePage 1:16:void printStack():2512:2527 -> printStack 17:22:void printStack(java.util.List):2531:2536 -> printStack 1:1:void reHoldPages(ai.neuvision.kit.data.doodle.core.IDoodleItem):1770:1770 -> reHoldPages 1:4:void reHoldPagesFromLoc(ai.neuvision.kit.data.doodle.core.IDoodleItem):1758:1761 -> reHoldPagesFromLoc 1:3:void receiveCommand(ai.neuvision.kit.data.WhiteboardCommand):5449:5451 -> receiveCommand 1:2:void receivedImage(java.lang.String):1744:1745 -> receivedImage 1:1:int redo():2482:2482 -> redo 1:7:void refresh(boolean):561:567 -> refresh 8:8:void refresh():572:572 -> refresh 1:1:void refreshWithBackground():540:540 -> refreshWithBackground 2:3:void refreshWithBackground(boolean):555:556 -> refreshWithBackground 1:1:void refreshWithForeground():533:533 -> refreshWithForeground 2:3:void refreshWithForeground(boolean):547:548 -> refreshWithForeground 1:41:void release():2625:2665 -> release 42:51:void release(long):2676:2685 -> release 1:11:void removeDoodleItem(float,float):3633:3643 -> removeDoodleItem 1:1:void removeFromUnification(ai.neuvision.kit.data.doodle.core.IDoodleItem):3730:3730 -> removeFromUnification 1:58:void removeItem(java.util.List,boolean):3538:3595 -> removeItem 59:59:void removeItem(java.util.List):3604:3604 -> removeItem 60:60:void removeItem(ai.neuvision.kit.data.doodle.core.IDoodleItem):3623:3623 -> removeItem 1:1:void removeItemFromSignal(java.util.List):3613:3613 -> removeItemFromSignal 1:4:void removeMultiChildItem(ai.neuvision.kit.data.doodle.core.IDoodleItem):3740:3743 -> removeMultiChildItem 1:14:void removeOldCommand(ai.neuvision.kit.data.doodle.control.DoodleStackBean,boolean):2395:2408 -> removeOldCommand 1:8:void removeSelectedItem():5578:5585 -> removeSelectedItem 1:1:void removeTouchDetector(ai.neuvision.kit.data.doodle.core.IDoodlePen):738:738 -> removeTouchDetector 1:24:void removeUnionId(java.util.List):3656:3679 -> removeUnionId 25:55:void removeUnionId(java.lang.String):3688:3718 -> removeUnionId 1:3:void replaceItemOnUnification(ai.neuvision.kit.data.doodle.core.IDoodleItem,ai.neuvision.kit.data.doodle.core.IDoodleItem):2413:2415 -> replaceItemOnUnification 1:1:void reset():2544:2544 -> reset 1:1:float revertUnionCommX(int):2850:2850 -> revertUnionCommX 1:1:float revertUnionCommY(int):2854:2854 -> revertUnionCommY 1:1:void rotate(ai.neuvision.kit.data.doodle.core.IDoodleItem,float):5669:5669 -> rotate 1:9:void rotateItems(java.util.List,float,boolean):5673:5681 -> rotateItems 1:53:void save():872:924 -> save 1:1:void saveAsImage(java.io.File,boolean,android.graphics.Bitmap$CompressFormat,ai.neuvision.kit.data.doodle.DoodleInterface$ImageSaveListener):5223:5223 -> saveAsImage 2:11:void saveAsImage(java.io.File,boolean,android.graphics.Bitmap$CompressFormat,boolean,ai.neuvision.kit.data.doodle.DoodleInterface$ImageSaveListener):5235:5244 -> saveAsImage 1:10:void saveAsPdf(java.lang.String,boolean,ai.neuvision.kit.data.doodle.DoodleInterface$PDFSaveListener):5116:5125 -> saveAsPdf 1:8:void saveCourse(java.lang.String,ai.neuvision.kit.data.doodle.DoodleInterface$CourseSaveListener):5078:5085 -> saveCourse 1:10:void sendCommand(ai.neuvision.kit.data.WhiteboardCommand):5482:5491 -> sendCommand 1:4:void setActionMenu(ai.neuvision.kit.data.doodle.menu.ActionPupopWindow):3304:3307 -> setActionMenu 1:1:void setActiveText(ai.neuvision.kit.data.doodle.items.DoodleText):4750:4750 -> setActiveText 1:1:void setAuthentication(ai.neuvision.kit.data.doodle.authentication.User):5533:5533 -> setAuthentication 1:24:void setBoardId(long,java.lang.Float):2554:2577 -> setBoardId 1:2:void setCenter(float,float):2707:2708 -> setCenter 1:2:void setColor(ai.neuvision.kit.data.doodle.core.IDoodleColor):2999:3000 -> setColor 1:8:void setCourse(java.io.File,ai.neuvision.kit.data.doodle.DoodleView$LoadCourseMode,ai.neuvision.kit.data.doodle.DoodleInterface$CourseLoadListener):5032:5039 -> setCourse 1:5:void setCourseware(java.util.List):4864:4868 -> setCourseware 6:36:void setCourseware(java.lang.String):4935:4965 -> setCourseware 1:1:void setDefaultTouchDetector(ai.neuvision.kit.data.doodle.core.IDoodleTouchDetector):747:747 -> setDefaultTouchDetector 1:1:void setDoodleInitialCallback(ai.neuvision.kit.data.doodle.IDoodleListener):342:342 -> setDoodleInitialCallback 1:2:void setDoodleMaxScale(float):1242:1243 -> setDoodleMaxScale 1:2:void setDoodleMinScale(float):1231:1232 -> setDoodleMinScale 1:41:void setDoodleRotation(int):823:863 -> setDoodleRotation 1:4:void setDoodleScale(float,float,float):1022:1025 -> setDoodleScale 1:13:void setDoodleScaleWithoutFresh(float,float,float):997:1009 -> setDoodleScaleWithoutFresh 1:3:void setDoodleTranslation(float,float):1045:1047 -> setDoodleTranslation 1:2:void setDoodleTranslationX(float):1083:1084 -> setDoodleTranslationX 1:1:void setDoodleTranslationXWithoutFresh(float):1074:1074 -> setDoodleTranslationXWithoutFresh 1:2:void setDoodleTranslationY(float):1094:1095 -> setDoodleTranslationY 1:2:void setDoodleTranslationYWithoutFresh(float):1115:1116 -> setDoodleTranslationYWithoutFresh 1:5:void setEnableDraw(boolean):3048:3052 -> setEnableDraw 1:1:void setIDrawableListener(ai.neuvision.kit.data.doodle.DoodleView$IDrawableListener):5509:5509 -> setIDrawableListener 1:1:void setInterceptCommand(boolean):3244:3244 -> setInterceptCommand 1:3:void setIsDrawableOutside(boolean):3147:3149 -> setIsDrawableOutside 1:10:void setLaserBmp(android.graphics.Bitmap):3863:3872 -> setLaserBmp 1:1:void setMultiFingerScroll(boolean):2903:2903 -> setMultiFingerScroll 1:1:void setNoSyncScroll(boolean):3260:3260 -> setNoSyncScroll 1:2:void setOnTouchListener(android.view.View$OnTouchListener):4599:4600 -> setOnTouchListener 1:7:void setOperationListener(ai.neuvision.kit.data.doodle.IOperationListener):3223:3229 -> setOperationListener 1:1:void setPageNum(float):4897:4897 -> setPageNum 2:9:void setPageNum(float,boolean):4907:4914 -> setPageNum 1:1:void setPeerLaser(java.lang.String):3854:3854 -> setPeerLaser 1:18:void setPen(ai.neuvision.kit.data.doodle.core.IDoodlePen):2916:2933 -> setPen 19:19:void setPen(ai.neuvision.kit.data.doodle.core.IDoodlePen):2914:2914 -> setPen 1:2:void setScrollingDoodle(boolean):3280:3281 -> setScrollingDoodle 1:4:void setSelectedItem(ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem):3334:3337 -> setSelectedItem 1:2:void setSessionId(long):5700:5701 -> setSessionId 1:1:void setShape(ai.neuvision.kit.data.doodle.core.IDoodleShape):2961:2961 -> setShape 2:2:void setShape(ai.neuvision.kit.data.doodle.core.IDoodleShape):2959:2959 -> setShape 1:2:void setShowOriginal(boolean):2982:2983 -> setShowOriginal 1:2:void setSize(float):3020:3021 -> setSize 1:1:void setStackMaxSize(int):3321:3321 -> setStackMaxSize 1:2:void setStartItemPosId(int):2587:2588 -> setStartItemPosId 1:1:void setTypeface(android.graphics.Typeface):4821:4821 -> setTypeface 1:1:void setVisibility(int):2702:2702 -> setVisibility 1:66:void setWHInBackground(int,int,int,int,boolean):1807:1872 -> setWHInBackground 67:67:void setWHInBackground(int,int,int,int):1886:1886 -> setWHInBackground 1:14:void setWorldWH(java.lang.Integer,java.lang.Integer):1780:1793 -> setWorldWH 1:1:void setZoomerScale(float):3168:3168 -> setZoomerScale 1:1:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting settings():5748:5748 -> settings 1:1:void showIntervalLog(java.lang.String,java.lang.Object[]):5999:5999 -> showIntervalLog 1:1:void showLog(java.lang.Object[]):5995:5995 -> showLog 1:1:void showWarning(java.lang.Object[]):6003:6003 -> showWarning 1:11:java.util.List sortItems(java.util.List):1333:1343 -> sortItems 1:4:void syncDataOfEid(long,long,long,int):1723:1726 -> syncDataOfEid 1:3:void syncDoodleTranslation(float,float):1051:1053 -> syncDoodleTranslation 1:1:void syncFailed():5468:5468 -> syncFailed 1:19:void syncFromUid(long):1666:1684 -> syncFromUid 20:21:void syncFromUid(long):1677:1678 -> syncFromUid 1:1:void syncSuccess():5461:5461 -> syncSuccess 1:1:java.lang.String toString():5753:5753 -> toString 1:1:float toTouchX(float):2741:2741 -> toTouchX 1:1:float toTouchY(float):2748:2748 -> toTouchY 1:1:float toTransX(float,float):2760:2760 -> toTransX 1:1:float toTransY(float,float):2764:2764 -> toTransY 1:1:float toX(float):2727:2727 -> toX 1:1:float toY(float):2734:2734 -> toY 1:12:void toggleSoftInput():4795:4806 -> toggleSoftInput 1:1:void topItem(ai.neuvision.kit.data.doodle.core.IDoodleItem):1166:1166 -> topItem 1:35:void topOrBottomItem(java.util.List,boolean,boolean):1192:1226 -> topOrBottomItem 36:68:void topOrBottomItem(java.util.List,boolean,boolean):1194:1226 -> topOrBottomItem 1:1:float transBoard(int):703:703 -> transBoard 1:1:void unLockItem(ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem[]):5553:5553 -> unLockItem 1:1:int undo():2473:2473 -> undo 1:70:void undoOrRedo(boolean):2010:2079 -> undoOrRedo 71:77:boolean undoOrRedo(boolean,long,long):2457:2463 -> undoOrRedo ai.neuvision.kit.data.doodle.DoodleView$1 -> ai.neuvision.kit.data.doodle.DoodleView$1: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):286:286 -> 1:2:void onAccept(long,long):306:307 -> onAccept 1:2:void onCallEstablished(long):294:295 -> onCallEstablished 1:2:void onMemberJoin(long,long):300:301 -> onMemberJoin 1:1:void onMemberLeave(long,long):289:289 -> onMemberLeave ai.neuvision.kit.data.doodle.DoodleView$10 -> ai.neuvision.kit.data.doodle.DoodleView$10: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):1687:1687 -> 1:17:void run():1690:1706 -> run ai.neuvision.kit.data.doodle.DoodleView$11 -> ai.neuvision.kit.data.doodle.DoodleView$11: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):1846:1846 -> 1:2:void run():1849:1850 -> run ai.neuvision.kit.data.doodle.DoodleView$12 -> ai.neuvision.kit.data.doodle.DoodleView$12: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.IOperationListener):3229:3229 -> 1:1:void lambda$onSizeChanged$0(ai.neuvision.kit.data.doodle.IOperationListener,int,int):3232:3232 -> lambda$onSizeChanged$0 1:1:void onSizeChanged(int,int):3232:3232 -> onSizeChanged ai.neuvision.kit.data.doodle.DoodleView$13 -> ai.neuvision.kit.data.doodle.DoodleView$13: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):3358:3358 -> 1:2:void lambda$onBitmapGet$0(ai.neuvision.kit.data.doodle.items.DoodleBitmap):3375:3376 -> lambda$onBitmapGet$0 1:14:void onBitmapGet(android.graphics.Bitmap):3361:3374 -> onBitmapGet ai.neuvision.kit.data.doodle.DoodleView$14 -> ai.neuvision.kit.data.doodle.DoodleView$14: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView,int,int):3397:3397 -> 1:2:void lambda$onBitmapGet$0(ai.neuvision.kit.data.doodle.items.DoodleBitmap):3413:3414 -> lambda$onBitmapGet$0 1:21:void onBitmapGet(android.graphics.Bitmap):3400:3420 -> onBitmapGet ai.neuvision.kit.data.doodle.DoodleView$15 -> ai.neuvision.kit.data.doodle.DoodleView$15: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView,android.view.View,int,android.widget.FrameLayout$LayoutParams,ai.neuvision.kit.data.doodle.courseware.ICourseware,java.lang.String):4951:4951 -> 1:7:boolean onPreDraw():4954:4960 -> onPreDraw ai.neuvision.kit.data.doodle.DoodleView$2 -> ai.neuvision.kit.data.doodle.DoodleView$2: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):315:315 -> 1:2:void run():318:319 -> run ai.neuvision.kit.data.doodle.DoodleView$3 -> ai.neuvision.kit.data.doodle.DoodleView$3: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):878:878 -> 1:1:java.lang.Object doInBackground(java.lang.Object[]):878:878 -> doInBackground 2:24:android.graphics.Bitmap doInBackground(java.lang.Void[]):885:907 -> doInBackground 1:1:void onPostExecute(java.lang.Object):878:878 -> onPostExecute 2:6:void onPostExecute(android.graphics.Bitmap):913:917 -> onPostExecute ai.neuvision.kit.data.doodle.DoodleView$4 -> ai.neuvision.kit.data.doodle.DoodleView$4: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):1277:1277 -> 1:1:java.lang.Object invoke(java.lang.Object):1277:1277 -> invoke 2:2:java.lang.Boolean invoke(ai.neuvision.kit.data.doodle.core.IDoodleItem):1280:1280 -> invoke ai.neuvision.kit.data.doodle.DoodleView$5 -> ai.neuvision.kit.data.doodle.DoodleView$5: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView,java.util.List):1336:1336 -> 1:1:java.lang.Object invoke(java.lang.Object):1336:1336 -> invoke 2:2:java.lang.Boolean invoke(ai.neuvision.kit.data.doodle.core.IDoodleItem):1339:1339 -> invoke ai.neuvision.kit.data.doodle.DoodleView$6 -> ai.neuvision.kit.data.doodle.DoodleView$6: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView,java.util.List,ai.neuvision.kit.data.doodle.DoodleView$ItemGetter):1357:1357 -> 1:1:java.lang.Object invoke(java.lang.Object):1357:1357 -> invoke 2:2:java.lang.Boolean invoke(ai.neuvision.kit.data.doodle.core.IDoodleItem):1360:1360 -> invoke ai.neuvision.kit.data.doodle.DoodleView$7 -> ai.neuvision.kit.data.doodle.DoodleView$7: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):1376:1376 -> 1:1:java.lang.Object invoke(java.lang.Object):1376:1376 -> invoke 2:11:java.lang.Boolean invoke(ai.neuvision.kit.data.doodle.core.IDoodleItem):1379:1388 -> invoke 12:12:java.lang.Boolean invoke(ai.neuvision.kit.data.doodle.core.IDoodleItem):1382:1382 -> invoke ai.neuvision.kit.data.doodle.DoodleView$8 -> ai.neuvision.kit.data.doodle.DoodleView$8: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):1399:1399 -> ai.neuvision.kit.data.doodle.DoodleView$9 -> ai.neuvision.kit.data.doodle.DoodleView$9: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView,long,int):1483:1483 -> 1:1:java.lang.Object invoke(java.lang.Object):1483:1483 -> invoke 2:2:java.lang.Boolean invoke(ai.neuvision.kit.data.doodle.core.IDoodleItem):1486:1486 -> invoke ai.neuvision.kit.data.doodle.DoodleView$BackgroundView -> ai.neuvision.kit.data.doodle.DoodleView$BackgroundView: 1:2:void (ai.neuvision.kit.data.doodle.DoodleView,android.content.Context):3973:3974 -> 3:179:void (ai.neuvision.kit.data.doodle.DoodleView,android.content.Context):3971:4147 -> 180:185:void (ai.neuvision.kit.data.doodle.DoodleView,android.content.Context):3975:3980 -> 1:1:void access$3600(ai.neuvision.kit.data.doodle.DoodleView$BackgroundView,android.graphics.Canvas,int):3967:3967 -> access$3600 1:1:void access$3700(ai.neuvision.kit.data.doodle.DoodleView$BackgroundView,android.graphics.Canvas,java.util.List,boolean):3967:3967 -> access$3700 1:2:void clearAndStop():4257:4258 -> clearAndStop 1:14:void doDraw(android.graphics.Canvas):4071:4084 -> doDraw 1:29:void drawActiveElements(android.graphics.Canvas):4039:4067 -> drawActiveElements 1:22:void drawCourse(android.graphics.Canvas):3986:4007 -> drawCourse 23:70:void drawCourse(android.graphics.Canvas,int):4091:4138 -> drawCourse 1:19:void drawElements(android.graphics.Canvas,java.util.List,boolean):4013:4031 -> drawElements 20:20:void drawElements(android.graphics.Canvas,java.util.List):4035:4035 -> drawElements 1:6:void drawItems():4150:4155 -> drawItems 1:4:android.graphics.Canvas lockCanvas():4214:4217 -> lockCanvas 1:8:void onAttachedToWindow():4223:4230 -> onAttachedToWindow 1:3:void onDetachedFromWindow():4235:4237 -> onDetachedFromWindow 1:4:void onSurfaceTextureAvailable(android.graphics.SurfaceTexture,int,int):4264:4267 -> onSurfaceTextureAvailable 1:8:boolean onSurfaceTextureDestroyed(android.graphics.SurfaceTexture):4277:4284 -> onSurfaceTextureDestroyed 9:9:boolean onSurfaceTextureDestroyed(android.graphics.SurfaceTexture):4283:4283 -> onSurfaceTextureDestroyed 1:7:void releaseCanvas():4201:4207 -> releaseCanvas 1:33:void run():4163:4195 -> run 34:46:void run():4185:4197 -> run 47:49:void run():4195:4197 -> run 1:4:void start():4241:4244 -> start 1:4:void stop():4249:4252 -> stop ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting -> ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):5837:5837 -> 1:2:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting color(ai.neuvision.kit.data.doodle.core.IDoodleColor):5852:5853 -> color 3:4:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting color(int):5858:5859 -> color 1:5:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting enableDraw(boolean):5888:5892 -> enableDraw 1:1:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting interceptCommand(boolean):5954:5954 -> interceptCommand 1:1:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting openMultiFingerScroll(boolean):5949:5949 -> openMultiFingerScroll 1:1:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting openRotateHandler(boolean):5944:5944 -> openRotateHandler 1:1:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting overview(boolean):5931:5931 -> overview 1:13:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting pen(ai.neuvision.kit.data.doodle.core.IDoodlePen):5864:5876 -> pen 1:3:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting selectorStyle(int,int,int):5964:5966 -> selectorStyle 1:1:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting setNoSyncScroll(boolean):5959:5959 -> setNoSyncScroll 1:1:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting setUserInfoDelayTime(long):5971:5971 -> setUserInfoDelayTime 1:1:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting shape(ai.neuvision.kit.data.doodle.core.IDoodleShape):5882:5882 -> shape 1:2:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting size(float):5843:5844 -> size 1:1:ai.neuvision.kit.data.doodle.DoodleView$DoodleSetting zoomer(boolean):5926:5926 -> zoomer ai.neuvision.kit.data.doodle.DoodleView$ForegroundView -> ai.neuvision.kit.data.doodle.DoodleView$ForegroundView: 1:226:void (ai.neuvision.kit.data.doodle.DoodleView,android.content.Context):4296:4521 -> 227:227:void (ai.neuvision.kit.data.doodle.DoodleView,android.content.Context):4300:4300 -> 1:1:void access$200(ai.neuvision.kit.data.doodle.DoodleView$ForegroundView):4295:4295 -> access$200 1:18:void doDraw(android.graphics.Canvas):4486:4503 -> doDraw 1:50:void drawElements(android.graphics.Canvas):4433:4482 -> drawElements 1:5:void drawItems():4508:4512 -> drawItems 1:55:void drawOther(android.graphics.Canvas):4368:4422 -> drawOther 56:71:void drawOther(android.graphics.Canvas):4412:4427 -> drawOther 1:2:void onDetachedFromWindow():4517:4518 -> onDetachedFromWindow 1:11:void onDraw(android.graphics.Canvas):4340:4350 -> onDraw 12:24:void onDraw(android.graphics.Canvas):4349:4361 -> onDraw 1:10:boolean onTouchEvent(android.view.MotionEvent):4304:4313 -> onTouchEvent 11:27:boolean onTouchEvent(android.view.MotionEvent):4310:4326 -> onTouchEvent ai.neuvision.kit.data.doodle.DoodleView$LoadCourseMode -> ai.neuvision.kit.data.doodle.DoodleView$LoadCourseMode: 1:3:void ():5012:5014 -> 4:4:void ():5011:5011 -> 1:1:void (java.lang.String,int):5011:5011 -> 1:1:ai.neuvision.kit.data.doodle.DoodleView$LoadCourseMode valueOf(java.lang.String):5011:5011 -> valueOf 1:1:ai.neuvision.kit.data.doodle.DoodleView$LoadCourseMode[] values():5011:5011 -> values ai.neuvision.kit.data.doodle.LaserItem -> ai.neuvision.kit.data.doodle.LaserItem: 1:23:void (long,float,float,int,boolean,boolean,java.lang.String):5:27 -> 24:24:void (long,float,float,int,boolean,boolean,java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):12:12 -> 1:2:boolean equals(java.lang.Object):17:18 -> equals 1:1:int getColor():9:9 -> getColor 1:1:java.lang.String getFileName():12:12 -> getFileName 1:1:android.graphics.PointF getP():14:14 -> getP 1:1:long getUid():6:6 -> getUid 1:1:int hashCode():23:23 -> hashCode 1:1:boolean isEnd():11:11 -> isEnd 1:1:boolean isShowMyBmp():10:10 -> isShowMyBmp 1:1:void setColor(int):9:9 -> setColor 1:1:void setEnd(boolean):11:11 -> setEnd 1:1:void setFileName(java.lang.String):12:12 -> setFileName 1:1:void setShowMyBmp(boolean):10:10 -> setShowMyBmp 1:1:void setUid(long):6:6 -> setUid ai.neuvision.kit.data.doodle.LaserManager -> ai.neuvision.kit.data.doodle.LaserManager: 1:6:void ():21:26 -> 1:3:void clear(long):101:103 -> clear 4:4:void clear(long):102:102 -> clear 5:6:void clear():107:108 -> clear 1:7:boolean drawUserTips(long,android.graphics.Canvas):88:88 -> drawUserTips 1:3:android.graphics.Bitmap getLaserBitmap(long,long):51:53 -> getLaserBitmap 1:1:ai.neuvision.kit.data.doodle.LaserItem getLaserItem(long):34:34 -> getLaserItem 1:1:java.util.Map getLaserItems():22:22 -> getLaserItems 1:1:java.util.Map getUserTips():25:25 -> getUserTips 1:1:java.util.Map getUserTipsItems():23:23 -> getUserTipsItems 2:2:ai.neuvision.kit.data.doodle.UserTipsItem getUserTipsItems(long):38:38 -> getUserTipsItems 1:6:void putLaserBitmap(long,long,android.graphics.Bitmap):42:47 -> putLaserBitmap 1:18:void putUser(long,java.lang.CharSequence):64:81 -> putUser 19:19:void putUser(long,java.lang.CharSequence):80:80 -> putUser 20:28:void putUser(long,java.lang.CharSequence):75:83 -> putUser 29:29:void putUser(long,java.lang.CharSequence):67:67 -> putUser 1:1:void updateLaser(ai.neuvision.kit.data.doodle.LaserItem):30:30 -> updateLaser ai.neuvision.kit.data.doodle.MyBaseInputConnection -> ai.neuvision.kit.data.doodle.MyBaseInputConnection: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView,boolean):17:17 -> 2:8:void (ai.neuvision.kit.data.doodle.DoodleView,boolean):13:19 -> 1:1:boolean beginBatchEdit():83:83 -> beginBatchEdit 1:2:boolean commitCompletion(android.view.inputmethod.CompletionInfo):54:55 -> commitCompletion 1:2:boolean commitContent(android.view.inputmethod.InputContentInfo,int,android.os.Bundle):48:49 -> commitContent 1:3:boolean commitText(java.lang.CharSequence,int):28:30 -> commitText 1:2:boolean deleteSurroundingText(int,int):36:37 -> deleteSurroundingText 1:1:boolean endBatchEdit():89:89 -> endBatchEdit 1:1:boolean finishComposingText():43:43 -> finishComposingText 1:12:boolean sendKeyEvent(android.view.KeyEvent):60:71 -> sendKeyEvent ai.neuvision.kit.data.doodle.Operation -> ai.neuvision.kit.data.doodle.Operation: 1:1:void (java.lang.String,int):7:7 -> ai.neuvision.kit.data.doodle.SimpleOperationListener -> ai.neuvision.kit.data.doodle.SimpleOperationListener: 1:1:void ():15:15 -> 1:1:boolean onEditItemSelected(ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem,boolean):25:25 -> onEditItemSelected 1:1:boolean onItemCreate(ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.core.IDoodleItem,boolean):32:32 -> onItemCreate 2:2:boolean onItemCreate(ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.core.IDoodleItem,boolean):31:31 -> onItemCreate 1:1:boolean onItemDelete(ai.neuvision.kit.data.doodle.core.IDoodle,java.util.List):58:58 -> onItemDelete 1:1:boolean onItemLock(ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem,boolean):38:38 -> onItemLock 1:1:void onItemLockOperation(ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem,ai.neuvision.kit.data.doodle.Operation):44:44 -> onItemLockOperation 1:1:boolean onItemMoved(ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem):52:52 -> onItemMoved 1:1:boolean onItemSelect(ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem,boolean):19:19 -> onItemSelect 1:1:void onItemURStackSizeChanged(ai.neuvision.kit.data.doodle.core.IDoodle,int,int):82:82 -> onItemURStackSizeChanged 1:1:boolean onItemUndoOrRedo(ai.neuvision.kit.data.doodle.core.IDoodle,java.util.List,boolean):77:77 -> onItemUndoOrRedo ai.neuvision.kit.data.doodle.SyncDoodleBean -> ai.neuvision.kit.data.doodle.SyncDoodleBean: 1:9:void ():9:17 -> 1:1:int getCmdType():11:11 -> getCmdType 1:1:long getColor():50:50 -> getColor 1:1:int getEid():23:23 -> getEid 1:1:int getItemType():17:17 -> getItemType 1:1:int getLockStatus():65:65 -> getLockStatus 1:1:int getOx():32:32 -> getOx 1:1:int getOy():35:35 -> getOy 1:1:int getRh():47:47 -> getRh 1:1:int getRw():44:44 -> getRw 1:1:int getRx():38:38 -> getRx 1:1:int getRy():41:41 -> getRy 1:1:long getSelectedUid():59:59 -> getSelectedUid 1:1:int getSize():53:53 -> getSize 1:1:long getTimestamp():29:29 -> getTimestamp 1:1:ai.neuvision.kit.data.MatrixTransform getTransform():62:62 -> getTransform 1:1:long getUid():26:26 -> getUid 1:1:java.lang.Long getWbid():20:20 -> getWbid 1:1:boolean isSelected():56:56 -> isSelected 1:1:void setCmdType(int):11:11 -> setCmdType 1:1:void setColor(long):50:50 -> setColor 1:1:void setEid(int):23:23 -> setEid 1:1:void setItemType(int):17:17 -> setItemType 1:1:void setLockStatus(int):65:65 -> setLockStatus 1:1:void setOx(int):32:32 -> setOx 1:1:void setOy(int):35:35 -> setOy 1:1:void setRh(int):47:47 -> setRh 1:1:void setRw(int):44:44 -> setRw 1:1:void setRx(int):38:38 -> setRx 1:1:void setRy(int):41:41 -> setRy 1:1:void setSelected(boolean):56:56 -> setSelected 1:1:void setSelectedUid(long):59:59 -> setSelectedUid 1:1:void setSize(int):53:53 -> setSize 1:1:void setTimestamp(long):29:29 -> setTimestamp 1:1:void setTransform(ai.neuvision.kit.data.MatrixTransform):62:62 -> setTransform 1:1:void setUid(long):26:26 -> setUid 1:1:void setWbid(java.lang.Long):20:20 -> setWbid 1:1:java.lang.String toString():68:68 -> toString ai.neuvision.kit.data.doodle.SyncRequestUtil -> ai.neuvision.kit.data.doodle.SyncRequestUtil: 1:8:void ():26:33 -> 1:2:ai.neuvision.kit.data.doodle.SyncRequestUtil$SyncReqData getRequest(java.lang.String):60:61 -> getRequest 1:1:boolean isSyncing():241:241 -> isSyncing 1:1:void lambda$start$0():227:227 -> lambda$start$0 1:2:void onAttachedToWindow(ai.neuvision.kit.data.doodle.DoodleView):213:214 -> onAttachedToWindow 1:2:void onDetachedFromWindow():218:219 -> onDetachedFromWindow 1:9:void received(java.lang.String):69:77 -> received 1:119:void refresh():85:203 -> refresh 1:20:boolean request(int,long,long):36:55 -> request 1:4:void start():223:226 -> start 1:3:void stopSchedule():233:235 -> stopSchedule ai.neuvision.kit.data.doodle.SyncRequestUtil$SyncReqData -> ai.neuvision.kit.data.doodle.SyncRequestUtil$SyncReqData: 1:1:void (long,long,int):253:253 -> 2:13:void (long,long,int):245:256 -> 1:1:java.lang.String access$000(ai.neuvision.kit.data.doodle.SyncRequestUtil$SyncReqData):244:244 -> access$000 1:1:boolean access$100(ai.neuvision.kit.data.doodle.SyncRequestUtil$SyncReqData):244:244 -> access$100 1:1:boolean access$200(ai.neuvision.kit.data.doodle.SyncRequestUtil$SyncReqData):244:244 -> access$200 1:1:int access$300(ai.neuvision.kit.data.doodle.SyncRequestUtil$SyncReqData):244:244 -> access$300 1:1:long access$400(ai.neuvision.kit.data.doodle.SyncRequestUtil$SyncReqData):244:244 -> access$400 1:1:long access$500(ai.neuvision.kit.data.doodle.SyncRequestUtil$SyncReqData):244:244 -> access$500 1:1:void access$600(ai.neuvision.kit.data.doodle.SyncRequestUtil$SyncReqData):244:244 -> access$600 1:1:void access$700(ai.neuvision.kit.data.doodle.SyncRequestUtil$SyncReqData):244:244 -> access$700 1:1:boolean access$800(ai.neuvision.kit.data.doodle.SyncRequestUtil$SyncReqData,long):244:244 -> access$800 1:4:void addUidToBlackList():278:281 -> addUidToBlackList 1:1:java.lang.String getUnionId():299:299 -> getUnionId 1:1:boolean isMaxReqCnt():260:260 -> isMaxReqCnt 1:9:boolean refreshRequestFor(long):285:293 -> refreshRequestFor 1:4:void requestAgain():270:273 -> requestAgain 1:2:boolean timeCnotSend():264:265 -> timeCnotSend 1:1:java.lang.String toString():304:304 -> toString ai.neuvision.kit.data.doodle.UserTipsItem -> ai.neuvision.kit.data.doodle.UserTipsItem: 1:16:void (long,float,float,boolean,long):5:20 -> 17:17:void (long,float,float,boolean,long,int,kotlin.jvm.internal.DefaultConstructorMarker):6:6 -> 1:2:boolean equals(java.lang.Object):10:11 -> equals 1:1:android.graphics.PointF getP():7:7 -> getP 1:1:long getShowTs():6:6 -> getShowTs 1:1:long getUid():6:6 -> getUid 1:1:int hashCode():16:16 -> hashCode 1:1:boolean isShow():6:6 -> isShow 1:1:void setShow(boolean):6:6 -> setShow 1:1:void setShowTs(long):6:6 -> setShowTs 1:1:void setUid(long):6:6 -> setUid ai.neuvision.kit.data.doodle.YCKCommondParse -> ai.neuvision.kit.data.doodle.YCKCommondParse: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.YCKDoodleParse):82:82 -> 2:394:void (ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.YCKDoodleParse):74:466 -> 395:395:void (ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.YCKDoodleParse):83:83 -> 1:1:ai.neuvision.kit.data.doodle.DoodleView access$000(ai.neuvision.kit.data.doodle.YCKCommondParse):73:73 -> access$000 1:2:void addBmp(java.lang.String,ai.neuvision.kit.data.doodle.SyncDoodleBean):1554:1555 -> addBmp 1:60:void cancelChanged(ai.neuvision.kit.data.WhiteboardCommand):402:461 -> cancelChanged 1:42:void changeStroke(ai.neuvision.kit.data.WhiteboardCommand):116:157 -> changeStroke 1:6:void checkInvaildCommands():533:538 -> checkInvaildCommands 1:4:void clearAllElements(ai.neuvision.kit.data.WhiteboardCommand):502:505 -> clearAllElements 1:25:void deleteItem(ai.neuvision.kit.data.WhiteboardCommand):472:496 -> deleteItem 1:8:void dispatch(long,ai.neuvision.kit.data.WhiteboardCommand):87:94 -> dispatch 9:9:void dispatch(long,ai.neuvision.kit.data.WhiteboardCommand):88:88 -> dispatch 1:57:void element2Data(ai.neuvision.kit.data.doodle.core.IDoodleItem,java.io.ByteArrayOutputStream):924:980 -> element2Data 1:2:void elements2Data(java.util.List,java.io.ByteArrayOutputStream):917:918 -> elements2Data 1:45:void endChanged(ai.neuvision.kit.data.WhiteboardCommand):354:398 -> endChanged 1:22:java.util.List getAllCanSyncItems():1013:1034 -> getAllCanSyncItems 1:10:java.util.List getCommandEditingItems(ai.neuvision.kit.data.WhiteboardCommand):1522:1531 -> getCommandEditingItems 1:120:void itemChanging(ai.neuvision.kit.data.WhiteboardCommand):231:350 -> itemChanging 1:3:void lambda$processSyncReply$0(int,long):1416:1418 -> lambda$processSyncReply$0 1:72:ai.neuvision.kit.data.doodle.core.IDoodleItem parseItem(ai.neuvision.kit.data.WhiteboardCommand,java.nio.ByteBuffer):1053:1124 -> parseItem 73:85:ai.neuvision.kit.data.doodle.core.IDoodleItem parseItem(ai.neuvision.kit.data.WhiteboardCommand,java.nio.ByteBuffer):1109:1121 -> parseItem 1:11:void processCombine(ai.neuvision.kit.data.WhiteboardCommand):1472:1482 -> processCombine 1:6:java.util.List processCourse(ai.neuvision.kit.data.doodle.CourseBean,ai.neuvision.kit.data.doodle.DoodleView$LoadCourseMode):659:664 -> processCourse 7:77:java.util.List processCourse(ai.neuvision.kit.data.doodle.CourseBean,ai.neuvision.kit.data.doodle.DoodleView$LoadCourseMode):661:731 -> processCourse 78:133:java.util.List processCourse(ai.neuvision.kit.data.doodle.CourseBean,ai.neuvision.kit.data.doodle.DoodleView$LoadCourseMode):687:742 -> processCourse 1:5:void processDeCombine(ai.neuvision.kit.data.WhiteboardCommand):1487:1491 -> processDeCombine 1:5:void processFrontOrBottom(ai.neuvision.kit.data.WhiteboardCommand,boolean):1512:1516 -> processFrontOrBottom 1:17:void processLessonPreparation(ai.neuvision.kit.data.WhiteboardCommand):554:570 -> processLessonPreparation 18:96:void processLessonPreparation(ai.neuvision.kit.data.WhiteboardCommand):567:645 -> processLessonPreparation 97:147:void processLessonPreparation(ai.neuvision.kit.data.WhiteboardCommand):605:655 -> processLessonPreparation 1:8:void processLock(ai.neuvision.kit.data.WhiteboardCommand,boolean):1498:1505 -> processLock 1:17:void processPaste(ai.neuvision.kit.data.WhiteboardCommand):1451:1467 -> processPaste 1:3:void processRedo(ai.neuvision.kit.data.WhiteboardCommand):525:527 -> processRedo 1:117:void processSyncReply(ai.neuvision.kit.data.WhiteboardCommand):1306:1422 -> processSyncReply 118:193:void processSyncReply(ai.neuvision.kit.data.WhiteboardCommand):1323:1398 -> processSyncReply 1:158:void processSyncRequest(ai.neuvision.kit.data.WhiteboardCommand):1138:1295 -> processSyncRequest 159:224:void processSyncRequest(ai.neuvision.kit.data.WhiteboardCommand):1152:1217 -> processSyncRequest 1:3:void processUndo(ai.neuvision.kit.data.WhiteboardCommand):514:516 -> processUndo 1:78:void saveCourse(java.lang.String):835:912 -> saveCourse 79:79:void saveCourse(java.lang.String):852:852 -> saveCourse 1:8:void scrollTo(ai.neuvision.kit.data.WhiteboardCommand):101:108 -> scrollTo 1:5:void serializeItems(java.util.List,java.io.ByteArrayOutputStream,ai.neuvision.kit.data.WhiteboardCommand,ai.neuvision.kit.data.doodle.DoodleView):999:1003 -> serializeItems 1:62:void startChange(ai.neuvision.kit.data.WhiteboardCommand):162:223 -> startChange 1:78:void syncCourse(java.util.List,ai.neuvision.kit.data.doodle.DoodleView$LoadCourseMode):749:826 -> syncCourse 1:8:void syncImgData(int,long):1541:1548 -> syncImgData ai.neuvision.kit.data.doodle.YCKCommondParse$1 -> ai.neuvision.kit.data.doodle.YCKCommondParse$1: 1:1:void (ai.neuvision.kit.data.doodle.YCKCommondParse,ai.neuvision.kit.data.doodle.items.DoodleBitmap,ai.neuvision.kit.data.WhiteboardCommand,ai.neuvision.kit.data.WhiteboardCommand):1231:1231 -> 1:1:java.lang.Object call():1231:1231 -> call 2:18:java.lang.Integer call():1234:1250 -> call 19:39:java.lang.Integer call():1247:1267 -> call 40:41:java.lang.Integer call():1240:1241 -> call ai.neuvision.kit.data.doodle.YCKCommondParse$2 -> ai.neuvision.kit.data.doodle.YCKCommondParse$2: 1:1:void (ai.neuvision.kit.data.doodle.YCKCommondParse,java.lang.String,byte[]):1422:1422 -> 1:4:void onBitmapGet(android.graphics.Bitmap):1425:1428 -> onBitmapGet ai.neuvision.kit.data.doodle.YCKCommondParse$3 -> ai.neuvision.kit.data.doodle.YCKCommondParse$3: 1:1:void ():659:659 -> ai.neuvision.kit.data.doodle.YCKDoodleGenerate -> ai.neuvision.kit.data.doodle.YCKDoodleGenerate: 1:16:void ():31:46 -> 1:1:void ():31:31 -> 1:1:void ():31 -> 1:3:boolean canSend():39:41 -> canSend 1:15:ai.neuvision.kit.data.WhiteboardCommand gBoardMove(ai.neuvision.kit.data.doodle.DoodleView,float,float):669:683 -> gBoardMove 1:15:ai.neuvision.kit.data.WhiteboardCommand gCancelCreate(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.core.IDoodleItem):940:954 -> gCancelCreate 1:7:void gCancelScaleImg(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.core.IDoodleItem):693:699 -> gCancelScaleImg 1:31:ai.neuvision.kit.data.WhiteboardCommand gChartlet(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.items.DoodleBitmap):217:247 -> gChartlet 32:39:ai.neuvision.kit.data.WhiteboardCommand gChartlet(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.items.DoodleBitmap):245:252 -> gChartlet 1:275:ai.neuvision.kit.data.WhiteboardCommand gCombineItem(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.items.DoodleMultiItem):737:1011 -> gCombineItem 276:544:ai.neuvision.kit.data.WhiteboardCommand gCombineItem(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.items.DoodleMultiItem):741:1009 -> gCombineItem 545:553:ai.neuvision.kit.data.WhiteboardCommand gCombineItem(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.items.DoodleMultiItem):742:750 -> gCombineItem 1:7:ai.neuvision.kit.data.WhiteboardCommand gCopyItem(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.core.IDoodleItem):704:710 -> gCopyItem 1:14:ai.neuvision.kit.data.WhiteboardCommand gCustomView(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.items.DoodleCustomItem):259:272 -> gCustomView 1:14:ai.neuvision.kit.data.WhiteboardCommand gDecombineItem(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.items.DoodleMultiItem):756:769 -> gDecombineItem 1:12:ai.neuvision.kit.data.WhiteboardCommand gDeleteItem(ai.neuvision.kit.data.doodle.DoodleView,java.util.List):416:427 -> gDeleteItem 1:29:ai.neuvision.kit.data.WhiteboardCommand gDrawLaser(ai.neuvision.kit.data.doodle.DoodleView,float,float,boolean):63:91 -> gDrawLaser 1:374:ai.neuvision.kit.data.WhiteboardCommand gLockOrUnLock(ai.neuvision.kit.data.doodle.DoodleView,boolean,java.util.List):630:1003 -> gLockOrUnLock 375:736:ai.neuvision.kit.data.WhiteboardCommand gLockOrUnLock(ai.neuvision.kit.data.doodle.DoodleView,boolean,java.util.List):640:1001 -> gLockOrUnLock 737:739:ai.neuvision.kit.data.WhiteboardCommand gLockOrUnLock(ai.neuvision.kit.data.doodle.DoodleView,boolean,java.util.List):641:643 -> gLockOrUnLock 1:32:ai.neuvision.kit.data.WhiteboardCommand gOnScroll(ai.neuvision.kit.data.doodle.core.IDoodleItem,ai.neuvision.kit.data.doodle.DoodleView,float,float,float,float):142:173 -> gOnScroll 1:23:ai.neuvision.kit.data.WhiteboardCommand gOnScrollBegin(ai.neuvision.kit.data.doodle.core.IDoodleItem,ai.neuvision.kit.data.doodle.DoodleView,float,float,float,float):107:129 -> gOnScrollBegin 1:25:ai.neuvision.kit.data.WhiteboardCommand gOnScrollEnd(ai.neuvision.kit.data.doodle.core.IDoodleItem,ai.neuvision.kit.data.doodle.DoodleView,float,float,float,float):186:210 -> gOnScrollEnd 1:16:ai.neuvision.kit.data.WhiteboardCommand gPasteItems(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.control.DoodleCopyBean):716:731 -> gPasteItems 1:6:ai.neuvision.kit.data.WhiteboardCommand gRedo(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.control.DoodleStackBean):849:854 -> gRedo 1:241:ai.neuvision.kit.data.WhiteboardCommand gRotateItems(ai.neuvision.kit.data.doodle.DoodleView,java.util.List):775:1015 -> gRotateItems 242:476:ai.neuvision.kit.data.WhiteboardCommand gRotateItems(ai.neuvision.kit.data.doodle.DoodleView,java.util.List):779:1013 -> gRotateItems 477:478:ai.neuvision.kit.data.WhiteboardCommand gRotateItems(ai.neuvision.kit.data.doodle.DoodleView,java.util.List):780:781 -> gRotateItems 1:1:ai.neuvision.kit.data.WhiteboardCommand gScaleChartlet(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.core.IDoodleItem):598:598 -> gScaleChartlet 1:37:ai.neuvision.kit.data.WhiteboardCommand gStrokeMove(ai.neuvision.kit.data.doodle.DoodleView,boolean,java.util.List):501:537 -> gStrokeMove 1:47:ai.neuvision.kit.data.WhiteboardCommand gStrokeMoveBegin(ai.neuvision.kit.data.doodle.DoodleView,boolean,java.util.List,boolean):444:490 -> gStrokeMoveBegin 1:1:ai.neuvision.kit.data.WhiteboardCommand gStrokeMoveBegin$default(ai.neuvision.kit.data.doodle.DoodleView,boolean,java.util.List,boolean,int,java.lang.Object):442:442 -> gStrokeMoveBegin$default 1:42:ai.neuvision.kit.data.WhiteboardCommand gStrokeMoveEnd(ai.neuvision.kit.data.doodle.DoodleView,boolean,java.util.List):547:588 -> gStrokeMoveEnd 1:6:ai.neuvision.kit.data.WhiteboardCommand gSync(ai.neuvision.kit.data.doodle.DoodleView):802:807 -> gSync 1:8:ai.neuvision.kit.data.WhiteboardCommand gSyncForImage(ai.neuvision.kit.data.doodle.DoodleView,int,long):789:796 -> gSyncForImage 1:6:ai.neuvision.kit.data.WhiteboardCommand gSyncStack(ai.neuvision.kit.data.doodle.DoodleView,boolean):813:818 -> gSyncStack 1:51:ai.neuvision.kit.data.WhiteboardCommand gTextChange(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.items.DoodleText,boolean):294:344 -> gTextChange 1:19:ai.neuvision.kit.data.WhiteboardCommand gTextChangeWidth(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.items.DoodleText):351:369 -> gTextChangeWidth 1:26:ai.neuvision.kit.data.WhiteboardCommand gTextCreateEnd(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.items.DoodleText):375:400 -> gTextCreateEnd 1:1:ai.neuvision.kit.data.WhiteboardCommand gTextEditEnd(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.items.DoodleText):406:406 -> gTextEditEnd 1:1:ai.neuvision.kit.data.WhiteboardCommand gTextEditStart(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.items.DoodleText):285:285 -> gTextEditStart 1:6:ai.neuvision.kit.data.WhiteboardCommand gUndo(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.control.DoodleStackBean):829:834 -> gUndo 1:16:int getEType(ai.neuvision.kit.data.doodle.core.IDoodleItem):914:929 -> getEType 1:5:java.util.List getListXY(ai.neuvision.kit.data.doodle.DoodleView):49:53 -> getListXY 1:357:ai.neuvision.kit.data.WhiteboardCommand toFrontOrBottom(ai.neuvision.kit.data.doodle.DoodleView,java.util.List,boolean):651:1007 -> toFrontOrBottom 358:708:ai.neuvision.kit.data.WhiteboardCommand toFrontOrBottom(ai.neuvision.kit.data.doodle.DoodleView,java.util.List,boolean):655:1005 -> toFrontOrBottom 709:711:ai.neuvision.kit.data.WhiteboardCommand toFrontOrBottom(ai.neuvision.kit.data.doodle.DoodleView,java.util.List,boolean):656:658 -> toFrontOrBottom ai.neuvision.kit.data.doodle.YCKDoodleParse -> ai.neuvision.kit.data.doodle.YCKDoodleParse: 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):48:48 -> 2:9:void (ai.neuvision.kit.data.doodle.DoodleView):42:49 -> 1:1:ai.neuvision.kit.data.doodle.DoodleView access$000(ai.neuvision.kit.data.doodle.YCKDoodleParse):41:41 -> access$000 1:19:void dispatch(long,ai.neuvision.kit.data.WhiteboardCommand):53:71 -> dispatch 1:47:void drawCustomView(ai.neuvision.kit.data.WhiteboardCommand):305:351 -> drawCustomView 1:1:void drawDoodle(ai.neuvision.kit.data.WhiteboardCommand):110:110 -> drawDoodle 1:1:void drawDoodleCircle(ai.neuvision.kit.data.WhiteboardCommand):140:140 -> drawDoodleCircle 1:1:void drawDoodleLine(ai.neuvision.kit.data.WhiteboardCommand):120:120 -> drawDoodleLine 1:61:void drawDoodlePath(ai.neuvision.kit.data.WhiteboardCommand):145:205 -> drawDoodlePath 62:62:void drawDoodlePath(ai.neuvision.kit.data.WhiteboardCommand):199:199 -> drawDoodlePath 63:109:void drawDoodlePath(ai.neuvision.kit.data.WhiteboardCommand):195:241 -> drawDoodlePath 110:118:void drawDoodlePath(ai.neuvision.kit.data.WhiteboardCommand):228:236 -> drawDoodlePath 1:1:void drawDoodleRect(ai.neuvision.kit.data.WhiteboardCommand):130:130 -> drawDoodleRect 1:65:void drawDoodleText(ai.neuvision.kit.data.WhiteboardCommand):357:421 -> drawDoodleText 1:33:void drawImage(ai.neuvision.kit.data.WhiteboardCommand):258:290 -> drawImage 1:3:ai.neuvision.kit.data.doodle.items.DoodlePath getItemFromDoodle(java.lang.String):247:249 -> getItemFromDoodle 1:14:void showLaser(ai.neuvision.kit.data.WhiteboardCommand):81:94 -> showLaser 15:15:void showLaser(ai.neuvision.kit.data.WhiteboardCommand):93:93 -> showLaser 16:16:void showLaser(ai.neuvision.kit.data.WhiteboardCommand):87:87 -> showLaser ai.neuvision.kit.data.doodle.YCKDoodleParse$1 -> ai.neuvision.kit.data.doodle.YCKDoodleParse$1: 1:1:void (ai.neuvision.kit.data.doodle.YCKDoodleParse,byte[],java.lang.String,ai.neuvision.kit.data.doodle.items.DoodleBitmap):290:290 -> 1:5:void run():293:297 -> run ai.neuvision.kit.data.doodle.YCKSyncDoodleParse -> ai.neuvision.kit.data.doodle.YCKSyncDoodleParse: 1:1:void ():25:25 -> 1:33:ai.neuvision.kit.data.doodle.items.DoodleMultiItem parseCombine(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.SyncDoodleBean,java.util.List):291:323 -> parseCombine 1:55:ai.neuvision.kit.data.doodle.items.DoodleBitmap parseImage(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.SyncDoodleBean,ai.neuvision.kit.data.WhiteboardCommand,ai.neuvision.kit.data.doodle.YCKCommondParse):468:522 -> parseImage 1:22:void parseLessonPreparationImg(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.SyncDoodleBean,ai.neuvision.kit.data.WhiteboardCommand,byte[]):27:48 -> parseLessonPreparationImg 1:80:ai.neuvision.kit.data.doodle.items.DoodlePath parsePath(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.SyncDoodleBean,java.util.List):382:461 -> parsePath 1:33:ai.neuvision.kit.data.doodle.items.DoodleText parseText(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.SyncDoodleBean,java.lang.String):329:361 -> parseText 34:45:ai.neuvision.kit.data.doodle.items.DoodleText parseText(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.SyncDoodleBean,java.lang.String):360:371 -> parseText ai.neuvision.kit.data.doodle.YCKSyncDoodleParse$1 -> ai.neuvision.kit.data.doodle.YCKSyncDoodleParse$1: 1:1:void (ai.neuvision.kit.data.doodle.items.DoodleBitmap,int,float,int,float,int,int,ai.neuvision.kit.data.doodle.DoodleView):48:48 -> 1:6:void onBitmapGet(android.graphics.Bitmap):51:56 -> onBitmapGet ai.neuvision.kit.data.doodle.authentication.Administrator -> ai.neuvision.kit.data.doodle.authentication.Administrator: 1:1:void (long):12:12 -> ai.neuvision.kit.data.doodle.authentication.Guest -> ai.neuvision.kit.data.doodle.authentication.Guest: 1:1:void (long):8:8 -> ai.neuvision.kit.data.doodle.authentication.User -> ai.neuvision.kit.data.doodle.authentication.User: 1:1:void (long):15:15 -> 1:1:long getUid():15:15 -> getUid ai.neuvision.kit.data.doodle.control.CommondStack -> ai.neuvision.kit.data.doodle.control.CommondStack: 1:1:void ():11:11 -> 1:1:int getSize():11:11 -> getSize 1:1:java.lang.Object pollFirst():40:40 -> pollFirst 1:4:java.lang.Object pop():33:36 -> pop 5:5:java.lang.Object pop():34:34 -> pop 1:1:void push(java.lang.Object):13:13 -> push 1:1:java.lang.Object remove(int):11:11 -> remove 1:1:java.lang.Object removeAt(int):11:11 -> removeAt 1:1:int size():11:11 -> size ai.neuvision.kit.data.doodle.control.DoodleCopyBean -> ai.neuvision.kit.data.doodle.control.DoodleCopyBean: 1:3:void ():13:15 -> 1:1:void addCount():40:40 -> addCount 1:1:int getPasteTimes():36:36 -> getPasteTimes 1:1:java.util.List getSelectedItems():32:32 -> getSelectedItems 1:3:void selectItem(ai.neuvision.kit.data.doodle.core.IDoodleItem):26:28 -> selectItem 1:5:void selectItems(java.util.List):18:22 -> selectItems ai.neuvision.kit.data.doodle.control.DoodleMode -> ai.neuvision.kit.data.doodle.control.DoodleMode: 1:1:void (java.lang.String,int):9:9 -> ai.neuvision.kit.data.doodle.control.DoodleSelectedItemManager -> ai.neuvision.kit.data.doodle.control.DoodleSelectedItemManager: 1:1:void ():9:9 -> ai.neuvision.kit.data.doodle.control.DoodleStackBean -> ai.neuvision.kit.data.doodle.control.DoodleStackBean: 1:21:void ():157:177 -> 22:22:void ():158:158 -> 1:1:java.util.List access$getNeedPairElements$cp():18:18 -> 1:1:void (ai.neuvision.kit.data.WhiteboardCommand):18 -> 2:166:void (ai.neuvision.kit.data.WhiteboardCommand):27:191 -> 167:318:void (ai.neuvision.kit.data.WhiteboardCommand):38:189 -> 319:321:void (ai.neuvision.kit.data.WhiteboardCommand):39:41 -> 1:1:java.util.List access$getNeedPairElements$cp():18:18 -> access$getCanCopyTouch$cp 1:1:java.util.List access$getCanCopyTouch$cp():18 -> access$getCanCopyTouch$cp 1:1:java.util.List access$getNeedPairElements$cp():18:18 -> access$getNeedPairElements$cp 1:141:void addToItemStack(boolean):46:186 -> addToItemStack 142:147:void addToItemStack(boolean):59:64 -> addToItemStack 148:152:void addToItemStack(boolean):63:67 -> addToItemStack 1:1:boolean compare(ai.neuvision.kit.data.doodle.control.DoodleStackBean):92:92 -> compare 1:1:ai.neuvision.kit.data.WhiteboardCommand getCommand():19:19 -> getCommand 1:1:void setCommandType(int):24:24 -> getCommandType 1:1:int getCommandType():24 -> getCommandType 1:1:void setCopyItems(java.util.List):35:35 -> getCopyItems 1:1:java.util.List getCopyItems():35 -> getCopyItems 1:1:void setHasPaired(boolean):32:32 -> getHasPaired 1:1:boolean getHasPaired():32 -> getHasPaired 1:1:void setItems(java.util.List):21:21 -> getItems 1:1:java.util.List getItems():21 -> getItems 1:1:void (ai.neuvision.kit.data.WhiteboardCommand):27:27 -> getPairedTimeStamp 1:1:long getPairedTimeStamp():27 -> getPairedTimeStamp 1:1:java.lang.String getSynData():88:88 -> getSynData 1:1:void setTs(long):23:23 -> getTs 1:1:long getTs():23 -> getTs 1:1:void setUndoType(int):22:22 -> getUndoType 1:1:int getUndoType():22 -> getUndoType 1:10:void removeAllDoodleItem(boolean):73:82 -> removeAllDoodleItem 11:11:void removeAllDoodleItem(boolean):81:81 -> removeAllDoodleItem 1:1:void setCommandType(int):24:24 -> setCommandType 1:1:void setCopyItems(java.util.List):35:35 -> setCopyItems 1:1:void setHasPaired(boolean):32:32 -> setHasPaired 1:1:void setItems(java.util.List):21:21 -> setItems 1:1:void (ai.neuvision.kit.data.WhiteboardCommand):27:27 -> setPairedTimeStamp 1:1:void setPairedTimeStamp(long):27 -> setPairedTimeStamp 1:1:void setTs(long):23:23 -> setTs 1:1:void setUndoType(int):22:22 -> setUndoType 1:1:java.lang.String toString():181:181 -> toString ai.neuvision.kit.data.doodle.control.DoodleStackBean$Companion -> ai.neuvision.kit.data.doodle.control.DoodleStackBean$Companion: 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):95:95 -> 1:1:void ():95 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):95:95 -> 1:82:ai.neuvision.kit.data.doodle.control.DoodleStackBean buildInstance(java.util.List,ai.neuvision.kit.data.WhiteboardCommand,boolean):107:188 -> buildInstance 83:161:ai.neuvision.kit.data.doodle.control.DoodleStackBean buildInstance(java.util.List,ai.neuvision.kit.data.WhiteboardCommand,boolean):113:191 -> buildInstance 162:175:ai.neuvision.kit.data.doodle.control.DoodleStackBean buildInstance(java.util.List,ai.neuvision.kit.data.WhiteboardCommand,boolean):116:129 -> buildInstance 1:1:ai.neuvision.kit.data.doodle.control.DoodleStackBean buildInstance$default(ai.neuvision.kit.data.doodle.control.DoodleStackBean$Companion,java.util.List,ai.neuvision.kit.data.WhiteboardCommand,boolean,int,java.lang.Object):106:106 -> buildInstance$default 1:3:ai.neuvision.kit.data.doodle.control.DoodleStackBean fromJson(java.lang.String):98:100 -> fromJson 1:2:boolean isNeedCopy(ai.neuvision.kit.data.WhiteboardCommand):148:149 -> isNeedCopy 1:6:boolean isNeedPair(ai.neuvision.kit.data.WhiteboardCommand):135:140 -> isNeedPair ai.neuvision.kit.data.doodle.control.DoodleStackElementBean -> ai.neuvision.kit.data.doodle.control.DoodleStackElementBean: 1:1:void (int,long,long):185:185 -> 1:1:int getEid():185:185 -> getEid 1:1:long getTimeStamp():185:185 -> getTimeStamp 1:1:long getUid():185:185 -> getUid 1:1:void setTimeStamp(long):185:185 -> setTimeStamp ai.neuvision.kit.data.doodle.control.DoodleStackSyncBean -> ai.neuvision.kit.data.doodle.control.DoodleStackSyncBean: 1:1:void (long,int,long,int,long):7:7 -> 2:2:void (long,int,long,int,long,int,kotlin.jvm.internal.DefaultConstructorMarker):23:23 -> 1:1:int getEid():9:9 -> getEid 1:1:int getOperation():23:23 -> getOperation 1:1:long getTimeSamp():26:26 -> getTimeSamp 1:1:long getUid():10:10 -> getUid 1:1:long getWbid():8:8 -> getWbid 1:1:void setEid(int):9:9 -> setEid 1:1:void setOperation(int):23:23 -> setOperation 1:1:void setTimeSamp(long):26:26 -> setTimeSamp 1:1:void setUid(long):10:10 -> setUid 1:1:void setWbid(long):8:8 -> setWbid ai.neuvision.kit.data.doodle.control.UnExecuteCommand -> ai.neuvision.kit.data.doodle.control.UnExecuteCommand: 1:1:void (boolean,long,long):8:8 -> 1:1:long getFrom():8:8 -> getFrom 1:1:long getTs():8:8 -> getTs 1:1:boolean isUndo():8:8 -> isUndo ai.neuvision.kit.data.doodle.effect.CopyLocation -> ai.neuvision.kit.data.doodle.effect.CopyLocation: 1:1:void ():25:25 -> 2:11:void ():20:29 -> 1:1:boolean contains(float,float,float):113:113 -> contains 1:7:ai.neuvision.kit.data.doodle.effect.CopyLocation copy():117:123 -> copy 1:17:void drawItSelf(android.graphics.Canvas,float):89:105 -> drawItSelf 1:1:float getCopyStartX():41:41 -> getCopyStartX 1:1:float getCopyStartY():45:45 -> getCopyStartY 1:1:float getTouchStartX():33:33 -> getTouchStartX 1:1:float getTouchStartY():37:37 -> getTouchStartY 1:1:float getX():49:49 -> getX 1:1:float getY():53:53 -> getY 1:1:boolean isCopying():57:57 -> isCopying 1:1:boolean isRelocating():61:61 -> isRelocating 1:3:void reset():128:130 -> reset 1:1:void setCopying(boolean):65:65 -> setCopying 1:1:void setRelocating(boolean):69:69 -> setRelocating 1:1:void setStartPosition(float,float):78:78 -> setStartPosition 2:5:void setStartPosition(float,float,float,float):82:85 -> setStartPosition 1:2:void updateLocation(float,float):73:74 -> updateLocation ai.neuvision.kit.data.doodle.effect.ElementSelector -> ai.neuvision.kit.data.doodle.effect.ElementSelector: 1:85:void ():17:101 -> 1:5:ai.neuvision.kit.data.doodle.effect.ElementSelector copy():124:128 -> copy 1:11:void drawItSelf(android.graphics.Canvas,ai.neuvision.kit.data.doodle.core.IDoodle):103:113 -> drawItSelf 1:2:void endSelect(float,float):87:88 -> endSelect 1:1:int getBorderWidth():101:101 -> getBorderWidth 1:1:int getFillColor():100:100 -> getFillColor 1:1:int getStrokeColor():99:99 -> getStrokeColor 1:3:boolean intersects(ai.neuvision.kit.data.doodle.core.IDoodleItem):117:119 -> intersects 4:4:boolean intersects(ai.neuvision.kit.data.doodle.core.IDoodleItem):118:118 -> intersects 1:1:boolean isSelecting():24:24 -> isSelecting 1:5:void reset():92:96 -> reset 1:1:void setBorderWidth(int):101:101 -> setBorderWidth 1:1:void setFillColor(int):100:100 -> setFillColor 1:1:void setSelecting(boolean):24:24 -> setSelecting 1:1:void setStrokeColor(int):99:99 -> setStrokeColor 1:17:void startSelect(float,float):38:54 -> startSelect 1:25:void updateSelect(float,float):58:82 -> updateSelect ai.neuvision.kit.data.doodle.effect.ElementSelector$mPaint$2 -> ai.neuvision.kit.data.doodle.effect.ElementSelector$mPaint$2: 1:1:java.lang.Object invoke():17:17 -> invoke 2:4:android.graphics.Paint invoke():31:33 -> invoke ai.neuvision.kit.data.doodle.items.DoodleBitmap -> ai.neuvision.kit.data.doodle.items.DoodleBitmap: 1:1:void (ai.neuvision.kit.data.doodle.core.IDoodle,float,float,float):37:37 -> 2:2:void (ai.neuvision.kit.data.doodle.core.IDoodle,float,float,float):36:36 -> 3:358:void (ai.neuvision.kit.data.doodle.core.IDoodle,float,float,float):26:381 -> 359:362:void (ai.neuvision.kit.data.doodle.core.IDoodle,float,float,float):38:41 -> 1:2:void changePosition(int,int,int,int):282:283 -> changePosition 3:10:void changePosition(int,int,int,int):281:288 -> changePosition 1:5:boolean contains(float,float):247:251 -> contains 6:18:boolean contains(float,float):250:262 -> contains 1:7:ai.neuvision.kit.data.doodle.core.IDoodleItem copy():310:310 -> copy 1:9:void doDraw(android.graphics.Canvas):115:123 -> doDraw 1:11:void draw(android.graphics.Canvas):97:107 -> draw 1:22:void drawOnce(android.graphics.Canvas):334:355 -> drawOnce 1:3:android.graphics.Rect getAbsoluteRect():203:205 -> getAbsoluteRect 1:1:android.graphics.Rect getBounds():213:213 -> getBounds 1:1:java.lang.Object getExtract():24:24 -> getExtract 2:10:java.lang.String getExtract():298:306 -> getExtract 1:1:android.graphics.Rect getRelativeRect():209:209 -> getRelativeRect 1:14:ai.neuvision.kit.data.doodle.SyncDoodleBean getSyncDoodleBean():365:378 -> getSyncDoodleBean 15:15:ai.neuvision.kit.data.doodle.SyncDoodleBean getSyncDoodleBean():367:367 -> getSyncDoodleBean 1:6:void onLoadData(boolean):428:433 -> onLoadData 7:59:void onLoadData(boolean):429:481 -> onLoadData 60:85:void onLoadData(boolean):478:503 -> onLoadData 86:93:void onLoadData(boolean):502:509 -> onLoadData 94:94:void onLoadData(boolean):507:507 -> onLoadData 95:95:void onLoadData(boolean):436:436 -> onLoadData 96:96:void onLoadData(boolean):428:428 -> onLoadData 1:25:void rePath():217:241 -> rePath 1:2:void refreshMemoryUse():544:545 -> refreshMemoryUse 1:6:void setBitmap(android.graphics.Bitmap):64:69 -> setBitmap 1:1:void setCanSync(boolean):411:411 -> setCanSync 1:4:void setExifRotateValue(int):326:329 -> setExifRotateValue 5:5:void setExifRotateValue(int):328:328 -> setExifRotateValue 1:10:void setInitWidthHeight(int,int):73:82 -> setInitWidthHeight 1:3:void setInitWidthHeightAsync(int,int):89:91 -> setInitWidthHeightAsync 1:7:void setProp(ai.neuvision.kit.data.doodle.core.IDoodle,float,float,float):53:59 -> setProp 1:25:void setScale(float):170:194 -> setScale 1:1:void setSyncUid(long):396:396 -> setSyncUid 1:1:java.lang.String toString():320:320 -> toString ai.neuvision.kit.data.doodle.items.DoodleBitmap$Companion -> ai.neuvision.kit.data.doodle.items.DoodleBitmap$Companion: 1:1:void ():548:548 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):548:548 -> ai.neuvision.kit.data.doodle.items.DoodleCustomItem -> ai.neuvision.kit.data.doodle.items.DoodleCustomItem: 1:1:void (ai.neuvision.kit.data.doodle.core.IDoodle,android.view.View,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):23:23 -> 2:28:void (ai.neuvision.kit.data.doodle.core.IDoodle,android.view.View,int,int):25:51 -> 29:32:void (ai.neuvision.kit.data.doodle.core.IDoodle,android.view.View,int,int):45:48 -> 33:60:void (ai.neuvision.kit.data.doodle.core.IDoodle,android.view.View,int,int):44:71 -> 61:311:void (ai.neuvision.kit.data.doodle.core.IDoodle,android.view.View,int,int):70:320 -> 1:18:void changeViewLocationAndSize():93:110 -> changeViewLocationAndSize 1:12:boolean contains(float,float):229:240 -> contains 13:27:boolean contains(float,float):234:248 -> contains 1:23:void doDrawAtTheTop(android.graphics.Canvas):202:224 -> doDrawAtTheTop 1:4:void draw(android.graphics.Canvas):141:144 -> draw 1:6:void drawAtTheTop(android.graphics.Canvas):190:195 -> drawAtTheTop 1:21:void drawBefore(android.graphics.Canvas):116:136 -> drawBefore 1:3:void fastMove(float,float):304:306 -> fastMove 1:11:android.graphics.Rect getAbsoluteRect():168:178 -> getAbsoluteRect 1:1:boolean getCanInterceptTouchEvent():43:43 -> getCanInterceptTouchEvent 1:1:boolean getCanSelected():320:320 -> getCanSelected 1:1:java.lang.Object getExtract():186:186 -> getExtract 1:1:android.graphics.Rect getRelativeRect():182:182 -> getRelativeRect 1:1:float getScale():286:286 -> getScale 1:1:android.view.View getSrcView():21:21 -> getSrcView 1:4:java.nio.ByteBuffer getSyncData():333:336 -> getSyncData 1:3:void onRemove():80:82 -> onRemove 4:4:void onRemove():81:81 -> onRemove 1:7:boolean onTouchEvent(android.view.MotionEvent):310:316 -> onTouchEvent 1:1:void setCanInterceptTouchEvent(boolean):43:43 -> setCanInterceptTouchEvent 1:1:void setCanSelected(boolean):320:320 -> setCanSelected 1:2:void setLocation(float,float):88:89 -> setLocation 1:28:void setScale(float):253:280 -> setScale 1:6:void setScaleParams(float,float):323:328 -> setScaleParams 1:6:void setSelected(boolean):290:295 -> setSelected 1:1:void setSyncUid(long):300:300 -> setSyncUid 1:1:void setSyncWH(float,float,float,float):159:159 -> setSyncWH ai.neuvision.kit.data.doodle.items.DoodleItemView1 -> ai.neuvision.kit.data.doodle.items.DoodleItemView1: 1:2:void ():40:41 -> 1:26:void (ai.neuvision.kit.data.doodle.core.IDoodle,android.view.View,float,float):24:49 -> 27:35:void (ai.neuvision.kit.data.doodle.core.IDoodle,android.view.View,float,float):47:55 -> 36:62:void (ai.neuvision.kit.data.doodle.core.IDoodle,android.view.View,float,float):51:77 -> 1:1:float access$getMAX_SCALE$cp():23:23 -> access$getMAX_SCALE$cp 1:1:float access$getMIN_SCALE$cp():23:23 -> access$getMIN_SCALE$cp 1:14:boolean contains(float,float):122:135 -> contains 15:30:boolean contains(float,float):129:144 -> contains 1:1:void doDraw(android.graphics.Canvas):198:198 -> doDraw 1:29:void doDrawAtTheTop(android.graphics.Canvas):164:192 -> doDrawAtTheTop 1:5:void drawAtTheTop(android.graphics.Canvas):156:160 -> drawAtTheTop 1:1:void drawBefore(android.graphics.Canvas):149:149 -> drawBefore 1:7:android.graphics.Rect getAbsoluteRect():81:87 -> getAbsoluteRect 1:1:java.lang.Object getExtract():95:95 -> getExtract 1:1:android.graphics.Rect getRelativeRect():91:91 -> getRelativeRect 1:1:android.view.View getSrcView():23:23 -> getSrcView 1:1:void onAdd():211:211 -> onAdd 1:5:void onRemove():215:219 -> onRemove 6:6:void onRemove():217:217 -> onRemove 1:6:void setLocation(float,float):99:104 -> setLocation 1:10:void setScale(float):109:118 -> setScale ai.neuvision.kit.data.doodle.items.DoodleItemView1$Companion -> ai.neuvision.kit.data.doodle.items.DoodleItemView1$Companion: 1:1:void ():39:39 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):39:39 -> 1:1:float getMAX_SCALE():41:41 -> getMAX_SCALE 1:1:float getMIN_SCALE():40:40 -> getMIN_SCALE ai.neuvision.kit.data.doodle.items.DoodleMultiItem -> ai.neuvision.kit.data.doodle.items.DoodleMultiItem: 1:20:void (java.util.List,ai.neuvision.kit.data.doodle.core.IDoodle):28:47 -> 21:22:void (ai.neuvision.kit.data.doodle.core.IDoodle):38:39 -> 1:6:void addElements(ai.neuvision.kit.data.doodle.core.IDoodleItem):431:431 -> addElements 12:14:void addElements(ai.neuvision.kit.data.doodle.core.IDoodleItem):437:439 -> addElements 15:15:void addElements(ai.neuvision.kit.data.doodle.core.IDoodleItem):431:431 -> addElements 1:2:void changePosition(int,int,int,int):102:103 -> changePosition 3:9:void changePosition(int,int,int,int):101:107 -> changePosition 1:210:void combine(boolean):279:488 -> combine 211:398:void combine(boolean):303:490 -> combine 399:400:void combine(boolean):310:311 -> combine 401:421:void combine(boolean):300:300 -> combine 422:422:void combine(boolean):283:283 -> combine 1:10:void combineFromSync():266:275 -> combineFromSync 11:11:void combineFromSync():270:270 -> combineFromSync 1:8:boolean contains(float,float):200:207 -> contains 9:18:boolean contains(float,float):206:215 -> contains 1:5:ai.neuvision.kit.data.doodle.core.IDoodleItem copy():220:220 -> copy 1:22:void draw(android.graphics.Canvas):113:134 -> draw 1:53:void drawAtTheTop(android.graphics.Canvas):451:503 -> drawAtTheTop 54:57:void drawAtTheTop(android.graphics.Canvas):456:456 -> drawAtTheTop 58:58:void drawAtTheTop(android.graphics.Canvas):454:454 -> drawAtTheTop 1:170:void generateBitmap():323:492 -> generateBitmap 171:171:void generateBitmap():361:361 -> generateBitmap 172:192:void generateBitmap():348:348 -> generateBitmap 193:193:void generateBitmap():340:340 -> generateBitmap 1:5:android.graphics.Rect getAbsoluteRect():91:91 -> getAbsoluteRect 1:1:android.graphics.Rect getBounds():58:58 -> getBounds 1:1:java.lang.Object getExtract():110:110 -> getExtract 1:1:android.graphics.Rect getRelativeRect():98:98 -> getRelativeRect 1:3:java.util.List getSelectedItems():445:445 -> getSelectedItems 1:1:long getSelectedUid():196:196 -> getSelectedUid 1:11:ai.neuvision.kit.data.doodle.SyncDoodleBean getSyncDoodleBean():465:465 -> getSyncDoodleBean 1:1:void setCombined(boolean):33:33 -> isCombined 1:1:boolean isCombined():33 -> isCombined 1:1:boolean isSelected():192:192 -> isSelected 1:1:void (java.util.List,ai.neuvision.kit.data.doodle.core.IDoodle):34:34 -> isSelecting 1:1:boolean isSelecting():34 -> isSelecting 1:254:void resetRect():233:486 -> resetRect 255:266:void resetRect():238:249 -> resetRect 267:291:void resetRect():236:260 -> resetRect 292:301:void resetRect():254:254 -> resetRect 302:302:void resetRect():236:236 -> resetRect 1:1:void setCombined(boolean):33:33 -> setCombined 1:328:void setLocation(float,float,boolean):152:479 -> setLocation 329:333:void setLocation(float,float,boolean):157:161 -> setLocation 1:317:void setPivotX(float):165:481 -> setPivotX 318:318:void setPivotX(float):168:168 -> setPivotX 1:309:void setPivotY(float):175:483 -> setPivotY 310:310:void setPivotY(float):178:178 -> setPivotY 1:25:void setScale(float):63:87 -> setScale 1:1:void (java.util.List,ai.neuvision.kit.data.doodle.core.IDoodle):34:34 -> setSelecting 1:1:void setSelecting(boolean):34 -> setSelecting 1:336:void setStartXY(float,float):142:477 -> setStartXY 337:341:void setStartXY(float,float):144:148 -> setStartXY 1:123:void split():372:494 -> split 124:130:void split():383:389 -> split 131:131:void split():376:376 -> split 1:103:void splitFromSingal(ai.neuvision.kit.data.WhiteboardCommand):394:496 -> splitFromSingal 104:110:void splitFromSingal(ai.neuvision.kit.data.WhiteboardCommand):403:409 -> splitFromSingal 111:111:void splitFromSingal(ai.neuvision.kit.data.WhiteboardCommand):398:398 -> splitFromSingal 1:1:java.lang.String toString():229:229 -> toString 1:5:void updateElements(java.util.List):413:417 -> updateElements 1:78:void updateElementsWithOrigin(java.util.List):422:499 -> updateElementsWithOrigin 79:156:void updateElementsWithOrigin(java.util.List):424:501 -> updateElementsWithOrigin 157:157:void updateElementsWithOrigin(java.util.List):426:426 -> updateElementsWithOrigin ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs -> ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs: 1:1:void ():13:13 -> 1:1:ai.neuvision.kit.data.doodle.core.IDoodleColor color():47:47 -> color 2:2:ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs color(ai.neuvision.kit.data.doodle.core.IDoodleColor):51:51 -> color 1:1:ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs create():56:56 -> create 1:1:ai.neuvision.kit.data.doodle.core.IDoodlePen pen():20:20 -> pen 2:2:ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs pen(ai.neuvision.kit.data.doodle.core.IDoodlePen):24:24 -> pen 1:1:ai.neuvision.kit.data.doodle.core.IDoodleShape shape():29:29 -> shape 2:2:ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs shape(ai.neuvision.kit.data.doodle.core.IDoodleShape):33:33 -> shape 1:1:float size():38:38 -> size 2:2:ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs size(float):42:42 -> size ai.neuvision.kit.data.doodle.items.DoodlePath -> ai.neuvision.kit.data.doodle.items.DoodlePath: 1:1:void ():761:761 -> 1:1:kotlin.Lazy access$getSMosaicBitmapMap$cp():26:26 -> 1:1:void (ai.neuvision.kit.data.doodle.core.IDoodle):26 -> 2:446:void (ai.neuvision.kit.data.doodle.core.IDoodle):27:471 -> 1:1:kotlin.Lazy access$getSMosaicBitmapMap$cp():26:26 -> access$adjustPath 1:1:void access$adjustPath(ai.neuvision.kit.data.doodle.items.DoodlePath,boolean):26 -> access$adjustPath 1:1:kotlin.Lazy access$getSMosaicBitmapMap$cp():26:26 -> access$getDoodleWidth$p 1:1:float access$getDoodleWidth$p(ai.neuvision.kit.data.doodle.items.DoodlePath):26 -> access$getDoodleWidth$p 1:1:kotlin.Lazy access$getSMosaicBitmapMap$cp():26:26 -> access$getMAbsolutePath$p 1:1:android.graphics.Path access$getMAbsolutePath$p(ai.neuvision.kit.data.doodle.items.DoodlePath):26 -> access$getMAbsolutePath$p 1:1:kotlin.Lazy access$getSMosaicBitmapMap$cp():26:26 -> access$getMCopyLocation$p 1:1:ai.neuvision.kit.data.doodle.effect.CopyLocation access$getMCopyLocation$p(ai.neuvision.kit.data.doodle.items.DoodlePath):26 -> access$getMCopyLocation$p 1:1:kotlin.Lazy access$getSMosaicBitmapMap$cp():26:26 -> access$getOriginSize$p 1:1:float access$getOriginSize$p(ai.neuvision.kit.data.doodle.items.DoodlePath):26 -> access$getOriginSize$p 1:1:kotlin.Lazy access$getSMosaicBitmapMap$cp():26:26 -> access$getPathPoints$p 1:1:java.util.List access$getPathPoints$p(ai.neuvision.kit.data.doodle.items.DoodlePath):26 -> access$getPathPoints$p 1:1:kotlin.Lazy access$getSMosaicBitmapMap$cp():26:26 -> access$getSMosaicBitmapMap$cp 1:1:kotlin.Lazy access$getSMosaicBitmapMap$cp():26:26 -> access$setDoodleWidth$p 1:1:void access$setDoodleWidth$p(ai.neuvision.kit.data.doodle.items.DoodlePath,float):26 -> access$setDoodleWidth$p 1:1:kotlin.Lazy access$getSMosaicBitmapMap$cp():26:26 -> access$setMAbsolutePath$p 1:1:void access$setMAbsolutePath$p(ai.neuvision.kit.data.doodle.items.DoodlePath,android.graphics.Path):26 -> access$setMAbsolutePath$p 1:1:kotlin.Lazy access$getSMosaicBitmapMap$cp():26:26 -> access$setMCopyLocation$p 1:1:void access$setMCopyLocation$p(ai.neuvision.kit.data.doodle.items.DoodlePath,ai.neuvision.kit.data.doodle.effect.CopyLocation):26 -> access$setMCopyLocation$p 1:1:kotlin.Lazy access$getSMosaicBitmapMap$cp():26:26 -> access$setOriginSize$p 1:1:void access$setOriginSize$p(ai.neuvision.kit.data.doodle.items.DoodlePath,float):26 -> access$setOriginSize$p 1:10:void adjustMosaic():291:300 -> adjustMosaic 11:11:void adjustMosaic():292:292 -> adjustMosaic 1:36:void adjustPath(boolean):331:366 -> adjustPath 37:42:void adjustPath(boolean):365:370 -> adjustPath 43:50:void adjustPath(boolean):368:375 -> adjustPath 51:82:void adjustPath(boolean):348:379 -> adjustPath 83:83:void adjustPath(boolean):331:331 -> adjustPath 1:12:boolean contains(float,float,float,float):478:489 -> contains 13:19:boolean contains(float,float,float,float):488:494 -> contains 20:20:boolean contains(float,float,float,float):478:478 -> contains 1:7:ai.neuvision.kit.data.doodle.core.IDoodleItem copy():659:659 -> copy 1:2:void doDraw(android.graphics.Canvas):97:98 -> doDraw 3:3:void ai.neuvision.kit.data.doodle.util.DoodlePaint$Companion.doRun(kotlin.jvm.functions.Function1):33:33 -> doDraw 3:3:void doDraw(android.graphics.Canvas):780 -> doDraw 4:16:void doDraw(android.graphics.Canvas):99:111 -> doDraw 17:17:void ai.neuvision.kit.data.doodle.util.DoodlePaint$Companion.doRun(kotlin.jvm.functions.Function1):35:35 -> doDraw 17:17:void doDraw(android.graphics.Canvas):782 -> doDraw 18:18:void doDraw(android.graphics.Canvas):97:97 -> doDraw 1:3:void doDrawAtTheTop(android.graphics.Canvas):424:426 -> doDrawAtTheTop 4:4:void ai.neuvision.kit.data.doodle.util.DoodlePaint$Companion.doRun(kotlin.jvm.functions.Function1):33:33 -> doDrawAtTheTop 4:4:void doDrawAtTheTop(android.graphics.Canvas):784 -> doDrawAtTheTop 5:11:void doDrawAtTheTop(android.graphics.Canvas):427:433 -> doDrawAtTheTop 12:12:void ai.neuvision.kit.data.doodle.util.DoodlePaint$Companion.doRun(kotlin.jvm.functions.Function1):35:35 -> doDrawAtTheTop 12:12:void doDrawAtTheTop(android.graphics.Canvas):786 -> doDrawAtTheTop 1:10:void drawNextPoint(float,float):392:401 -> drawNextPoint 11:27:void drawNextPoint(float,float):400:416 -> drawNextPoint 1:8:void endUpdate():508:515 -> endUpdate 1:17:void fixPointFs(java.util.List,long):552:568 -> fixPointFs 1:4:void forceEndCreate():675:678 -> forceEndCreate 5:5:void forceEndCreate():677:677 -> forceEndCreate 1:1:ai.neuvision.kit.data.doodle.effect.CopyLocation getCopyLocation():91:91 -> getCopyLocation 1:1:java.lang.Object getExtract():501:501 -> getExtract 1:1:java.util.ArrayList getHistory():94:94 -> getHistory 1:1:android.graphics.PointF getLastPoint():389:389 -> getLastPoint 1:11:ai.neuvision.kit.data.doodle.DoodleColor getMosaicColor(ai.neuvision.kit.data.doodle.core.IDoodle,int):305:315 -> getMosaicColor 12:20:ai.neuvision.kit.data.doodle.DoodleColor getMosaicColor(ai.neuvision.kit.data.doodle.core.IDoodle,int):314:322 -> getMosaicColor 1:16:ai.neuvision.kit.data.doodle.SyncDoodleBean getSyncDoodleBean():640:655 -> getSyncDoodleBean 17:17:ai.neuvision.kit.data.doodle.SyncDoodleBean getSyncDoodleBean():642:642 -> getSyncDoodleBean 1:3:boolean isDoodleEditable():384:386 -> isDoodleEditable 1:185:void reCalcuPath():608:792 -> reCalcuPath 186:195:void reCalcuPath():621:630 -> reCalcuPath 1:15:void rePath():573:587 -> rePath 1:12:void rePathWithoutEnd():592:603 -> rePathWithoutEnd 1:3:void resetBounds(android.graphics.Rect):137:139 -> resetBounds 1:2:void resetEdgePath():526:527 -> resetEdgePath 3:3:void ai.neuvision.kit.data.doodle.util.DoodlePaint$Companion.doRun(kotlin.jvm.functions.Function1):33:33 -> resetEdgePath 3:3:void resetEdgePath():788 -> resetEdgePath 4:19:void resetEdgePath():528:543 -> resetEdgePath 20:20:void ai.neuvision.kit.data.doodle.util.DoodlePaint$Companion.doRun(kotlin.jvm.functions.Function1):35:35 -> resetEdgePath 20:20:void resetEdgePath():790 -> resetEdgePath 21:21:void resetEdgePath():526:526 -> resetEdgePath 1:13:void resetLocationBounds():121:133 -> resetLocationBounds 14:14:void resetLocationBounds():129:129 -> resetLocationBounds 1:5:void setColor(ai.neuvision.kit.data.doodle.core.IDoodleColor):247:251 -> setColor 1:2:void setItemRotate(float):275:276 -> setItemRotate 1:12:void setLocation(float,float,boolean):232:243 -> setLocation 1:1:void setOriginSize(float):669:669 -> setOriginSize 1:3:void setScale(float):269:271 -> setScale 1:11:void setSize(float):255:265 -> setSize 1:1:java.lang.String toString():777:777 -> toString 1:30:void updateArrowPath(android.graphics.Path,float,float,float,float,float):150:179 -> updateArrowPath 1:2:void updateCirclePath(android.graphics.Path,float,float,float,float,float):191:192 -> updateCirclePath 1:3:void updateLinePath(android.graphics.Path,float,float,float,float,float):184:186 -> updateLinePath 1:9:void updateOvalPath(android.graphics.Path,float,float,float,float,float):199:207 -> updateOvalPath 1:35:void updatePath():41:75 -> updatePath 36:36:void updatePath():73:73 -> updatePath 37:44:void updatePath():71:78 -> updatePath 1:9:void updateRectPath(android.graphics.Path,float,float,float,float,float):218:226 -> updateRectPath 1:6:void updateXY(float,float,float,float):82:87 -> updateXY ai.neuvision.kit.data.doodle.items.DoodlePath$Companion -> ai.neuvision.kit.data.doodle.items.DoodlePath$Companion: 1:1:void ():683:683 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):683:683 -> 1:1:java.util.WeakHashMap access$getSMosaicBitmapMap$p(ai.neuvision.kit.data.doodle.items.DoodlePath$Companion):683:683 -> access$getSMosaicBitmapMap$p 1:1:ai.neuvision.kit.data.doodle.DoodleShape getPathTypeByCmd(int):771:771 -> getPathTypeByCmd 2:2:ai.neuvision.kit.data.doodle.DoodleShape getPathTypeByCmd(int):770:770 -> getPathTypeByCmd 3:3:ai.neuvision.kit.data.doodle.DoodleShape getPathTypeByCmd(int):769:769 -> getPathTypeByCmd 4:4:ai.neuvision.kit.data.doodle.DoodleShape getPathTypeByCmd(int):768:768 -> getPathTypeByCmd 1:17:ai.neuvision.kit.data.doodle.items.DoodlePath newInstance(ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.core.IDoodleShape):741:757 -> newInstance 1:12:ai.neuvision.kit.data.doodle.items.DoodlePath toPath(ai.neuvision.kit.data.doodle.core.IDoodle,java.util.List):709:720 -> toPath 13:19:ai.neuvision.kit.data.doodle.items.DoodlePath toPath(ai.neuvision.kit.data.doodle.core.IDoodle,java.util.List):719:725 -> toPath 20:25:ai.neuvision.kit.data.doodle.items.DoodlePath toPath(ai.neuvision.kit.data.doodle.core.IDoodle,float,float):731:736 -> toPath 1:2:ai.neuvision.kit.data.doodle.items.DoodlePath toShape(ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.core.IDoodleShape,float,float,float,float):697:698 -> toShape 3:5:ai.neuvision.kit.data.doodle.items.DoodlePath toShape(ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.core.IDoodleShape,java.util.List):703:705 -> toShape ai.neuvision.kit.data.doodle.items.DoodlePath$Companion$sMosaicBitmapMap$2 -> ai.neuvision.kit.data.doodle.items.DoodlePath$Companion$sMosaicBitmapMap$2: 1:1:java.lang.Object invoke():683:683 -> invoke 2:2:java.util.WeakHashMap invoke():762:762 -> invoke ai.neuvision.kit.data.doodle.items.DoodlePath$mArrowTrianglePath$2 -> ai.neuvision.kit.data.doodle.items.DoodlePath$mArrowTrianglePath$2: 1:1:java.lang.Object invoke():26:26 -> invoke 2:2:android.graphics.Path invoke():144:144 -> invoke ai.neuvision.kit.data.doodle.items.DoodlePath$mBitmapColorMatrix$2 -> ai.neuvision.kit.data.doodle.items.DoodlePath$mBitmapColorMatrix$2: 1:1:java.lang.Object invoke():26:26 -> invoke 2:2:android.graphics.Matrix invoke():284:284 -> invoke ai.neuvision.kit.data.doodle.items.DoodleText -> ai.neuvision.kit.data.doodle.items.DoodleText: 1:1:void (ai.neuvision.kit.data.doodle.core.IDoodle,java.lang.String,float,float,ai.neuvision.kit.data.doodle.core.IDoodleColor,float,float):62:62 -> 2:2:void (ai.neuvision.kit.data.doodle.core.IDoodle,java.lang.String,float,float,ai.neuvision.kit.data.doodle.core.IDoodleColor,float,float):61:61 -> 3:398:void (ai.neuvision.kit.data.doodle.core.IDoodle,java.lang.String,float,float,ai.neuvision.kit.data.doodle.core.IDoodleColor,float,float):34:429 -> 399:416:void (ai.neuvision.kit.data.doodle.core.IDoodle,java.lang.String,float,float,ai.neuvision.kit.data.doodle.core.IDoodleColor,float,float):63:80 -> 1:1:void appendString(java.lang.String):153:153 -> appendString 1:8:boolean contains(float,float):272:279 -> contains 9:19:boolean contains(float,float):278:288 -> contains 1:13:ai.neuvision.kit.data.doodle.core.IDoodleItem copy():410:410 -> copy 1:5:void created():328:332 -> created 1:3:void doDraw(android.graphics.Canvas):255:257 -> doDraw 1:20:void doDrawAtTheTop(android.graphics.Canvas):295:314 -> doDrawAtTheTop 1:16:void done():442:457 -> done 17:29:void done():448:460 -> done 30:30:void done():446:446 -> done 1:28:void drawOnce(android.graphics.Canvas):464:491 -> drawOnce 1:1:void fixConflicText(java.lang.String,long):191:191 -> fixConflicText 2:15:void fixConflicText(java.lang.String,long):189:202 -> fixConflicText 1:2:void forceEndCreate():522:523 -> forceEndCreate 1:3:android.graphics.Rect getAbsoluteRect():432:434 -> getAbsoluteRect 1:1:android.graphics.Rect getBounds():261:261 -> getBounds 1:1:java.lang.Object getExtract():406:406 -> getExtract 1:8:java.lang.String getMaxSubString(java.lang.String,java.lang.String):207:214 -> getMaxSubString 1:1:float getOriginSize():91:91 -> getOriginSize 1:1:android.graphics.Rect getRelativeRect():438:438 -> getRelativeRect 1:1:float getSize():108:108 -> getSize 1:17:ai.neuvision.kit.data.doodle.SyncDoodleBean getSyncDoodleBean():356:356 -> getSyncDoodleBean 1:1:java.lang.String getText():118:118 -> getText 1:1:boolean isCreateState():325:325 -> isCreateState 1:8:java.lang.String lastAppendString():171:178 -> lastAppendString 1:10:void markEditStart():157:166 -> markEditStart 11:11:void markEditStart():158:158 -> markEditStart 1:1:void markEditStatus(boolean):95:95 -> markEditStatus 1:9:android.text.DynamicLayout reCalcuTextLayout(float):392:400 -> reCalcuTextLayout 10:10:android.text.DynamicLayout reCalcuTextLayout(float):399:399 -> reCalcuTextLayout 1:1:android.text.DynamicLayout reCalcuTextLayout$default(ai.neuvision.kit.data.doodle.items.DoodleText,float,int,java.lang.Object):388:388 -> reCalcuTextLayout$default 1:16:void rePath():337:352 -> rePath 1:15:void resetBounds(android.graphics.Rect):233:247 -> resetBounds 1:3:void setColor(ai.neuvision.kit.data.doodle.core.IDoodleColor):112:114 -> setColor 1:6:void setLocation(float,float):223:228 -> setLocation 1:2:void setOriginSize(float):86:87 -> setOriginSize 1:5:void setSize(float):100:104 -> setSize 1:1:void setText(java.lang.String):120:120 -> setText 2:2:void setText(java.lang.CharSequence,boolean):124:124 -> setText 3:19:void setText(java.lang.CharSequence,boolean,boolean):129:145 -> setText 20:25:void setText(java.lang.CharSequence,boolean,boolean):143:148 -> setText 1:1:java.lang.String toString():426:426 -> toString ai.neuvision.kit.data.doodle.items.DoodleText$Companion -> ai.neuvision.kit.data.doodle.items.DoodleText$Companion: 1:1:void ():527:527 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):527:527 -> ai.neuvision.kit.data.doodle.items.DoodleTextOrigin -> ai.neuvision.kit.data.doodle.items.DoodleTextOrigin: 1:1:void (ai.neuvision.kit.data.doodle.core.IDoodle,java.lang.String,float,float,ai.neuvision.kit.data.doodle.core.IDoodleColor,float,float):58:58 -> 2:36:void (ai.neuvision.kit.data.doodle.core.IDoodle,java.lang.String,float,float,ai.neuvision.kit.data.doodle.core.IDoodleColor,float,float):39:73 -> 1:14:boolean contains(float,float):315:328 -> contains 1:1:void created():429:429 -> created 1:55:void doDraw(android.graphics.Canvas):231:285 -> doDraw 1:45:void doDrawAtTheTop(android.graphics.Canvas):348:392 -> doDrawAtTheTop 1:24:void done():398:421 -> done 1:11:void draw(android.graphics.Canvas):434:444 -> draw 1:11:void drawAtTheTop(android.graphics.Canvas):333:343 -> drawAtTheTop 1:7:android.graphics.Rect getAbsoluteRect():292:298 -> getAbsoluteRect 1:1:android.graphics.Rect getBounds():309:309 -> getBounds 1:1:ai.neuvision.kit.data.doodle.core.IDoodleColor getColor():99:99 -> getColor 1:1:android.graphics.PointF getLocation():104:104 -> getLocation 1:1:android.graphics.Rect getRelativeRect():304:304 -> getRelativeRect 1:1:float getSize():88:88 -> getSize 1:16:ai.neuvision.kit.data.doodle.SyncDoodleBean getSyncDoodleBean():473:488 -> getSyncDoodleBean 1:1:java.lang.String getText():108:108 -> getText 1:1:boolean isCreateState():425:425 -> isCreateState 1:15:void rePath():454:468 -> rePath 1:59:void resetBounds(android.graphics.Rect):152:210 -> resetBounds 1:2:void setColor(ai.neuvision.kit.data.doodle.core.IDoodleColor):93:94 -> setColor 1:4:void setLocation(float,float):140:143 -> setLocation 1:4:void setSize(float):80:83 -> setSize 1:1:void setText(java.lang.String):112:112 -> setText 2:14:void setText(java.lang.String,boolean):116:128 -> setText ai.neuvision.kit.data.doodle.items.abs.DoodleItemBase -> ai.neuvision.kit.data.doodle.items.abs.DoodleItemBase: 1:1:void (ai.neuvision.kit.data.doodle.core.IDoodle):53:53 -> 2:2:void (ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs):56:56 -> 3:376:void (ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs):35:408 -> 377:385:void (ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs):57:65 -> 1:4:void addItemListener(ai.neuvision.kit.data.doodle.core.IDoodleItemListener):330:333 -> addItemListener 1:1:boolean canDrawOnCanvas():429:429 -> canDrawOnCanvas 1:35:ai.neuvision.kit.data.doodle.core.IDoodleItem copy():436:470 -> copy 1:1:float dp2px(float):490:490 -> dp2px 1:14:void draw(android.graphics.Canvas):260:273 -> draw 1:1:ai.neuvision.kit.data.doodle.core.IDoodleColor getColor():248:248 -> getColor 1:1:ai.neuvision.kit.data.doodle.core.IDoodle getDoodle():81:81 -> getDoodle 1:1:int getItemDrawType():424:424 -> getItemDrawType 1:4:java.lang.String getItemDrawTypeString():514:517 -> getItemDrawTypeString 1:1:float getItemRotate():117:117 -> getItemRotate 1:1:android.graphics.PointF getLocation():158:158 -> getLocation 1:2:android.graphics.Matrix getMatrix():553:554 -> getMatrix 1:1:float getMaxScale():207:207 -> getMaxScale 1:1:float getMinScale():191:191 -> getMinScale 1:1:android.graphics.PointF getOriginLocation():388:388 -> getOriginLocation 1:4:float getOx():494:497 -> getOx 1:4:float getOy():501:504 -> getOy 1:1:ai.neuvision.kit.data.doodle.core.IDoodlePen getPen():214:214 -> getPen 1:1:float getPivotX():94:94 -> getPivotX 1:1:float getPivotY():105:105 -> getPivotY 1:1:float getScale():175:175 -> getScale 1:1:ai.neuvision.kit.data.doodle.core.IDoodleShape getShape():225:225 -> getShape 1:1:float getSize():236:236 -> getSize 1:1:boolean isNeedClipOutside():295:295 -> isNeedClipOutside 1:5:void markItemCurType(int):413:417 -> markItemCurType 1:1:void onAdd():305:305 -> onAdd 1:2:void onPropertyChanged(int):343:344 -> onPropertyChanged 1:1:void onRemove():311:311 -> onRemove 1:2:void refresh():316:317 -> refresh 1:3:void refreshMatrix():546:548 -> refreshMatrix 1:1:void removeItemListener(ai.neuvision.kit.data.doodle.core.IDoodleItemListener):338:338 -> removeItemListener 1:3:void setColor(ai.neuvision.kit.data.doodle.core.IDoodleColor):253:255 -> setColor 1:4:void setDoodle(ai.neuvision.kit.data.doodle.core.IDoodle):70:73 -> setDoodle 1:4:void setDrawOptimize(boolean):287:290 -> setDrawOptimize 1:3:void setItemRotate(float):110:112 -> setItemRotate 1:1:void setLocation(float,float):128:128 -> setLocation 2:18:void setLocation(float,float,boolean):137:153 -> setLocation 1:6:void setMaxScale(float,boolean):197:202 -> setMaxScale 1:8:void setMinScale(float,boolean):179:186 -> setMinScale 1:1:void setNeedClipOutside(boolean):300:300 -> setNeedClipOutside 1:5:void setOriginLocation(android.graphics.PointF):393:397 -> setOriginLocation 6:10:void setOriginLocation(float,float):401:405 -> setOriginLocation 1:2:void setPen(ai.neuvision.kit.data.doodle.core.IDoodlePen):219:220 -> setPen 1:2:void setPivotX(float):88:89 -> setPivotX 1:2:void setPivotY(float):99:100 -> setPivotY 1:8:void setScale(float):163:170 -> setScale 1:2:void setShape(ai.neuvision.kit.data.doodle.core.IDoodleShape):230:231 -> setShape 1:3:void setSize(float):241:243 -> setSize 1:1:java.lang.String toString():509:509 -> toString ai.neuvision.kit.data.doodle.items.abs.DoodleRotatableItemBase -> ai.neuvision.kit.data.doodle.items.abs.DoodleRotatableItemBase: 1:1:void (ai.neuvision.kit.data.doodle.core.IDoodle,int,float,float):28:28 -> 2:3:void (ai.neuvision.kit.data.doodle.core.IDoodle,int,float,float):24:25 -> 4:4:void (ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs,int,float,float):32:32 -> 5:6:void (ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs,int,float,float):24:25 -> 1:23:boolean canRotate(float,float):126:148 -> canRotate 1:2:ai.neuvision.kit.data.doodle.core.IDoodleItem copy():166:167 -> copy 1:6:void doDrawAtTheTop(android.graphics.Canvas):37:42 -> doDrawAtTheTop 1:1:boolean isOpenRotate():161:161 -> isOpenRotate 1:1:boolean isRotating():153:153 -> isRotating 1:1:void setIsRotating(boolean):157:157 -> setIsRotating ai.neuvision.kit.data.doodle.items.abs.DoodleRotatableItemBase$1 -> ai.neuvision.kit.data.doodle.items.abs.DoodleRotatableItemBase$1: 1:1:void (ai.neuvision.kit.data.doodle.items.abs.DoodleRotatableItemBase,android.graphics.Canvas):42:42 -> 1:1:java.lang.Object invoke(java.lang.Object):42:42 -> invoke 2:44:kotlin.Unit invoke(ai.neuvision.kit.data.doodle.util.DoodlePaint):45:87 -> invoke 45:52:kotlin.Unit invoke(ai.neuvision.kit.data.doodle.util.DoodlePaint):86:93 -> invoke 53:76:kotlin.Unit invoke(ai.neuvision.kit.data.doodle.util.DoodlePaint):92:115 -> invoke ai.neuvision.kit.data.doodle.items.abs.DoodleSelectableItemBase -> ai.neuvision.kit.data.doodle.items.abs.DoodleSelectableItemBase: 1:1:void (ai.neuvision.kit.data.doodle.core.IDoodle,int,float,float):48:48 -> 2:2:void (ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs,int,float,float):52:52 -> 3:193:void (ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs,int,float,float):40:230 -> 194:197:void (ai.neuvision.kit.data.doodle.core.IDoodle,ai.neuvision.kit.data.doodle.items.DoodlePaintAttrs,int,float,float):53:56 -> 1:1:android.graphics.Rect access$000(ai.neuvision.kit.data.doodle.items.abs.DoodleSelectableItemBase):35:35 -> access$000 1:15:boolean contains(float,float):91:105 -> contains 16:16:boolean contains(float,float,float,float):113:113 -> contains 17:19:boolean contains(ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem):464:466 -> contains 1:6:ai.neuvision.kit.data.doodle.core.IDoodleItem copy():574:579 -> copy 1:7:void doDrawAtTheTop(android.graphics.Canvas):149:155 -> doDrawAtTheTop 1:2:void drawAfter(android.graphics.Canvas):479:480 -> drawAfter 1:17:void drawAtTheTop(android.graphics.Canvas):129:145 -> drawAtTheTop 1:1:void drawOnce(android.graphics.Canvas):596:596 -> drawOnce 1:1:void drawTopRect(android.graphics.Canvas):160:160 -> drawTopRect 1:9:android.graphics.Rect getAbsoluteRect():254:262 -> getAbsoluteRect 1:4:long getBelongId():307:310 -> getBelongId 1:1:android.graphics.Rect getBounds():74:74 -> getBounds 1:1:java.lang.Long getCop():350:350 -> getCop 1:8:android.graphics.Rect getDrawableRect():452:459 -> getDrawableRect 1:1:int getId():297:297 -> getId 1:1:int getLockStatus():287:287 -> getLockStatus 1:1:android.graphics.Rect getRelativeRect():242:242 -> getRelativeRect 1:1:long getSelectedUid():277:277 -> getSelectedUid 1:1:float getStartX():335:335 -> getStartX 1:1:float getStartY():340:340 -> getStartY 1:14:ai.neuvision.kit.data.doodle.SyncDoodleBean getSyncDoodleBean():371:384 -> getSyncDoodleBean 1:1:long getTimeStamp():361:361 -> getTimeStamp 1:1:java.lang.String getUnionId():315:315 -> getUnionId 2:2:java.lang.String getUnionId(long,int):319:319 -> getUnionId 1:1:int hashCode():324:324 -> hashCode 1:3:boolean intersect(ai.neuvision.kit.data.doodle.core.IDoodleItem):471:473 -> intersect 1:2:int isChangingByWho():437:438 -> isChangingByWho 1:1:boolean isSelected():193:193 -> isSelected 1:1:void onDeleted():395:395 -> onDeleted 1:4:void resetBoundsScaled(android.graphics.Rect):207:210 -> resetBoundsScaled 1:1:void setBelongId(long):302:302 -> setBelongId 1:1:void setCop(long):345:345 -> setCop 1:1:void setId(int):292:292 -> setId 1:1:void setLockStatus(int):282:282 -> setLockStatus 1:3:void setScale(float):63:65 -> setScale 1:1:void setScaleWithoutBounds(float):69:69 -> setScaleWithoutBounds 1:6:void setSelected(boolean):198:203 -> setSelected 1:6:void setSelectedUid(long):267:272 -> setSelectedUid 1:5:void setSize(float):79:83 -> setSize 1:2:void setStartXY(float,float):329:330 -> setStartXY 1:1:void setTimeStamp(long):356:356 -> setTimeStamp 1:7:ai.neuvision.kit.data.doodle.items.DoodleMultiItem toCombined():585:591 -> toCombined ai.neuvision.kit.data.doodle.items.abs.DoodleSelectableItemBase$1 -> ai.neuvision.kit.data.doodle.items.abs.DoodleSelectableItemBase$1: 1:1:void (ai.neuvision.kit.data.doodle.items.abs.DoodleSelectableItemBase,android.graphics.Canvas):160:160 -> 1:1:java.lang.Object invoke(java.lang.Object):160:160 -> invoke 2:20:kotlin.Unit invoke(ai.neuvision.kit.data.doodle.util.DoodlePaint):166:184 -> invoke ai.neuvision.kit.data.doodle.items.abs.DoodleSelectableItemBase$2 -> ai.neuvision.kit.data.doodle.items.abs.DoodleSelectableItemBase$2: 1:1:void (ai.neuvision.kit.data.doodle.items.abs.DoodleSelectableItemBase,android.graphics.Canvas):480:480 -> 1:1:java.lang.Object invoke(java.lang.Object):480:480 -> invoke 2:35:kotlin.Unit invoke(ai.neuvision.kit.data.doodle.util.DoodlePaint):483:516 -> invoke ai.neuvision.kit.data.doodle.menu.AbsDoodleMenuButton -> ai.neuvision.kit.data.doodle.menu.AbsDoodleMenuButton: 1:2:void ():13:14 -> 1:1:int getIndex():14:14 -> getIndex 1:1:android.view.View$OnClickListener getListener():19:19 -> getListener 1:1:android.view.View getMView():17:17 -> getMView 1:4:android.view.View getView(android.content.Context):22:22 -> getView 9:9:android.view.View getView(android.content.Context):27:27 -> getView 10:10:android.view.View getView(android.content.Context):22:22 -> getView 1:1:void setIndex(int):14:14 -> setIndex 1:1:void setListener(android.view.View$OnClickListener):19:19 -> setListener 1:1:void setMView(android.view.View):17:17 -> setMView 1:1:java.lang.String toString():53:53 -> toString ai.neuvision.kit.data.doodle.menu.ActionPupopWindow -> ai.neuvision.kit.data.doodle.menu.ActionPupopWindow: 1:1:void access$dismiss$s-1613157114(ai.neuvision.kit.data.doodle.menu.ActionPupopWindow):22:22 -> 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):22 -> 2:33:void (ai.neuvision.kit.data.doodle.DoodleView):23:54 -> 1:1:void access$dismiss$s-1613157114(ai.neuvision.kit.data.doodle.menu.ActionPupopWindow):22:22 -> access$dismiss$s-1613157114 1:2:void addActionButton(java.util.List):63:64 -> addActionButton 3:4:void addActionButton(ai.neuvision.kit.data.doodle.menu.AbsDoodleMenuButton):72:73 -> addActionButton 1:10:void addDefaultButtons():134:143 -> addDefaultButtons 1:2:void clearActionButton():80:81 -> clearActionButton 1:9:void dismiss():301:309 -> dismiss 10:11:void dismiss(ai.neuvision.kit.data.doodle.core.IDoodleItem):316:317 -> dismiss 1:1:ai.neuvision.kit.data.doodle.menu.AbsDoodleMenuButton findActionButton(kotlin.jvm.functions.Function1):89:89 -> findActionButton 1:1:java.util.ArrayList getButtons():185:185 -> getButtons 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):23:23 -> getDoodle 1:1:ai.neuvision.kit.data.doodle.DoodleView getDoodle():23 -> getDoodle 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):24:24 -> getMContext 1:1:android.content.Context getMContext():24 -> getMContext 1:1:void setMHeight(int):25:25 -> getMHeight 1:1:int getMHeight():25 -> getMHeight 1:1:void setMWidth(int):26:26 -> getMWidth 1:1:int getMWidth():26 -> getMWidth 1:1:void setMaxX(float):28:28 -> getMaxX 1:1:float getMaxX():28 -> getMaxX 1:1:void setMaxY(float):30:30 -> getMaxY 1:1:float getMaxY():30 -> getMaxY 1:1:void setMinX(float):27:27 -> getMinX 1:1:float getMinX():27 -> getMinX 1:1:void setMinY(float):29:29 -> getMinY 1:1:float getMinY():29 -> getMinY 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):38:38 -> getOffsetA 1:1:int[] getOffsetA():38 -> getOffsetA 1:1:ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem getSelectedItem():31:31 -> getSelectedItem 1:179:void refreshButtons():151:329 -> refreshButtons 180:346:void refreshButtons():165:331 -> refreshButtons 347:358:void refreshButtons():166:177 -> refreshButtons 359:359:void refreshButtons():152:152 -> refreshButtons 1:4:void release():322:325 -> release 1:2:boolean removeActionButton(ai.neuvision.kit.data.doodle.menu.AbsDoodleMenuButton):100:101 -> removeActionButton 3:4:ai.neuvision.kit.data.doodle.menu.AbsDoodleMenuButton removeActionButton(int):111:112 -> removeActionButton 5:7:boolean removeActionButton(kotlin.jvm.functions.Function1):122:124 -> removeActionButton 1:1:void (ai.neuvision.kit.data.doodle.DoodleView):23:23 -> setDoodle 1:1:void setDoodle(ai.neuvision.kit.data.doodle.DoodleView):23 -> setDoodle 1:1:void setMHeight(int):25:25 -> setMHeight 1:1:void setMWidth(int):26:26 -> setMWidth 1:1:void setMaxX(float):28:28 -> setMaxX 1:1:void setMaxY(float):30:30 -> setMaxY 1:1:void setMinX(float):27:27 -> setMinX 1:1:void setMinY(float):29:29 -> setMinY 1:3:void setSelectedItem(ai.neuvision.kit.data.doodle.core.IDoodleSelectableItem):33:35 -> setSelectedItem 1:1:void showAsItem(ai.neuvision.kit.data.doodle.core.IDoodleItem):189:189 -> showAsItem 2:63:void showAsItem(ai.neuvision.kit.data.doodle.core.IDoodleItem,boolean):198:259 -> showAsItem 64:64:void showAsItem(ai.neuvision.kit.data.doodle.core.IDoodleItem,boolean):203:203 -> showAsItem 1:46:void updateButtonState():288:333 -> updateButtonState 47:49:void updateButtonState():295:297 -> updateButtonState 1:18:void updateSize():266:283 -> updateSize ai.neuvision.kit.data.doodle.menu.ActionPupopWindow$dismiss$1 -> ai.neuvision.kit.data.doodle.menu.ActionPupopWindow$dismiss$1: 1:1:void run():310:310 -> run ai.neuvision.kit.data.doodle.menu.ActionPupopWindow$refreshButtons$$inlined$forEach$lambda$1 -> ai.neuvision.kit.data.doodle.menu.ActionPupopWindow$refreshButtons$$inlined$forEach$lambda$1: 1:4:void onClick(android.view.View):169:172 -> onClick ai.neuvision.kit.data.doodle.menu.ActionPupopWindow$refreshButtons$$inlined$sortBy$1 -> ai.neuvision.kit.data.doodle.menu.ActionPupopWindow$refreshButtons$$inlined$sortBy$1: 1:219:int compare(java.lang.Object,java.lang.Object):102:320 -> compare ai.neuvision.kit.data.doodle.menu.DefaultDoodleMenuButton -> ai.neuvision.kit.data.doodle.menu.DefaultDoodleMenuButton: 1:1:void (int):21:21 -> 2:3:void (int,int):22:23 -> 1:105:void convertView(android.view.View,ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.core.IDoodleItem):47:151 -> convertView 106:150:void convertView(android.view.View,ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.core.IDoodleItem):61:105 -> convertView 151:154:void convertView(android.view.View,ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.doodle.core.IDoodleItem):92:95 -> convertView 1:10:android.view.View createView(android.content.Context):27:36 -> createView 11:11:android.view.View createView(android.content.Context):35:35 -> createView 12:20:android.view.View createView(android.content.Context):33:41 -> createView 21:22:android.view.View createView(android.content.Context):39:40 -> createView 1:1:void (int):21:21 -> getMType 1:1:int getMType():21 -> getMType 1:5:void onItemClickAction(ai.neuvision.kit.data.doodle.DoodleView,android.view.View,ai.neuvision.kit.data.doodle.core.IDoodleItem):113:117 -> onItemClickAction 6:6:void onItemClickAction(ai.neuvision.kit.data.doodle.DoodleView,android.view.View,ai.neuvision.kit.data.doodle.core.IDoodleItem):116:116 -> onItemClickAction 7:33:void onItemClickAction(ai.neuvision.kit.data.doodle.DoodleView,android.view.View,ai.neuvision.kit.data.doodle.core.IDoodleItem):114:140 -> onItemClickAction 34:35:void onItemClickAction(ai.neuvision.kit.data.doodle.DoodleView,android.view.View,ai.neuvision.kit.data.doodle.core.IDoodleItem):132:133 -> onItemClickAction 1:1:java.lang.String toString():148:148 -> toString ai.neuvision.kit.data.doodle.signal.CommandMiddle -> ai.neuvision.kit.data.doodle.signal.CommandMiddle: 1:2:void ():17:18 -> 1:1:void ():17:17 -> 1:1:void ():17 -> 1:4:void cancelCommand(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.WhiteboardCommand):93:96 -> cancelCommand 5:8:void cancelCommand(ai.neuvision.kit.data.doodle.DoodleView,ai.neuvision.kit.data.WhiteboardCommand):95:98 -> cancelCommand 1:1:ai.neuvision.kit.data.doodle.control.DoodleStackBean getBeginCommand(long):105:105 -> getBeginCommand 1:49:void pushCommandNoPair(ai.neuvision.kit.data.doodle.DoodleView,java.util.List,ai.neuvision.kit.data.WhiteboardCommand):75:123 -> pushCommandNoPair 50:94:void pushCommandNoPair(ai.neuvision.kit.data.doodle.DoodleView,java.util.List,ai.neuvision.kit.data.WhiteboardCommand):77:121 -> pushCommandNoPair 95:98:void pushCommandNoPair(ai.neuvision.kit.data.doodle.DoodleView,java.util.List,ai.neuvision.kit.data.WhiteboardCommand):84:87 -> pushCommandNoPair 99:99:void pushCommandNoPair(ai.neuvision.kit.data.doodle.DoodleView,java.util.List,ai.neuvision.kit.data.WhiteboardCommand):85:85 -> pushCommandNoPair 1:73:void pushEndCommand(ai.neuvision.kit.data.doodle.DoodleView,java.util.List,ai.neuvision.kit.data.WhiteboardCommand):47:119 -> pushEndCommand 74:142:void pushEndCommand(ai.neuvision.kit.data.doodle.DoodleView,java.util.List,ai.neuvision.kit.data.WhiteboardCommand):49:117 -> pushEndCommand 143:149:void pushEndCommand(ai.neuvision.kit.data.doodle.DoodleView,java.util.List,ai.neuvision.kit.data.WhiteboardCommand):57:63 -> pushEndCommand 150:158:void pushEndCommand(ai.neuvision.kit.data.doodle.DoodleView,java.util.List,ai.neuvision.kit.data.WhiteboardCommand):60:68 -> pushEndCommand 1:87:void pushStartCommand(ai.neuvision.kit.data.doodle.DoodleView,java.util.List,ai.neuvision.kit.data.WhiteboardCommand):29:115 -> pushStartCommand 88:170:void pushStartCommand(ai.neuvision.kit.data.doodle.DoodleView,java.util.List,ai.neuvision.kit.data.WhiteboardCommand):31:113 -> pushStartCommand 171:174:void pushStartCommand(ai.neuvision.kit.data.doodle.DoodleView,java.util.List,ai.neuvision.kit.data.WhiteboardCommand):38:41 -> pushStartCommand 1:1:void release():110:110 -> release ai.neuvision.kit.data.doodle.signal.DoodleCommunicationManager -> ai.neuvision.kit.data.doodle.signal.DoodleCommunicationManager: 1:1:void (ai.neuvision.kit.data.doodle.signal.DoodleCommunicationManager$1):26:26 -> 2:14:void ():32:44 -> 1:1:ai.neuvision.kit.data.doodle.signal.DoodleCommunicationManager getInstance():37:37 -> getInstance 1:1:void registerDoodle(ai.neuvision.kit.data.doodle.DoodleView):48:48 -> registerDoodle 1:9:void sendDoodleCmd(ai.neuvision.kit.data.WhiteboardCommand):59:67 -> sendDoodleCmd 1:1:void unregister(ai.neuvision.kit.data.doodle.DoodleView):52:52 -> unregister ai.neuvision.kit.data.doodle.signal.DoodleCommunicationManager$Inner -> ai.neuvision.kit.data.doodle.signal.DoodleCommunicationManager$Inner: 1:1:void ():29:29 -> 1:1:void ():28:28 -> 1:1:ai.neuvision.kit.data.doodle.signal.DoodleCommunicationManager access$100():28:28 -> access$100 ai.neuvision.kit.data.doodle.signal.parse.CMDParse -> ai.neuvision.kit.data.doodle.signal.parse.CMDParse: 1:1:void (java.util.List,java.util.Map,java.util.Map):18:18 -> 1:9:void dispatch(java.lang.String,byte[],ai.neuvision.kit.data.doodle.util.dispatcher.DispatchByController):28:36 -> dispatch 1:1:java.util.Map getDoodlePaths():21:21 -> getDoodlePaths 1:1:java.util.List getIDoodles():19:19 -> getIDoodles 1:1:java.util.Map getPaths():20:20 -> getPaths 1:32:void scrollBegin(java.lang.String,java.lang.String):47:78 -> scrollBegin 1:21:void scrollEnd(java.lang.String,java.lang.String):89:109 -> scrollEnd 1:21:void scrollIng(java.lang.String,java.lang.String):120:140 -> scrollIng 22:30:void scrollIng(java.lang.String,java.lang.String):136:144 -> scrollIng ai.neuvision.kit.data.doodle.util.CommondOutputStream -> ai.neuvision.kit.data.doodle.util.CommondOutputStream: 1:121:void ():20:140 -> 122:122:void ():21:21 -> 1:14:void close():30:43 -> close 15:37:void close():40:62 -> close 38:48:void close():49:59 -> close 1:1:void flush():107:107 -> flush 1:5:void incCount(int):89:93 -> incCount 1:8:void reset():74:81 -> reset 1:1:int size():245:245 -> size 1:4:byte[] toByteArray():66:69 -> toByteArray 5:5:byte[] toByteArray():67:67 -> toByteArray 1:1:void write(byte[]):25:25 -> write 2:3:void write(int):97:98 -> write 4:5:void write(byte[],int,int):102:103 -> write 1:2:void writeBoolean(boolean):111:112 -> writeBoolean 1:2:void writeByte(int):116:117 -> writeByte 1:5:void writeBytes(java.lang.String):164:168 -> writeBytes 1:3:void writeChar(int):127:129 -> writeChar 1:7:void writeChars(java.lang.String):172:178 -> writeChars 1:1:void writeDouble(double):160:160 -> writeDouble 1:1:void writeFloat(float):156:156 -> writeFloat 1:5:void writeInt(int):133:137 -> writeInt 1:10:void writeLong(long):143:152 -> writeLong 1:3:void writeShort(int):121:123 -> writeShort 1:1:void writeUTF(java.lang.String):182:182 -> writeUTF 2:56:int writeUTF(java.lang.String,java.io.DataOutput):186:240 -> writeUTF 57:57:int writeUTF(java.lang.String,java.io.DataOutput):203:203 -> writeUTF ai.neuvision.kit.data.doodle.util.DoodleExtensionKt -> ai.neuvision.kit.data.doodle.util.DoodleExtensionKt: 1:40:void ():25:64 -> 1:1:int centerX(android.graphics.Rect):78:78 -> centerX 1:1:int centerY(android.graphics.Rect):80:80 -> centerY 1:4:float getRotation(android.graphics.Matrix):29:32 -> getRotation 5:5:float getRotation(android.graphics.Matrix):30:30 -> getRotation 1:4:float getScale(android.graphics.Matrix):38:41 -> getScale 5:5:float getScale(android.graphics.Matrix):39:39 -> getScale 1:2:float getTranslationX(android.graphics.Matrix):46:47 -> getTranslationX 1:2:float getTranslationY(android.graphics.Matrix):52:53 -> getTranslationY 1:2:float[] getValue(android.graphics.Matrix):58:59 -> getValue 1:9:void mapRect(android.graphics.Matrix,android.graphics.Rect):67:67 -> mapRect 1:10:void putInStream(java.lang.String,ai.neuvision.kit.data.doodle.util.CommondOutputStream):100:109 -> putInStream 11:11:void putInStream(ai.neuvision.kit.data.doodle.core.IDoodleItem,java.io.OutputStream,ai.neuvision.kit.data.doodle.DoodleView):189:189 -> putInStream 1:18:java.lang.String readJObject(java.nio.ByteBuffer):114:131 -> readJObject 1:1:java.lang.String toContentString(java.util.Collection):83:83 -> toContentString 1:56:byte[] toData(ai.neuvision.kit.data.doodle.core.IDoodleItem):136:191 -> toData 57:62:byte[] toData(ai.neuvision.kit.data.doodle.core.IDoodleItem):147:152 -> toData 63:114:byte[] toData(ai.neuvision.kit.data.doodle.core.IDoodleItem):144:195 -> toData 115:152:byte[] toData(ai.neuvision.kit.data.doodle.core.IDoodleItem):160:197 -> toData 153:157:byte[] toData(ai.neuvision.kit.data.doodle.core.IDoodleItem):167:171 -> toData 158:185:byte[] toData(ai.neuvision.kit.data.doodle.core.IDoodleItem):157:184 -> toData 186:186:byte[] toData(ai.neuvision.kit.data.doodle.core.IDoodleItem):139:139 -> toData 187:187:byte[] toData(ai.neuvision.kit.data.doodle.core.IDoodleItem):136:136 -> toData 1:6:java.lang.String toTxt(java.nio.ByteBuffer):88:93 -> toTxt ai.neuvision.kit.data.doodle.util.DoodleItemComparator -> ai.neuvision.kit.data.doodle.util.DoodleItemComparator: 1:2:void ():14:15 -> 1:1:int compare(java.lang.Object,java.lang.Object):14:14 -> compare 2:5:int compare(ai.neuvision.kit.data.doodle.core.IDoodleItem,ai.neuvision.kit.data.doodle.core.IDoodleItem):17:20 -> compare 1:3:void sort(java.util.List,java.util.List):24:26 -> sort ai.neuvision.kit.data.doodle.util.DoodlePaint -> ai.neuvision.kit.data.doodle.util.DoodlePaint: 1:1:void ():10:10 -> 1:1:void recycle():12:12 -> recycle ai.neuvision.kit.data.doodle.util.DoodlePaint$Companion -> ai.neuvision.kit.data.doodle.util.DoodlePaint$Companion: 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):15:15 -> 1:1:void ():15 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):15:15 -> 1:3:ai.neuvision.kit.data.doodle.util.DoodlePaint obtain():17:19 -> obtain 4:4:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():51:51 -> obtain 4:4:ai.neuvision.kit.data.doodle.util.DoodlePaint obtain():39 -> obtain 5:5:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():52:52 -> obtain 5:5:ai.neuvision.kit.data.doodle.util.DoodlePaint obtain():40 -> obtain 7:7:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():54:54 -> obtain 7:7:ai.neuvision.kit.data.doodle.util.DoodlePaint obtain():42 -> obtain 8:8:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():55:55 -> obtain 8:8:ai.neuvision.kit.data.doodle.util.DoodlePaint obtain():43 -> obtain 10:10:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():57:57 -> obtain 10:10:ai.neuvision.kit.data.doodle.util.DoodlePaint obtain():45 -> obtain 12:12:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():59:59 -> obtain 12:12:ai.neuvision.kit.data.doodle.util.DoodlePaint obtain():47 -> obtain 14:14:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():61:61 -> obtain 14:14:ai.neuvision.kit.data.doodle.util.DoodlePaint obtain():49 -> obtain 15:15:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():60:60 -> obtain 15:15:ai.neuvision.kit.data.doodle.util.DoodlePaint obtain():48 -> obtain ai.neuvision.kit.data.doodle.util.DoodlePaint$Companion$obtain$1 -> ai.neuvision.kit.data.doodle.util.DoodlePaint$Companion$obtain$1: 1:1:void ():19:19 -> 1:1:java.lang.Object newInstance():19:19 -> newInstance 2:2:ai.neuvision.kit.data.doodle.util.DoodlePaint newInstance():21:21 -> newInstance 1:1:void reset(java.lang.Object):19:19 -> reset 2:2:void reset(ai.neuvision.kit.data.doodle.util.DoodlePaint):25:25 -> reset ai.neuvision.kit.data.doodle.util.DoodleRect -> ai.neuvision.kit.data.doodle.util.DoodleRect: 1:2:void ():10:11 -> 1:1:android.graphics.Rect getRect():11:11 -> getRect 1:1:void recycle():13:13 -> recycle ai.neuvision.kit.data.doodle.util.DoodleRect$Companion -> ai.neuvision.kit.data.doodle.util.DoodleRect$Companion: 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> 1:1:void ():16 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> 1:3:ai.neuvision.kit.data.doodle.util.DoodleRect obtain():18:20 -> obtain 4:4:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():51:51 -> obtain 4:4:ai.neuvision.kit.data.doodle.util.DoodleRect obtain():34 -> obtain 5:5:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():52:52 -> obtain 5:5:ai.neuvision.kit.data.doodle.util.DoodleRect obtain():35 -> obtain 7:7:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():54:54 -> obtain 7:7:ai.neuvision.kit.data.doodle.util.DoodleRect obtain():37 -> obtain 8:8:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():55:55 -> obtain 8:8:ai.neuvision.kit.data.doodle.util.DoodleRect obtain():38 -> obtain 10:10:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():57:57 -> obtain 10:10:ai.neuvision.kit.data.doodle.util.DoodleRect obtain():40 -> obtain 12:12:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():59:59 -> obtain 12:12:ai.neuvision.kit.data.doodle.util.DoodleRect obtain():42 -> obtain 14:14:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():61:61 -> obtain 14:14:ai.neuvision.kit.data.doodle.util.DoodleRect obtain():44 -> obtain 15:15:java.lang.Object ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils.obtain():60:60 -> obtain 15:15:ai.neuvision.kit.data.doodle.util.DoodleRect obtain():43 -> obtain ai.neuvision.kit.data.doodle.util.DoodleRect$Companion$obtain$1 -> ai.neuvision.kit.data.doodle.util.DoodleRect$Companion$obtain$1: 1:1:void ():20:20 -> 1:1:java.lang.Object newInstance():20:20 -> newInstance 2:2:ai.neuvision.kit.data.doodle.util.DoodleRect newInstance():22:22 -> newInstance 1:1:void reset(java.lang.Object):20:20 -> reset 2:2:void reset(ai.neuvision.kit.data.doodle.util.DoodleRect):26:26 -> reset ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils -> ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils: 1:3:void ():13:15 -> 1:1:void ():13:13 -> 1:1:void addInstance():30:30 -> addInstance 1:2:void clear(java.lang.Object):34:35 -> clear 1:5:void decreaseInstance():21:25 -> decreaseInstance 1:4:java.lang.String getKey(java.lang.Object):88:91 -> getKey 1:1:java.util.concurrent.ConcurrentHashMap getNewInstanceMap():15:15 -> getNewInstanceMap 1:1:java.util.Map getPoolSet():14:14 -> getPoolSet 1:2:boolean hasgister(java.lang.Object):46:47 -> hasgister 1:16:void recycle(java.lang.Object):69:84 -> recycle 17:17:void recycle(java.lang.Object):82:82 -> recycle 1:3:void register(java.lang.String,ai.neuvision.kit.data.doodle.util.DoodleRecycleUtils$InstanceCallback):39:41 -> register ai.neuvision.kit.data.doodle.util.DoodleSettingItem -> ai.neuvision.kit.data.doodle.util.DoodleSettingItem: 1:3:void (java.lang.Object):11:13 -> 1:1:java.lang.Object getValue(java.lang.Object,kotlin.reflect.KProperty):16:16 -> getValue 1:1:boolean hasChanged():25:25 -> hasChanged 1:2:void setValue(java.lang.Object,kotlin.reflect.KProperty,java.lang.Object):20:21 -> setValue ai.neuvision.kit.data.doodle.util.DrawUtil -> ai.neuvision.kit.data.doodle.util.DrawUtil: 1:4:void ():29:32 -> 1:1:void assistActivity(android.view.Window):202:202 -> assistActivity 1:6:boolean canDraw(long):35:40 -> canDraw 1:1:float computeAngle(float,float,float,float):159:159 -> computeAngle 1:36:void drawArrow(android.graphics.Canvas,float,float,float,float,android.graphics.Paint):64:99 -> drawArrow 1:1:void drawCircle(android.graphics.Canvas,float,float,float,android.graphics.Paint):124:124 -> drawCircle 1:1:void drawLine(android.graphics.Canvas,float,float,float,float,android.graphics.Paint):120:120 -> drawLine 1:9:void drawRect(android.graphics.Canvas,float,float,float,float,android.graphics.Paint):132:140 -> drawRect 1:1:int getMax():56:56 -> getMax 1:2:void log(java.lang.String):343:344 -> log 1:1:void logOriginJson(java.lang.String):349:349 -> logOriginJson 1:1:void logSendOriginJson(java.lang.String):353:353 -> logSendOriginJson 1:8:android.graphics.PointF rotatePoint(android.graphics.PointF,float,float,float,float,float):189:196 -> rotatePoint 1:11:double[] rotateVec(float,float,double,boolean,double):105:115 -> rotateVec 1:4:void scaleRect(android.graphics.Rect,float,float,float):253:256 -> scaleRect 1:30:void scaleRectByPovit(android.graphics.Rect,float,float,float,float):267:296 -> scaleRectByPovit 1:1:void setLastTime(long):48:48 -> setLastTime 1:1:void setMax(int):52:52 -> setMax ai.neuvision.kit.data.doodle.util.DrawUtil$AndroidBug5497Workaround -> ai.neuvision.kit.data.doodle.util.DrawUtil$AndroidBug5497Workaround: 1:1:void (android.view.Window,ai.neuvision.kit.data.doodle.util.DrawUtil$1):205:205 -> 2:10:void (android.view.Window):214:222 -> 1:1:void access$100(ai.neuvision.kit.data.doodle.util.DrawUtil$AndroidBug5497Workaround):205:205 -> access$100 1:3:int computeUsableHeight():243:245 -> computeUsableHeight 1:13:void possiblyResizeChildOfContent():226:238 -> possiblyResizeChildOfContent ai.neuvision.kit.data.doodle.util.DrawUtil$AndroidBug5497Workaround$1 -> ai.neuvision.kit.data.doodle.util.DrawUtil$AndroidBug5497Workaround$1: 1:1:void (ai.neuvision.kit.data.doodle.util.DrawUtil$AndroidBug5497Workaround):217:217 -> 1:1:void onGlobalLayout():219:219 -> onGlobalLayout ai.neuvision.kit.data.doodle.util.NetWorkUtils -> ai.neuvision.kit.data.doodle.util.NetWorkUtils: 1:1:void ():15:15 -> 1:2:boolean checkEnable(android.content.Context):25:26 -> checkEnable 1:6:java.lang.String getLocalIpAddress(android.content.Context):56:61 -> getLocalIpAddress 7:12:java.lang.String getLocalIpAddress():70:75 -> getLocalIpAddress 1:6:java.lang.String int2ip(int):38:43 -> int2ip ai.neuvision.kit.data.doodle.util.ObjectParamsUtil -> ai.neuvision.kit.data.doodle.util.ObjectParamsUtil: 1:48:void ():13:60 -> 49:49:void ():51:51 -> 1:1:void ():13:13 -> 1:1:void ():13 -> 1:49:java.lang.String getParamsFromObject(java.lang.Object):15:63 -> getParamsFromObject 50:60:java.lang.String getParamsFromObject(java.lang.Object):18:28 -> getParamsFromObject 1:33:void setParamsToObject(java.lang.String,java.lang.Object):33:65 -> setParamsToObject 34:45:void setParamsToObject(java.lang.String,java.lang.Object):36:47 -> setParamsToObject ai.neuvision.kit.data.doodle.util.ReflectUtil -> ai.neuvision.kit.data.doodle.util.ReflectUtil: 1:1:void ():9:9 -> 1:1:java.lang.reflect.Field getField(java.lang.Class,java.lang.String):23:23 -> getField 1:5:java.lang.reflect.Method getMethod(java.lang.Class,java.lang.String,java.lang.Class[]):86:90 -> getMethod 1:8:java.lang.Object getValue(java.lang.Object,java.lang.String):37:44 -> getValue 9:16:java.lang.Object getValue(java.lang.Class,java.lang.String):58:65 -> getValue 1:9:java.lang.Object invokeMethod(java.lang.Object,java.lang.String,java.lang.Object[]):109:117 -> invokeMethod 10:18:java.lang.Object invokeMethod(java.lang.Class,java.lang.String,java.lang.Object[]):132:140 -> invokeMethod ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27 -> ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27: 1:1:void (android.content.Context,ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27$OnScaleGestureListener):181:181 -> 2:2:void (android.content.Context,ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27$OnScaleGestureListener,android.os.Handler):196:196 -> 3:57:void (android.content.Context,ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27$OnScaleGestureListener,android.os.Handler):158:212 -> 1:1:float access$002(ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27,float):47:47 -> access$002 1:1:float access$102(ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27,float):47:47 -> access$102 1:1:int access$202(ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27,int):47:47 -> access$202 1:1:float getCurrentSpan():480:480 -> getCurrentSpan 1:1:float getCurrentSpanX():490:490 -> getCurrentSpanX 1:1:float getCurrentSpanY():500:500 -> getCurrentSpanY 1:1:long getEventTime():570:570 -> getEventTime 1:1:float getFocusX():456:456 -> getFocusX 1:1:float getFocusY():470:470 -> getFocusY 1:1:int getMinSpan():582:582 -> getMinSpan 1:1:float getPreviousSpan():510:510 -> getPreviousSpan 1:1:float getPreviousSpanX():520:520 -> getPreviousSpanX 1:1:float getPreviousSpanY():530:530 -> getPreviousSpanY 1:11:float getScaleFactor():541:551 -> getScaleFactor 1:1:int getSpanSlop():586:586 -> getSpanSlop 1:1:long getTimeDelta():561:561 -> getTimeDelta 1:1:boolean inAnchoredScaleMode():384:384 -> inAnchoredScaleMode 1:1:boolean isInProgress():442:442 -> isInProgress 1:1:boolean isQuickScaleEnabled():416:416 -> isQuickScaleEnabled 1:1:boolean isStylusScaleEnabled():435:435 -> isStylusScaleEnabled 1:148:boolean onTouchEvent(android.view.MotionEvent):229:376 -> onTouchEvent 1:1:void setMinSpan(int):574:574 -> setMinSpan 1:14:void setQuickScaleEnabled(boolean):394:407 -> setQuickScaleEnabled 1:1:void setSpanSlop(int):578:578 -> setSpanSlop 1:1:void setStylusScaleEnabled(boolean):427:427 -> setStylusScaleEnabled ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27$1 -> ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27$1: 1:1:void (ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27):397:397 -> 1:3:boolean onDoubleTap(android.view.MotionEvent):401:403 -> onDoubleTap ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27$SimpleOnScaleGestureListener -> ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27$SimpleOnScaleGestureListener: 1:1:void ():117:117 -> ai.neuvision.kit.data.doodle.util.TouchGestureDetector -> ai.neuvision.kit.data.doodle.util.TouchGestureDetector: 1:1:void (android.content.Context,ai.neuvision.kit.data.doodle.util.TouchGestureDetector$IOnTouchGestureListener):22:22 -> 2:66:void (android.content.Context,ai.neuvision.kit.data.doodle.util.TouchGestureDetector$IOnTouchGestureListener):20:84 -> 67:73:void (android.content.Context,ai.neuvision.kit.data.doodle.util.TouchGestureDetector$IOnTouchGestureListener):23:29 -> 1:1:boolean access$000(ai.neuvision.kit.data.doodle.util.TouchGestureDetector):15:15 -> access$000 1:44:boolean interceptMultiFinger(android.view.MotionEvent):111:154 -> interceptMultiFinger 45:66:boolean interceptMultiFinger(android.view.MotionEvent):121:142 -> interceptMultiFinger 1:1:boolean isLongpressEnabled():66:66 -> isLongpressEnabled 1:1:boolean isScrollAfterScaled():79:79 -> isScrollAfterScaled 1:16:boolean onTouchEvent(android.view.MotionEvent):88:103 -> onTouchEvent 1:1:void setIsLongpressEnabled(boolean):57:57 -> setIsLongpressEnabled 1:1:void setIsScrollAfterScaled(boolean):75:75 -> setIsScrollAfterScaled 1:1:void setScaleMinSpan(int):39:39 -> setScaleMinSpan 1:1:void setScaleSpanSlop(int):48:48 -> setScaleSpanSlop 1:4:double spacing(android.view.MotionEvent):174:177 -> spacing ai.neuvision.kit.data.doodle.util.TouchGestureDetector$OnTouchGestureListener -> ai.neuvision.kit.data.doodle.util.TouchGestureDetector$OnTouchGestureListener: 1:1:void ():351:351 -> ai.neuvision.kit.data.doodle.util.TouchGestureDetector$OnTouchGestureListenerProxy -> ai.neuvision.kit.data.doodle.util.TouchGestureDetector$OnTouchGestureListenerProxy: 1:1:void (ai.neuvision.kit.data.doodle.util.TouchGestureDetector,ai.neuvision.kit.data.doodle.util.TouchGestureDetector$IOnTouchGestureListener):194:194 -> 2:8:void (ai.neuvision.kit.data.doodle.util.TouchGestureDetector,ai.neuvision.kit.data.doodle.util.TouchGestureDetector$IOnTouchGestureListener):189:195 -> 1:1:boolean onDoubleTap(android.view.MotionEvent):281:281 -> onDoubleTap 1:1:boolean onDoubleTapEvent(android.view.MotionEvent):286:286 -> onDoubleTapEvent 1:3:boolean onDown(android.view.MotionEvent):201:203 -> onDown 1:1:boolean onFling(android.view.MotionEvent,android.view.MotionEvent,float,float):223:223 -> onFling 1:1:void onLongPress(android.view.MotionEvent):228:228 -> onLongPress 1:1:boolean onMultiPointerScroll(android.view.MotionEvent,android.view.MotionEvent,float,float,int):248:248 -> onMultiPointerScroll 1:1:void onOtherPointerDown(android.view.MotionEvent):243:243 -> onOtherPointerDown 1:1:boolean onScale(ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27):296:296 -> onScale 1:6:boolean onScaleBegin(ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27):301:306 -> onScaleBegin 1:1:void onScaleEnd(ai.neuvision.kit.data.doodle.util.ScaleGestureDetectorApi27):311:311 -> onScaleEnd 1:14:boolean onScroll(android.view.MotionEvent,android.view.MotionEvent,float,float):253:266 -> onScroll 1:1:void onScrollBegin(android.view.MotionEvent):233:233 -> onScrollBegin 1:1:void onScrollEnd(android.view.MotionEvent):238:238 -> onScrollEnd 1:1:void onShowPress(android.view.MotionEvent):271:271 -> onShowPress 1:1:boolean onSingleTapConfirmed(android.view.MotionEvent):291:291 -> onSingleTapConfirmed 1:1:boolean onSingleTapUp(android.view.MotionEvent):276:276 -> onSingleTapUp 1:11:void onUpOrCancel(android.view.MotionEvent):208:218 -> onUpOrCancel ai.neuvision.kit.data.doodle.util.UnificationConvert -> ai.neuvision.kit.data.doodle.util.UnificationConvert: 1:1:void ():58:58 -> 2:450:void ():33:481 -> 1:5:void add(long,ai.neuvision.kit.data.doodle.core.IDoodleItem):122:126 -> add 1:2:void clear():405:406 -> clear 1:1:boolean contains(java.lang.String):493:493 -> contains 1:1:boolean containsKey(java.lang.String):316:316 -> containsKey 1:1:double convertUnionX(float):292:292 -> convertUnionX 1:1:double convertUnionY(float):296:296 -> convertUnionY 1:1:double getAllHeight():308:308 -> getAllHeight 1:18:java.util.List getAllPages(boolean):76:93 -> getAllPages 1:30:android.graphics.Bitmap getCourseBitmap(ai.neuvision.kit.data.doodle.DoodleView,java.lang.String):417:446 -> getCourseBitmap 1:1:double getHeight():300:300 -> getHeight 1:1:ai.neuvision.kit.data.doodle.core.IDoodleItem getItem(java.lang.String):312:312 -> getItem 1:9:int getItemOnPage(ai.neuvision.kit.data.doodle.core.IDoodleItem):233:241 -> getItemOnPage 1:7:int getMaxExistsPageNumber(boolean):63:69 -> getMaxExistsPageNumber 1:1:double getNormalizeX(float):276:276 -> getNormalizeX 1:1:double getNormalizeY(float):280:280 -> getNormalizeY 1:1:java.util.List getPageItem(ai.neuvision.kit.data.doodle.DoodleView):325:325 -> getPageItem 2:33:java.util.List getPageItem(ai.neuvision.kit.data.doodle.DoodleView,int):329:360 -> getPageItem 1:6:android.graphics.Rect getUnionCommRect(ai.neuvision.kit.data.doodle.core.IDoodleItem):248:253 -> getUnionCommRect 7:11:android.graphics.Rect getUnionCommRect(android.graphics.Rect):258:262 -> getUnionCommRect 1:1:int getUnionCommX(float):267:267 -> getUnionCommX 1:1:int getUnionCommY(float):271:271 -> getUnionCommY 1:2:float getVerticalPageNum(float,float):396:397 -> getVerticalPageNum 1:1:double getWidth():304:304 -> getWidth 1:46:void holdPages(ai.neuvision.kit.data.doodle.core.IDoodleItem):183:228 -> holdPages 1:2:void lambda$refreshWithBackground$0(int,ai.neuvision.kit.data.doodle.DoodleView):465:466 -> lambda$refreshWithBackground$0 1:6:int obtainOrderMin():484:489 -> obtainOrderMin 1:12:void refreshWithBackground(ai.neuvision.kit.data.doodle.DoodleView,int):452:463 -> refreshWithBackground 1:2:void release():410:411 -> release 1:5:void remove(java.util.List):143:147 -> remove 6:12:void remove(ai.neuvision.kit.data.doodle.core.IDoodleItem):155:161 -> remove 1:11:void removeFromPages(ai.neuvision.kit.data.doodle.core.IDoodleItem):165:175 -> removeFromPages 1:1:double revertUnionCommX(int):284:284 -> revertUnionCommX 1:1:double revertUnionCommY(int):288:288 -> revertUnionCommY 1:1:void setPages(int):103:103 -> setPages 1:8:boolean setWidthHeight(double,double):107:114 -> setWidthHeight 1:2:void updateItemFromStatus(long,java.util.List):130:131 -> updateItemFromStatus 3:4:void updateItemFromStatus(long,ai.neuvision.kit.data.doodle.core.IDoodleItem):136:137 -> updateItemFromStatus ai.neuvision.kit.data.doodle.util.Util -> ai.neuvision.kit.data.doodle.util.Util: 1:1:void ():77:77 -> 1:1:void ():27:27 -> 1:5:int calculateMemoryCacheSize(android.content.Context):162:166 -> calculateMemoryCacheSize 1:3:void clearProperties(android.content.SharedPreferences):60:62 -> clearProperties 1:3:void closeQuietly(java.io.Closeable):68:70 -> closeQuietly 1:1:int dp2px(android.content.Context,float):38:38 -> dp2px 1:22:byte[] floatToByte(float):137:158 -> floatToByte 1:10:java.lang.Object fromJson(java.lang.String,java.lang.Class):92:101 -> fromJson 1:1:int getScreenHeight(android.content.Context):34:34 -> getScreenHeight 1:1:int getScreenWidth(android.content.Context):30:30 -> getScreenWidth 1:3:void saveProperty(android.content.SharedPreferences,java.lang.String,int):42:44 -> saveProperty 4:6:void saveProperty(android.content.SharedPreferences,java.lang.String,boolean):48:50 -> saveProperty 7:9:void saveProperty(android.content.SharedPreferences,java.lang.String,java.lang.String):54:56 -> saveProperty 1:3:byte[] shortToByte(short):112:114 -> shortToByte 4:12:byte[] shortToByte(int):122:130 -> shortToByte 1:10:java.lang.String toJson(java.lang.Object):79:88 -> toJson ai.neuvision.kit.data.doodle.util.WhiteboardEntryAdapter -> ai.neuvision.kit.data.doodle.util.WhiteboardEntryAdapter: 1:1:void ():19:19 -> 1:36:void putValue(com.google.gson.stream.JsonWriter,java.lang.String,java.lang.Object):242:277 -> putValue 1:1:java.lang.Object read(com.google.gson.stream.JsonReader):19:19 -> read 2:133:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):91:222 -> read 134:155:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):162:183 -> read 156:156:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):141:141 -> read 157:259:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):117:219 -> read 260:329:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):144:213 -> read 330:339:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):207:216 -> read 340:340:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):165:165 -> read 341:341:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):123:123 -> read 342:450:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):120:228 -> read 451:451:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):210:210 -> read 452:452:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):201:201 -> read 453:459:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):126:132 -> read 460:487:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):129:156 -> read 488:533:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):153:198 -> read 534:579:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):150:195 -> read 580:691:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):114:225 -> read 692:785:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):111:204 -> read 786:792:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):168:174 -> read 793:793:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):159:159 -> read 794:922:ai.neuvision.kit.data.WhiteboardEntry read(com.google.gson.stream.JsonReader):106:234 -> read 1:26:ai.neuvision.kit.data.MatrixTransform readMatrix(com.google.gson.stream.JsonReader):329:354 -> readMatrix 27:27:ai.neuvision.kit.data.MatrixTransform readMatrix(com.google.gson.stream.JsonReader):351:351 -> readMatrix 28:28:ai.neuvision.kit.data.MatrixTransform readMatrix(com.google.gson.stream.JsonReader):348:348 -> readMatrix 29:29:ai.neuvision.kit.data.MatrixTransform readMatrix(com.google.gson.stream.JsonReader):345:345 -> readMatrix 30:30:ai.neuvision.kit.data.MatrixTransform readMatrix(com.google.gson.stream.JsonReader):342:342 -> readMatrix 31:51:ai.neuvision.kit.data.MatrixTransform readMatrix(com.google.gson.stream.JsonReader):339:359 -> readMatrix 1:20:ai.neuvision.kit.data.StrokeItem readStrokeItem(com.google.gson.stream.JsonReader):282:301 -> readStrokeItem 21:21:ai.neuvision.kit.data.StrokeItem readStrokeItem(com.google.gson.stream.JsonReader):295:295 -> readStrokeItem 22:43:ai.neuvision.kit.data.StrokeItem readStrokeItem(com.google.gson.stream.JsonReader):292:313 -> readStrokeItem 44:53:ai.neuvision.kit.data.StrokeItem readStrokeItem(com.google.gson.stream.JsonReader):310:319 -> readStrokeItem 54:54:ai.neuvision.kit.data.StrokeItem readStrokeItem(com.google.gson.stream.JsonReader):307:307 -> readStrokeItem 55:75:ai.neuvision.kit.data.StrokeItem readStrokeItem(com.google.gson.stream.JsonReader):304:324 -> readStrokeItem 1:1:void write(com.google.gson.stream.JsonWriter,java.lang.Object):19:19 -> write 2:66:void write(com.google.gson.stream.JsonWriter,ai.neuvision.kit.data.WhiteboardEntry):22:86 -> write ai.neuvision.kit.data.doodle.util.cache.DiskLruCache -> ai.neuvision.kit.data.doodle.util.cache.DiskLruCache: 1:630:void ():83:712 -> 1:1:void (java.io.File,int,int,long):168:168 -> 2:41:void (java.io.File,int,int,long):136:175 -> 1:1:java.io.Writer access$000(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache):75:75 -> access$000 1:1:void access$100(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache):75:75 -> access$100 1:1:ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor access$1600(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache,java.lang.String,long):75:75 -> access$1600 1:1:java.lang.String access$1700(java.io.InputStream):75:75 -> access$1700 1:1:int access$1800(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache):75:75 -> access$1800 1:1:java.io.File access$1900(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache):75:75 -> access$1900 1:1:boolean access$200(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache):75:75 -> access$200 1:1:java.io.OutputStream access$2000():75:75 -> access$2000 1:1:void access$2200(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache,ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor,boolean):75:75 -> access$2200 1:1:void access$300(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache):75:75 -> access$300 1:1:int access$402(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache,int):75:75 -> access$402 1:2:void checkNotClosed():611:612 -> checkNotClosed 1:11:void close():625:635 -> close 1:14:void completeEdit(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor,boolean):507:520 -> completeEdit 15:56:void completeEdit(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor,boolean):516:557 -> completeEdit 57:57:void completeEdit(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor,boolean):509:509 -> completeEdit 1:1:boolean contains(java.lang.String):503:503 -> contains 1:2:void delete():651:652 -> delete 1:2:void deleteIfExists(java.io.File):379:380 -> deleteIfExists 1:1:ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor edit(java.lang.String):444:444 -> edit 2:21:ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor edit(java.lang.String,long):448:467 -> edit 1:3:void flush():618:620 -> flush 1:38:ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Snapshot get(java.lang.String):399:436 -> get 39:41:ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Snapshot get(java.lang.String):420:422 -> get 1:1:java.io.File getDirectory():473:473 -> getDirectory 1:1:long getMaxSize():481:481 -> getMaxSize 1:1:java.lang.String inputStreamToString(java.io.InputStream):664:664 -> inputStreamToString 1:1:boolean isClosed():607:607 -> isClosed 1:2:boolean journalRebuildRequired():567:568 -> journalRebuildRequired 1:24:ai.neuvision.kit.data.doodle.util.cache.DiskLruCache open(java.io.File,int,int,long):197:220 -> open 25:37:ai.neuvision.kit.data.doodle.util.cache.DiskLruCache open(java.io.File,int,int,long):217:229 -> open 38:38:ai.neuvision.kit.data.doodle.util.cache.DiskLruCache open(java.io.File,int,int,long):193:193 -> open 39:39:ai.neuvision.kit.data.doodle.util.cache.DiskLruCache open(java.io.File,int,int,long):190:190 -> open 1:14:void processJournal():317:330 -> processJournal 1:36:void readJournal():234:269 -> readJournal 37:61:void readJournal():246:270 -> readJournal 1:35:void readJournalLine(java.lang.String):274:308 -> readJournalLine 36:36:void readJournalLine(java.lang.String):276:276 -> readJournalLine 1:35:void rebuildJournal():340:374 -> rebuildJournal 36:37:void rebuildJournal():365:366 -> rebuildJournal 1:22:boolean remove(java.lang.String):578:599 -> remove 1:4:void renameTo(java.io.File,java.io.File,boolean):386:389 -> renameTo 1:2:void setMaxSize(long):489:490 -> setMaxSize 1:1:long size():499:499 -> size 1:3:void trimToSize():639:641 -> trimToSize 1:3:void validateKey(java.lang.String):656:658 -> validateKey ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$1 -> ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$1: 1:1:void (ai.neuvision.kit.data.doodle.util.cache.DiskLruCache):152:152 -> 1:1:java.lang.Object call():152:152 -> call 2:11:java.lang.Void call():154:163 -> call ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$2 -> ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$2: 1:1:void ():712:712 -> ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor -> ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor: 1:1:void (ai.neuvision.kit.data.doodle.util.cache.DiskLruCache,ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Entry,ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$1):720:720 -> 2:4:void (ai.neuvision.kit.data.doodle.util.cache.DiskLruCache,ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Entry):726:728 -> 1:1:void abort():828:828 -> abort 1:3:void abortUnlessCommitted():832:834 -> abortUnlessCommitted 1:1:ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Entry access$1400(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor):720:720 -> access$1400 1:1:boolean[] access$1500(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor):720:720 -> access$1500 1:1:boolean access$2302(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor,boolean):720:720 -> access$2302 1:7:void commit():814:820 -> commit 1:2:java.lang.String getString(int):756:757 -> getString 1:11:java.io.InputStream newInputStream(int):736:746 -> newInputStream 12:22:java.io.InputStream newInputStream(int):738:748 -> newInputStream 1:27:java.io.OutputStream newOutputStream(int):768:794 -> newOutputStream 28:28:java.io.OutputStream newOutputStream(int):791:791 -> newOutputStream 29:49:java.io.OutputStream newOutputStream(int):775:795 -> newOutputStream 50:52:java.io.OutputStream newOutputStream(int):769:771 -> newOutputStream 1:5:void set(int,java.lang.String):802:806 -> set ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor$FaultHidingOutputStream -> ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor$FaultHidingOutputStream: 1:1:void (ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor,java.io.OutputStream,ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$1):840:840 -> 2:3:void (ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor,java.io.OutputStream):841:842 -> 1:3:void close():863:865 -> close 1:3:void flush():871:873 -> flush 1:3:void write(int):847:849 -> write 4:6:void write(byte[],int,int):855:857 -> write ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Entry -> ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Entry: 1:1:void (ai.neuvision.kit.data.doodle.util.cache.DiskLruCache,java.lang.String,ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$1):879:879 -> 2:4:void (ai.neuvision.kit.data.doodle.util.cache.DiskLruCache,java.lang.String):894:896 -> 1:1:long[] access$1000(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Entry):879:879 -> access$1000 1:1:java.lang.String access$1100(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Entry):879:879 -> access$1100 1:1:long access$1200(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Entry):879:879 -> access$1200 1:1:long access$1202(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Entry,long):879:879 -> access$1202 1:1:boolean access$600(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Entry):879:879 -> access$600 1:1:boolean access$602(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Entry,boolean):879:879 -> access$602 1:1:ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor access$700(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Entry):879:879 -> access$700 1:1:ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor access$702(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Entry,ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor):879:879 -> access$702 1:1:void access$800(ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Entry,java.lang.String[]):879:879 -> access$800 1:1:java.io.File getCleanFile(int):927:927 -> getCleanFile 1:1:java.io.File getDirtyFile(int):931:931 -> getDirtyFile 1:5:java.lang.String getLengths():900:904 -> getLengths 1:1:java.io.IOException invalidLengths(java.lang.String[]):923:923 -> invalidLengths 1:10:void setLengths(java.lang.String[]):909:918 -> setLengths 11:11:void setLengths(java.lang.String[]):910:910 -> setLengths ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Snapshot -> ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Snapshot: 1:1:void (ai.neuvision.kit.data.doodle.util.cache.DiskLruCache,java.lang.String,long,java.io.InputStream[],long[],ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$1):668:668 -> 2:6:void (ai.neuvision.kit.data.doodle.util.cache.DiskLruCache,java.lang.String,long,java.io.InputStream[],long[]):674:678 -> 1:2:void close():706:707 -> close 1:1:ai.neuvision.kit.data.doodle.util.cache.DiskLruCache$Editor edit():687:687 -> edit 1:1:java.io.InputStream getInputStream(int):692:692 -> getInputStream 1:1:long getLength(int):702:702 -> getLength 1:1:java.lang.String getString(int):697:697 -> getString ai.neuvision.kit.data.doodle.util.cache.DiskLruUtil -> ai.neuvision.kit.data.doodle.util.cache.DiskLruUtil: 1:2:void ():16:17 -> 1:1:void ():19:19 -> 1:3:void closeQuietly(java.io.Closeable):58:60 -> closeQuietly 1:10:void deleteContents(java.io.File):41:50 -> deleteContents 11:11:void deleteContents(java.io.File):43:43 -> deleteContents 1:10:java.lang.String readFully(java.io.Reader):24:33 -> readFully ai.neuvision.kit.data.doodle.util.cache.PlatformLruCache -> ai.neuvision.kit.data.doodle.util.cache.PlatformLruCache: 1:5:void (int):25:29 -> 1:1:void clear():75:75 -> clear 1:6:void clearKeyUri(java.lang.String):83:88 -> clearKeyUri 1:1:boolean contains(java.lang.String):78:78 -> contains 1:1:int evictionCount():103:103 -> evictionCount 1:1:android.graphics.Bitmap get(java.lang.String):50:50 -> get 1:1:android.util.LruCache getCache():28:28 -> getCache 1:1:int hitCount():94:94 -> hitCount 1:1:int maxSize():73:73 -> maxSize 1:1:int missCount():97:97 -> missCount 1:1:int putCount():100:100 -> putCount 1:13:void set(java.lang.String,android.graphics.Bitmap):56:68 -> set 1:1:int size():71:71 -> size ai.neuvision.kit.data.doodle.util.cache.PlatformLruCache$BitmapAndSize -> ai.neuvision.kit.data.doodle.util.cache.PlatformLruCache$BitmapAndSize: 1:1:void (android.graphics.Bitmap,int):105:105 -> 1:1:android.graphics.Bitmap getBitmap():106:106 -> getBitmap 1:1:int getByteCount():107:107 -> getByteCount ai.neuvision.kit.data.doodle.util.cache.PlatformLruCache$cache$1 -> ai.neuvision.kit.data.doodle.util.cache.PlatformLruCache$cache$1: 1:1:void (int,int):29:29 -> 1:1:void entryRemoved(boolean,java.lang.Object,java.lang.Object,java.lang.Object):29:29 -> entryRemoved 2:3:void entryRemoved(boolean,java.lang.String,ai.neuvision.kit.data.doodle.util.cache.PlatformLruCache$BitmapAndSize,ai.neuvision.kit.data.doodle.util.cache.PlatformLruCache$BitmapAndSize):41:42 -> entryRemoved 1:1:int sizeOf(java.lang.Object,java.lang.Object):29:29 -> sizeOf 2:2:int sizeOf(java.lang.String,ai.neuvision.kit.data.doodle.util.cache.PlatformLruCache$BitmapAndSize):33:33 -> sizeOf ai.neuvision.kit.data.doodle.util.cache.StrictLineReader -> ai.neuvision.kit.data.doodle.util.cache.StrictLineReader: 1:1:void (java.io.InputStream,java.nio.charset.Charset):60:60 -> 2:15:void (java.io.InputStream,int,java.nio.charset.Charset):74:87 -> 16:16:void (java.io.InputStream,int,java.nio.charset.Charset):82:82 -> 17:17:void (java.io.InputStream,int,java.nio.charset.Charset):79:79 -> 18:18:void (java.io.InputStream,int,java.nio.charset.Charset):76:76 -> 1:1:java.nio.charset.Charset access$000(ai.neuvision.kit.data.doodle.util.cache.StrictLineReader):33:33 -> access$000 1:6:void close():97:102 -> close 1:6:void fillBuf():176:181 -> fillBuf 7:7:void fillBuf():178:178 -> fillBuf 1:1:boolean hasUnterminatedLine():168:168 -> hasUnterminatedLine 1:47:java.lang.String readLine():114:160 -> readLine 48:96:java.lang.String readLine():116:164 -> readLine ai.neuvision.kit.data.doodle.util.cache.StrictLineReader$1 -> ai.neuvision.kit.data.doodle.util.cache.StrictLineReader$1: 1:1:void (ai.neuvision.kit.data.doodle.util.cache.StrictLineReader,int):136:136 -> 1:5:java.lang.String toString():139:143 -> toString ai.neuvision.kit.data.doodle.util.dispatcher.DispatchByChain -> ai.neuvision.kit.data.doodle.util.dispatcher.DispatchByChain: 1:1:void ():23:23 -> 2:2:void ():21:21 -> 3:3:void (boolean):26:26 -> 4:10:void (boolean):21:27 -> 1:19:void dispatch(java.lang.Object,java.lang.Object[]):31:49 -> dispatch 1:10:java.util.List getMethod(java.lang.Object):55:64 -> getMethod 1:19:java.util.List getOrderMethods(java.lang.Object):70:88 -> getOrderMethods ai.neuvision.kit.data.doodle.util.dispatcher.DispatchByController -> ai.neuvision.kit.data.doodle.util.dispatcher.DispatchByController: 1:1:void ():15:15 -> 1:18:java.lang.Object dispatch(java.lang.Object,java.lang.Object,java.lang.Object[]):43:60 -> dispatch 1:18:void dispatchRVoid(java.lang.Object,java.lang.Object,java.lang.Object[]):21:38 -> dispatchRVoid 1:14:void getMethod(java.lang.Object):67:80 -> getMethod ai.neuvision.kit.data.doodle.util.image.ImageCache -> ai.neuvision.kit.data.doodle.util.image.ImageCache: 1:1:void (android.content.Context,int,long):58:58 -> 2:2:void (android.content.Context,int,long,java.io.File):61:61 -> 3:28:void (android.content.Context,int,long,java.io.File):47:72 -> 29:29:void (android.content.Context,int,long,java.io.File):69:69 -> 1:1:android.util.LruCache access$000(ai.neuvision.kit.data.doodle.util.image.ImageCache):38:38 -> access$000 1:7:int calculateInSampleSize(android.graphics.BitmapFactory$Options,int,int):520:526 -> calculateInSampleSize 1:2:void clearAllCache():126:127 -> clearAllCache 1:14:void clearAllDiskCache():138:151 -> clearAllDiskCache 15:15:void clearAllDiskCache():149:149 -> clearAllDiskCache 1:4:void clearAllMemoryCache():131:134 -> clearAllMemoryCache 1:10:void closeAllCache():156:165 -> closeAllCache 1:11:void closeDiskCache():174:184 -> closeDiskCache 1:2:void closeMemoryCache():169:170 -> closeMemoryCache 1:1:void compress(android.graphics.Bitmap,java.io.ByteArrayOutputStream):491:491 -> compress 2:19:void compress(android.graphics.Bitmap,java.io.ByteArrayOutputStream,int,int):495:512 -> compress 20:27:android.graphics.Bitmap compress(android.graphics.Bitmap,int,int):637:644 -> compress 28:42:android.graphics.Bitmap compress(android.graphics.Bitmap,int,int):639:653 -> compress 1:8:void compressBitmap(android.graphics.Bitmap,ai.neuvision.kit.data.doodle.util.image.ImageRunnable):593:600 -> compressBitmap 9:18:void compressBitmap(android.graphics.Bitmap,ai.neuvision.kit.data.doodle.util.image.ImageRunnable):595:604 -> compressBitmap 1:10:android.graphics.Bitmap createBitmapThumbnail(android.graphics.Bitmap,int,int):657:666 -> createBitmapThumbnail 1:4:void decodeByteArray(byte[],java.lang.String,ai.neuvision.kit.data.doodle.util.image.ImageRunnable):671:674 -> decodeByteArray 1:8:android.graphics.Bitmap decodeSampledBitmapFromResource(android.content.res.Resources,int,int,int):477:484 -> decodeSampledBitmapFromResource 1:25:android.graphics.BitmapFactory$Options detectOpt(byte[],int,int):535:559 -> detectOpt 26:26:android.graphics.BitmapFactory$Options detectOpt(byte[]):572:572 -> detectOpt 1:9:void flushDiskCache():419:427 -> flushDiskCache 1:24:android.graphics.Bitmap getBitmap(java.lang.String):341:364 -> getBitmap 1:28:byte[] getBitmapBytesDiskCache(java.lang.String):251:278 -> getBitmapBytesDiskCache 29:35:byte[] getBitmapBytesDiskCache(java.lang.String):268:274 -> getBitmapBytesDiskCache 36:45:byte[] getBitmapBytesDiskCache(java.lang.String):272:272 -> getBitmapBytesDiskCache 47:54:byte[] getBitmapBytesDiskCache(java.lang.String):274:281 -> getBitmapBytesDiskCache 55:84:byte[] getBitmapBytesDiskCache(java.lang.String):253:282 -> getBitmapBytesDiskCache 1:25:android.graphics.Bitmap getBitmapDiskCache(java.lang.String):220:244 -> getBitmapDiskCache 26:34:android.graphics.Bitmap getBitmapDiskCache(java.lang.String):238:246 -> getBitmapDiskCache 35:60:android.graphics.Bitmap getBitmapDiskCache(java.lang.String):222:247 -> getBitmapDiskCache 1:2:android.graphics.Bitmap getBitmapMemoryCache(java.lang.String):195:196 -> getBitmapMemoryCache 1:4:void getBitmapSync(java.lang.String,ai.neuvision.kit.data.doodle.util.image.ImageRunnable):371:374 -> getBitmapSync 1:1:java.io.File getDiskCacheDir():457:457 -> getDiskCacheDir 2:15:java.lang.String getDiskCacheDir(android.content.Context,java.lang.String):696:709 -> getDiskCacheDir 1:1:long getDiskCacheMaxSize():444:444 -> getDiskCacheMaxSize 1:1:java.util.concurrent.ThreadPoolExecutor getImageExecutor():589:589 -> getImageExecutor 1:1:int getMemoryCacheMaxSize():432:432 -> getMemoryCacheMaxSize 1:4:java.util.Map getSnapshotMemoryCache():461:464 -> getSnapshotMemoryCache 1:4:boolean hasKeyInDiskCache(java.lang.String):397:400 -> hasKeyInDiskCache 1:19:void initDiskCache():98:116 -> initDiskCache 20:27:void initDiskCache():114:121 -> initDiskCache 1:1:void initMemoryCache():77:77 -> initMemoryCache 1:20:void lambda$compressBitmap$4(android.graphics.Bitmap,ai.neuvision.kit.data.doodle.util.image.ImageRunnable):611:630 -> lambda$compressBitmap$4 21:29:void lambda$compressBitmap$4(android.graphics.Bitmap,ai.neuvision.kit.data.doodle.util.image.ImageRunnable):624:632 -> lambda$compressBitmap$4 1:14:void lambda$decodeByteArray$5(byte[],java.lang.String,ai.neuvision.kit.data.doodle.util.image.ImageRunnable):676:689 -> lambda$decodeByteArray$5 1:2:void lambda$getBitmapSync$2(java.lang.String,ai.neuvision.kit.data.doodle.util.image.ImageRunnable):375:376 -> lambda$getBitmapSync$2 1:3:void lambda$runOnCompressTask$3(java.lang.Runnable):581:583 -> lambda$runOnCompressTask$3 1:5:void lambda$saveBitmapDiskCache$0(java.lang.String,android.graphics.Bitmap):295:299 -> lambda$saveBitmapDiskCache$0 1:16:void lambda$saveBitmapDiskCache$1(java.lang.String,android.graphics.Bitmap,android.graphics.Bitmap$CompressFormat):315:330 -> lambda$saveBitmapDiskCache$1 17:30:void lambda$saveBitmapDiskCache$1(java.lang.String,android.graphics.Bitmap,android.graphics.Bitmap$CompressFormat):317:330 -> lambda$saveBitmapDiskCache$1 1:9:void remove(java.lang.String):404:412 -> remove 1:1:void runOnCompressTask(java.lang.Runnable):578:578 -> runOnCompressTask 1:2:void save(android.graphics.Bitmap,java.lang.String,android.graphics.Bitmap$CompressFormat):387:388 -> save 3:4:void save(android.graphics.Bitmap,java.lang.String):392:393 -> save 1:4:void saveBitmapDiskCache(android.graphics.Bitmap,java.lang.String):286:289 -> saveBitmapDiskCache 5:5:void saveBitmapDiskCache(byte[],java.lang.String):294:294 -> saveBitmapDiskCache 6:6:void saveBitmapDiskCache(android.graphics.Bitmap,java.lang.String,android.graphics.Bitmap$CompressFormat):313:313 -> saveBitmapDiskCache 1:2:void saveBitmapMemoryCache(android.graphics.Bitmap,java.lang.String):208:209 -> saveBitmapMemoryCache 1:6:void setDiskCacheMaxSize(long):448:453 -> setDiskCacheMaxSize 1:3:void setMemoryCacheMaxSize(int):436:438 -> setMemoryCacheMaxSize ai.neuvision.kit.data.doodle.util.image.ImageCache$1 -> ai.neuvision.kit.data.doodle.util.image.ImageCache$1: 1:1:void (ai.neuvision.kit.data.doodle.util.image.ImageCache,int):77:77 -> 1:1:void entryRemoved(boolean,java.lang.Object,java.lang.Object,java.lang.Object):77:77 -> entryRemoved 2:4:void entryRemoved(boolean,java.lang.String,android.graphics.Bitmap,android.graphics.Bitmap):88:90 -> entryRemoved 1:1:int sizeOf(java.lang.Object,java.lang.Object):77:77 -> sizeOf 2:2:int sizeOf(java.lang.String,android.graphics.Bitmap):83:83 -> sizeOf ai.neuvision.kit.data.doodle.util.image.ImageProvider -> ai.neuvision.kit.data.doodle.util.image.ImageProvider: 1:1:void ():253:253 -> 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):28:28 -> 1:1:void ():28 -> 2:42:void ():36:76 -> 43:43:void ():74:74 -> 44:44:void (kotlin.jvm.internal.DefaultConstructorMarker):28:28 -> 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):28:28 -> access$getInstance$cp 1:1:kotlin.Lazy access$getInstance$cp():28 -> access$getInstance$cp 1:1:void addCount():234:234 -> addCount 1:1:void clear(java.lang.String):223:223 -> clear 2:2:void clear():227:227 -> clear 3:3:void clear(java.util.List):262:262 -> clear 4:4:void clear(java.util.List):219:219 -> clear 1:1:void compressLocalBitmap(android.graphics.Bitmap,ai.neuvision.kit.data.doodle.util.image.ImageProvider$LoadListener):212:212 -> compressLocalBitmap 1:7:boolean contains(java.lang.String):84:90 -> contains 1:7:void decreaseCount():238:244 -> decreaseCount 1:4:void execute(java.lang.Runnable):54:57 -> execute 1:25:android.graphics.Bitmap load(java.lang.String):94:118 -> load 1:19:byte[] loadArray(java.lang.String):134:152 -> loadArray 20:29:byte[] loadArray(java.lang.String):143:152 -> loadArray 30:36:byte[] loadArray(java.lang.String):147:147 -> loadArray 38:38:byte[] loadArray(java.lang.String):149:149 -> loadArray 1:1:void loadAsync(java.lang.String,ai.neuvision.kit.data.doodle.util.image.ImageProvider$LoadListener):125:125 -> loadAsync 1:2:android.graphics.Bitmap put(java.lang.String,android.graphics.Bitmap):158:159 -> put 3:8:android.graphics.Bitmap put(java.lang.String,byte[]):171:176 -> put 1:1:void putAsync(java.lang.String,android.graphics.Bitmap,ai.neuvision.kit.data.doodle.util.image.ImageProvider$LoadListener):180:180 -> putAsync 2:3:void putAsync(java.lang.String,byte[],ai.neuvision.kit.data.doodle.util.image.ImageProvider$LoadListener):187:188 -> putAsync 1:1:android.graphics.Bitmap putInMemory(java.lang.String,android.graphics.Bitmap):165:165 -> putInMemory 1:9:java.util.concurrent.ThreadPoolExecutor requireExecutor():39:47 -> requireExecutor 10:20:java.util.concurrent.ThreadPoolExecutor requireExecutor():40:50 -> requireExecutor 1:5:void saveDiskCache(java.lang.String,android.graphics.Bitmap):195:199 -> saveDiskCache 6:15:void saveDiskCache(java.lang.String,android.graphics.Bitmap):198:207 -> saveDiskCache ai.neuvision.kit.data.doodle.util.image.ImageProvider$Companion -> ai.neuvision.kit.data.doodle.util.image.ImageProvider$Companion: 1:1:void ():249:249 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):249:249 -> ai.neuvision.kit.data.doodle.util.image.ImageProvider$Companion$instance$2 -> ai.neuvision.kit.data.doodle.util.image.ImageProvider$Companion$instance$2: 1:1:java.lang.Object invoke():249:249 -> invoke 2:2:ai.neuvision.kit.data.doodle.util.image.ImageProvider invoke():254:254 -> invoke ai.neuvision.kit.data.doodle.util.image.ImageProvider$compressLocalBitmap$1 -> ai.neuvision.kit.data.doodle.util.image.ImageProvider$compressLocalBitmap$1: 1:2:void run():213:214 -> run ai.neuvision.kit.data.doodle.util.image.ImageProvider$loadAsync$1 -> ai.neuvision.kit.data.doodle.util.image.ImageProvider$loadAsync$1: 1:1:void run():126:126 -> run ai.neuvision.kit.data.doodle.util.image.ImageProvider$putAsync$1 -> ai.neuvision.kit.data.doodle.util.image.ImageProvider$putAsync$1: 1:2:void run():181:182 -> run ai.neuvision.kit.data.doodle.util.image.ImageProvider$putAsync$2 -> ai.neuvision.kit.data.doodle.util.image.ImageProvider$putAsync$2: 1:1:void run():189:189 -> run ai.neuvision.kit.data.doodle.util.image.ImageUtils -> ai.neuvision.kit.data.doodle.util.image.ImageUtils: 1:3:void ():2004:2006 -> 1:2:void ():78:79 -> 1:3:android.graphics.Bitmap addBorder(android.graphics.Bitmap,float,int,boolean,float,boolean):1096:1098 -> addBorder 4:22:android.graphics.Bitmap addBorder(android.graphics.Bitmap,float,int,boolean,float[],boolean):1118:1136 -> addBorder 1:1:android.graphics.Bitmap addCircleBorder(android.graphics.Bitmap,float,int):1060:1060 -> addCircleBorder 2:2:android.graphics.Bitmap addCircleBorder(android.graphics.Bitmap,float,int,boolean):1076:1076 -> addCircleBorder 1:1:android.graphics.Bitmap addCornerBorder(android.graphics.Bitmap,float,int,float):994:994 -> addCornerBorder 2:2:android.graphics.Bitmap addCornerBorder(android.graphics.Bitmap,float,int,float[]):1010:1010 -> addCornerBorder 3:3:android.graphics.Bitmap addCornerBorder(android.graphics.Bitmap,float,int,float[],boolean):1028:1028 -> addCornerBorder 4:4:android.graphics.Bitmap addCornerBorder(android.graphics.Bitmap,float,int,float,boolean):1046:1046 -> addCornerBorder 1:1:android.graphics.Bitmap addImageWatermark(android.graphics.Bitmap,android.graphics.Bitmap,int,int,int):1256:1256 -> addImageWatermark 2:10:android.graphics.Bitmap addImageWatermark(android.graphics.Bitmap,android.graphics.Bitmap,int,int,int,boolean):1276:1284 -> addImageWatermark 1:1:android.graphics.Bitmap addReflection(android.graphics.Bitmap,int):1149:1149 -> addReflection 2:25:android.graphics.Bitmap addReflection(android.graphics.Bitmap,int,boolean):1163:1186 -> addReflection 1:1:android.graphics.Bitmap addTextWatermark(android.graphics.Bitmap,java.lang.String,int,int,float,float):1207:1207 -> addTextWatermark 2:11:android.graphics.Bitmap addTextWatermark(android.graphics.Bitmap,java.lang.String,float,int,float,float,boolean):1229:1238 -> addTextWatermark 1:4:byte[] bitmap2Bytes(android.graphics.Bitmap):89:92 -> bitmap2Bytes 5:7:byte[] bitmap2Bytes(android.graphics.Bitmap,android.graphics.Bitmap$CompressFormat,int):106:108 -> bitmap2Bytes 1:1:android.graphics.drawable.Drawable bitmap2Drawable(android.graphics.Bitmap):163:163 -> bitmap2Drawable 1:3:android.graphics.Bitmap bytes2Bitmap(byte[]):118:120 -> bytes2Bitmap 1:1:android.graphics.drawable.Drawable bytes2Drawable(byte[]):194:194 -> bytes2Drawable 1:9:java.lang.String bytes2HexString(byte[],boolean):2010:2018 -> bytes2HexString 1:2:int calculateInSampleSize(android.graphics.BitmapFactory$Options,int,int):2370:2371 -> calculateInSampleSize 1:7:int calculateInSampleSize2(android.graphics.BitmapFactory$Options,int,int):2384:2390 -> calculateInSampleSize2 1:8:int calculateInSampleSize3(android.graphics.BitmapFactory$Options,int,int):2400:2407 -> calculateInSampleSize3 1:21:int calculateInSampleSize4(int,int):2447:2467 -> calculateInSampleSize4 1:22:int calculateLubanSampleSize(java.lang.String):2421:2442 -> calculateLubanSampleSize 1:1:android.graphics.Bitmap clip(android.graphics.Bitmap,int,int,int,int):571:571 -> clip 2:4:android.graphics.Bitmap clip(android.graphics.Bitmap,int,int,int,int,boolean):591:593 -> clip 1:38:android.graphics.Bitmap compress(android.graphics.Bitmap):2208:2245 -> compress 39:40:android.graphics.Bitmap compress(android.graphics.Bitmap):2241:2242 -> compress 41:45:android.graphics.Bitmap compress(byte[]):2251:2255 -> compress 1:1:byte[] compressByQuality(android.graphics.Bitmap,int):2122:2122 -> compressByQuality 2:6:byte[] compressByQuality(android.graphics.Bitmap,int,boolean):2136:2140 -> compressByQuality 7:7:byte[] compressByQuality(android.graphics.Bitmap,long):2152:2152 -> compressByQuality 8:46:byte[] compressByQuality(android.graphics.Bitmap,long,boolean):2166:2166 -> compressByQuality 1:1:android.graphics.Bitmap compressBySampleSize(android.graphics.Bitmap,int):2267:2267 -> compressBySampleSize 2:13:android.graphics.Bitmap compressBySampleSize(android.graphics.Bitmap,int,boolean):2281:2292 -> compressBySampleSize 14:14:android.graphics.Bitmap compressBySampleSize(android.graphics.Bitmap,int,int):2306:2306 -> compressBySampleSize 15:25:android.graphics.Bitmap compressBySampleSize(android.graphics.Bitmap,int,int,boolean):2322:2332 -> compressBySampleSize 26:27:byte[] compressBySampleSize(android.graphics.Bitmap,int,int,long,boolean):2476:2477 -> compressBySampleSize 1:1:android.graphics.Bitmap compressByScale(android.graphics.Bitmap,int,int):2064:2064 -> compressByScale 2:2:android.graphics.Bitmap compressByScale(android.graphics.Bitmap,int,int,boolean):2080:2080 -> compressByScale 3:3:android.graphics.Bitmap compressByScale(android.graphics.Bitmap,float,float):2094:2094 -> compressByScale 4:4:android.graphics.Bitmap compressByScale(android.graphics.Bitmap,float,float,boolean):2110:2110 -> compressByScale 1:1:int computeBitmapSimple(int,int):2641:2641 -> computeBitmapSimple 1:52:android.graphics.Bitmap createBitmapFromPath(java.lang.String,int,int):2543:2594 -> createBitmapFromPath 53:53:android.graphics.Bitmap createBitmapFromPath(java.lang.String,int,int):2591:2591 -> createBitmapFromPath 54:56:android.graphics.Bitmap createBitmapFromPath(java.lang.String,int,int):2587:2589 -> createBitmapFromPath 57:74:android.graphics.Bitmap createBitmapFromPath(byte[],int,int):2604:2621 -> createBitmapFromPath 75:76:android.graphics.Bitmap createBitmapFromPath(byte[],int,int):2617:2618 -> createBitmapFromPath 1:6:boolean createFileByDeleteOldFile(java.io.File):1889:1894 -> createFileByDeleteOldFile 1:1:boolean createOrExistsDir(java.io.File):1899:1899 -> createOrExistsDir 1:27:android.graphics.BitmapFactory$Options detectOpt(byte[],int,int):2487:2513 -> detectOpt 28:28:android.graphics.BitmapFactory$Options detectOpt(byte[]):2526:2526 -> detectOpt 1:1:android.graphics.Bitmap drawColor(android.graphics.Bitmap,int):471:471 -> drawColor 2:5:android.graphics.Bitmap drawColor(android.graphics.Bitmap,int,boolean):485:488 -> drawColor 1:16:android.graphics.Bitmap drawable2Bitmap(android.graphics.drawable.Drawable):131:146 -> drawable2Bitmap 17:17:android.graphics.Bitmap drawable2Bitmap(android.graphics.drawable.Drawable):144:144 -> drawable2Bitmap 18:18:android.graphics.Bitmap drawable2Bitmap(android.graphics.drawable.Drawable):140:140 -> drawable2Bitmap 19:32:android.graphics.Bitmap drawable2Bitmap(android.graphics.drawable.Drawable):139:152 -> drawable2Bitmap 1:1:byte[] drawable2Bytes(android.graphics.drawable.Drawable):173:173 -> drawable2Bytes 2:2:byte[] drawable2Bytes(android.graphics.drawable.Drawable,android.graphics.Bitmap$CompressFormat,int):184:184 -> drawable2Bytes 1:1:android.graphics.Bitmap fastBlur(android.graphics.Bitmap,float,float):1359:1359 -> fastBlur 2:2:android.graphics.Bitmap fastBlur(android.graphics.Bitmap,float,float,boolean):1379:1379 -> fastBlur 3:28:android.graphics.Bitmap fastBlur(android.graphics.Bitmap,float,float,boolean,boolean):1402:1427 -> fastBlur 29:29:android.graphics.Bitmap fastBlur(android.graphics.Bitmap,float,float,boolean,boolean):1422:1422 -> fastBlur 1:1:android.graphics.Bitmap getBitmap(java.io.File):240:240 -> getBitmap 2:7:android.graphics.Bitmap getBitmap(java.io.File,int,int):253:258 -> getBitmap 8:8:android.graphics.Bitmap getBitmap(java.lang.String):269:269 -> getBitmap 9:14:android.graphics.Bitmap getBitmap(java.lang.String,int,int):282:287 -> getBitmap 15:20:android.graphics.Bitmap getBitmap(java.lang.String,int):291:296 -> getBitmap 21:21:android.graphics.Bitmap getBitmap(java.io.InputStream):307:307 -> getBitmap 22:27:android.graphics.Bitmap getBitmap(java.io.InputStream,int,int):320:325 -> getBitmap 28:29:android.graphics.Bitmap getBitmap(byte[],int):336:337 -> getBitmap 30:36:android.graphics.Bitmap getBitmap(byte[],int,int,int):353:359 -> getBitmap 37:43:android.graphics.Bitmap getBitmap(int):398:404 -> getBitmap 44:49:android.graphics.Bitmap getBitmap(int):403:408 -> getBitmap 50:56:android.graphics.Bitmap getBitmap(int,int,int):423:429 -> getBitmap 57:57:android.graphics.Bitmap getBitmap(java.io.FileDescriptor):440:440 -> getBitmap 58:63:android.graphics.Bitmap getBitmap(java.io.FileDescriptor,int,int):455:460 -> getBitmap 1:7:android.graphics.Bitmap getBitmapByX(byte[]):363:369 -> getBitmapByX 8:13:android.graphics.Bitmap getBitmapByX(java.lang.String):373:378 -> getBitmapByX 14:19:android.graphics.Bitmap getBitmapByX(java.io.InputStream):383:388 -> getBitmapByX 1:4:java.io.File getFileByPath(java.lang.String):1796:1799 -> getFileByPath 1:1:ai.neuvision.kit.data.doodle.util.image.ImageUtils$ImageType getImageType(java.lang.String):1940:1940 -> getImageType 2:15:ai.neuvision.kit.data.doodle.util.image.ImageUtils$ImageType getImageType(java.io.File):1953:1966 -> getImageType 16:16:ai.neuvision.kit.data.doodle.util.image.ImageUtils$ImageType getImageType(java.io.File):1963:1963 -> getImageType 17:24:ai.neuvision.kit.data.doodle.util.image.ImageUtils$ImageType getImageType(java.io.File):1959:1966 -> getImageType 25:30:ai.neuvision.kit.data.doodle.util.image.ImageUtils$ImageType getImageType(java.io.File):1963:1968 -> getImageType 31:34:ai.neuvision.kit.data.doodle.util.image.ImageUtils$ImageType getImageType(java.io.InputStream):1975:1978 -> getImageType 35:51:ai.neuvision.kit.data.doodle.util.image.ImageUtils$ImageType getImageType(byte[]):1984:2000 -> getImageType 52:52:ai.neuvision.kit.data.doodle.util.image.ImageUtils$ImageType getImageType(byte[]):1998:1998 -> getImageType 53:53:ai.neuvision.kit.data.doodle.util.image.ImageUtils$ImageType getImageType(byte[]):1992:1992 -> getImageType 1:2:int getRotateDegree(java.lang.String):720:721 -> getRotateDegree 3:30:int getRotateDegree(byte[]):742:769 -> getRotateDegree 31:37:int getRotateDegree(byte[]):760:760 -> getRotateDegree 1:1:int[] getSize(java.lang.String):2342:2342 -> getSize 2:6:int[] getSize(java.io.File):2352:2356 -> getSize 1:1:boolean isBMP(byte[]):2041:2041 -> isBMP 1:1:boolean isEmptyBitmap(android.graphics.Bitmap):2046:2046 -> isEmptyBitmap 1:1:boolean isGIF(byte[]):2026:2026 -> isGIF 1:4:boolean isImage(java.io.File):1910:1913 -> isImage 5:8:boolean isImage(java.lang.String):1924:1927 -> isImage 1:1:boolean isJPEG(byte[]):2021:2021 -> isJPEG 1:1:boolean isPNG(byte[]):2033:2033 -> isPNG 1:56:int[] optimizeMaxSizeByView(android.view.View,int,int):2653:2708 -> optimizeMaxSizeByView 1:1:android.graphics.Bitmap renderScriptBlur(android.graphics.Bitmap,float):1443:1443 -> renderScriptBlur 2:20:android.graphics.Bitmap renderScriptBlur(android.graphics.Bitmap,float,boolean):1461:1479 -> renderScriptBlur 1:1:android.graphics.Bitmap rotate(android.graphics.Bitmap,int,java.lang.Boolean):669:669 -> rotate 2:2:android.graphics.Bitmap rotate(android.graphics.Bitmap,int,float,float):685:685 -> rotate 3:8:android.graphics.Bitmap rotate(android.graphics.Bitmap,int,float,float,boolean):703:708 -> rotate 1:4:android.graphics.Bitmap rotateBitmapByExif(android.graphics.Bitmap,java.lang.String,boolean):2714:2717 -> rotateBitmapByExif 1:1:boolean save(android.graphics.Bitmap,java.lang.String,android.graphics.Bitmap$CompressFormat):1710:1710 -> save 2:13:boolean save(byte[],java.lang.String):1716:1727 -> save 14:21:boolean save(byte[],java.lang.String):1720:1727 -> save 22:27:boolean save(byte[],java.lang.String):1725:1730 -> save 28:28:boolean save(android.graphics.Bitmap,java.io.File,android.graphics.Bitmap$CompressFormat):1741:1741 -> save 29:29:boolean save(android.graphics.Bitmap,java.lang.String,android.graphics.Bitmap$CompressFormat,boolean):1757:1757 -> save 30:30:boolean save(android.graphics.Bitmap,java.io.File,android.graphics.Bitmap$CompressFormat,boolean):1773:1773 -> save 31:31:boolean save(android.graphics.Bitmap,java.lang.String,android.graphics.Bitmap$CompressFormat,int):1792:1792 -> save 32:32:boolean save(android.graphics.Bitmap,java.io.File,android.graphics.Bitmap$CompressFormat,int):1813:1813 -> save 33:33:boolean save(android.graphics.Bitmap,java.lang.String,android.graphics.Bitmap$CompressFormat,int,boolean):1834:1834 -> save 34:60:boolean save(android.graphics.Bitmap,java.io.File,android.graphics.Bitmap$CompressFormat,int,boolean):1855:1881 -> save 61:70:boolean save(android.graphics.Bitmap,java.io.File,android.graphics.Bitmap$CompressFormat,int,boolean):1874:1883 -> save 1:1:android.graphics.Bitmap scale(android.graphics.Bitmap,int,int):501:501 -> scale 2:4:android.graphics.Bitmap scale(android.graphics.Bitmap,int,int,boolean):517:519 -> scale 5:5:android.graphics.Bitmap scale(android.graphics.Bitmap,float,float):532:532 -> scale 6:10:android.graphics.Bitmap scale(android.graphics.Bitmap,float,float,boolean):548:552 -> scale 1:1:android.graphics.Bitmap skew(android.graphics.Bitmap,float,float):606:606 -> skew 2:2:android.graphics.Bitmap skew(android.graphics.Bitmap,float,float,boolean):622:622 -> skew 3:3:android.graphics.Bitmap skew(android.graphics.Bitmap,float,float,float,float):640:640 -> skew 4:8:android.graphics.Bitmap skew(android.graphics.Bitmap,float,float,float,float,boolean):660:664 -> skew 1:1:android.graphics.Bitmap stackBlur(android.graphics.Bitmap,int):1491:1491 -> stackBlur 2:194:android.graphics.Bitmap stackBlur(android.graphics.Bitmap,int,boolean):1503:1695 -> stackBlur 1:1:android.graphics.Bitmap toAlpha(android.graphics.Bitmap):1295:1295 -> toAlpha 2:4:android.graphics.Bitmap toAlpha(android.graphics.Bitmap,java.lang.Boolean):1306:1308 -> toAlpha 1:1:android.graphics.Bitmap toGray(android.graphics.Bitmap):1319:1319 -> toGray 2:11:android.graphics.Bitmap toGray(android.graphics.Bitmap,boolean):1330:1339 -> toGray 1:1:android.graphics.Bitmap toRound(android.graphics.Bitmap):792:792 -> toRound 2:2:android.graphics.Bitmap toRound(android.graphics.Bitmap,boolean):803:803 -> toRound 3:3:android.graphics.Bitmap toRound(android.graphics.Bitmap,int,int):817:817 -> toRound 4:31:android.graphics.Bitmap toRound(android.graphics.Bitmap,int,int,boolean):833:860 -> toRound 1:1:android.graphics.Bitmap toRoundCorner(android.graphics.Bitmap,float):872:872 -> toRoundCorner 2:2:android.graphics.Bitmap toRoundCorner(android.graphics.Bitmap,float,boolean):886:886 -> toRoundCorner 3:3:android.graphics.Bitmap toRoundCorner(android.graphics.Bitmap,float,float,int):902:902 -> toRoundCorner 4:4:android.graphics.Bitmap toRoundCorner(android.graphics.Bitmap,float[],float,int):918:918 -> toRoundCorner 5:6:android.graphics.Bitmap toRoundCorner(android.graphics.Bitmap,float,float,int,boolean):936:937 -> toRoundCorner 7:29:android.graphics.Bitmap toRoundCorner(android.graphics.Bitmap,float[],float,int,boolean):955:977 -> toRoundCorner 1:21:android.graphics.Bitmap view2Bitmap(android.view.View):205:225 -> view2Bitmap 22:24:android.graphics.Bitmap view2Bitmap(android.view.View):212:212 -> view2Bitmap 26:34:android.graphics.Bitmap view2Bitmap(android.view.View):214:222 -> view2Bitmap 35:45:android.graphics.Bitmap view2Bitmap(android.view.View):218:228 -> view2Bitmap ai.neuvision.kit.data.doodle.util.image.ImageUtils$ImageType -> ai.neuvision.kit.data.doodle.util.image.ImageUtils$ImageType: 1:15:void ():2724:2738 -> 16:16:void ():2723:2723 -> 1:2:void (java.lang.String,int,java.lang.String):2742:2743 -> 1:1:java.lang.String getValue():2747:2747 -> getValue 1:1:ai.neuvision.kit.data.doodle.util.image.ImageUtils$ImageType valueOf(java.lang.String):2723:2723 -> valueOf 1:1:ai.neuvision.kit.data.doodle.util.image.ImageUtils$ImageType[] values():2723:2723 -> values ai.neuvision.kit.live.NeuLive -> ai.neuvision.kit.live.NeuLive: ai.neuvision.kit.live.codec.audio.OnAudioDataAvailableListener audioDataAvailableListener -> x java.lang.String mPushUrl -> j boolean mIsRunning -> k android.app.Activity mActivity -> l int mState -> d int mAudioSource -> b boolean isAudioPrepared -> q ai.neuvision.kit.live.constants.LiveStatus$Orientation mScreenOrientation -> e ai.neuvision.kit.live.codec.video.OnVideoDataAvailableListener videoDataAvailableListener -> y java.util.concurrent.CopyOnWriteArraySet mLiveListeners -> z ai.neuvision.kit.live.codec.video.AbsVideoRecorder mVideoRecorder -> g int failCnt -> w ai.neuvision.kit.live.context.VideoContext mVideoContext -> o java.lang.String mRoomId -> c ai.neuvision.kit.live.rtmp.OnConnectListener mRtmpConnectListener -> r android.media.AudioManager mAudioManager -> n int mScreenWidth -> s ai.neuvision.kit.live.view.BaseTextureView mTextureView -> m ai.neuvision.kit.live.entry.ResolutionType mResolutionType -> u boolean isVideoPrepared -> p ai.neuvision.kit.live.codec.LiveRecorderFactory mRecorderFactory -> i int mVideoSource -> a ai.neuvision.kit.live.codec.audio.AbsAudioRecorder mAudioRecorder -> h ai.neuvision.sdk.pipline.impl.EventPipeline liveThread -> v int mScreenHeight -> t ai.neuvision.kit.live.rtmp.RtmpPusher mRtmpPusher -> f 1:1:void ():88:88 -> 2:690:void ():58:746 -> 691:696:void ():89:94 -> 1:4:void lambda$onNetworkStateChange$0(android.net.NetworkInfo):107:110 -> a 5:48:void stopPushStream(java.lang.String,boolean):180:223 -> a 49:53:kotlin.Unit lambda$onActivityResult$1(java.lang.Integer):232:236 -> a 54:61:kotlin.Unit lambda$prepareVideoSource$2(ai.neuvision.kit.live.codec.video.AbsVideoRecorder):252:259 -> a 62:113:void connectRtmpServer(java.lang.String):494:545 -> a 114:114:void connectRtmpServer(java.lang.String):496:496 -> a 115:121:void lambda$refreshPushUrl$3():551:557 -> a 122:193:void initLiveByWH():598:669 -> a 122:193:void lambda$refreshPushUrl$3():561 -> a 194:194:void initLiveByWH():599:599 -> a 194:194:void lambda$refreshPushUrl$3():561 -> a 195:199:void lambda$refreshPushUrl$3():565:569 -> a 200:228:void reGenerateVideoContext(ai.neuvision.kit.live.entry.LiveEntry):382:410 -> a 200:228:void lambda$refreshPushUrl$3():570 -> a 229:233:void lambda$refreshPushUrl$3():577:581 -> a 234:295:void prepareAudioSource():317:378 -> a 234:295:void lambda$refreshPushUrl$3():585 -> a 296:299:void lambda$refreshPushUrl$3():586:589 -> a 300:301:void lambda$refreshPushUrl$3():573:574 -> a 302:304:void onLiveError(int,java.lang.String,boolean):758:760 -> a 302:304:void onLiveError(int,java.lang.String):754 -> a 305:307:void onLiveError(int,java.lang.String,boolean):758:760 -> a 308:308:void lambda$onStateChanged$4(int,int,java.lang.String,ai.neuvision.kit.live.ILiveStatusListener):769:769 -> a 309:309:void onStateChanged(int,int,java.lang.String):769:769 -> a 310:311:void dispatch(ai.neuvision.kit.live.NeuLive$IDispatch):774:775 -> a 310:311:void onStateChanged(int,int,java.lang.String):769 -> a 1:3:void pausePushStream(java.lang.String):169:171 -> b 4:4:void prepareVideoSource():251:251 -> b 5:5:void updateLiveState(int,java.lang.String):749:749 -> b 6:6:void onStateChanged(int,java.lang.String):765:765 -> b 6:6:void updateLiveState(int,java.lang.String):750 -> b 1:1:void refreshPushUrl():550:550 -> c 1:1:int getLiveState():464:464 -> getLiveState 1:1:java.lang.String getPushUrl():473:473 -> getPushUrl 1:1:java.lang.String getRoomId():469:469 -> getRoomId 1:1:ai.neuvision.kit.live.NeuLive ai.neuvision.kit.live.NeuLive$Holder.access$100():480:480 -> instance 1:1:ai.neuvision.kit.live.NeuLive instance():485 -> instance 1:1:boolean isMicMute():429:429 -> isMicMute 1:1:boolean isRunning():477:477 -> isRunning 1:3:void onActivityResult(android.app.Activity,int,int,android.content.Intent):229:231 -> onActivityResult 1:15:void onNetworkStateChange(android.net.NetworkInfo):101:115 -> onNetworkStateChange 1:2:void onScreenOrientationChanged(android.app.Activity):245:246 -> onScreenOrientationChanged 1:1:void pausePushStream():165:165 -> pausePushStream 1:1:void registerLiveStatusListener(ai.neuvision.kit.live.ILiveStatusListener):789:789 -> registerLiveStatusListener 1:4:void release():415:418 -> release 1:1:void setMicMute(boolean):433:433 -> setMicMute 1:1:void setOrientation(ai.neuvision.kit.live.constants.LiveStatus$Orientation):452:452 -> setOrientation 1:1:void setPushStreamAudioSource(int):126:126 -> setPushStreamAudioSource 1:1:void setPushStreamVideoSource(int):121:121 -> setPushStreamVideoSource 1:1:void setResolute(ai.neuvision.kit.live.entry.ResolutionType):423:423 -> setResolute 1:1:void startPushStream(android.app.Activity,java.lang.String):131:131 -> startPushStream 2:11:void startPushStream(android.app.Activity,java.lang.String,ai.neuvision.kit.live.view.BaseTextureView):136:145 -> startPushStream 12:12:boolean hasPermission(java.lang.String):780:780 -> startPushStream 12:12:void startPushStream(android.app.Activity,java.lang.String,ai.neuvision.kit.live.view.BaseTextureView):146 -> startPushStream 13:18:void startPushStream(android.app.Activity,java.lang.String,ai.neuvision.kit.live.view.BaseTextureView):147:152 -> startPushStream 19:19:boolean hasPermission(java.lang.String):780:780 -> startPushStream 19:19:void startPushStream(android.app.Activity,java.lang.String,ai.neuvision.kit.live.view.BaseTextureView):153 -> startPushStream 20:26:void startPushStream(android.app.Activity,java.lang.String,ai.neuvision.kit.live.view.BaseTextureView):154:160 -> startPushStream 1:1:void stopPushStream():176:176 -> stopPushStream 1:2:void switchCamera(ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing):438:439 -> switchCamera 3:4:void switchCamera():445:446 -> switchCamera 1:1:void unRegisterLiveStatusListener(ai.neuvision.kit.live.ILiveStatusListener):794:794 -> unRegisterLiveStatusListener ai.neuvision.kit.live.NeuLive$1 -> ai.neuvision.kit.live.NeuLive$a: ai.neuvision.kit.live.NeuLive this$0 -> a 1:1:void (ai.neuvision.kit.live.NeuLive):505:505 -> 1:4:void lambda$onConnectFailed$0():534:537 -> a 5:5:void ai.neuvision.kit.live.NeuLive.access$1000(ai.neuvision.kit.live.NeuLive):55:55 -> a 5:5:void lambda$onConnectFailed$0():537 -> a 1:6:void onConnectFailed(ai.neuvision.kit.live.rtmp.RtmpClient,int,java.lang.String):526:531 -> onConnectFailed 7:7:void ai.neuvision.kit.live.NeuLive.onLiveError(int,java.lang.String,boolean):758:758 -> onConnectFailed 7:7:void ai.neuvision.kit.live.NeuLive.access$800(ai.neuvision.kit.live.NeuLive,int,java.lang.String,boolean):55 -> onConnectFailed 7:7:void onConnectFailed(ai.neuvision.kit.live.rtmp.RtmpClient,int,java.lang.String):531 -> onConnectFailed 8:8:void onConnectFailed(ai.neuvision.kit.live.rtmp.RtmpClient,int,java.lang.String):532:532 -> onConnectFailed 9:9:ai.neuvision.sdk.pipline.impl.EventPipeline ai.neuvision.kit.live.NeuLive.access$900(ai.neuvision.kit.live.NeuLive):55:55 -> onConnectFailed 9:9:void onConnectFailed(ai.neuvision.kit.live.rtmp.RtmpClient,int,java.lang.String):532 -> onConnectFailed 10:10:void onConnectFailed(ai.neuvision.kit.live.rtmp.RtmpClient,int,java.lang.String):532:532 -> onConnectFailed 1:3:void onConnected(ai.neuvision.kit.live.rtmp.RtmpClient):508:510 -> onConnected 4:4:void ai.neuvision.kit.live.NeuLive.updateLiveState(int,java.lang.String):749:749 -> onConnected 4:4:void ai.neuvision.kit.live.NeuLive.access$200(ai.neuvision.kit.live.NeuLive,int,java.lang.String):55 -> onConnected 4:4:void onConnected(ai.neuvision.kit.live.rtmp.RtmpClient):510 -> onConnected 5:5:void ai.neuvision.kit.live.NeuLive.onStateChanged(int,java.lang.String):765:765 -> onConnected 5:5:void ai.neuvision.kit.live.NeuLive.updateLiveState(int,java.lang.String):750 -> onConnected 5:5:void ai.neuvision.kit.live.NeuLive.access$200(ai.neuvision.kit.live.NeuLive,int,java.lang.String):55 -> onConnected 5:5:void onConnected(ai.neuvision.kit.live.rtmp.RtmpClient):510 -> onConnected 6:6:void onConnected(ai.neuvision.kit.live.rtmp.RtmpClient):511:511 -> onConnected 7:7:java.lang.String ai.neuvision.kit.live.NeuLive.access$300(ai.neuvision.kit.live.NeuLive):55:55 -> onConnected 7:7:void onConnected(ai.neuvision.kit.live.rtmp.RtmpClient):511 -> onConnected 8:9:void onConnected(ai.neuvision.kit.live.rtmp.RtmpClient):511:512 -> onConnected 10:10:ai.neuvision.kit.live.codec.video.AbsVideoRecorder ai.neuvision.kit.live.NeuLive.access$400(ai.neuvision.kit.live.NeuLive):55:55 -> onConnected 10:10:void onConnected(ai.neuvision.kit.live.rtmp.RtmpClient):512 -> onConnected 11:12:void onConnected(ai.neuvision.kit.live.rtmp.RtmpClient):513:514 -> onConnected 13:13:ai.neuvision.kit.live.constants.LiveStatus$Orientation ai.neuvision.kit.live.NeuLive.access$500(ai.neuvision.kit.live.NeuLive):55:55 -> onConnected 13:13:void onConnected(ai.neuvision.kit.live.rtmp.RtmpClient):514 -> onConnected 14:14:ai.neuvision.kit.live.context.VideoContext ai.neuvision.kit.live.NeuLive.access$600(ai.neuvision.kit.live.NeuLive):55:55 -> onConnected 14:14:void onConnected(ai.neuvision.kit.live.rtmp.RtmpClient):514 -> onConnected 15:20:void onConnected(ai.neuvision.kit.live.rtmp.RtmpClient):514:519 -> onConnected 21:21:ai.neuvision.kit.live.codec.audio.AbsAudioRecorder ai.neuvision.kit.live.NeuLive.access$700(ai.neuvision.kit.live.NeuLive):55:55 -> onConnected 21:21:void onConnected(ai.neuvision.kit.live.rtmp.RtmpClient):519 -> onConnected 22:22:void onConnected(ai.neuvision.kit.live.rtmp.RtmpClient):520:520 -> onConnected ai.neuvision.kit.live.NeuLive$2 -> ai.neuvision.kit.live.NeuLive$b: ai.neuvision.kit.live.NeuLive this$0 -> a 1:1:void (ai.neuvision.kit.live.NeuLive):675:675 -> 1:1:void onAudioData(byte[]):692:692 -> onAudioData 2:2:ai.neuvision.kit.live.rtmp.RtmpPusher ai.neuvision.kit.live.NeuLive.access$1100(ai.neuvision.kit.live.NeuLive):55:55 -> onAudioData 2:2:void onAudioData(byte[]):692 -> onAudioData 3:6:void onAudioData(byte[]):695:698 -> onAudioData 1:4:void onFormatChange(android.media.MediaFormat):678:681 -> onFormatChange 5:5:ai.neuvision.kit.live.rtmp.RtmpPusher ai.neuvision.kit.live.NeuLive.access$1100(ai.neuvision.kit.live.NeuLive):55:55 -> onFormatChange 5:5:void onFormatChange(android.media.MediaFormat):681 -> onFormatChange 6:10:void onFormatChange(android.media.MediaFormat):683:687 -> onFormatChange ai.neuvision.kit.live.NeuLive$3 -> ai.neuvision.kit.live.NeuLive$c: ai.neuvision.kit.live.NeuLive this$0 -> a 1:1:void (ai.neuvision.kit.live.NeuLive):706:706 -> 1:14:void onFormatChanged(android.media.MediaFormat):710:723 -> onFormatChanged 15:15:ai.neuvision.kit.live.rtmp.RtmpPusher ai.neuvision.kit.live.NeuLive.access$1100(ai.neuvision.kit.live.NeuLive):55:55 -> onFormatChanged 15:15:void onFormatChanged(android.media.MediaFormat):723 -> onFormatChanged 16:20:void onFormatChanged(android.media.MediaFormat):725:729 -> onFormatChanged 1:1:void onFrame(boolean,byte[]):734:734 -> onFrame 2:2:ai.neuvision.kit.live.rtmp.RtmpPusher ai.neuvision.kit.live.NeuLive.access$1100(ai.neuvision.kit.live.NeuLive):55:55 -> onFrame 2:2:void onFrame(boolean,byte[]):734 -> onFrame 3:6:void onFrame(boolean,byte[]):736:739 -> onFrame ai.neuvision.kit.live.NeuLive$Holder -> ai.neuvision.kit.live.NeuLive$d: ai.neuvision.kit.live.NeuLive INSTANCE -> a 1:1:void ():481:481 -> 2:2:void ai.neuvision.kit.live.NeuLive.(ai.neuvision.kit.live.NeuLive$1):55:55 -> 2:2:void ():481 -> 3:3:void ():481:481 -> ai.neuvision.kit.live.NeuLive$IDispatch -> ai.neuvision.kit.live.NeuLive$e: void dispatch(ai.neuvision.kit.live.ILiveStatusListener) -> a ai.neuvision.kit.live.codec.CodecHelper -> ai.neuvision.kit.live.codec.CodecHelper: 1:1:void ():19:19 -> 1:1:void ():19:19 -> 1:1:void ():19 -> 1:247:android.media.MediaCodecInfo getCodecInfo(java.lang.String,boolean,java.lang.String):51:297 -> a 248:494:android.media.MediaCodecInfo getCodecInfo(java.lang.String,boolean,java.lang.String):52:298 -> a 495:495:android.media.MediaCodecInfo getCodecInfo(java.lang.String,boolean,java.lang.String):53:53 -> a 1:46:java.nio.ByteBuffer createCSD0(java.nio.ByteBuffer):202:247 -> createCSD0 47:80:java.nio.ByteBuffer createCSD0(java.nio.ByteBuffer):234:267 -> createCSD0 1:8:android.media.MediaFormat createMediaFormat(ai.neuvision.kit.live.context.VideoContext):23:23 -> createMediaFormat 1:6:int findNextNaluStart(byte[],int):272:277 -> findNextNaluStart 1:118:java.util.List getVideoDecoders(java.lang.String):188:305 -> getVideoDecoders 119:236:java.util.List getVideoDecoders(java.lang.String):190:190 -> getVideoDecoders 237:238:java.util.List getVideoDecoders(java.lang.String):191:192 -> getVideoDecoders 1:127:java.util.List getVideoEncoders(java.lang.String):175:301 -> getVideoEncoders 128:254:java.util.List getVideoEncoders(java.lang.String):177:177 -> getVideoEncoders 255:257:java.util.List getVideoEncoders(java.lang.String):178:180 -> getVideoEncoders 1:1:boolean isNalu(byte[],int):283:283 -> isNalu 2:3:boolean isNalu(byte[],int):282:283 -> isNalu 1:1:android.media.MediaCodecInfo getCodecInfo$default(ai.neuvision.kit.live.codec.CodecHelper,java.lang.String,boolean,java.lang.String,int,java.lang.Object):50:50 -> isSupportEncoder 1:1:boolean isSupportEncoder(java.lang.String):165 -> isSupportEncoder 2:2:boolean isSupportEncoder(java.lang.String):167:167 -> isSupportEncoder ai.neuvision.kit.live.codec.LiveRecorder -> ai.neuvision.kit.live.codec.LiveRecorder: ai.neuvision.kit.live.utils.Metrix mInternalMetrix -> a 1:2:void ():14:15 -> 1:1:ai.neuvision.kit.live.utils.Metrix getMInternalMetrix():15:15 -> getMInternalMetrix 1:1:void setMInternalMetrix(ai.neuvision.kit.live.utils.Metrix):15:15 -> setMInternalMetrix 1:1:void startMetrix():18:18 -> startMetrix 1:3:void stopMetrix():27:29 -> stopMetrix ai.neuvision.kit.live.codec.LiveRecorder$Companion -> ai.neuvision.kit.live.codec.LiveRecorder$Companion: 1:1:void ():32:32 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):32:32 -> 1:2:short[] bytesToShort(byte[]):34:35 -> bytesToShort 1:2:byte[] shortToBytes(short[]):40:41 -> shortToBytes ai.neuvision.kit.live.codec.LiveRecorder$startMetrix$1 -> ai.neuvision.kit.live.codec.LiveRecorder$a: ai.neuvision.kit.live.codec.LiveRecorder this$0 -> a 1:4:void onMeasure(ai.neuvision.kit.live.utils.Metrix):19:22 -> onMeasure ai.neuvision.kit.live.codec.LiveRecorderFactory -> ai.neuvision.kit.live.codec.LiveRecorderFactory: ai.neuvision.kit.live.codec.video.CameraRecorder cameraRecorder -> c ai.neuvision.kit.live.codec.audio.AbsAudioRecorder customAudioRecorder -> b ai.neuvision.kit.live.codec.video.AbsVideoRecorder customVideoRecorder -> a 1:15:void ():18:32 -> 1:1:ai.neuvision.kit.live.codec.audio.AbsAudioRecorder getAudioRecorder(int,ai.neuvision.kit.live.codec.audio.OnAudioDataAvailableListener):78:78 -> getAudioRecorder 2:3:ai.neuvision.kit.live.codec.audio.AbsAudioRecorder getAudioRecorder(int,ai.neuvision.kit.live.codec.audio.OnAudioDataAvailableListener):76:77 -> getAudioRecorder 4:9:ai.neuvision.kit.live.codec.audio.AbsAudioRecorder getAudioRecorder(int,ai.neuvision.kit.live.codec.audio.OnAudioDataAvailableListener):60:65 -> getAudioRecorder 10:10:ai.neuvision.kit.live.codec.audio.AbsAudioRecorder getAudioRecorder(int,ai.neuvision.kit.live.codec.audio.OnAudioDataAvailableListener):61:61 -> getAudioRecorder 11:32:ai.neuvision.kit.live.codec.audio.AbsAudioRecorder getAudioRecorder(int,ai.neuvision.kit.live.codec.audio.OnAudioDataAvailableListener):59:80 -> getAudioRecorder 33:33:ai.neuvision.kit.live.codec.audio.AbsAudioRecorder getAudioRecorder(int,ai.neuvision.kit.live.codec.audio.OnAudioDataAvailableListener):79:79 -> getAudioRecorder 1:4:ai.neuvision.kit.live.codec.video.AbsVideoRecorder getVideoRecorder(int,ai.neuvision.kit.live.codec.video.OnVideoDataAvailableListener,kotlin.jvm.functions.Function1):42:45 -> getVideoRecorder 5:5:ai.neuvision.kit.live.codec.video.AbsVideoRecorder getVideoRecorder(int,ai.neuvision.kit.live.codec.video.OnVideoDataAvailableListener,kotlin.jvm.functions.Function1):41:41 -> getVideoRecorder 6:15:ai.neuvision.kit.live.codec.video.AbsVideoRecorder getVideoRecorder(int,ai.neuvision.kit.live.codec.video.OnVideoDataAvailableListener,kotlin.jvm.functions.Function1):40:49 -> getVideoRecorder 1:1:void recreateCamera():85:85 -> recreateCamera 1:4:void release():89:92 -> release 1:1:void setCustomAudioSource(ai.neuvision.kit.live.codec.audio.AbsAudioRecorder):28:28 -> setCustomAudioSource 1:1:void setCustomVideoSource(ai.neuvision.kit.live.codec.video.AbsVideoRecorder):24:24 -> setCustomVideoSource ai.neuvision.kit.live.codec.LiveRecorderFactory$getAudioRecorder$1 -> ai.neuvision.kit.live.codec.LiveRecorderFactory$getAudioRecorder$1: 1:1:void ():67:67 -> ai.neuvision.kit.live.codec.audio.AbsAudioRecorder -> ai.neuvision.kit.live.codec.audio.AbsAudioRecorder: ai.neuvision.kit.live.codec.audio.OnAudioDataAvailableListener listener -> b 1:1:void ():15:15 -> 1:2:void close():28:29 -> close 1:1:android.media.MediaCodec$BufferInfo getBufferInfo():38:38 -> getBufferInfo 1:1:ai.neuvision.kit.live.codec.audio.OnAudioDataAvailableListener getListener():17:17 -> getListener 1:3:void sendData(byte[]):33:35 -> sendData 1:1:void setAudioDataListener(ai.neuvision.kit.live.codec.audio.OnAudioDataAvailableListener):20:20 -> setAudioDataListener 1:1:void setListener(ai.neuvision.kit.live.codec.audio.OnAudioDataAvailableListener):17:17 -> setListener ai.neuvision.kit.live.codec.audio.AudioLiveRecorder -> ai.neuvision.kit.live.codec.audio.AudioLiveRecorder: android.media.MediaCodec$BufferInfo outputBufferInfo -> k ai.neuvision.kit.audio.YCKMixer mMixer -> f int mSampleRate -> j long audioPts -> h ai.neuvision.kit.audio.CoreRingBuffer mMicRingBuffer -> c boolean mRunning -> e android.media.MediaCodec mMediaCodec -> i android.util.LongSparseArray array -> l ai.neuvision.sdk.pipline.Pipeline mPipeline -> g ai.neuvision.kit.audio.CoreRingBuffer mOtherRingBuffer -> d 1:1:void ():51:51 -> 2:107:void ():43:148 -> 1:3:void lambda$stop$2():138:140 -> a 4:9:void encode(ai.neuvision.kit.audio.AudioFrameShort):202:207 -> a 10:21:void encode(byte[],int):212:223 -> a 22:22:long getAudioPts(int,int):232:232 -> a 22:22:void encode(byte[],int):224 -> a 23:23:void encode(byte[],int):225:225 -> a 24:51:void dequeue():237:264 -> a 24:51:void encode(byte[],int):226 -> a 1:1:void lambda$onOtherAudioDataAvailable$1(ai.neuvision.kit.audio.AudioFrameShort):72:72 -> b 2:36:void read():151:185 -> b 1:1:void lambda$onRecordAudioAvailable$0(ai.neuvision.kit.audio.AudioFrameShort):61:61 -> c 1:1:android.media.MediaCodec$BufferInfo getBufferInfo():81:81 -> getBufferInfo 1:1:ai.neuvision.kit.live.codec.audio.AudioLiveRecorder ai.neuvision.kit.live.codec.audio.AudioLiveRecorder$Holder.access$100():84:84 -> instance 1:1:ai.neuvision.kit.live.codec.audio.AudioLiveRecorder instance():89 -> instance 1:8:void onOtherAudioDataAvailable(ai.neuvision.kit.audio.AudioFrameShort):68:75 -> onOtherAudioDataAvailable 1:4:void onRecordAudioAvailable(ai.neuvision.kit.audio.AudioFrameShort):57:60 -> onRecordAudioAvailable 1:17:void start():111:127 -> start 18:30:void initCodec(int):93:105 -> start 18:30:void start():127 -> start 31:33:void start():128:130 -> start 34:34:void start():117:117 -> start 1:10:void stop():135:144 -> stop ai.neuvision.kit.live.codec.audio.AudioLiveRecorder$Holder -> ai.neuvision.kit.live.codec.audio.AudioLiveRecorder$a: ai.neuvision.kit.live.codec.audio.AudioLiveRecorder INSTANCE -> a 1:1:void ():85:85 -> 2:2:void ai.neuvision.kit.live.codec.audio.AudioLiveRecorder.(ai.neuvision.kit.live.codec.audio.AudioLiveRecorder$1):35:35 -> 2:2:void ():85 -> 3:3:void ():85:85 -> ai.neuvision.kit.live.codec.audio.AudioMicRecorder -> ai.neuvision.kit.live.codec.audio.AudioMicRecorder: ai.neuvision.sdk.pipline.impl.EventPipeline mPipeLineDequeue -> e int mChannelCount -> n ai.neuvision.sdk.pipline.impl.EventPipeline mPipeLine -> d int mAudioFormat -> l android.media.AudioRecord mAudioRecord -> g int mSampleRateInHz -> j android.media.MediaCodec$BufferInfo mBufferInfo -> m int mChannelConfig -> k int mMinBufferSize -> f android.media.MediaCodec mMediaCodec -> i boolean mRunning -> h int BUFFER_SIZE -> c 1:1:void ():51:51 -> 2:2:void (int,int,int,int):54:54 -> 3:27:void (int,int,int,int):33:57 -> 1:6:void encode(byte[],int):191:196 -> a 7:7:void logE(java.lang.String):280:280 -> a 7:7:void encode(byte[],int):196 -> a 8:14:void encode(byte[],int):199:205 -> a 15:51:void dequeue():236:272 -> a 52:52:void logE(java.lang.String,java.lang.Throwable):284:284 -> a 1:15:void initCodec():159:173 -> b 16:16:void logE(java.lang.String):280:280 -> b 16:16:void initCodec():173 -> b 1:1:void lambda$start$0():118:118 -> c 2:9:void read():179:186 -> c 2:9:void lambda$start$0():119 -> c 1:1:void config(int,int,int,int):69:69 -> config 2:2:void logE(java.lang.String):280:280 -> config 2:2:void config(int,int,int,int):70 -> config 3:26:void config(int,int,int,int):73:96 -> config 27:27:void logE(java.lang.String):280:280 -> config 27:27:void config(int,int,int,int):96 -> config 1:5:void lambda$start$1():124:128 -> d 1:12:void lambda$stop$2():142:153 -> e 1:30:void start():104:133 -> start 1:2:void stop():139:140 -> stop ai.neuvision.kit.live.codec.audio.AudioMimeType -> ai.neuvision.kit.live.codec.audio.AudioMimeType: 1:1:void (java.lang.String,int):9:9 -> ai.neuvision.kit.live.codec.audio.AudioPlayer -> ai.neuvision.kit.live.codec.audio.AudioPlayer: android.media.MediaCodec audioCodec -> c ai.neuvision.kit.live.codec.audio.AudioMimeType input -> g int channelConfig -> f android.media.AudioTrack audioTrack -> b int sampleRate -> e boolean isRunning -> a android.media.MediaCodec$BufferInfo mediaBufferInfo -> d 1:19:void (android.media.AudioManager,int,int,int,ai.neuvision.kit.live.codec.audio.AudioMimeType):16:34 -> 1:1:android.media.MediaCodec access$getAudioCodec$p(ai.neuvision.kit.live.codec.audio.AudioPlayer):16:16 -> access$getAudioCodec$p 1:1:android.media.AudioTrack access$getAudioTrack$p(ai.neuvision.kit.live.codec.audio.AudioPlayer):16:16 -> access$getAudioTrack$p 1:1:void access$setAudioCodec$p(ai.neuvision.kit.live.codec.audio.AudioPlayer,android.media.MediaCodec):16:16 -> access$setAudioCodec$p 1:1:void access$setAudioTrack$p(ai.neuvision.kit.live.codec.audio.AudioPlayer,android.media.AudioTrack):16:16 -> access$setAudioTrack$p 1:5:void close():131:135 -> close 1:1:ai.neuvision.kit.live.codec.audio.AudioMimeType getInput():21:21 -> getInput 1:12:void initAudioDecoder(byte[]):70:81 -> init 1:12:void init(byte[]):39 -> init 13:17:void initAudioDecoder(byte[]):79:83 -> init 13:17:void init(byte[]):39 -> init 1:10:void play(byte[]):53:62 -> play 11:40:void decodeAudioData(byte[],kotlin.jvm.functions.Function1):89:118 -> play 11:40:void play(byte[]):62 -> play 1:6:void start():43:48 -> start 1:3:void stop():124:126 -> stop ai.neuvision.kit.live.codec.audio.AudioPlayer$play$1 -> ai.neuvision.kit.live.codec.audio.AudioPlayer$a: ai.neuvision.kit.live.codec.audio.AudioPlayer this$0 -> a 1:1:java.lang.Object invoke(java.lang.Object):16:16 -> invoke 2:65:void invoke(byte[]):0:63 -> invoke 2:65:java.lang.Object invoke(java.lang.Object):16 -> invoke 66:66:java.lang.Object invoke(java.lang.Object):16:16 -> invoke ai.neuvision.kit.live.codec.audio.AudioRecorder -> ai.neuvision.kit.live.codec.audio.AudioRecorder: ai.neuvision.sdk.pipline.impl.EventPipeline mPipeline -> g int format -> l int sampleRate -> j int channelConfig -> k int bufferSize -> h ai.neuvision.kit.live.rtmp.RtmpPusher$AudioInfo mAudioInfo -> i android.media.MediaCodec audioCodec -> e boolean isRunning -> c android.media.AudioRecord audioRecorder -> d android.media.MediaCodec$BufferInfo mediaBufferInfo -> f ai.neuvision.kit.live.codec.audio.AudioMimeType output -> m 1:32:void (int,int,int,ai.neuvision.kit.live.codec.audio.AudioMimeType):21:52 -> 1:1:android.media.MediaCodec access$getAudioCodec$p(ai.neuvision.kit.live.codec.audio.AudioRecorder):16:16 -> access$getAudioCodec$p 1:1:android.media.AudioRecord access$getAudioRecorder$p(ai.neuvision.kit.live.codec.audio.AudioRecorder):16:16 -> access$getAudioRecorder$p 1:1:int access$getBufferSize$p(ai.neuvision.kit.live.codec.audio.AudioRecorder):16:16 -> access$getBufferSize$p 1:1:boolean access$isRunning$p(ai.neuvision.kit.live.codec.audio.AudioRecorder):16:16 -> access$isRunning$p 1:132:void outputData(byte[]):0:131 -> access$outputData 1:132:void access$outputData(ai.neuvision.kit.live.codec.audio.AudioRecorder,byte[]):16 -> access$outputData 1:1:void access$setAudioCodec$p(ai.neuvision.kit.live.codec.audio.AudioRecorder,android.media.MediaCodec):16:16 -> access$setAudioCodec$p 1:1:void access$setAudioRecorder$p(ai.neuvision.kit.live.codec.audio.AudioRecorder,android.media.AudioRecord):16:16 -> access$setAudioRecorder$p 1:1:void access$setRunning$p(ai.neuvision.kit.live.codec.audio.AudioRecorder,boolean):16:16 -> access$setRunning$p 1:1:ai.neuvision.kit.live.rtmp.RtmpPusher$AudioInfo getAudioInfo():145:145 -> getAudioInfo 1:1:int getChannelConfig():18:18 -> getChannelConfig 1:1:int getFormat():19:19 -> getFormat 1:1:ai.neuvision.kit.live.codec.audio.AudioMimeType getOutput():20:20 -> getOutput 1:1:int getSampleRate():17:17 -> getSampleRate 1:5:void start():57:61 -> start 6:16:void initCodec():79:89 -> start 6:16:void start():62 -> start 17:20:void initCodec():88:91 -> start 17:20:void start():62 -> start 21:23:void start():63:65 -> start 1:4:void stop():139:142 -> stop ai.neuvision.kit.live.codec.audio.AudioRecorder$start$1 -> ai.neuvision.kit.live.codec.audio.AudioRecorder$a: ai.neuvision.kit.live.codec.audio.AudioRecorder this$0 -> a 1:7:void invoke():66:72 -> invoke 1:7:java.lang.Object invoke():16 -> invoke 8:8:java.lang.Object invoke():16:16 -> invoke ai.neuvision.kit.live.codec.decoder.Decoder$Callback$DefaultImpls -> ai.neuvision.kit.live.codec.decoder.Decoder$Callback$DefaultImpls: 1:1:void onSample$default(ai.neuvision.kit.live.codec.decoder.Decoder$Callback,ai.neuvision.kit.live.codec.decoder.Decoder,android.media.MediaCodec$BufferInfo,java.nio.ByteBuffer,int,java.lang.Object):24:24 -> onSample$default 2:2:void onSample$default(ai.neuvision.kit.live.codec.decoder.Decoder$Callback,ai.neuvision.kit.live.codec.decoder.Decoder,android.media.MediaCodec$BufferInfo,java.nio.ByteBuffer,int,java.lang.Object):0:0 -> onSample$default ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl -> ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl: ai.neuvision.kit.live.codec.decoder.Decoder$Callback mCallback -> g java.util.LinkedList decoderList -> m int frameCount -> o java.lang.Object mLock -> h android.media.MediaCodec$BufferInfo mBufferInfo -> k ai.neuvision.kit.live.utils.Metrix metrix -> q boolean mDecoding -> i java.util.LinkedList mEncodeData -> j android.media.MediaFormat mMediaFormat -> b java.lang.String decoderName -> l boolean isConfigured -> s java.lang.String name -> u android.media.MediaCodec mDecoder -> a ai.neuvision.kit.live.wrapper.CameraTextureWrapper mTextureWrapper -> d ai.neuvision.kit.live.view.BaseTextureView renderView -> f android.view.Surface mOutputSurface -> e long failTime -> t long lastQueueInputTime -> n int skipIFrameCount -> r ai.neuvision.sdk.pipline.Pipeline mDecodePipeline -> c long totalTime -> p 1:38:void (java.lang.String):27:64 -> 1:35:void createDecoder(java.lang.String):194:228 -> a 36:52:void createDecoder(java.lang.String):205:221 -> a 53:101:void dequeue():311:359 -> a 1:1:void access$createDecoder(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl,java.lang.String):27:27 -> access$createDecoder 1:1:void access$dequeue(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl):27:27 -> access$dequeue 1:1:java.lang.String access$getDecoderName$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl):27:27 -> access$getDecoderName$p 1:1:int access$getFrameCount$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl):27:27 -> access$getFrameCount$p 1:1:long access$getLastQueueInputTime$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl):27:27 -> access$getLastQueueInputTime$p 1:1:ai.neuvision.kit.live.codec.decoder.Decoder$Callback access$getMCallback$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl):27:27 -> access$getMCallback$p 1:1:boolean access$getMDecoding$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl):27:27 -> access$getMDecoding$p 1:1:java.util.LinkedList access$getMEncodeData$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl):27:27 -> access$getMEncodeData$p 1:1:android.media.MediaFormat access$getMMediaFormat$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl):27:27 -> access$getMMediaFormat$p 1:1:ai.neuvision.kit.live.wrapper.CameraTextureWrapper access$getMTextureWrapper$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl):27:27 -> access$getMTextureWrapper$p 1:1:ai.neuvision.kit.live.utils.Metrix access$getMetrix$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl):27:27 -> access$getMetrix$p 1:1:long access$getTotalTime$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl):27:27 -> access$getTotalTime$p 1:1:void access$setDecoderName$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl,java.lang.String):27:27 -> access$setDecoderName$p 1:1:void access$setFrameCount$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl,int):27:27 -> access$setFrameCount$p 1:1:void access$setLastQueueInputTime$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl,long):27:27 -> access$setLastQueueInputTime$p 1:1:void access$setMCallback$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl,ai.neuvision.kit.live.codec.decoder.Decoder$Callback):27:27 -> access$setMCallback$p 1:1:void access$setMDecoding$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl,boolean):27:27 -> access$setMDecoding$p 1:1:void access$setMEncodeData$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl,java.util.LinkedList):27:27 -> access$setMEncodeData$p 1:1:void access$setMMediaFormat$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl,android.media.MediaFormat):27:27 -> access$setMMediaFormat$p 1:1:void access$setMTextureWrapper$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl,ai.neuvision.kit.live.wrapper.CameraTextureWrapper):27:27 -> access$setMTextureWrapper$p 1:1:void access$setTotalTime$p(ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl,long):27:27 -> access$setTotalTime$p 1:13:void addData(boolean,java.nio.ByteBuffer):294:306 -> addData 1:10:void close():270:279 -> close 1:1:java.lang.String getName():27:27 -> getName 1:1:ai.neuvision.kit.live.view.BaseTextureView getRenderView():39:39 -> getRenderView 1:9:void initCodec(android.media.MediaFormat):147:155 -> initCodec 1:4:boolean onFrameAvailable(android.graphics.SurfaceTexture):283:286 -> onFrameAvailable 1:3:void pause():249:249 -> pause 1:3:void prepare():237:239 -> prepare 1:1:void setCallback(ai.neuvision.kit.live.codec.decoder.Decoder$Callback):266:266 -> setCallback 1:1:void setOutputSurface(android.view.Surface):233:233 -> setOutputSurface 1:1:void setRenderView(ai.neuvision.kit.live.view.BaseTextureView):39:39 -> setRenderView 1:3:void start():243:243 -> start 1:6:void stop():256:261 -> stop ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl$Companion -> ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl$Companion: 1:1:void ():29:29 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):29:29 -> ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl$addData$1 -> ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl$a: ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl this$0 -> a 1:1:void invoke():306:306 -> invoke 1:1:java.lang.Object invoke():27 -> invoke 2:2:java.lang.Object invoke():27:27 -> invoke ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl$initCodec$1 -> ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl$b: ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl this$0 -> a java.lang.String $mime -> b 1:1:void invoke():156:156 -> invoke 1:1:java.lang.Object invoke():27 -> invoke 2:2:java.lang.Object invoke():27:27 -> invoke ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl$mediaCallback$1 -> ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl$mediaCallback$1: ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl this$0 -> a 1:1:void (ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl):64:64 -> 1:1:void onError(android.media.MediaCodec,android.media.MediaCodec$CodecException):141:141 -> onError 1:42:void onInputBufferAvailable(android.media.MediaCodec,int):87:128 -> onInputBufferAvailable 43:43:void onInputBufferAvailable(android.media.MediaCodec,int):93:93 -> onInputBufferAvailable 1:15:void onOutputBufferAvailable(android.media.MediaCodec,int,android.media.MediaCodec$BufferInfo):67:81 -> onOutputBufferAvailable 1:2:void onOutputFormatChanged(android.media.MediaCodec,android.media.MediaFormat):136:137 -> onOutputFormatChanged ai.neuvision.kit.live.codec.encoder.PresentationTimer -> ai.neuvision.kit.live.codec.encoder.PresentationTimer: long presentationTimeUs -> b long timestamp -> c int fps -> a 1:1:void (int,long,long):9:9 -> 2:2:void (int,long,long,int,kotlin.jvm.internal.DefaultConstructorMarker):9:9 -> 1:1:int getFps():9:9 -> getFps 1:1:long getPresentationTimeUs():9:9 -> getPresentationTimeUs 1:3:void record():16:18 -> record 1:2:void reset():22:23 -> reset 1:1:void setFps(int):9:9 -> setFps 1:1:void setPresentationTimeUs(long):9:9 -> setPresentationTimeUs 1:1:void start():12:12 -> start ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl -> ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl: java.lang.Object mLock -> h long lastQueueInputTime -> l int frameCount -> m boolean mEncoding -> i android.media.MediaFormat mMediaFormat -> b ai.neuvision.kit.live.context.VideoContext context -> r ai.neuvision.kit.live.wrapper.EncodeTextureWrapper mEncodeWrapper -> f java.lang.String name -> q ai.neuvision.kit.live.codec.encoder.Encoder$OnSampleLister mListener -> c android.media.MediaCodec mEncoder -> a ai.neuvision.sdk.pipline.Pipeline mEncodePipeline -> e ai.neuvision.kit.live.codec.encoder.PresentationTimer mPTimer -> j android.view.Surface mInputSurface -> g long totalTime -> n android.media.MediaCodec$BufferInfo mBufferInfo -> d ai.neuvision.kit.live.utils.Metrix metrix -> k int logCount -> p long failTime -> o 1:18:void (java.lang.String,ai.neuvision.kit.live.context.VideoContext):27:44 -> 19:19:void (java.lang.String,ai.neuvision.kit.live.context.VideoContext,int,kotlin.jvm.internal.DefaultConstructorMarker):27:27 -> 1:1:int access$getFrameCount$p(ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl):27:27 -> access$getFrameCount$p 1:1:long access$getLastQueueInputTime$p(ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl):27:27 -> access$getLastQueueInputTime$p 1:1:int access$getLogCount$p(ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl):27:27 -> access$getLogCount$p 1:1:ai.neuvision.kit.live.codec.encoder.Encoder$OnSampleLister access$getMListener$p(ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl):27:27 -> access$getMListener$p 1:1:ai.neuvision.kit.live.utils.Metrix access$getMetrix$p(ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl):27:27 -> access$getMetrix$p 1:1:long access$getTotalTime$p(ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl):27:27 -> access$getTotalTime$p 1:1:void access$setFrameCount$p(ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl,int):27:27 -> access$setFrameCount$p 1:1:void access$setLastQueueInputTime$p(ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl,long):27:27 -> access$setLastQueueInputTime$p 1:1:void access$setLogCount$p(ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl,int):27:27 -> access$setLogCount$p 1:1:void access$setMListener$p(ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl,ai.neuvision.kit.live.codec.encoder.Encoder$OnSampleLister):27:27 -> access$setMListener$p 1:1:void access$setMetrix$p(ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl,ai.neuvision.kit.live.utils.Metrix):27:27 -> access$setMetrix$p 1:1:void access$setTotalTime$p(ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl,long):27:27 -> access$setTotalTime$p 1:9:void close():223:231 -> close 1:1:ai.neuvision.kit.live.context.VideoContext getContext():27:27 -> getContext 1:1:android.graphics.SurfaceTexture getEncodeSurfaceTexture():157:157 -> getEncodeSurfaceTexture 1:1:java.lang.String getName():27:27 -> getName 1:1:android.view.Surface getSurface():161:161 -> getSurface 1:48:void initEncoder(kotlin.jvm.functions.Function0):55:102 -> initEncoder 49:111:void initEncoder(kotlin.jvm.functions.Function0):68:130 -> initEncoder 112:121:void initEncoder(kotlin.jvm.functions.Function0):106:115 -> initEncoder 122:122:void initEncoder(kotlin.jvm.functions.Function0):60:60 -> initEncoder 1:1:void initEncoder$default(ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl,kotlin.jvm.functions.Function0,int,java.lang.Object):54:54 -> initEncoder$default 1:8:boolean onFrameAvailable(android.graphics.SurfaceTexture):247:254 -> onFrameAvailable 9:13:void encode():236:240 -> onFrameAvailable 9:13:boolean onFrameAvailable(android.graphics.SurfaceTexture):255 -> onFrameAvailable 1:3:void pause():199:199 -> pause 1:1:void prepare():167:167 -> prepare 1:4:void setBitrate(int):215:218 -> setBitrate 1:1:void setMetrixCallback(kotlin.jvm.functions.Function1):172:172 -> setMetrixCallback 1:1:void setOnSampleListener(ai.neuvision.kit.live.codec.encoder.Encoder$OnSampleLister):211:211 -> setOnSampleListener 1:4:void start():192:192 -> start 1:3:void stop():205:207 -> stop 1:6:void syncEncode():176:181 -> syncEncode ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl$initEncoder$1 -> ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl$initEncoder$1: ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl this$0 -> a 1:1:void (ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl):68:68 -> 1:1:void onError(android.media.MediaCodec,android.media.MediaCodec$CodecException):100:100 -> onError 1:18:void onOutputBufferAvailable(android.media.MediaCodec,int,android.media.MediaCodec$BufferInfo):71:88 -> onOutputBufferAvailable 1:1:void onOutputFormatChanged(android.media.MediaCodec,android.media.MediaFormat):96:96 -> onOutputFormatChanged ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl$initEncoder$2 -> ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl$initEncoder$2: kotlin.jvm.functions.Function0 $callback -> a 1:1:void (kotlin.jvm.functions.Function0):121:121 -> 1:1:void onSurfaceTextureCreate(android.graphics.SurfaceTexture):126:126 -> onSurfaceTextureCreate ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl$setMetrixCallback$1 -> ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl$a: kotlin.jvm.functions.Function1 $callback -> b ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl this$0 -> a 1:1:void onMeasure(ai.neuvision.kit.live.utils.Metrix):172:172 -> onMeasure ai.neuvision.kit.live.codec.video.AbsVideoRecorder -> ai.neuvision.kit.live.codec.video.AbsVideoRecorder: boolean mIsPrepared -> b android.media.MediaCodec$BufferInfo mOutputBufferInfo -> d ai.neuvision.kit.live.codec.video.OnVideoDataAvailableListener listener -> c 1:4:void ():18:21 -> 1:2:void close():31:32 -> close 1:1:ai.neuvision.kit.live.codec.video.OnVideoDataAvailableListener getListener():20:20 -> getListener 1:1:boolean getMIsPrepared():19:19 -> getMIsPrepared 1:1:android.media.MediaCodec$BufferInfo getMOutputBufferInfo():21:21 -> getMOutputBufferInfo 1:3:void sendData(byte[],boolean):36:38 -> sendData 1:1:void setListener(ai.neuvision.kit.live.codec.video.OnVideoDataAvailableListener):20:20 -> setListener 1:1:void setMIsPrepared(boolean):19:19 -> setMIsPrepared 1:1:void setMOutputBufferInfo(android.media.MediaCodec$BufferInfo):21:21 -> setMOutputBufferInfo 1:1:void setVideoDataListener(ai.neuvision.kit.live.codec.video.OnVideoDataAvailableListener):23:23 -> setVideoDataListener ai.neuvision.kit.live.codec.video.CameraRecorder -> ai.neuvision.kit.live.codec.video.CameraRecorder: boolean mRunning -> j ai.neuvision.kit.live.wrapper.CameraWrapper mCameraWrapper -> e int mBitrate -> h ai.neuvision.kit.live.codec.encoder.impl.EncoderX264Impl mEncoder -> i int mWidth -> f int mHeight -> g ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing mCameraFacing -> l ai.neuvision.kit.live.view.BaseTextureView mTextureView -> k 1:1:void (android.content.Context):43:43 -> 2:11:void (android.content.Context):35:44 -> 1:12:kotlin.Unit lambda$start$0():160:171 -> a 13:16:kotlin.Unit lambda$start$1(ai.neuvision.kit.live.utils.Metrix):175:178 -> a 1:6:void setConfig(int,int,int):59:64 -> setConfig 7:12:void setConfig(ai.neuvision.kit.live.context.VideoContext):68:73 -> setConfig 1:2:void setPreviewView(ai.neuvision.kit.live.view.BaseTextureView):54:55 -> setPreviewView 1:62:void start():113:174 -> start 1:14:void stop():77:90 -> stop 1:5:void switchCamera(ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing):95:99 -> switchCamera 6:11:void switchCamera():103:108 -> switchCamera ai.neuvision.kit.live.codec.video.CameraRecorder$1 -> ai.neuvision.kit.live.codec.video.CameraRecorder$a: ai.neuvision.kit.live.codec.video.CameraRecorder this$0 -> a 1:1:void (ai.neuvision.kit.live.codec.video.CameraRecorder):123:123 -> 1:1:void onFormatChanged(ai.neuvision.kit.live.codec.encoder.Encoder,android.media.MediaFormat):126:126 -> onFormatChanged 2:2:boolean ai.neuvision.kit.live.codec.video.CameraRecorder.access$000(ai.neuvision.kit.live.codec.video.CameraRecorder):30:30 -> onFormatChanged 2:2:void onFormatChanged(ai.neuvision.kit.live.codec.encoder.Encoder,android.media.MediaFormat):126 -> onFormatChanged 3:6:void onFormatChanged(ai.neuvision.kit.live.codec.encoder.Encoder,android.media.MediaFormat):129:132 -> onFormatChanged 1:1:void onSample(ai.neuvision.kit.live.codec.encoder.Encoder,android.media.MediaCodec$BufferInfo,java.nio.ByteBuffer):138:138 -> onSample 2:2:boolean ai.neuvision.kit.live.codec.video.CameraRecorder.access$000(ai.neuvision.kit.live.codec.video.CameraRecorder):30:30 -> onSample 2:2:void onSample(ai.neuvision.kit.live.codec.encoder.Encoder,android.media.MediaCodec$BufferInfo,java.nio.ByteBuffer):138 -> onSample 3:11:void onSample(ai.neuvision.kit.live.codec.encoder.Encoder,android.media.MediaCodec$BufferInfo,java.nio.ByteBuffer):142:150 -> onSample ai.neuvision.kit.live.codec.video.NvCameraRecorder -> ai.neuvision.kit.live.codec.video.NvCameraRecorder: ai.neuvision.kit.live.codec.video.OnVideoDataAvailableListener mOnCaptureDataListener -> b boolean mIsRunning -> a 1:1:void ():15:15 -> 1:1:void setOnCaptureDataListener(ai.neuvision.kit.live.codec.video.OnVideoDataAvailableListener):93:93 -> setOnCaptureDataListener 1:6:void start():22:27 -> start 1:7:void stop():83:89 -> stop ai.neuvision.kit.live.codec.video.ScreenRecorder -> ai.neuvision.kit.live.codec.video.ScreenRecorder: ai.neuvision.sdk.pipline.Pipeline mPipeline -> m int maxFps -> n android.hardware.display.VirtualDisplay virtualDisplay -> f boolean isRunning -> k ai.neuvision.kit.live.wrapper.EncodeTextureWrapper mWrapper -> h android.media.MediaCodec$BufferInfo mBufferInfo -> s android.graphics.SurfaceTexture mSt -> t ai.neuvision.kit.live.rtmp.RtmpPusher$VideoInfo mVideoInfo -> i ai.neuvision.kit.live.constants.LiveStatus$Orientation mOrientation -> l long lastEncodeTime -> u ai.neuvision.kit.live.codec.encoder.PresentationTimer mPTimer -> j float[] matrix -> v android.media.projection.MediaProjection mediaProjection -> w android.media.projection.MediaProjectionManager projectionManager -> e int mDensityDpi -> r float perFrameDuration -> o android.media.MediaCodec screenEncoder -> g int mScreenWidth -> p int mScreenHeight -> q 1:310:void ():41:350 -> 311:311:void ():65:65 -> 1:15:void initMediaCodec(int,int):194:208 -> a 16:29:void initMediaCodec(int,int):201:214 -> a 30:35:byte[] removeNaluHeader(byte[]):252:257 -> a 1:1:long access$getLastEncodeTime$p(ai.neuvision.kit.live.codec.video.ScreenRecorder):40:40 -> access$getLastEncodeTime$p 1:1:int access$getMDensityDpi$p(ai.neuvision.kit.live.codec.video.ScreenRecorder):40:40 -> access$getMDensityDpi$p 1:1:ai.neuvision.kit.live.utils.Metrix access$getMInternalMetrix$p(ai.neuvision.kit.live.codec.video.ScreenRecorder):40:40 -> access$getMInternalMetrix$p 1:1:ai.neuvision.kit.live.codec.encoder.PresentationTimer access$getMPTimer$p(ai.neuvision.kit.live.codec.video.ScreenRecorder):40:40 -> access$getMPTimer$p 1:1:ai.neuvision.sdk.pipline.Pipeline access$getMPipeline$p(ai.neuvision.kit.live.codec.video.ScreenRecorder):40:40 -> access$getMPipeline$p 1:1:android.graphics.SurfaceTexture access$getMSt$p(ai.neuvision.kit.live.codec.video.ScreenRecorder):40:40 -> access$getMSt$p 1:1:ai.neuvision.kit.live.wrapper.EncodeTextureWrapper access$getMWrapper$p(ai.neuvision.kit.live.codec.video.ScreenRecorder):40:40 -> access$getMWrapper$p 1:1:float[] access$getMatrix$p(ai.neuvision.kit.live.codec.video.ScreenRecorder):40:40 -> access$getMatrix$p 1:1:android.media.projection.MediaProjection access$getMediaProjection$cp():40:40 -> access$getMediaProjection$cp 1:1:android.media.MediaCodec access$getScreenEncoder$p(ai.neuvision.kit.live.codec.video.ScreenRecorder):40:40 -> access$getScreenEncoder$p 1:1:android.hardware.display.VirtualDisplay access$getVirtualDisplay$p(ai.neuvision.kit.live.codec.video.ScreenRecorder):40:40 -> access$getVirtualDisplay$p 1:1:void access$setLastEncodeTime$p(ai.neuvision.kit.live.codec.video.ScreenRecorder,long):40:40 -> access$setLastEncodeTime$p 1:1:void access$setMDensityDpi$p(ai.neuvision.kit.live.codec.video.ScreenRecorder,int):40:40 -> access$setMDensityDpi$p 1:1:void access$setMInternalMetrix$p(ai.neuvision.kit.live.codec.video.ScreenRecorder,ai.neuvision.kit.live.utils.Metrix):40:40 -> access$setMInternalMetrix$p 1:1:void access$setMPTimer$p(ai.neuvision.kit.live.codec.video.ScreenRecorder,ai.neuvision.kit.live.codec.encoder.PresentationTimer):40:40 -> access$setMPTimer$p 1:1:void access$setMPipeline$p(ai.neuvision.kit.live.codec.video.ScreenRecorder,ai.neuvision.sdk.pipline.Pipeline):40:40 -> access$setMPipeline$p 1:1:void access$setMSt$p(ai.neuvision.kit.live.codec.video.ScreenRecorder,android.graphics.SurfaceTexture):40:40 -> access$setMSt$p 1:1:void access$setMWrapper$p(ai.neuvision.kit.live.codec.video.ScreenRecorder,ai.neuvision.kit.live.wrapper.EncodeTextureWrapper):40:40 -> access$setMWrapper$p 1:1:void access$setMediaProjection$cp(android.media.projection.MediaProjection):40:40 -> access$setMediaProjection$cp 1:1:void access$setScreenEncoder$p(ai.neuvision.kit.live.codec.video.ScreenRecorder,android.media.MediaCodec):40:40 -> access$setScreenEncoder$p 1:1:void access$setVirtualDisplay$p(ai.neuvision.kit.live.codec.video.ScreenRecorder,android.hardware.display.VirtualDisplay):40:40 -> access$setVirtualDisplay$p 1:1:void access$startMetrix(ai.neuvision.kit.live.codec.video.ScreenRecorder):40:40 -> access$startMetrix 1:28:void syncEncode():218:245 -> access$syncEncode 1:28:void access$syncEncode(ai.neuvision.kit.live.codec.video.ScreenRecorder):40 -> access$syncEncode 1:13:void checkFrameRate():353:365 -> checkFrameRate 1:6:boolean checkPermission(android.app.Activity):383:388 -> checkPermission 7:8:void requestPermission(android.app.Activity):279:280 -> checkPermission 7:8:boolean checkPermission(android.app.Activity):389 -> checkPermission 9:9:boolean checkPermission(android.app.Activity):391:391 -> checkPermission 1:1:ai.neuvision.kit.live.rtmp.RtmpPusher$VideoInfo getVideoInfo():320:320 -> getVideoInfo 1:1:boolean isAvailable():77:77 -> isAvailable 1:1:boolean isRunning():74:74 -> isRunning 1:4:void onActivityResult(int,int,android.content.Intent,kotlin.jvm.functions.Function1):291:294 -> onActivityResult 1:1:void onActivityResult$default(ai.neuvision.kit.live.codec.video.ScreenRecorder,int,int,android.content.Intent,kotlin.jvm.functions.Function1,int,java.lang.Object):287:287 -> onActivityResult$default 1:1:boolean onFrameAvailable(android.graphics.SurfaceTexture):323:323 -> onFrameAvailable 1:3:void onScreenOrientationChanged(android.app.Activity):300:302 -> onScreenOrientationChanged 1:1:void setRunning(boolean):74:74 -> setRunning 1:1:void start():92:92 -> start 2:62:void start(ai.neuvision.kit.live.constants.LiveStatus$Orientation,ai.neuvision.kit.live.context.VideoContext):99:159 -> start 1:2:void start$default(ai.neuvision.kit.live.codec.video.ScreenRecorder,ai.neuvision.kit.live.constants.LiveStatus$Orientation,ai.neuvision.kit.live.context.VideoContext,int,java.lang.Object):96:97 -> start$default 1:12:void stop():306:317 -> stop ai.neuvision.kit.live.codec.video.ScreenRecorder$Companion -> ai.neuvision.kit.live.codec.video.ScreenRecorder$Companion: 1:1:void ():43:43 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):43:43 -> 1:1:android.media.projection.MediaProjection getMediaProjection():60:60 -> getMediaProjection 1:6:byte[] removeNaluHeader(byte[]):49:54 -> removeNaluHeader 1:1:void setMediaProjection(android.media.projection.MediaProjection):60:60 -> setMediaProjection ai.neuvision.kit.live.codec.video.ScreenRecorder$checkFrameRate$1 -> ai.neuvision.kit.live.codec.video.ScreenRecorder$a: ai.neuvision.kit.live.codec.video.ScreenRecorder this$0 -> a 1:10:void invoke():366:375 -> invoke 1:10:java.lang.Object invoke():40 -> invoke 11:11:java.lang.Object invoke():40:40 -> invoke ai.neuvision.kit.live.codec.video.ScreenRecorder$start$1 -> ai.neuvision.kit.live.codec.video.ScreenRecorder$b: kotlin.jvm.internal.Ref$IntRef $height -> c kotlin.jvm.internal.Ref$IntRef $width -> b ai.neuvision.kit.live.codec.video.ScreenRecorder this$0 -> a 1:11:void invoke():160:170 -> invoke 1:11:java.lang.Object invoke():40 -> invoke 12:35:void invoke():163:186 -> invoke 12:35:java.lang.Object invoke():40 -> invoke 36:36:java.lang.Object invoke():40:40 -> invoke ai.neuvision.kit.live.codec.video.ScreenRecorder$start$1$1 -> ai.neuvision.kit.live.codec.video.ScreenRecorder$start$1$1: 1:1:void ():170:170 -> 1:1:void onPaused():176:176 -> onPaused 1:1:void onResumed():172:172 -> onResumed 1:1:void onStopped():180:180 -> onStopped ai.neuvision.kit.live.codec.video.ScreenRecorder$start$1$2 -> o: ai.neuvision.kit.live.codec.video.ScreenRecorder$start$1 this$0 -> a 1:1:void invoke():187:187 -> invoke 1:1:java.lang.Object invoke():40 -> invoke 2:2:java.lang.Object invoke():40:40 -> invoke ai.neuvision.kit.live.codec.video.ScreenRecorder$stop$1 -> ai.neuvision.kit.live.codec.video.ScreenRecorder$c: ai.neuvision.kit.live.codec.video.ScreenRecorder this$0 -> a 1:1:void run():313:313 -> run ai.neuvision.kit.live.constants.LiveStatus -> ai.neuvision.kit.live.constants.LiveStatus: 1:1:void ():9:9 -> ai.neuvision.kit.live.constants.LiveStatus$Orientation -> ai.neuvision.kit.live.constants.LiveStatus$Orientation: 1:1:void (java.lang.String,int):11:11 -> ai.neuvision.kit.live.constants.LiveStatus$Source -> ai.neuvision.kit.live.constants.LiveStatus$Source: 1:1:void (java.lang.String,int):16:16 -> ai.neuvision.kit.live.context.VideoContext -> ai.neuvision.kit.live.context.VideoContext: ai.neuvision.kit.live.context.VideoContext$CodecType codecType -> d ai.neuvision.kit.live.context.VideoContext$Camera camera -> a ai.neuvision.kit.live.context.VideoContext$Video video -> b ai.neuvision.kit.live.context.VideoContext$Panel panel -> c 1:1:void (ai.neuvision.kit.live.context.VideoContext$Camera,ai.neuvision.kit.live.context.VideoContext$Video,ai.neuvision.kit.live.context.VideoContext$Panel,ai.neuvision.kit.live.context.VideoContext$CodecType):13:13 -> 2:5:void (ai.neuvision.kit.live.context.VideoContext$Camera,ai.neuvision.kit.live.context.VideoContext$Video,ai.neuvision.kit.live.context.VideoContext$Panel,ai.neuvision.kit.live.context.VideoContext$CodecType,int,kotlin.jvm.internal.DefaultConstructorMarker):14:17 -> 1:1:ai.neuvision.kit.live.context.VideoContext$Camera getCamera():14:14 -> getCamera 1:1:ai.neuvision.kit.live.context.VideoContext$CodecType getCodecType():17:17 -> getCodecType 1:1:ai.neuvision.kit.live.context.VideoContext$Panel getPanel():16:16 -> getPanel 1:1:ai.neuvision.kit.live.context.VideoContext$Video getVideo():15:15 -> getVideo 1:1:void setCamera(ai.neuvision.kit.live.context.VideoContext$Camera):14:14 -> setCamera 1:1:void setCodecType(ai.neuvision.kit.live.context.VideoContext$CodecType):17:17 -> setCodecType 1:1:void setPanel(ai.neuvision.kit.live.context.VideoContext$Panel):16:16 -> setPanel 1:1:void setVideo(ai.neuvision.kit.live.context.VideoContext$Video):15:15 -> setVideo ai.neuvision.kit.live.context.VideoContext$Camera -> ai.neuvision.kit.live.context.VideoContext$Camera: ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing facing -> c int height -> b int width -> a 1:1:void (int,int,ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing):30:30 -> 2:2:void (int,int,ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing,int,kotlin.jvm.internal.DefaultConstructorMarker):33:33 -> 1:1:ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing getFacing():33:33 -> getFacing 1:1:int getHeight():32:32 -> getHeight 1:1:int getWidth():31:31 -> getWidth 1:1:void setFacing(ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing):33:33 -> setFacing 1:1:void setHeight(int):32:32 -> setHeight 1:1:void setWidth(int):31:31 -> setWidth ai.neuvision.kit.live.context.VideoContext$CodecType -> ai.neuvision.kit.live.context.VideoContext$CodecType: 1:1:void (java.lang.String,int):19:19 -> ai.neuvision.kit.live.context.VideoContext$Panel -> ai.neuvision.kit.live.context.VideoContext$Panel: ai.neuvision.kit.live.view.RenderMode mode -> d boolean xMirrored -> e boolean yMirrored -> f int rotate -> g int width -> b ai.neuvision.kit.live.context.VideoContext$RenderType type -> a int height -> c 1:1:void (ai.neuvision.kit.live.context.VideoContext$RenderType,int,int,ai.neuvision.kit.live.view.RenderMode,boolean,boolean,int):37:37 -> 2:8:void (ai.neuvision.kit.live.context.VideoContext$RenderType,int,int,ai.neuvision.kit.live.view.RenderMode,boolean,boolean,int,int,kotlin.jvm.internal.DefaultConstructorMarker):38:44 -> 1:1:int getHeight():40:40 -> getHeight 1:1:ai.neuvision.kit.live.view.RenderMode getMode():41:41 -> getMode 1:1:int getRotate():44:44 -> getRotate 1:1:ai.neuvision.kit.live.context.VideoContext$RenderType getType():38:38 -> getType 1:1:int getWidth():39:39 -> getWidth 1:1:boolean getXMirrored():42:42 -> getXMirrored 1:1:boolean getYMirrored():43:43 -> getYMirrored 1:1:void setHeight(int):40:40 -> setHeight 1:1:void setMode(ai.neuvision.kit.live.view.RenderMode):41:41 -> setMode 1:1:void setRotate(int):44:44 -> setRotate 1:1:void setType(ai.neuvision.kit.live.context.VideoContext$RenderType):38:38 -> setType 1:1:void setWidth(int):39:39 -> setWidth 1:1:void setXMirrored(boolean):42:42 -> setXMirrored 1:1:void setYMirrored(boolean):43:43 -> setYMirrored ai.neuvision.kit.live.context.VideoContext$RenderType -> ai.neuvision.kit.live.context.VideoContext$RenderType: 1:1:void (java.lang.String,int):24:24 -> ai.neuvision.kit.live.context.VideoContext$Video -> ai.neuvision.kit.live.context.VideoContext$Video: int profile -> j int level -> k int bitrate -> h int IFrameInterval -> i int fps -> f int bitrateLevel -> g java.lang.String name -> a int height -> d int resolution -> e java.lang.String mime -> b int width -> c 1:1:void (java.lang.String,java.lang.String,int,int,int,int,int,int,int,int,int):48:48 -> 2:2:void (java.lang.String,java.lang.String,int,int,int,int,int,int,int,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):59:59 -> 1:1:int getBitrate():56:56 -> getBitrate 1:1:int getBitrateLevel():55:55 -> getBitrateLevel 1:1:int getFps():54:54 -> getFps 1:1:int getHeight():52:52 -> getHeight 1:1:int getIFrameInterval():57:57 -> getIFrameInterval 1:1:int getLevel():59:59 -> getLevel 1:1:java.lang.String getMime():50:50 -> getMime 1:1:java.lang.String getName():49:49 -> getName 1:1:int getProfile():58:58 -> getProfile 1:1:int getResolution():53:53 -> getResolution 1:1:int getWidth():51:51 -> getWidth 1:1:void setBitrate(int):56:56 -> setBitrate 1:1:void setBitrateLevel(int):55:55 -> setBitrateLevel 1:1:void setFps(int):54:54 -> setFps 1:1:void setHeight(int):52:52 -> setHeight 1:1:void setIFrameInterval(int):57:57 -> setIFrameInterval 1:1:void setLevel(int):59:59 -> setLevel 1:1:void setMime(java.lang.String):50:50 -> setMime 1:1:void setName(java.lang.String):49:49 -> setName 1:1:void setProfile(int):58:58 -> setProfile 1:1:void setResolution(int):53:53 -> setResolution 1:1:void setWidth(int):51:51 -> setWidth ai.neuvision.kit.live.entry.CreateLiveEntry -> ai.neuvision.kit.live.entry.CreateLiveEntry: 1:1:void ():10:10 -> ai.neuvision.kit.live.entry.LiveConfig -> ai.neuvision.kit.live.entry.LiveConfig: 1:1:void ():13:13 -> 1:1:java.lang.String toString():19:19 -> toString ai.neuvision.kit.live.entry.LiveEntry -> ai.neuvision.kit.live.entry.LiveEntry: 1:1:void ():13:13 -> 1:1:java.lang.String toString():36:36 -> toString ai.neuvision.kit.live.entry.NewLiveEntry -> ai.neuvision.kit.live.entry.NewLiveEntry: 1:1:void ():11:11 -> ai.neuvision.kit.live.entry.Purpose -> ai.neuvision.kit.live.entry.Purpose: 1:8:void ():4:11 -> 9:9:void ():3:3 -> 1:1:void (java.lang.String,int):3:3 -> 1:1:ai.neuvision.kit.live.entry.Purpose valueOf(java.lang.String):3:3 -> valueOf 1:1:ai.neuvision.kit.live.entry.Purpose[] values():3:3 -> values ai.neuvision.kit.live.entry.ResolutionType -> ai.neuvision.kit.live.entry.ResolutionType: 1:1:void ():11:11 -> 2:2:void ():10:10 -> 1:1:void (java.lang.String,int):10:10 -> 1:1:ai.neuvision.kit.live.entry.ResolutionType valueOf(java.lang.String):10:10 -> valueOf 1:1:ai.neuvision.kit.live.entry.ResolutionType[] values():10:10 -> values ai.neuvision.kit.live.entry.RoomEntry -> ai.neuvision.kit.live.entry.RoomEntry: 1:1:void ():13:13 -> ai.neuvision.kit.live.entry.WatchMode -> ai.neuvision.kit.live.entry.WatchMode: 1:3:void ():11:13 -> 4:4:void ():10:10 -> 1:1:void (java.lang.String,int):10:10 -> 1:1:ai.neuvision.kit.live.entry.WatchMode valueOf(java.lang.String):10:10 -> valueOf 1:1:ai.neuvision.kit.live.entry.WatchMode[] values():10:10 -> values ai.neuvision.kit.live.gl.Egl -> ai.neuvision.kit.live.gl.Egl: int[] CONFIG_DEFAULT -> f int[] CONFIG_ANDROID -> g int[] ATTRIBUTE_LIST -> h android.opengl.EGLDisplay mEGLDisplay -> a android.opengl.EGLContext eglContext -> c android.opengl.EGLSurface mEGLSurface -> d android.opengl.EGLConfig eglConfig -> b java.lang.String name -> e 1:9:void ():25:25 -> 18:27:void ():34:34 -> 37:39:void ():44:44 -> 1:6:void (java.lang.String):16:21 -> 1:5:void init(java.lang.Object,android.opengl.EGLContext):69:73 -> a 6:11:void createPBufferSurface():126:131 -> a 6:11:void init(java.lang.Object,android.opengl.EGLContext):76 -> a 12:12:void init(java.lang.Object,android.opengl.EGLContext):78:78 -> a 13:23:android.opengl.EGLDisplay createDisplay():86:96 -> a 24:30:android.opengl.EGLConfig createConfig(android.opengl.EGLDisplay,int[]):104:110 -> a 31:31:android.opengl.EGLConfig createConfig(android.opengl.EGLDisplay,int[]):107:107 -> a 32:34:android.opengl.EGLContext createContext(android.opengl.EGLDisplay,android.opengl.EGLConfig,android.opengl.EGLContext):116:118 -> a 35:40:void createWindowSurface(java.lang.Object):138:143 -> a 1:3:void checkEglError(java.lang.String):177:179 -> checkEglError 1:1:android.opengl.EGLConfig getEglConfig():18:18 -> getEglConfig 1:1:android.opengl.EGLContext getEglContext():19:19 -> getEglContext 1:1:void initEgl():50:50 -> initEgl 2:2:void initEgl(android.graphics.SurfaceTexture,android.opengl.EGLContext):54:54 -> initEgl 3:9:void initEgl(android.view.Surface,android.opengl.EGLContext):58:64 -> initEgl 1:1:void initEgl$default(ai.neuvision.kit.live.gl.Egl,android.graphics.SurfaceTexture,android.opengl.EGLContext,int,java.lang.Object):53:53 -> initEgl$default 2:2:void initEgl$default(ai.neuvision.kit.live.gl.Egl,android.view.Surface,android.opengl.EGLContext,int,java.lang.Object):57:57 -> initEgl$default 1:2:void makeCurrent():149:150 -> makeCurrent 1:6:void release():167:172 -> release 1:1:void setEglConfig(android.opengl.EGLConfig):18:18 -> setEglConfig 1:1:void setPresentationTime(long):162:162 -> setPresentationTime 1:2:void swapBuffers():156:157 -> swapBuffers ai.neuvision.kit.live.gl.Egl$Companion -> ai.neuvision.kit.live.gl.Egl$Companion: 1:1:void ():23:23 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):23:23 -> ai.neuvision.kit.live.http.HttpLive -> ai.neuvision.kit.live.http.HttpLive: 1:1:void ():29:29 -> 1:2:void httpCreateLiveRoom(ai.neuvision.kit.live.entry.CreateLiveEntry,com.neuvision.account.interf.IStatus):33:34 -> httpCreateLiveRoom 1:7:com.neuvision.http.entity.HttpResponse httpLiveInit(java.lang.String,int,int,int):158:164 -> httpLiveInit 1:4:com.neuvision.http.entity.HttpResponse httpStartLive(java.lang.String):56:59 -> httpStartLive 1:4:com.neuvision.http.entity.HttpResponse httpStopLive(java.lang.String):64:67 -> httpStopLive 5:8:void httpStopLive(java.lang.String,com.neuvision.account.interf.IStatus):109:112 -> httpStopLive 1:5:void httpUpdateLives(java.lang.String,int):88:92 -> httpUpdateLives 6:6:void httpUpdateLives(java.lang.String,int):86:86 -> httpUpdateLives 1:5:void httpWatchLive(java.lang.String,java.lang.String,com.neuvision.account.interf.IStatus):133:137 -> httpWatchLive ai.neuvision.kit.live.http.HttpLive$1 -> ai.neuvision.kit.live.http.HttpLive$c: 1:1:void ():34:34 -> ai.neuvision.kit.live.http.HttpLive$10 -> ai.neuvision.kit.live.http.HttpLive$a: com.neuvision.account.interf.IStatus val$cb -> a 1:1:void (com.neuvision.account.interf.IStatus):138:138 -> 1:2:void onFailed(int,java.lang.String):148:149 -> onFailed 1:1:void onSuccess(java.lang.Object):138:138 -> onSuccess 2:3:void onSuccess(ai.neuvision.kit.live.entry.LiveEntry):141:142 -> onSuccess 2:3:void onSuccess(java.lang.Object):138 -> onSuccess ai.neuvision.kit.live.http.HttpLive$11 -> ai.neuvision.kit.live.http.HttpLive$b: 1:1:void ():164:164 -> ai.neuvision.kit.live.http.HttpLive$2 -> ai.neuvision.kit.live.http.HttpLive$d: com.neuvision.account.interf.IStatus val$cb -> a 1:1:void (com.neuvision.account.interf.IStatus):36:36 -> 1:2:void onFailed(int,java.lang.String):46:47 -> onFailed 1:1:void onSuccess(java.lang.Object):36:36 -> onSuccess 2:3:void onSuccess(ai.neuvision.kit.live.entry.RoomEntry):39:40 -> onSuccess 2:3:void onSuccess(java.lang.Object):36 -> onSuccess ai.neuvision.kit.live.http.HttpLive$3 -> ai.neuvision.kit.live.http.HttpLive$e: 1:1:void ():59:59 -> ai.neuvision.kit.live.http.HttpLive$4 -> ai.neuvision.kit.live.http.HttpLive$f: 1:1:void ():67:67 -> ai.neuvision.kit.live.http.HttpLive$5 -> ai.neuvision.kit.live.http.HttpLive$g: 1:1:void ():92:92 -> ai.neuvision.kit.live.http.HttpLive$6 -> ai.neuvision.kit.live.http.HttpLive$h: 1:1:void ():93:93 -> 1:1:void onFailed(int,java.lang.String):101:101 -> onFailed 1:1:void onSuccess(java.lang.Object):93:93 -> onSuccess ai.neuvision.kit.live.http.HttpLive$7 -> ai.neuvision.kit.live.http.HttpLive$i: 1:1:void ():112:112 -> ai.neuvision.kit.live.http.HttpLive$8 -> ai.neuvision.kit.live.http.HttpLive$j: com.neuvision.account.interf.IStatus val$cb -> a 1:1:void (com.neuvision.account.interf.IStatus):113:113 -> 1:2:void onFailed(int,java.lang.String):123:124 -> onFailed 1:1:void onSuccess(java.lang.Object):113:113 -> onSuccess 2:3:void onSuccess(java.lang.Boolean):116:117 -> onSuccess 2:3:void onSuccess(java.lang.Object):113 -> onSuccess ai.neuvision.kit.live.http.HttpLive$9 -> ai.neuvision.kit.live.http.HttpLive$k: 1:1:void ():137:137 -> ai.neuvision.kit.live.receiver.NetworkStateReceiver -> ai.neuvision.kit.live.receiver.NetworkStateReceiver: 1:1:void ():14:14 -> 1:2:void onReceive(android.content.Context,android.content.Intent):17:18 -> onReceive ai.neuvision.kit.live.rtmp.RtmpClient -> ai.neuvision.kit.live.rtmp.RtmpClient: 1:1:void (java.lang.String):12:12 -> 1:1:ai.neuvision.kit.live.rtmp.OnConnectListener getOnConnectListener():14:14 -> getOnConnectListener 1:1:java.lang.String getRoom():12:12 -> getRoom 1:1:boolean isRunning():15:15 -> isRunning 1:3:void onConnectFailed(int,java.lang.String):33:35 -> onConnectFailed 1:3:void onConnected():25:27 -> onConnected 1:1:void setOnConnectListener(ai.neuvision.kit.live.rtmp.OnConnectListener):14:14 -> setOnConnectListener 1:1:void setRunning(boolean):15:15 -> setRunning ai.neuvision.kit.live.rtmp.RtmpPuller -> ai.neuvision.kit.live.rtmp.RtmpPuller: android.media.AudioManager audioManager -> g android.view.Surface surface -> e long nativePuller -> a android.media.MediaFormat mediaFormat -> d ai.neuvision.kit.live.codec.audio.AudioPlayer audioPlayer -> f ai.neuvision.sdk.pipline.impl.EventPipeline mPipeLine -> b ai.neuvision.kit.live.codec.decoder.impl.DecoderImpl videoDecoder -> c 1:1:void ():37:37 -> 1:1:void access$setAudioPlayer$p(ai.neuvision.kit.live.rtmp.RtmpPuller,ai.neuvision.kit.live.codec.audio.AudioPlayer):22:22 -> 1:1:void (java.lang.String,android.media.AudioManager):22 -> 2:24:void (java.lang.String,android.media.AudioManager):23:45 -> 1:1:void access$setAudioPlayer$p(ai.neuvision.kit.live.rtmp.RtmpPuller,ai.neuvision.kit.live.codec.audio.AudioPlayer):22:22 -> access$connect 1:1:void access$connect(ai.neuvision.kit.live.rtmp.RtmpPuller,long,java.lang.String):22 -> access$connect 1:1:void access$setAudioPlayer$p(ai.neuvision.kit.live.rtmp.RtmpPuller,ai.neuvision.kit.live.codec.audio.AudioPlayer):22:22 -> access$getAudioPlayer$p 1:1:ai.neuvision.kit.live.codec.audio.AudioPlayer access$getAudioPlayer$p(ai.neuvision.kit.live.rtmp.RtmpPuller):22 -> access$getAudioPlayer$p 1:1:void access$setAudioPlayer$p(ai.neuvision.kit.live.rtmp.RtmpPuller,ai.neuvision.kit.live.codec.audio.AudioPlayer):22:22 -> access$getNativePuller$p 1:1:long access$getNativePuller$p(ai.neuvision.kit.live.rtmp.RtmpPuller):22 -> access$getNativePuller$p 1:1:void access$setAudioPlayer$p(ai.neuvision.kit.live.rtmp.RtmpPuller,ai.neuvision.kit.live.codec.audio.AudioPlayer):22:22 -> access$setAudioPlayer$p 1:1:void access$setAudioPlayer$p(ai.neuvision.kit.live.rtmp.RtmpPuller,ai.neuvision.kit.live.codec.audio.AudioPlayer):22:22 -> access$setNativePuller$p 1:1:void access$setNativePuller$p(ai.neuvision.kit.live.rtmp.RtmpPuller,long):22 -> access$setNativePuller$p 1:1:void onConnected():157:157 -> onConnected 1:2:void onReceiveAudioData(byte[]):129:130 -> onReceiveAudioData 1:11:void onReceiveAudioHeader(int,int,int,int,byte[]):115:125 -> onReceiveAudioHeader 1:2:void onReceiveVideoData(boolean,byte[]):109:110 -> onReceiveVideoData 1:116:void initCodec(byte[],byte[]):66:181 -> onReceiveVideoHeader 1:116:void onReceiveVideoHeader(byte[],byte[]):104 -> onReceiveVideoHeader 117:226:void initCodec(byte[],byte[]):75:184 -> onReceiveVideoHeader 117:226:void onReceiveVideoHeader(byte[],byte[]):104 -> onReceiveVideoHeader 227:230:void initCodec(byte[],byte[]):82:85 -> onReceiveVideoHeader 227:230:void onReceiveVideoHeader(byte[],byte[]):104 -> onReceiveVideoHeader 231:251:void initCodec(byte[],byte[]):67:87 -> onReceiveVideoHeader 231:251:void onReceiveVideoHeader(byte[],byte[]):104 -> onReceiveVideoHeader 1:6:void setRenderView(ai.neuvision.kit.live.view.BaseTextureView):49:54 -> setRenderView 7:8:void setRenderView(android.view.TextureView):58:59 -> setRenderView 1:2:void start():92:93 -> start 1:9:void stop():161:169 -> stop ai.neuvision.kit.live.rtmp.RtmpPuller$Companion -> ai.neuvision.kit.live.rtmp.RtmpPuller$Companion: 1:1:void ():35:35 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):35:35 -> ai.neuvision.kit.live.rtmp.RtmpPuller$start$1 -> ai.neuvision.kit.live.rtmp.RtmpPuller$a: ai.neuvision.kit.live.rtmp.RtmpPuller this$0 -> a 1:1:void invoke():94:94 -> invoke 1:1:java.lang.Object invoke():22 -> invoke 2:2:java.lang.Object invoke():22:22 -> invoke ai.neuvision.kit.live.rtmp.RtmpPusher -> ai.neuvision.kit.live.rtmp.RtmpPusher: 1:1:void ():87:87 -> 1:78:void (java.lang.String,java.lang.String):17:94 -> 1:1:void access$connect(ai.neuvision.kit.live.rtmp.RtmpPusher,long,java.lang.String):17:17 -> access$connect 1:1:int access$getBitrate$p(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getBitrate$p 1:1:byte[] access$getEsds$li(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getEsds$li 1:1:byte[] access$getEsds$p(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getEsds$p 1:1:boolean access$getHasPushAudioHeader$p(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getHasPushAudioHeader$p 1:1:boolean access$getHasPushSeqHeader$p(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getHasPushSeqHeader$p 1:1:ai.neuvision.sdk.pipline.impl.EventPipeline access$getMPipeline$p(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getMPipeline$p 1:1:ai.neuvision.kit.live.rtmp.RtmpPusher$MetaInfo access$getMetaData$p(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getMetaData$p 1:1:long access$getNativePusher$p(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getNativePusher$p 1:1:byte[] access$getPps$li(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getPps$li 1:1:byte[] access$getPps$p(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getPps$p 1:1:byte[] access$getSps$li(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getSps$li 1:1:byte[] access$getSps$p(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getSps$p 1:1:int access$getVideoCodecId$p(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getVideoCodecId$p 1:1:int access$getVideoHeight$p(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getVideoHeight$p 1:1:int access$getVideoWidth$p(ai.neuvision.kit.live.rtmp.RtmpPusher):17:17 -> access$getVideoWidth$p 1:1:int access$nativePushMetaData(ai.neuvision.kit.live.rtmp.RtmpPusher,long,ai.neuvision.kit.live.rtmp.RtmpPusher$MetaInfo):17:17 -> access$nativePushMetaData 1:1:int access$nativeStop(ai.neuvision.kit.live.rtmp.RtmpPusher,long):17:17 -> access$nativeStop 1:1:int access$pushAudio(ai.neuvision.kit.live.rtmp.RtmpPusher,long,byte[],boolean):17:17 -> access$pushAudio 1:1:int access$pushVideo(ai.neuvision.kit.live.rtmp.RtmpPusher,long,byte[],boolean):17:17 -> access$pushVideo 1:1:void access$setBitrate$p(ai.neuvision.kit.live.rtmp.RtmpPusher,int):17:17 -> access$setBitrate$p 1:1:void access$setEsds$li(ai.neuvision.kit.live.rtmp.RtmpPusher,byte[]):17:17 -> access$setEsds$li 1:1:void access$setEsds$p(ai.neuvision.kit.live.rtmp.RtmpPusher,byte[]):17:17 -> access$setEsds$p 1:1:void access$setHasPushAudioHeader$p(ai.neuvision.kit.live.rtmp.RtmpPusher,boolean):17:17 -> access$setHasPushAudioHeader$p 1:1:void access$setHasPushSeqHeader$p(ai.neuvision.kit.live.rtmp.RtmpPusher,boolean):17:17 -> access$setHasPushSeqHeader$p 1:1:void access$setMetaData$p(ai.neuvision.kit.live.rtmp.RtmpPusher,ai.neuvision.kit.live.rtmp.RtmpPusher$MetaInfo):17:17 -> access$setMetaData$p 1:1:void access$setNativePusher$p(ai.neuvision.kit.live.rtmp.RtmpPusher,long):17:17 -> access$setNativePusher$p 1:1:void access$setPps$li(ai.neuvision.kit.live.rtmp.RtmpPusher,byte[]):17:17 -> access$setPps$li 1:1:void access$setPps$p(ai.neuvision.kit.live.rtmp.RtmpPusher,byte[]):17:17 -> access$setPps$p 1:1:void access$setSps$li(ai.neuvision.kit.live.rtmp.RtmpPusher,byte[]):17:17 -> access$setSps$li 1:1:void access$setSps$p(ai.neuvision.kit.live.rtmp.RtmpPusher,byte[]):17:17 -> access$setSps$p 1:1:void access$setVideoCodecId$p(ai.neuvision.kit.live.rtmp.RtmpPusher,int):17:17 -> access$setVideoCodecId$p 1:1:void access$setVideoHeight$p(ai.neuvision.kit.live.rtmp.RtmpPusher,int):17:17 -> access$setVideoHeight$p 1:1:int access$setVideoParameter(ai.neuvision.kit.live.rtmp.RtmpPusher,long,int,int,int,int,byte[],byte[]):17:17 -> access$setVideoParameter 1:1:void access$setVideoWidth$p(ai.neuvision.kit.live.rtmp.RtmpPusher,int):17:17 -> access$setVideoWidth$p 1:5:void configureAudio(ai.neuvision.kit.live.rtmp.RtmpPusher$AudioInfo):139:143 -> configureAudio 1:6:void configureVideo(ai.neuvision.kit.live.rtmp.RtmpPusher$VideoInfo):130:135 -> configureVideo 1:8:ai.neuvision.kit.live.rtmp.RtmpPusher copyOf(java.lang.String):238:245 -> copyOf 1:1:boolean getAudioEnabled():35:35 -> getAudioEnabled 1:1:ai.neuvision.kit.live.rtmp.RtmpPusher$Callback getCallback():31:31 -> getCallback 1:1:java.lang.String getUrl():17:17 -> getUrl 1:1:boolean getVideoEnabled():34:34 -> getVideoEnabled 1:2:void onConnected():275:276 -> onConnected 1:3:void onNetworkAvailable():258:260 -> onNetworkAvailable 1:1:void onNetworkJitter(int):252:252 -> onNetworkJitter 1:4:void onNetworkLost():267:270 -> onNetworkLost 1:1:void pushAudio(byte[]):208:208 -> pushAudio 1:2:void pushAudioESDS(byte[]):197:198 -> pushAudioESDS 1:1:void pushMetaData():153:153 -> pushMetaData 1:1:void pushVideo(boolean,byte[]):159:159 -> pushVideo 1:2:void reConnect():283:284 -> reConnect 1:1:void setAudioEnabled(boolean):35:35 -> setAudioEnabled 1:1:void setCallback(ai.neuvision.kit.live.rtmp.RtmpPusher$Callback):31:31 -> setCallback 1:1:void setVideoEnabled(boolean):34:34 -> setVideoEnabled 1:6:void setVideoParameter(int,int,int,int,byte[],byte[]):182:187 -> setVideoParameter 1:1:void start():116:116 -> start 1:3:void stop():224:226 -> stop ai.neuvision.kit.live.rtmp.RtmpPusher$AudioInfo -> ai.neuvision.kit.live.rtmp.RtmpPusher$AudioInfo: 1:1:void (int,int,int,int,int):77:77 -> 2:2:void (int,int,int,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):82:82 -> 1:1:int getBitrate():80:80 -> getBitrate 1:1:int getChannels():81:81 -> getChannels 1:1:int getCodecId():82:82 -> getCodecId 1:1:int getSampleRate():78:78 -> getSampleRate 1:1:int getSampleSize():79:79 -> getSampleSize 1:1:void setBitrate(int):80:80 -> setBitrate 1:1:void setChannels(int):81:81 -> setChannels 1:1:void setCodecId(int):82:82 -> setCodecId 1:1:void setSampleRate(int):78:78 -> setSampleRate 1:1:void setSampleSize(int):79:79 -> setSampleSize ai.neuvision.kit.live.rtmp.RtmpPusher$Companion -> ai.neuvision.kit.live.rtmp.RtmpPusher$Companion: 1:1:void ():85:85 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):85:85 -> ai.neuvision.kit.live.rtmp.RtmpPusher$MetaInfo -> ai.neuvision.kit.live.rtmp.RtmpPusher$MetaInfo: 1:1:void (int,int,int,int,int,int,int,int,int,int):54:54 -> 2:2:void (int,int,int,int,int,int,int,int,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):64:64 -> 1:1:int getAudioBitrate():63:63 -> getAudioBitrate 1:1:int getAudioChannels():62:62 -> getAudioChannels 1:1:int getAudioCodecId():64:64 -> getAudioCodecId 1:1:int getAudioSampleRate():60:60 -> getAudioSampleRate 1:1:int getAudioSampleSize():61:61 -> getAudioSampleSize 1:1:int getVideoBitrate():58:58 -> getVideoBitrate 1:1:int getVideoCodecId():59:59 -> getVideoCodecId 1:1:int getVideoFrameRate():57:57 -> getVideoFrameRate 1:1:int getVideoHeight():56:56 -> getVideoHeight 1:1:int getVideoWidth():55:55 -> getVideoWidth 1:1:void setAudioBitrate(int):63:63 -> setAudioBitrate 1:1:void setAudioChannels(int):62:62 -> setAudioChannels 1:1:void setAudioCodecId(int):64:64 -> setAudioCodecId 1:1:void setAudioSampleRate(int):60:60 -> setAudioSampleRate 1:1:void setAudioSampleSize(int):61:61 -> setAudioSampleSize 1:1:void setVideoBitrate(int):58:58 -> setVideoBitrate 1:1:void setVideoCodecId(int):59:59 -> setVideoCodecId 1:1:void setVideoFrameRate(int):57:57 -> setVideoFrameRate 1:1:void setVideoHeight(int):56:56 -> setVideoHeight 1:1:void setVideoWidth(int):55:55 -> setVideoWidth ai.neuvision.kit.live.rtmp.RtmpPusher$VideoInfo -> ai.neuvision.kit.live.rtmp.RtmpPusher$VideoInfo: 1:1:void (int,int,int,int,int):68:68 -> 2:2:void (int,int,int,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):73:73 -> 1:1:int getBitrate():72:72 -> getBitrate 1:1:int getCodecId():73:73 -> getCodecId 1:1:int getFrameRate():71:71 -> getFrameRate 1:1:int getHeight():70:70 -> getHeight 1:1:int getWidth():69:69 -> getWidth 1:1:void setBitrate(int):72:72 -> setBitrate 1:1:void setCodecId(int):73:73 -> setCodecId 1:1:void setFrameRate(int):71:71 -> setFrameRate 1:1:void setHeight(int):70:70 -> setHeight 1:1:void setWidth(int):69:69 -> setWidth ai.neuvision.kit.live.rtmp.RtmpPusher$pushAudio$1 -> ai.neuvision.kit.live.rtmp.RtmpPusher$a: byte[] $data -> b ai.neuvision.kit.live.rtmp.RtmpPusher this$0 -> a 1:10:void invoke():209:218 -> invoke 1:10:java.lang.Object invoke():17 -> invoke 11:11:java.lang.Object invoke():17:17 -> invoke ai.neuvision.kit.live.rtmp.RtmpPusher$pushAudioESDS$1 -> ai.neuvision.kit.live.rtmp.RtmpPusher$b: byte[] $esds -> b ai.neuvision.kit.live.rtmp.RtmpPusher this$0 -> a 1:3:void invoke():199:201 -> invoke 1:3:java.lang.Object invoke():17 -> invoke 4:4:java.lang.Object invoke():17:17 -> invoke ai.neuvision.kit.live.rtmp.RtmpPusher$pushMetaData$1 -> ai.neuvision.kit.live.rtmp.RtmpPusher$c: ai.neuvision.kit.live.rtmp.RtmpPusher this$0 -> a 1:1:void invoke():154:154 -> invoke 1:1:java.lang.Object invoke():17 -> invoke 2:2:java.lang.Object invoke():17:17 -> invoke ai.neuvision.kit.live.rtmp.RtmpPusher$pushVideo$1 -> ai.neuvision.kit.live.rtmp.RtmpPusher$d: byte[] $data -> b ai.neuvision.kit.live.rtmp.RtmpPusher this$0 -> a boolean $isIFrame -> c 1:16:void invoke():160:175 -> invoke 1:16:java.lang.Object invoke():17 -> invoke 17:17:java.lang.Object invoke() -> invoke ai.neuvision.kit.live.rtmp.RtmpPusher$setVideoParameter$1 -> ai.neuvision.kit.live.rtmp.RtmpPusher$e: ai.neuvision.kit.live.rtmp.RtmpPusher this$0 -> a byte[] $pps -> g int $bitrate -> d int $videoCodecId -> e int $width -> b int $height -> c byte[] $sps -> f 1:4:void invoke():188:191 -> invoke 1:4:java.lang.Object invoke():17 -> invoke 5:5:java.lang.Object invoke():17:17 -> invoke ai.neuvision.kit.live.rtmp.RtmpPusher$start$1 -> ai.neuvision.kit.live.rtmp.RtmpPusher$f: ai.neuvision.kit.live.rtmp.RtmpPusher this$0 -> a 1:1:void invoke():117:117 -> invoke 1:1:java.lang.Object invoke():17 -> invoke 2:2:java.lang.Object invoke():17:17 -> invoke ai.neuvision.kit.live.rtmp.RtmpPusher$stop$1 -> ai.neuvision.kit.live.rtmp.RtmpPusher$g: ai.neuvision.kit.live.rtmp.RtmpPusher this$0 -> a 1:6:void invoke():227:232 -> invoke 1:6:java.lang.Object invoke():17 -> invoke 7:7:java.lang.Object invoke():17:17 -> invoke ai.neuvision.kit.live.texture.impl.BaseTexture -> ai.neuvision.kit.live.texture.impl.BaseTexture: float[] DEFAULT_TEXTURE_COORDINATE -> m float[] IDENTITY_MATRIX -> k float[] POSITION -> l java.lang.String name -> j byte[] INDICES -> n java.nio.FloatBuffer texCoord -> d java.nio.FloatBuffer position -> c int shaderProgram -> i int[] vao -> f int[] ebo -> g int[] ubo -> h int[] vbo -> e java.lang.Object mLock -> a boolean needUpdateVBO -> b 1:6:void ():42:42 -> 13:18:void ():49:49 -> 28:33:void ():59:59 -> 40:43:void ():66:66 -> 1:13:void (java.lang.String):19:31 -> 14:14:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):19:19 -> 1:11:int loadShader(int,java.lang.String):177:187 -> a 12:17:java.nio.FloatBuffer createVertexAttribBuffer(float[]):206:206 -> a 1:5:void draw(float[]):145:149 -> draw 1:4:void updateVBO():100:100 -> enableVAO 1:4:void enableVAO():139 -> enableVAO 8:11:void updateVBO():104:107 -> enableVAO 8:11:void enableVAO():139 -> enableVAO 12:12:void enableVAO():140:140 -> enableVAO 13:13:void updateVBO():100:100 -> enableVAO 13:13:void enableVAO():139 -> enableVAO 1:1:int getAttribLocation(java.lang.String):227:227 -> getAttribLocation 1:1:int[] getEbo():28:28 -> getEbo 1:1:java.lang.String getName():19:19 -> getName 1:1:int getShaderProgram():31:31 -> getShaderProgram 1:1:int[] getUbo():29:29 -> getUbo 1:1:int getUniformLocation(java.lang.String):232:232 -> getUniformLocation 1:1:int[] getVao():27:27 -> getVao 1:1:int[] getVbo():26:26 -> getVbo 1:3:void init():75:75 -> init 4:22:int createProgram(java.lang.String,java.lang.String):154:172 -> init 4:22:void init():74 -> init 23:23:void init():74:74 -> init 24:31:void createVBO():88:95 -> init 24:31:void init():78 -> init 32:42:void createVAO():111:121 -> init 32:42:void init():79 -> init 43:52:void createEBO():125:134 -> init 43:52:void init():80 -> init 1:4:void release():217:220 -> release 1:1:void setEbo(int[]):28:28 -> setEbo 1:1:void setName(java.lang.String):19:19 -> setName 1:1:void setShaderProgram(int):31:31 -> setShaderProgram 1:1:void setUbo(int[]):29:29 -> setUbo 1:1:void setUniformMatrix4fv(int,float[]):241:241 -> setUniformMatrix4fv 1:1:void setVao(int[]):27:27 -> setVao 1:1:void setVbo(int[]):26:26 -> setVbo 1:1:void setVertex(int,int):237:237 -> setVertex 1:5:void updateCoordinateLocation(float[],float[]):196:200 -> updateCoordinateLocation 6:6:void updateCoordinateLocation(float[],float[]):199:199 -> updateCoordinateLocation 7:7:void updateCoordinateLocation(float[],float[]):196:196 -> updateCoordinateLocation 1:1:void updateCoordinateLocation$default(ai.neuvision.kit.live.texture.impl.BaseTexture,float[],float[],int,java.lang.Object):195:195 -> updateCoordinateLocation$default 2:2:void updateCoordinateLocation$default(ai.neuvision.kit.live.texture.impl.BaseTexture,float[],float[],int,java.lang.Object):0:0 -> updateCoordinateLocation$default ai.neuvision.kit.live.texture.impl.BaseTexture$Companion -> ai.neuvision.kit.live.texture.impl.BaseTexture$Companion: 1:1:void ():33:33 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):33:33 -> ai.neuvision.kit.live.texture.impl.CameraTexture -> ai.neuvision.kit.live.texture.impl.CameraTexture: 1:1:void (java.lang.String):12:12 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):12:12 -> 1:7:void drawFrame(float[]):24:30 -> drawFrame 1:1:void init():18:18 -> init ai.neuvision.kit.live.texture.impl.FrameTexture -> ai.neuvision.kit.live.texture.impl.FrameTexture: int textureId -> o int[] frameBuffer -> p int[] texture -> q 1:5:void (java.lang.String):12:16 -> 6:6:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):12:12 -> 1:1:void bindTextureId(int):19:19 -> bindTextureId 1:1:int[] getFrameBuffer():15:15 -> getFrameBuffer 1:1:int[] getTexture():16:16 -> getTexture 1:1:int getTextureId():14:14 -> getTextureId 1:24:void initFrameBuffer():30:53 -> initFrameBuffer 25:50:void initFrameBuffer():48:73 -> initFrameBuffer 1:1:void setTextureId(int):14:14 -> setTextureId ai.neuvision.kit.live.texture.impl.filter.BaseFilter -> ai.neuvision.kit.live.texture.impl.filter.BaseFilter: 1:1:void (java.lang.String):13:13 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):13:13 -> 1:6:void active():23:28 -> active 1:2:void inactive():34:35 -> inactive 1:3:void init():17:19 -> init ai.neuvision.kit.live.texture.impl.filter.BlueFilter -> ai.neuvision.kit.live.texture.impl.filter.BlueFilter: 1:1:void (java.lang.String):12:12 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):12:12 -> 1:4:void drawFrame(float[]):17:20 -> drawFrame ai.neuvision.kit.live.texture.impl.filter.BlurFilter -> ai.neuvision.kit.live.texture.impl.filter.BlurFilter: 1:1:void (java.lang.String):12:12 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):12:12 -> 1:4:void drawFrame(float[]):17:20 -> drawFrame ai.neuvision.kit.live.texture.impl.filter.GrayScaleFilter -> ai.neuvision.kit.live.texture.impl.filter.GrayScaleFilter: 1:1:void (java.lang.String):11:11 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):11:11 -> 1:7:void drawFrame(float[]):16:22 -> drawFrame ai.neuvision.kit.live.texture.impl.filter.MagicFilter -> ai.neuvision.kit.live.texture.impl.filter.MagicFilter: java.util.LinkedList groups -> t java.util.LinkedList filters -> r java.util.LinkedList stickers -> s 1:1:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> 1:1:void (java.lang.String):16 -> 2:4:void (java.lang.String):18:20 -> 5:5:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> 1:2:ai.neuvision.kit.live.texture.impl.filter.MagicFilter addFilter(ai.neuvision.kit.live.texture.impl.filter.BaseFilter):59:60 -> addFilter 1:2:ai.neuvision.kit.live.texture.impl.filter.MagicFilter addSticker(ai.neuvision.kit.live.texture.impl.sticker.BaseSticker):52:53 -> addSticker 1:54:void bindTextureId(int):42:95 -> bindTextureId 55:57:void bindTextureId(int):44:46 -> bindTextureId 1:32:void drawFrame(float[]):67:98 -> drawFrame 33:39:void drawFrame(float[]):70:76 -> drawFrame 1:68:void init():26:93 -> init 69:72:void init():30:33 -> init ai.neuvision.kit.live.texture.impl.filter.RedFilter -> ai.neuvision.kit.live.texture.impl.filter.RedFilter: 1:1:void (java.lang.String):11:11 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):11:11 -> 1:4:void drawFrame(float[]):16:19 -> drawFrame ai.neuvision.kit.live.texture.impl.sticker.BaseSticker -> ai.neuvision.kit.live.texture.impl.sticker.BaseSticker: ai.neuvision.kit.live.texture.impl.sticker.BaseSticker$Sticker sticker -> o int[] textureIds -> p 1:4:void (java.lang.String):17:20 -> 5:5:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):17:17 -> 1:5:void bindTexture(android.graphics.Bitmap):50:54 -> bindTexture 1:8:void createTexture():38:45 -> createTexture 1:7:void drawSticker():58:64 -> drawSticker 1:1:ai.neuvision.kit.live.texture.impl.sticker.BaseSticker$Sticker getSticker():19:19 -> getSticker 1:1:int getTextureId():23:23 -> getTextureId 1:1:int[] getTextureIds():20:20 -> getTextureIds 1:3:void init():30:32 -> init 1:1:void setSticker(ai.neuvision.kit.live.texture.impl.sticker.BaseSticker$Sticker):19:19 -> setSticker 1:1:void setTextureIds(int[]):20:20 -> setTextureIds 1:14:void updateSize(int,int):69:82 -> updateSize ai.neuvision.kit.live.texture.impl.sticker.BaseSticker$Sticker -> ai.neuvision.kit.live.texture.impl.sticker.BaseSticker$Sticker: float heightRatio -> g float widthRatio -> f float scale -> e float y -> b int height -> d float x -> a int width -> c 1:1:void (float,float,int,int,float,float,float):86:86 -> 2:2:void (float,float,int,int,float,float,float,int,kotlin.jvm.internal.DefaultConstructorMarker):93:93 -> 1:1:int getHeight():90:90 -> getHeight 1:1:float getHeightRatio():93:93 -> getHeightRatio 1:5:android.graphics.RectF getRect():95:99 -> getRect 1:1:float getScale():91:91 -> getScale 1:1:int getWidth():89:89 -> getWidth 1:1:float getWidthRatio():92:92 -> getWidthRatio 1:1:float getX():87:87 -> getX 1:1:float getY():88:88 -> getY 1:1:void setHeight(int):90:90 -> setHeight 1:1:void setHeightRatio(float):93:93 -> setHeightRatio 1:1:void setScale(float):91:91 -> setScale 1:1:void setWidth(int):89:89 -> setWidth 1:1:void setWidthRatio(float):92:92 -> setWidthRatio 1:1:void setX(float):87:87 -> setX 1:1:void setY(float):88:88 -> setY ai.neuvision.kit.live.texture.impl.sticker.ImageSticker -> ai.neuvision.kit.live.texture.impl.sticker.ImageSticker: android.graphics.Bitmap image -> q 1:1:void (java.lang.String):11:11 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):11:11 -> 1:4:void drawImage():23:26 -> drawImage 1:3:ai.neuvision.kit.live.texture.impl.sticker.ImageSticker setImage(ai.neuvision.kit.live.texture.impl.sticker.ImageSticker$Image):16:18 -> setImage ai.neuvision.kit.live.texture.impl.sticker.ImageSticker$Image -> ai.neuvision.kit.live.texture.impl.sticker.ImageSticker$Image: ai.neuvision.kit.live.texture.impl.sticker.ImageSticker$ScaleType scaleType -> i android.graphics.Bitmap bitmap -> h 1:1:void (android.graphics.Bitmap,ai.neuvision.kit.live.texture.impl.sticker.ImageSticker$ScaleType,int,kotlin.jvm.internal.DefaultConstructorMarker):38:38 -> 2:2:void (android.graphics.Bitmap,ai.neuvision.kit.live.texture.impl.sticker.ImageSticker$ScaleType):39:39 -> 1:1:android.graphics.Bitmap getBitmap():37:37 -> getBitmap 1:1:ai.neuvision.kit.live.texture.impl.sticker.ImageSticker$ScaleType getScaleType():38:38 -> getScaleType 1:1:void setBitmap(android.graphics.Bitmap):37:37 -> setBitmap 1:1:void setScaleType(ai.neuvision.kit.live.texture.impl.sticker.ImageSticker$ScaleType):38:38 -> setScaleType ai.neuvision.kit.live.texture.impl.sticker.ImageSticker$ScaleType -> ai.neuvision.kit.live.texture.impl.sticker.ImageSticker$ScaleType: 1:1:void (java.lang.String,int):29:29 -> ai.neuvision.kit.live.texture.impl.sticker.TextSticker -> ai.neuvision.kit.live.texture.impl.sticker.TextSticker: 1:1:void ():10:10 -> ai.neuvision.kit.live.texture.impl.sticker.TextSticker$TextSticker -> ai.neuvision.kit.live.texture.impl.sticker.TextSticker$TextSticker: java.lang.String text -> h 1:1:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):23:23 -> 2:2:void (java.lang.String):24:24 -> 1:1:java.lang.String getText():23:23 -> getText 1:1:void setText(java.lang.String):23:23 -> setText ai.neuvision.kit.live.utils.GLUtils -> ai.neuvision.kit.live.utils.GLUtils: 1:1:void ():16:16 -> 1:1:void ():16:16 -> 1:3:int checkGLESError(java.lang.String):47:49 -> checkGLESError 1:13:java.lang.String readShaderFromGLSL(int,java.lang.String):28:40 -> readShaderFromGLSL 1:7:void transformMatrix(int[]):56:62 -> transformMatrix ai.neuvision.kit.live.utils.Metrix -> ai.neuvision.kit.live.utils.Metrix: ai.neuvision.kit.live.utils.Metrix$Item bitrate -> f ai.neuvision.kit.live.utils.Metrix$Item codecIn -> d ai.neuvision.kit.live.utils.Metrix$Item codecOut -> e long interval -> b ai.neuvision.sdk.pipline.Pipeline pipeline -> g ai.neuvision.kit.live.utils.Metrix$Callback callback -> a boolean mStart -> c 1:9:void (ai.neuvision.sdk.pipline.Pipeline):13:21 -> 1:1:boolean access$getMStart$p(ai.neuvision.kit.live.utils.Metrix):13:13 -> access$getMStart$p 1:1:void runTask():91:91 -> access$runTask 1:1:void access$runTask(ai.neuvision.kit.live.utils.Metrix):13 -> access$runTask 2:4:void measureAll():99:101 -> access$runTask 2:4:void runTask():92 -> access$runTask 2:4:void access$runTask(ai.neuvision.kit.live.utils.Metrix):13 -> access$runTask 5:6:void runTask():93:94 -> access$runTask 5:6:void access$runTask(ai.neuvision.kit.live.utils.Metrix):13 -> access$runTask 1:1:void access$setMStart$p(ai.neuvision.kit.live.utils.Metrix,boolean):13:13 -> access$setMStart$p 1:3:void close():112:112 -> close 6:6:void close():115:115 -> close 7:7:void close():112:112 -> close 1:1:ai.neuvision.kit.live.utils.Metrix$Item getBitrate():21:21 -> getBitrate 1:1:ai.neuvision.kit.live.utils.Metrix$Item getCodecIn():19:19 -> getCodecIn 1:1:ai.neuvision.kit.live.utils.Metrix$Item getCodecOut():20:20 -> getCodecOut 1:1:ai.neuvision.sdk.pipline.Pipeline getPipeline():13:13 -> getPipeline 1:3:void reset():106:108 -> reset 1:1:void setBitrate(ai.neuvision.kit.live.utils.Metrix$Item):21:21 -> setBitrate 1:4:void setCallback(ai.neuvision.kit.live.utils.Metrix$Callback,long):78:81 -> setCallback 1:1:void setCodecIn(ai.neuvision.kit.live.utils.Metrix$Item):19:19 -> setCodecIn 1:1:void setCodecOut(ai.neuvision.kit.live.utils.Metrix$Item):20:20 -> setCodecOut ai.neuvision.kit.live.utils.Metrix$Bitrate -> ai.neuvision.kit.live.utils.Metrix$Bitrate: 1:1:void ():67:67 -> 1:1:java.lang.Object addValue(java.lang.Object,java.lang.Object):67:67 -> addValue 2:2:java.lang.Integer addValue(java.lang.Integer,int):69:69 -> addValue 1:1:ai.neuvision.kit.live.utils.Metrix$Item createItem():73:73 -> createItem ai.neuvision.kit.live.utils.Metrix$FrameRate -> ai.neuvision.kit.live.utils.Metrix$FrameRate: 1:1:void ():55:55 -> 1:1:java.lang.Object addValue(java.lang.Object,java.lang.Object):55:55 -> addValue 2:2:java.lang.Integer addValue(java.lang.Integer,int):57:57 -> addValue 1:1:ai.neuvision.kit.live.utils.Metrix$Item createItem():61:61 -> createItem ai.neuvision.kit.live.utils.Metrix$Item -> ai.neuvision.kit.live.utils.Metrix$Item: java.lang.Object currentValue -> b java.util.LinkedList measures -> a 1:2:void ():27:28 -> 1:1:void addValue(java.lang.Object):32:32 -> addValue 1:1:java.util.LinkedList getMeasures():28:28 -> getMeasures 1:1:java.lang.Object lastMeasure():46:46 -> lastMeasure 1:4:ai.neuvision.kit.live.utils.Metrix$Item measure():38:41 -> measure 1:2:void reset():50:51 -> reset 1:1:void setMeasures(java.util.LinkedList):28:28 -> setMeasures ai.neuvision.kit.live.utils.Metrix$runTask$1 -> p: ai.neuvision.kit.live.utils.Metrix this$0 -> a 1:1:void run():94:94 -> run ai.neuvision.kit.live.utils.Metrix$setCallback$1 -> ai.neuvision.kit.live.utils.Metrix$a: ai.neuvision.kit.live.utils.Metrix this$0 -> a 1:3:void run():82:82 -> run 6:6:void run():85:85 -> run 7:7:void run():82:82 -> run ai.neuvision.kit.live.utils.NetworkManager -> ai.neuvision.kit.live.utils.NetworkManager: android.net.ConnectivityManager connectivityManager -> a ai.neuvision.kit.live.utils.NetworkManager$callback$1 callback -> d java.util.ArrayList callbacks -> b boolean firstReceive -> c 1:1:void access$setCallbacks$p(ai.neuvision.kit.live.utils.NetworkManager,java.util.ArrayList):23:23 -> 1:1:void ():23 -> 2:5:void ():26:29 -> 1:1:void access$setCallbacks$p(ai.neuvision.kit.live.utils.NetworkManager,java.util.ArrayList):23:23 -> 1:1:void ():23 -> 1:1:void access$setCallbacks$p(ai.neuvision.kit.live.utils.NetworkManager,java.util.ArrayList):23:23 -> access$getCallbacks$p 1:1:java.util.ArrayList access$getCallbacks$p(ai.neuvision.kit.live.utils.NetworkManager):23 -> access$getCallbacks$p 1:1:void access$setCallbacks$p(ai.neuvision.kit.live.utils.NetworkManager,java.util.ArrayList):23:23 -> access$setCallbacks$p 1:4:void getNetworkStates():114:117 -> getNetworkStates 1:9:void init(android.content.Context):72:72 -> init 1:7:boolean isAvailableByDns(java.lang.String):134:140 -> isAvailableByDns 1:1:boolean isAvailableByDns$default(ai.neuvision.kit.live.utils.NetworkManager,java.lang.String,int,java.lang.Object):133:133 -> isAvailableByDns$default 1:7:boolean isNetworkAvailable():101:107 -> isNetworkAvailable 1:25:void onNetStateChanged():121:145 -> onNetStateChanged 26:46:void onNetStateChanged():127:147 -> onNetStateChanged 47:47:void onNetStateChanged():129:129 -> onNetStateChanged 1:4:void register(ai.neuvision.kit.live.utils.NetworkManager$Callback):84:84 -> register 1:3:void unregister(ai.neuvision.kit.live.utils.NetworkManager$Callback):93:93 -> unregister ai.neuvision.kit.live.utils.NetworkManager$callback$1 -> ai.neuvision.kit.live.utils.NetworkManager$callback$1: 1:1:void ():29:29 -> 1:115:void onAvailable(android.net.Network):31:145 -> onAvailable 116:116:void onAvailable(android.net.Network):32:32 -> onAvailable 1:1:void onBlockedStatusChanged(android.net.Network,boolean):60:60 -> onBlockedStatusChanged 1:1:void onCapabilitiesChanged(android.net.Network,android.net.NetworkCapabilities):52:52 -> onCapabilitiesChanged 1:1:void onLinkPropertiesChanged(android.net.Network,android.net.LinkProperties):56:56 -> onLinkPropertiesChanged 1:1:void onLosing(android.net.Network,int):36:36 -> onLosing 1:108:void onLost(android.net.Network):40:147 -> onLost 109:109:void onLost(android.net.Network):41:41 -> onLost 1:1:void onUnavailable():45:45 -> onUnavailable ai.neuvision.kit.live.view.BaseRender -> ai.neuvision.kit.live.view.BaseRender: java.lang.String name -> g ai.neuvision.kit.live.texture.impl.filter.BaseFilter filter -> b int textureId -> f int backgroundColor -> d ai.neuvision.kit.live.texture.impl.sticker.ImageSticker backgroundTexture -> c android.graphics.Bitmap backgroundBitmap -> e ai.neuvision.kit.live.texture.impl.FrameTexture texture -> a 1:19:void (java.lang.String):17:35 -> 20:20:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):17:17 -> 1:1:android.graphics.Bitmap getBackgroundBitmap():24:24 -> getBackgroundBitmap 1:1:int getBackgroundColor():22:22 -> getBackgroundColor 1:1:ai.neuvision.kit.live.texture.impl.filter.BaseFilter getFilter():20:20 -> getFilter 1:1:java.lang.String getName():41:41 -> getName 1:1:int getTextureId():35:35 -> getTextureId 1:1:void clearColor():82:82 -> onDrawFrame 1:1:void onDrawFrame(float[]):65 -> onDrawFrame 2:12:void onDrawFrame(float[]):66:76 -> onDrawFrame 1:2:void onSurfaceChanged(int,int):60:61 -> onSurfaceChanged 1:1:void clearColor():82:82 -> onSurfaceCreated 1:1:void onSurfaceCreated():46 -> onSurfaceCreated 2:9:void onSurfaceCreated():47:54 -> onSurfaceCreated 1:2:void release():96:97 -> release 1:4:void setBackgroundBitmap(android.graphics.Bitmap):26:29 -> setBackgroundBitmap 5:5:void setBackgroundBitmap(android.graphics.Bitmap):28:28 -> setBackgroundBitmap 1:1:void setBackgroundColor(int):22:22 -> setBackgroundColor 1:1:void setFilter(ai.neuvision.kit.live.texture.impl.filter.BaseFilter):20:20 -> setFilter 1:2:void setTextureId(int):37:38 -> setTextureId 1:1:void updateLocation(float[],float[]):87:87 -> updateLocation 2:2:void updateLocation(float[]):91:91 -> updateLocation ai.neuvision.kit.live.view.BaseTextureView -> ai.neuvision.kit.live.view.BaseTextureView: ai.neuvision.kit.live.view.BaseRender render -> b android.view.TextureView$SurfaceTextureListener mOutSurfaceTextureListener -> e int surfaceTextureHeight -> h ai.neuvision.kit.live.view.RenderMode renderMode -> c android.opengl.EGLContext eglContext -> i ai.neuvision.sdk.pipline.Pipeline mPipeline -> d boolean mSurfaceTextureSizeChanged -> f int surfaceTextureWidth -> g ai.neuvision.kit.live.gl.Egl egl -> a 1:46:void (android.content.Context,android.util.AttributeSet,int,int):32:77 -> 47:47:void (android.content.Context):70:70 -> 48:48:void (android.content.Context,android.util.AttributeSet):71:71 -> 49:49:void (android.content.Context,android.util.AttributeSet,int):72:72 -> 1:3:void initEgl():114:116 -> a 1:1:ai.neuvision.kit.live.gl.Egl access$getEgl$li(ai.neuvision.kit.live.view.BaseTextureView):27:27 -> access$getEgl$li 1:1:ai.neuvision.kit.live.gl.Egl access$getEgl$p(ai.neuvision.kit.live.view.BaseTextureView):27:27 -> access$getEgl$p 1:1:ai.neuvision.sdk.pipline.Pipeline access$getMPipeline$p(ai.neuvision.kit.live.view.BaseTextureView):27:27 -> access$getMPipeline$p 1:1:boolean access$getMSurfaceTextureSizeChanged$p(ai.neuvision.kit.live.view.BaseTextureView):27:27 -> access$getMSurfaceTextureSizeChanged$p 1:1:ai.neuvision.kit.live.view.BaseRender access$getRender$p(ai.neuvision.kit.live.view.BaseTextureView):27:27 -> access$getRender$p 1:1:int access$getSurfaceTextureHeight$p(ai.neuvision.kit.live.view.BaseTextureView):27:27 -> access$getSurfaceTextureHeight$p 1:1:int access$getSurfaceTextureWidth$p(ai.neuvision.kit.live.view.BaseTextureView):27:27 -> access$getSurfaceTextureWidth$p 1:1:void access$setEgl$li(ai.neuvision.kit.live.view.BaseTextureView,ai.neuvision.kit.live.gl.Egl):27:27 -> access$setEgl$li 1:1:void access$setEgl$p(ai.neuvision.kit.live.view.BaseTextureView,ai.neuvision.kit.live.gl.Egl):27:27 -> access$setEgl$p 1:1:void access$setMPipeline$p(ai.neuvision.kit.live.view.BaseTextureView,ai.neuvision.sdk.pipline.Pipeline):27:27 -> access$setMPipeline$p 1:1:void access$setMSurfaceTextureSizeChanged$p(ai.neuvision.kit.live.view.BaseTextureView,boolean):27:27 -> access$setMSurfaceTextureSizeChanged$p 1:1:void access$setRender$p(ai.neuvision.kit.live.view.BaseTextureView,ai.neuvision.kit.live.view.BaseRender):27:27 -> access$setRender$p 1:1:void access$setSurfaceTextureHeight$p(ai.neuvision.kit.live.view.BaseTextureView,int):27:27 -> access$setSurfaceTextureHeight$p 1:1:void access$setSurfaceTextureWidth$p(ai.neuvision.kit.live.view.BaseTextureView,int):27:27 -> access$setSurfaceTextureWidth$p 1:2:void draw$yckit_release(android.graphics.SurfaceTexture):170:171 -> draw$yckit_release 1:1:ai.neuvision.kit.live.view.BaseRender getDefaultRender():82:82 -> getDefaultRender 1:1:android.opengl.EGLContext getEglContext():51:51 -> getEglContext 1:1:ai.neuvision.kit.live.view.RenderMode getRenderMode():38:38 -> getRenderMode 1:2:void onAttachedToWindow():86:87 -> onAttachedToWindow 1:2:void onDetachedFromWindow():91:92 -> onDetachedFromWindow 1:2:void onLayout(boolean,int,int,int,int):131:132 -> onLayout 1:4:void onSurfaceTextureAvailable(android.graphics.SurfaceTexture,int,int):163:166 -> onSurfaceTextureAvailable 1:2:boolean onSurfaceTextureDestroyed(android.graphics.SurfaceTexture):156:157 -> onSurfaceTextureDestroyed 1:6:void onSurfaceTextureSizeChanged(android.graphics.SurfaceTexture,int,int):142:147 -> onSurfaceTextureSizeChanged 1:1:void onSurfaceTextureUpdated(android.graphics.SurfaceTexture):151:151 -> onSurfaceTextureUpdated 1:2:void release():198:199 -> release 1:2:void requestRender():97:98 -> requestRender 1:3:void setBackgroundDrawable(android.graphics.drawable.Drawable):302:304 -> setBackgroundDrawable 1:2:void setEglContext(android.opengl.EGLContext):54:55 -> setEglContext 3:4:void resetEgl():193:194 -> setEglContext 3:4:void setEglContext(android.opengl.EGLContext):56 -> setEglContext 1:1:void setFilter(ai.neuvision.kit.live.texture.impl.filter.BaseFilter):278:278 -> setFilter 1:1:void setRenderMode(ai.neuvision.kit.live.view.RenderMode):38:38 -> setRenderMode 1:1:void setSurfaceTextureListener(android.view.TextureView$SurfaceTextureListener):137:137 -> setSurfaceTextureListener 1:1:void setTextureId(int):110:110 -> setTextureId 1:2:void update(ai.neuvision.kit.live.context.VideoContext,int):211:212 -> update 1:54:void updateTransform(android.util.Size,int):217:270 -> updateTransform ai.neuvision.kit.live.view.BaseTextureView$draw$1 -> ai.neuvision.kit.live.view.BaseTextureView$a: android.graphics.SurfaceTexture $st -> b ai.neuvision.kit.live.view.BaseTextureView this$0 -> a 1:14:void invoke():173:186 -> invoke 1:14:java.lang.Object invoke():27 -> invoke 15:15:java.lang.Object invoke():27:27 -> invoke ai.neuvision.kit.live.view.BaseTextureView$initEgl$1 -> ai.neuvision.kit.live.view.BaseTextureView$b: ai.neuvision.kit.live.view.BaseTextureView this$0 -> a 1:8:void invoke():117:124 -> invoke 1:8:java.lang.Object invoke():27 -> invoke 9:9:java.lang.Object invoke():27:27 -> invoke ai.neuvision.kit.live.view.BaseTextureView$release$1 -> ai.neuvision.kit.live.view.BaseTextureView$c: ai.neuvision.kit.live.view.BaseTextureView this$0 -> a 1:3:void invoke():200:202 -> invoke 1:3:java.lang.Object invoke():27 -> invoke 4:4:java.lang.Object invoke():27:27 -> invoke ai.neuvision.kit.live.view.BaseTextureView$requestRender$2 -> ai.neuvision.kit.live.view.BaseTextureView$d: ai.neuvision.kit.live.view.BaseTextureView this$0 -> a 1:4:void invoke():99:102 -> invoke 1:4:java.lang.Object invoke():27 -> invoke 5:5:java.lang.Object invoke():27:27 -> invoke ai.neuvision.kit.live.view.CameraRender -> ai.neuvision.kit.live.view.CameraRender: 1:1:void (java.lang.String):13:13 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):13:13 -> 1:1:ai.neuvision.kit.live.texture.impl.FrameTexture getTexture():13:13 -> getTexture 2:2:ai.neuvision.kit.live.texture.impl.CameraTexture getTexture():15:15 -> getTexture 1:33:void updateTextureLocation(ai.neuvision.kit.live.context.VideoContext):18:50 -> updateTextureLocation 34:111:void updateTextureLocation(ai.neuvision.kit.live.context.VideoContext):32:109 -> updateTextureLocation 112:116:void updateTextureLocation(ai.neuvision.kit.live.context.VideoContext):97:101 -> updateTextureLocation 117:121:void updateTextureLocation(ai.neuvision.kit.live.context.VideoContext):89:93 -> updateTextureLocation 122:174:void updateTextureLocation(ai.neuvision.kit.live.context.VideoContext):81:133 -> updateTextureLocation 175:179:void updateTextureLocation(ai.neuvision.kit.live.context.VideoContext):131:135 -> updateTextureLocation ai.neuvision.kit.live.view.GLSurfaceTexture -> ai.neuvision.kit.live.view.GLSurfaceTexture: java.lang.Object mLock -> b boolean isAttach -> a 1:4:void (int):14:17 -> 1:4:void attachToGLContext(int):24:24 -> attachToGLContext 9:10:void attachToGLContext(int):29:30 -> attachToGLContext 11:11:void attachToGLContext(int):24:24 -> attachToGLContext 1:6:void detachFromGLContext():34:34 -> detachFromGLContext 1:1:boolean isAttach():16:16 -> isAttach 1:1:void setAttach(boolean):16:16 -> setAttach 1:1:void updateTexImage():45:45 -> updateTexImage ai.neuvision.kit.live.view.GLSurfaceTexture$Companion -> ai.neuvision.kit.live.view.GLSurfaceTexture$Companion: 1:1:void ():19:19 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):19:19 -> ai.neuvision.kit.live.view.IRender$DefaultImpls -> ai.neuvision.kit.live.view.IRender$DefaultImpls: 1:1:void onDrawFrame$default(ai.neuvision.kit.live.view.IRender,float[],int,java.lang.Object):21:21 -> onDrawFrame$default 2:2:void onDrawFrame$default(ai.neuvision.kit.live.view.IRender,float[],int,java.lang.Object):0:0 -> onDrawFrame$default ai.neuvision.kit.live.view.RenderMode -> ai.neuvision.kit.live.view.RenderMode: 1:1:void (java.lang.String,int):9:9 -> ai.neuvision.kit.live.view.StickerRender -> ai.neuvision.kit.live.view.StickerRender: int textureId -> h ai.neuvision.kit.live.texture.impl.sticker.ImageSticker texture -> i 1:4:void (java.lang.String):15:18 -> 5:5:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):15:15 -> 1:1:int getTextureId():17:17 -> getTextureId 1:2:void onDrawFrame(float[]):35:36 -> onDrawFrame 1:5:void setImage(android.graphics.Bitmap):27:31 -> setImage 1:1:void setTextureId(int):17:17 -> setTextureId 1:7:void updateTextureLocation(ai.neuvision.kit.live.context.VideoContext):40:40 -> updateTextureLocation ai.neuvision.kit.live.wrapper.CameraTextureWrapper -> ai.neuvision.kit.live.wrapper.CameraTextureWrapper: java.lang.String name -> g 1:6:void (java.lang.String):17:22 -> 7:7:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):17:17 -> 1:1:void draw(float[]):47:47 -> draw 1:1:java.lang.String getName():17:17 -> getName 1:4:void setTextureId(ai.neuvision.kit.live.view.BaseTextureView):56:59 -> setTextureId 1:1:void updateTexture():26:26 -> updateTexture 1:1:void updateTextureLocation(ai.neuvision.kit.live.context.VideoContext):52:52 -> updateTextureLocation 2:6:float[] calculateLocation(ai.neuvision.kit.live.context.VideoContext):67:71 -> updateTextureLocation 2:6:void updateTextureLocation(ai.neuvision.kit.live.context.VideoContext):52 -> updateTextureLocation 7:7:void updateTextureLocation(ai.neuvision.kit.live.context.VideoContext):52:52 -> updateTextureLocation ai.neuvision.kit.live.wrapper.CameraTextureWrapper$setTextureId$1 -> ai.neuvision.kit.live.wrapper.CameraTextureWrapper$a: ai.neuvision.kit.live.wrapper.CameraTextureWrapper this$0 -> a ai.neuvision.kit.live.view.BaseTextureView $view -> b 1:1:void invoke():60:60 -> invoke 1:1:java.lang.Object invoke():17 -> invoke 2:2:java.lang.Object invoke():17:17 -> invoke ai.neuvision.kit.live.wrapper.CameraTextureWrapper$updateTexture$1 -> ai.neuvision.kit.live.wrapper.CameraTextureWrapper$b: ai.neuvision.kit.live.wrapper.CameraTextureWrapper this$0 -> a 1:6:void invoke():27:32 -> invoke 1:6:java.lang.Object invoke():17 -> invoke 7:7:java.lang.Object invoke():17:17 -> invoke ai.neuvision.kit.live.wrapper.CameraWrapper -> ai.neuvision.kit.live.wrapper.CameraWrapper: kotlin.Lazy mCameraManager$delegate -> c java.lang.String mCurrentCameraId -> f android.hardware.camera2.CaptureRequest$Builder mPreviewBuilder -> g android.hardware.camera2.CameraDevice mCameraDevice -> d ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing mCameraFacing -> h java.util.HashSet mEncodes -> j android.hardware.camera2.CameraCaptureSession mCameraSession -> e android.content.Context context -> m ai.neuvision.kit.live.wrapper.CameraTextureWrapper mTextureWrapper -> b java.util.ArrayList mPreviews -> i android.hardware.camera2.CameraDevice$StateCallback mStateCallback -> l ai.neuvision.sdk.pipline.impl.EventPipeline mPipeline -> a ai.neuvision.kit.live.context.VideoContext mVideoContext -> k 1:1:void access$setMCameraDevice$p(ai.neuvision.kit.live.wrapper.CameraWrapper,android.hardware.camera2.CameraDevice):24:24 -> 1:1:void (android.content.Context):24 -> 2:53:void (android.content.Context):26:77 -> 1:7:void closeCamera():105:111 -> a 8:129:android.util.Size getOptimalSize(android.hardware.camera2.CameraCharacteristics,java.lang.Class,int,int):219:340 -> a 130:134:android.util.Size getOptimalSize(android.hardware.camera2.CameraCharacteristics,java.lang.Class,int,int):225:229 -> a 1:1:void access$setMCameraDevice$p(ai.neuvision.kit.live.wrapper.CameraWrapper,android.hardware.camera2.CameraDevice):24:24 -> access$getMCameraDevice$p 1:1:android.hardware.camera2.CameraDevice access$getMCameraDevice$p(ai.neuvision.kit.live.wrapper.CameraWrapper):24 -> access$getMCameraDevice$p 1:1:void access$setMCameraDevice$p(ai.neuvision.kit.live.wrapper.CameraWrapper,android.hardware.camera2.CameraDevice):24:24 -> access$getMCameraSession$p 1:1:android.hardware.camera2.CameraCaptureSession access$getMCameraSession$p(ai.neuvision.kit.live.wrapper.CameraWrapper):24 -> access$getMCameraSession$p 1:1:void access$setMCameraDevice$p(ai.neuvision.kit.live.wrapper.CameraWrapper,android.hardware.camera2.CameraDevice):24:24 -> access$getMPipeline$p 1:1:ai.neuvision.sdk.pipline.impl.EventPipeline access$getMPipeline$p(ai.neuvision.kit.live.wrapper.CameraWrapper):24 -> access$getMPipeline$p 1:1:void access$setMCameraDevice$p(ai.neuvision.kit.live.wrapper.CameraWrapper,android.hardware.camera2.CameraDevice):24:24 -> access$getMPreviewBuilder$p 1:1:android.hardware.camera2.CaptureRequest$Builder access$getMPreviewBuilder$p(ai.neuvision.kit.live.wrapper.CameraWrapper):24 -> access$getMPreviewBuilder$p 1:1:void access$setMCameraDevice$p(ai.neuvision.kit.live.wrapper.CameraWrapper,android.hardware.camera2.CameraDevice):24:24 -> access$getMVideoContext$p 1:1:ai.neuvision.kit.live.context.VideoContext access$getMVideoContext$p(ai.neuvision.kit.live.wrapper.CameraWrapper):24 -> access$getMVideoContext$p 1:1:void access$setMCameraDevice$p(ai.neuvision.kit.live.wrapper.CameraWrapper,android.hardware.camera2.CameraDevice):24:24 -> access$setMCameraDevice$p 1:1:void access$setMCameraDevice$p(ai.neuvision.kit.live.wrapper.CameraWrapper,android.hardware.camera2.CameraDevice):24:24 -> access$setMCameraSession$p 1:1:void access$setMCameraSession$p(ai.neuvision.kit.live.wrapper.CameraWrapper,android.hardware.camera2.CameraCaptureSession):24 -> access$setMCameraSession$p 1:1:void access$setMCameraDevice$p(ai.neuvision.kit.live.wrapper.CameraWrapper,android.hardware.camera2.CameraDevice):24:24 -> access$setMPipeline$p 1:1:void access$setMPipeline$p(ai.neuvision.kit.live.wrapper.CameraWrapper,ai.neuvision.sdk.pipline.impl.EventPipeline):24 -> access$setMPipeline$p 1:1:void access$setMCameraDevice$p(ai.neuvision.kit.live.wrapper.CameraWrapper,android.hardware.camera2.CameraDevice):24:24 -> access$setMPreviewBuilder$p 1:1:void access$setMPreviewBuilder$p(ai.neuvision.kit.live.wrapper.CameraWrapper,android.hardware.camera2.CaptureRequest$Builder):24 -> access$setMPreviewBuilder$p 1:1:void access$setMCameraDevice$p(ai.neuvision.kit.live.wrapper.CameraWrapper,android.hardware.camera2.CameraDevice):24:24 -> access$setMVideoContext$p 1:1:void access$setMVideoContext$p(ai.neuvision.kit.live.wrapper.CameraWrapper,ai.neuvision.kit.live.context.VideoContext):24 -> access$setMVideoContext$p android.hardware.camera2.CameraManager getMCameraManager() -> b 1:92:void close():254:345 -> close 93:98:void close():259:264 -> close 1:19:void configureTransform(ai.neuvision.kit.live.view.BaseTextureView,android.util.Size):315:333 -> configureTransform 1:1:ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing getCameraFacing():117:117 -> getCameraFacing 1:1:void access$setMCameraDevice$p(ai.neuvision.kit.live.wrapper.CameraWrapper,android.hardware.camera2.CameraDevice):24:24 -> getContext 1:1:android.content.Context getContext():24 -> getContext 1:1:boolean isCameraOn():42:42 -> isCameraOn 1:78:boolean onFrameAvailable(android.graphics.SurfaceTexture):270:347 -> onFrameAvailable 79:81:boolean onFrameAvailable(android.graphics.SurfaceTexture):277:279 -> onFrameAvailable 1:5:void openCamera(ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing,int,int):83:87 -> openCamera 6:144:java.lang.String chooseCamera(ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing,android.hardware.camera2.CameraManager):200:338 -> openCamera 6:144:void openCamera(ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing,int,int):87 -> openCamera 145:150:java.lang.String chooseCamera(ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing,android.hardware.camera2.CameraManager):204:209 -> openCamera 145:150:void openCamera(ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing,int,int):87 -> openCamera 151:400:void openCamera(ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing,int,int):87:336 -> openCamera 401:401:void openCamera(ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing,int,int):96:96 -> openCamera 1:5:void setPreview(ai.neuvision.kit.live.view.BaseTextureView):121:125 -> setPreview 1:2:void setRecordView(android.graphics.SurfaceTexture):133:134 -> setRecordView 1:2:void startRecord():169:170 -> startRecord 3:8:java.util.ArrayList getPreviewSurfaces():299:304 -> startRecord 3:8:java.util.ArrayList getEncodeSurfaces():287 -> startRecord 3:8:void startRecord():171 -> startRecord 9:70:java.util.ArrayList getEncodeSurfaces():288:349 -> startRecord 9:70:void startRecord():171 -> startRecord 71:74:java.util.ArrayList getEncodeSurfaces():289:292 -> startRecord 71:74:void startRecord():171 -> startRecord 75:97:void startRecord():172:194 -> startRecord 98:98:void startRecord():173:173 -> startRecord 1:102:void update(int):242:343 -> update 103:106:void update(int):244:247 -> update ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing -> ai.neuvision.kit.live.wrapper.CameraWrapper$CameraFacing: 1:1:void (java.lang.String,int):45:45 -> ai.neuvision.kit.live.wrapper.CameraWrapper$mCameraManager$2 -> ai.neuvision.kit.live.wrapper.CameraWrapper$a: ai.neuvision.kit.live.wrapper.CameraWrapper this$0 -> a 1:1:android.hardware.camera2.CameraManager invoke():29:29 -> invoke 1:1:java.lang.Object invoke():24 -> invoke ai.neuvision.kit.live.wrapper.CameraWrapper$mStateCallback$1 -> ai.neuvision.kit.live.wrapper.CameraWrapper$mStateCallback$1: ai.neuvision.kit.live.wrapper.CameraWrapper this$0 -> a 1:1:void (ai.neuvision.kit.live.wrapper.CameraWrapper):50:50 -> 1:3:void onDisconnected(android.hardware.camera2.CameraDevice):58:60 -> onDisconnected 1:3:void onError(android.hardware.camera2.CameraDevice,int):66:68 -> onError 1:3:void onOpened(android.hardware.camera2.CameraDevice):52:54 -> onOpened ai.neuvision.kit.live.wrapper.CameraWrapper$openCamera$$inlined$forEach$lambda$1 -> ai.neuvision.kit.live.wrapper.CameraWrapper$b: ai.neuvision.kit.live.wrapper.CameraWrapper this$0 -> b ai.neuvision.kit.live.view.BaseTextureView $it -> a 1:2:void run():97:98 -> run ai.neuvision.kit.live.wrapper.CameraWrapper$setPreview$1 -> ai.neuvision.kit.live.wrapper.CameraWrapper$c: ai.neuvision.kit.live.wrapper.CameraWrapper this$0 -> a ai.neuvision.kit.live.view.BaseTextureView $view -> b 1:2:void run():126:127 -> run ai.neuvision.kit.live.wrapper.CameraWrapper$startPreview$1 -> ai.neuvision.kit.live.wrapper.CameraWrapper$startPreview$1: 1:1:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):147:147 -> onConfigureFailed 1:4:void onConfigured(android.hardware.camera2.CameraCaptureSession):151:154 -> onConfigured 5:12:void onConfigured(android.hardware.camera2.CameraCaptureSession):152:159 -> onConfigured 13:13:void onConfigured(android.hardware.camera2.CameraCaptureSession):156:156 -> onConfigured ai.neuvision.kit.live.wrapper.CameraWrapper$startRecord$1 -> ai.neuvision.kit.live.wrapper.CameraWrapper$startRecord$1: ai.neuvision.kit.live.wrapper.CameraWrapper this$0 -> a 1:1:void (ai.neuvision.kit.live.wrapper.CameraWrapper):175:175 -> 1:2:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):177:178 -> onConfigureFailed 1:4:void onConfigured(android.hardware.camera2.CameraCaptureSession):182:185 -> onConfigured 5:12:void onConfigured(android.hardware.camera2.CameraCaptureSession):183:190 -> onConfigured 13:13:void onConfigured(android.hardware.camera2.CameraCaptureSession):187:187 -> onConfigured ai.neuvision.kit.live.wrapper.EncodeTextureWrapper -> ai.neuvision.kit.live.wrapper.EncodeTextureWrapper: java.lang.String name -> g 1:4:void (java.lang.String):17:20 -> 5:5:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):17:17 -> 1:1:void draw(float[]):36:36 -> draw 1:1:java.lang.String getName():17:17 -> getName 1:1:void setPresentationTime(long):55:55 -> setPresentationTime 1:1:void updateTexture(android.view.Surface):24:24 -> updateTexture 1:2:void updateTextureLocation(ai.neuvision.kit.live.context.VideoContext):42:43 -> updateTextureLocation ai.neuvision.kit.live.wrapper.EncodeTextureWrapper$draw$1 -> ai.neuvision.kit.live.wrapper.EncodeTextureWrapper$a: ai.neuvision.kit.live.wrapper.EncodeTextureWrapper this$0 -> a float[] $transformMatrix -> b 1:1:void invoke():37:37 -> invoke 1:1:java.lang.Object invoke():17 -> invoke 2:2:java.lang.Object invoke():17:17 -> invoke ai.neuvision.kit.live.wrapper.EncodeTextureWrapper$updateTexture$1 -> ai.neuvision.kit.live.wrapper.EncodeTextureWrapper$b: ai.neuvision.kit.live.wrapper.EncodeTextureWrapper this$0 -> a android.view.Surface $surface -> b 1:7:void invoke():25:31 -> invoke 1:7:java.lang.Object invoke():17 -> invoke 8:8:java.lang.Object invoke():17:17 -> invoke ai.neuvision.kit.live.wrapper.EncodeTextureWrapper$updateTextureLocation$1 -> ai.neuvision.kit.live.wrapper.EncodeTextureWrapper$c: ai.neuvision.kit.live.wrapper.EncodeTextureWrapper this$0 -> a 1:7:void invoke():44:50 -> invoke 1:7:java.lang.Object invoke():17 -> invoke 8:8:java.lang.Object invoke():17:17 -> invoke ai.neuvision.kit.live.wrapper.PictureTextureWrapper -> ai.neuvision.kit.live.wrapper.PictureTextureWrapper: 1:1:void (java.lang.String):11:11 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):11:11 -> ai.neuvision.kit.live.wrapper.TextureWrapper -> ai.neuvision.kit.live.wrapper.TextureWrapper: ai.neuvision.kit.live.wrapper.TextureWrapper$Callback callback -> e java.lang.String name -> f int[] textureIds -> a ai.neuvision.kit.live.wrapper.TextureWrapper$OnTextureCreateListener listener -> b ai.neuvision.sdk.pipline.Pipeline pipeline -> c boolean isRelease -> d 1:1:void (java.lang.String):20:20 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):20:20 -> 1:23:void createTexture(int):52:74 -> createTexture 24:32:void createTexture(int):68:76 -> createTexture 1:1:ai.neuvision.kit.live.wrapper.TextureWrapper$Callback getCallback():31:31 -> getCallback 1:1:ai.neuvision.kit.live.gl.Egl getEgl():27:27 -> getEgl 1:1:ai.neuvision.kit.live.wrapper.TextureWrapper$OnTextureCreateListener getListener():28:28 -> getListener 1:1:ai.neuvision.sdk.pipline.Pipeline getPipeline():29:29 -> getPipeline 1:1:android.graphics.SurfaceTexture getSurfaceTexture():22:22 -> getSurfaceTexture 1:1:ai.neuvision.kit.live.texture.impl.FrameTexture getTexture():23:23 -> getTexture 1:1:int getTextureId():26:26 -> getTextureId 1:1:int[] getTextureIds():24:24 -> getTextureIds 1:1:boolean isRelease():30:30 -> isRelease 1:1:void makeCurrent():119:119 -> makeCurrent 1:1:void release():80:80 -> release 1:8:void run(java.lang.String,kotlin.jvm.functions.Function0):95:102 -> run 9:9:void run(java.lang.String,kotlin.jvm.functions.Function0):100:100 -> run 10:17:void run(java.lang.String,java.lang.Runnable):107:114 -> run 18:18:void run(java.lang.String,java.lang.Runnable):112:112 -> run 1:1:void run$default(ai.neuvision.kit.live.wrapper.TextureWrapper,java.lang.String,kotlin.jvm.functions.Function0,int,java.lang.Object):94:94 -> run$default 2:2:void run$default(ai.neuvision.kit.live.wrapper.TextureWrapper,java.lang.String,kotlin.jvm.functions.Function0,int,java.lang.Object):0:0 -> run$default 3:3:void run$default(ai.neuvision.kit.live.wrapper.TextureWrapper,java.lang.String,java.lang.Runnable,int,java.lang.Object):106:106 -> run$default 4:4:void run$default(ai.neuvision.kit.live.wrapper.TextureWrapper,java.lang.String,java.lang.Runnable,int,java.lang.Object):0:0 -> run$default 1:1:void setCallback(ai.neuvision.kit.live.wrapper.TextureWrapper$Callback):31:31 -> setCallback 1:1:void setEgl(ai.neuvision.kit.live.gl.Egl):27:27 -> setEgl 1:1:void setListener(ai.neuvision.kit.live.wrapper.TextureWrapper$OnTextureCreateListener):28:28 -> setListener 1:1:void setPipeline(ai.neuvision.sdk.pipline.Pipeline):29:29 -> setPipeline 1:1:void setRelease(boolean):30:30 -> setRelease 1:1:void setSurfaceTexture(android.graphics.SurfaceTexture):22:22 -> setSurfaceTexture 1:1:void setTexture(ai.neuvision.kit.live.texture.impl.FrameTexture):23:23 -> setTexture 1:1:void setTextureIds(int[]):24:24 -> setTextureIds 1:1:void swapBuffers():123:123 -> swapBuffers ai.neuvision.kit.live.wrapper.TextureWrapper$createTexture$1 -> ai.neuvision.kit.live.wrapper.TextureWrapper$a: ai.neuvision.kit.live.wrapper.TextureWrapper this$0 -> a 1:4:void onFrameAvailable(android.graphics.SurfaceTexture):69:72 -> onFrameAvailable ai.neuvision.kit.live.wrapper.TextureWrapper$release$1 -> ai.neuvision.kit.live.wrapper.TextureWrapper$b: ai.neuvision.kit.live.wrapper.TextureWrapper this$0 -> a 1:9:void invoke():81:89 -> invoke 1:9:java.lang.Object invoke():20 -> invoke 10:10:java.lang.Object invoke():20:20 -> invoke ai.neuvision.kit.live.wrapper.TextureWrapper$run$1 -> ai.neuvision.kit.live.wrapper.TextureWrapper$c: kotlin.jvm.functions.Function0 $func -> a 1:1:void invoke():102:102 -> invoke 1:1:java.lang.Object invoke():20 -> invoke 2:2:java.lang.Object invoke():20:20 -> invoke ai.neuvision.kit.live.wrapper.TextureWrapper$run$2 -> ai.neuvision.kit.live.wrapper.TextureWrapper$d: java.lang.Runnable $runnable -> a 1:1:void invoke():114:114 -> invoke 1:1:java.lang.Object invoke():20 -> invoke 2:2:java.lang.Object invoke():20:20 -> invoke ai.neuvision.kit.message.MessageException -> ai.neuvision.kit.message.MessageException: 1:1:void (java.lang.String):15:15 -> ai.neuvision.kit.message.MessageManager -> ai.neuvision.kit.message.MessageManager: 1:1:void (ai.neuvision.kit.message.MessageManager$1):32:32 -> 2:2:void ():45:45 -> 3:69:void ():40:106 -> 1:1:void access$100(ai.neuvision.kit.message.MessageManager,java.lang.String,long):32:32 -> access$100 1:1:void access$200(ai.neuvision.kit.message.MessageManager,java.lang.String,long):32:32 -> access$200 1:1:void access$300(ai.neuvision.kit.message.MessageManager,ai.neuvision.kit.call.CustomSignal):32:32 -> access$300 1:1:void access$400(ai.neuvision.kit.message.MessageManager,java.lang.String,long):32:32 -> access$400 1:1:void access$500(ai.neuvision.kit.message.MessageManager,java.lang.String,java.lang.String,long):32:32 -> access$500 1:1:void access$600(ai.neuvision.kit.message.MessageManager,java.lang.String):32:32 -> access$600 1:5:void dispatchCustomSignalLoss(java.lang.String):119:123 -> dispatchCustomSignalLoss 1:5:void dispatchReceiveAppCommand(java.lang.String,long):155:159 -> dispatchReceiveAppCommand 1:5:void dispatchReceiveAppData(java.lang.String,long):146:150 -> dispatchReceiveAppData 1:5:void dispatchReceiveCustomSignal(ai.neuvision.kit.call.CustomSignal):110:114 -> dispatchReceiveCustomSignal 1:5:void dispatchReceiveMessage(java.lang.String,long):128:132 -> dispatchReceiveMessage 1:5:void dispatchReceivePstnMessage(java.lang.String,java.lang.String,long):137:141 -> dispatchReceivePstnMessage 1:1:ai.neuvision.kit.message.MessageManager ai.neuvision.kit.message.MessageManager$Holder.access$700():36:36 -> instance 1:1:ai.neuvision.kit.message.MessageManager instance():165 -> instance 1:4:void registerAppMessageListener(ai.neuvision.kit.message.interf.IAppMessage):337:340 -> registerAppMessageListener 1:4:void registerCustomSignalListener(ai.neuvision.kit.message.interf.IReceiveCustomSignal):293:296 -> registerCustomSignalListener 1:4:void registerMessageListener(ai.neuvision.kit.message.interf.IReceiveMessage):271:274 -> registerMessageListener 1:4:void registerPstnMessageListener(ai.neuvision.kit.message.interf.IReceivePstnMessage):315:318 -> registerPstnMessageListener 1:11:void sendAppCommand(java.lang.String):208:218 -> sendAppCommand 12:12:void sendAppCommand(java.lang.String):214:214 -> sendAppCommand 13:13:void sendAppCommand(java.lang.String):209:209 -> sendAppCommand 14:24:void sendAppCommand(java.lang.String,long):223:233 -> sendAppCommand 25:25:void sendAppCommand(java.lang.String,long):229:229 -> sendAppCommand 26:26:void sendAppCommand(java.lang.String,long):224:224 -> sendAppCommand 1:11:void sendAppData(java.lang.String):238:248 -> sendAppData 12:12:void sendAppData(java.lang.String):244:244 -> sendAppData 13:13:void sendAppData(java.lang.String):239:239 -> sendAppData 14:24:void sendAppData(java.lang.String,long):253:263 -> sendAppData 25:25:void sendAppData(java.lang.String,long):259:259 -> sendAppData 26:26:void sendAppData(java.lang.String,long):254:254 -> sendAppData 1:7:void sendMessage(java.lang.String,long):170:176 -> sendMessage 1:23:void sendSignalInfo(java.lang.String,long):181:203 -> sendSignalInfo 1:4:void unRegisterAppMessageListener(ai.neuvision.kit.message.interf.IAppMessage):348:351 -> unRegisterAppMessageListener 1:4:void unRegisterCustomSignalListener(ai.neuvision.kit.message.interf.IReceiveCustomSignal):304:307 -> unRegisterCustomSignalListener 1:4:void unRegisterMessageListener(ai.neuvision.kit.message.interf.IReceiveMessage):282:285 -> unRegisterMessageListener 1:4:void unRegisterPstnMessageListener(ai.neuvision.kit.message.interf.IReceivePstnMessage):326:329 -> unRegisterPstnMessageListener ai.neuvision.kit.message.MessageManager$1 -> ai.neuvision.kit.message.MessageManager$a: ai.neuvision.kit.message.MessageManager this$0 -> a 1:1:void (ai.neuvision.kit.message.MessageManager):47:47 -> 1:4:void onAppCommandReceived(java.nio.ByteBuffer,long):50:53 -> onAppCommandReceived 1:4:void onAppDataReceived(java.nio.ByteBuffer,long):58:61 -> onAppDataReceived 1:1:void onCustomSignalLoss(java.lang.String):103:103 -> onCustomSignalLoss 1:28:void onReceiveCustomSignal(ai.neuvision.kit.call.CustomSignal):69:96 -> onReceiveCustomSignal ai.neuvision.kit.message.MessageManager$Holder -> ai.neuvision.kit.message.MessageManager$b: ai.neuvision.kit.message.MessageManager INSTANCE -> a 1:1:void ():37:37 -> ai.neuvision.kit.monitor.Manager -> ai.neuvision.kit.monitor.Manager: 1:1:void ():9:9 -> 1:1:void tst():11:11 -> tst ai.neuvision.kit.monitor.PerformanceMonitor -> ai.neuvision.kit.monitor.PerformanceMonitor: long gcTimeThreshold -> f long lastGCTime -> e java.lang.ref.PhantomReference reference -> b java.lang.ref.ReferenceQueue queue -> c int gcCount -> d ai.neuvision.sdk.pipline.Pipeline pipeline -> g java.lang.Object obj -> a boolean mStart -> h 1:11:void ():20:30 -> 1:1:void ():20:20 -> 1:1:int access$getGcCount$p(ai.neuvision.kit.monitor.PerformanceMonitor):20:20 -> access$getGcCount$p 1:1:long access$getGcTimeThreshold$p(ai.neuvision.kit.monitor.PerformanceMonitor):20:20 -> access$getGcTimeThreshold$p 1:1:long access$getLastGCTime$p(ai.neuvision.kit.monitor.PerformanceMonitor):20:20 -> access$getLastGCTime$p 1:1:boolean access$getMStart$p(ai.neuvision.kit.monitor.PerformanceMonitor):20:20 -> access$getMStart$p 1:1:java.lang.Object access$getObj$p(ai.neuvision.kit.monitor.PerformanceMonitor):20:20 -> access$getObj$p 1:1:java.lang.ref.ReferenceQueue access$getQueue$p(ai.neuvision.kit.monitor.PerformanceMonitor):20:20 -> access$getQueue$p 1:1:java.lang.ref.PhantomReference access$getReference$p(ai.neuvision.kit.monitor.PerformanceMonitor):20:20 -> access$getReference$p 1:1:void access$setGcCount$p(ai.neuvision.kit.monitor.PerformanceMonitor,int):20:20 -> access$setGcCount$p 1:1:void access$setGcTimeThreshold$p(ai.neuvision.kit.monitor.PerformanceMonitor,long):20:20 -> access$setGcTimeThreshold$p 1:1:void access$setLastGCTime$p(ai.neuvision.kit.monitor.PerformanceMonitor,long):20:20 -> access$setLastGCTime$p 1:1:void access$setMStart$p(ai.neuvision.kit.monitor.PerformanceMonitor,boolean):20:20 -> access$setMStart$p 1:1:void access$setObj$p(ai.neuvision.kit.monitor.PerformanceMonitor,java.lang.Object):20:20 -> access$setObj$p 1:1:void access$setQueue$p(ai.neuvision.kit.monitor.PerformanceMonitor,java.lang.ref.ReferenceQueue):20:20 -> access$setQueue$p 1:1:void access$setReference$p(ai.neuvision.kit.monitor.PerformanceMonitor,java.lang.ref.PhantomReference):20:20 -> access$setReference$p 1:2:void start():41:42 -> start 1:1:void startCountGC():52:52 -> startCountGC 1:2:void stop():46:47 -> stop ai.neuvision.kit.monitor.PerformanceMonitor$startCountGC$1 -> ai.neuvision.kit.monitor.PerformanceMonitor$a: ai.neuvision.kit.monitor.PerformanceMonitor$startCountGC$1 INSTANCE -> a 1:19:void invoke():53:71 -> invoke 1:19:java.lang.Object invoke():20 -> invoke 20:20:java.lang.Object invoke() -> invoke ai.neuvision.kit.monitor.RenderMonitor -> ai.neuvision.kit.monitor.RenderMonitor: long lastLackFrame -> d float audioTps -> a long lastDropFrameTime -> c int curBadCount -> e int continuousCount -> b 1:1:void ():15:15 -> 1:1:void ():15:15 -> 1:7:boolean isWorkingBadly():26:32 -> isWorkingBadly 1:4:void notifyAudioDropped():69:72 -> notifyAudioDropped 1:17:void notifyAudioWorkingBad(int,int):46:62 -> notifyAudioWorkingBad 1:1:void onWorkingBadly():36:36 -> onWorkingBadly ai.neuvision.kit.monitor.SessionMonitor -> ai.neuvision.kit.monitor.SessionMonitor: 1:1:void ():9:9 -> 1:1:void ():9:9 -> ai.neuvision.kit.monitor.ThreadMonitor -> ai.neuvision.kit.monitor.ThreadMonitor: 1:1:void ():9:9 -> 1:1:void ():9:9 -> 1:1:boolean isWorkingBadly():12:12 -> isWorkingBadly 1:1:void onWorkingBadly():16:16 -> onWorkingBadly 1:1:void start():20:20 -> start 1:1:void stop():24:24 -> stop ai.neuvision.kit.monitor.Watchdog -> ai.neuvision.kit.monitor.Watchdog: java.util.HashSet monitors -> a boolean mIsStart -> b ai.neuvision.sdk.pipline.impl.EventPipeline mPipeline -> c 1:1:void access$watch(ai.neuvision.kit.monitor.Watchdog):16:16 -> 1:1:void ():16 -> 2:2:void ():18:18 -> 1:1:void access$watch(ai.neuvision.kit.monitor.Watchdog):16:16 -> 1:1:void ():16 -> 1:30:void watch():46:75 -> a 31:35:void watch():47:51 -> a 1:1:void access$watch(ai.neuvision.kit.monitor.Watchdog):16:16 -> access$watch 1:1:void addMonitor(ai.neuvision.kit.monitor.Monitor):23:23 -> addMonitor 1:1:void removeMonitor(ai.neuvision.kit.monitor.Monitor):28:28 -> removeMonitor 1:6:void start():33:38 -> start 7:12:void start():37:37 -> start 1:5:void stop():56:60 -> stop 6:24:void stop():59:77 -> stop 25:31:void stop():64:70 -> stop 32:32:void stop():59:59 -> stop ai.neuvision.kit.monitor.Watchdog$watch$2 -> ai.neuvision.kit.monitor.Watchdog$a: ai.neuvision.kit.monitor.Watchdog$watch$2 INSTANCE -> a 1:1:void run():51:51 -> run ai.neuvision.kit.orientation.DeviceOrientation -> ai.neuvision.kit.orientation.DeviceOrientation: ai.neuvision.kit.orientation.IOrientationListener mOrientationListener -> b boolean mDetecting -> c int mOrientation -> a 1:1:void (android.content.Context):20:20 -> 2:4:void (android.content.Context):15:17 -> 5:5:void (android.content.Context,int):24:24 -> 6:8:void (android.content.Context,int):15:17 -> 1:1:int getOrientation():74:74 -> getOrientation 1:4:void onOrientationChanged(int):44:47 -> onOrientationChanged ai.neuvision.kit.orientation.DeviceOrientationManager -> ai.neuvision.kit.orientation.DeviceOrientationManager: ai.neuvision.kit.orientation.DeviceOrientation mDeviceOrientation -> a java.util.concurrent.CopyOnWriteArrayList mOrientationListeners -> b 1:1:void ():14:14 -> 1:1:ai.neuvision.kit.orientation.DeviceOrientationManager ai.neuvision.kit.orientation.DeviceOrientationManager$Holder.access$000():28:28 -> instance 1:1:ai.neuvision.kit.orientation.DeviceOrientationManager instance():33 -> instance 1:5:void onOrientationChange(int):20:24 -> onOrientationChange 1:7:void registerOrientationListener(ai.neuvision.kit.orientation.IOrientationListener):38:44 -> registerOrientationListener 1:4:void startDetect():54:57 -> startDetect 5:5:boolean ai.neuvision.kit.orientation.DeviceOrientation.isDetecting():70:70 -> startDetect 5:5:void startDetect():57 -> startDetect 6:6:void ai.neuvision.kit.orientation.DeviceOrientation.startDetectOrientation(ai.neuvision.kit.orientation.IOrientationListener):53:53 -> startDetect 6:6:void startDetect():58 -> startDetect 7:9:void ai.neuvision.kit.orientation.DeviceOrientation.stopDetect():64:66 -> startDetect 7:9:void ai.neuvision.kit.orientation.DeviceOrientation.startDetectOrientation(ai.neuvision.kit.orientation.IOrientationListener):54 -> startDetect 7:9:void startDetect():58 -> startDetect 10:14:void ai.neuvision.kit.orientation.DeviceOrientation.startDetectOrientation(ai.neuvision.kit.orientation.IOrientationListener):55:59 -> startDetect 10:14:void startDetect():58 -> startDetect 1:1:void stopDetect():63:63 -> stopDetect 2:4:void ai.neuvision.kit.orientation.DeviceOrientation.stopDetect():64:66 -> stopDetect 2:4:void stopDetect():64 -> stopDetect 1:2:void unRegisterOrientationListener(ai.neuvision.kit.orientation.IOrientationListener):48:49 -> unRegisterOrientationListener ai.neuvision.kit.orientation.DeviceOrientationManager$Holder -> ai.neuvision.kit.orientation.DeviceOrientationManager$a: ai.neuvision.kit.orientation.DeviceOrientationManager INSTANCE -> a 1:1:void ():29:29 -> ai.neuvision.kit.session.AudioStateCallback$Companion -> ai.neuvision.kit.session.AudioStateCallback$Companion: ai.neuvision.kit.session.AudioStateCallback$Companion $$INSTANCE -> a 1:1:void ():24:24 -> 1:1:void ():24:24 -> ai.neuvision.kit.session.CallType -> ai.neuvision.kit.session.CallType: 1:4:void ():13:16 -> 5:5:void ():11:11 -> 1:1:void (java.lang.String,int):12:12 -> 1:1:ai.neuvision.kit.session.CallType valueOf(java.lang.String):11:11 -> valueOf 1:1:ai.neuvision.kit.session.CallType[] values():11:11 -> values ai.neuvision.kit.session.HttpSignalTask -> ai.neuvision.kit.session.HttpSignalTask: java.util.concurrent.FutureTask mTask -> b ai.neuvision.kit.call.CallSignal mCallSignal -> a 1:2:void (ai.neuvision.kit.call.CallSignal):30:31 -> 1:1:ai.neuvision.kit.session.entity.SessionEntity lambda$start$0():35:35 -> a 1:8:ai.neuvision.kit.session.entity.SessionEntity start():35:42 -> start ai.neuvision.kit.session.SessionManager -> ai.neuvision.kit.session.SessionManager: ai.neuvision.kit.call.CallManagerCallback mSessionState -> c java.util.concurrent.CopyOnWriteArraySet mSessionStateSet -> b ai.neuvision.kit.call.CallManager mCallManager -> a 1:750:void ():60:809 -> 751:752:void ():61:62 -> 1:26:java.util.List formatGroupMemberState(ai.neuvision.sdk.sdwan.signal.UserInfo):501:526 -> a 27:31:void dispatchOnSessionException(java.lang.Exception):775:779 -> a 32:32:int getCallType(ai.neuvision.kit.session.CallType):786:786 -> a 1:1:void accept():124:124 -> accept 1:1:void callMultiparty(java.util.ArrayList,ai.neuvision.kit.session.CallType):97:97 -> callMultiparty 1:1:void callOneOne(long,ai.neuvision.kit.session.CallType):91:91 -> callOneOne 1:1:void cancel():134:134 -> cancel 1:1:int createExternalAudioTrack(android.media.AudioFormat):361:361 -> createExternalAudioTrack 1:1:int destroyExternalAudioTrack(int):365:365 -> destroyExternalAudioTrack 1:1:void enableVideoTransform(boolean):282:282 -> enableVideoTransform 1:1:int getAecMode():338:338 -> getAecMode 1:1:int getCameraPreviewFps():467:467 -> getCameraPreviewFps 1:1:long getCurrentCallSessionId():203:203 -> getCurrentCallSessionId 1:30:ai.neuvision.kit.session.SessionStateInfo getCurrentSessionState():208:237 -> getCurrentSessionState 1:2:java.util.List getGroupMemberState():256:257 -> getGroupMemberState 1:5:java.util.ArrayList getInCallUidList():191:195 -> getInCallUidList 1:1:ai.neuvision.sdk.sdwan.metrix.MetrixDataNetworkInfo getNetworkInfo(long):805:805 -> getNetworkInfo 1:1:int getVideoEncodeFps(ai.neuvision.kit.video.VideoType):486:486 -> getVideoEncodeFps 1:1:ai.neuvision.kit.video.MimeType getVideoEncodeMime(ai.neuvision.kit.video.VideoType):434:434 -> getVideoEncodeMime 1:1:java.lang.String getVideoEncoder(ai.neuvision.kit.video.VideoType):457:457 -> getVideoEncoder 1:1:void hangup():139:139 -> hangup 1:1:void hangupAndCloseSession():144:144 -> hangupAndCloseSession 1:1:ai.neuvision.kit.session.SessionManager ai.neuvision.kit.session.SessionManager$Holder.access$100():54:54 -> instance 1:1:ai.neuvision.kit.session.SessionManager instance():66 -> instance 1:1:void inviteMultiparty(java.util.ArrayList,long):114:114 -> inviteMultiparty 1:1:boolean isCameraOn(java.lang.Long):288:288 -> isCameraOn 1:1:boolean isCameraOpened():245:245 -> isCameraOpened 1:1:boolean isInCall():159:159 -> isInCall 1:1:boolean isMute():181:181 -> isMute 2:2:boolean isMute(java.lang.Long):293:293 -> isMute 1:1:boolean isSpeakerOn():176:176 -> isSpeakerOn 1:1:void joinChannel(java.lang.String,ai.neuvision.kit.session.CallType):103:103 -> joinChannel 1:1:void joinMultiparty(long,ai.neuvision.kit.session.CallType):108:108 -> joinMultiparty 1:1:void kickMultiparty(java.util.ArrayList,long):119:119 -> kickMultiparty 1:1:void mixExternalAudio(java.nio.ByteBuffer):343:343 -> mixExternalAudio 2:2:int mixExternalAudio(java.nio.ByteBuffer,int):369:369 -> mixExternalAudio 1:4:void registerSessionStateListener(ai.neuvision.kit.session.interf.ISessionState):73:76 -> registerSessionStateListener 1:1:void reject():129:129 -> reject 1:1:void requestRecord(ai.neuvision.sdk.sdwan.signal.RecordType):186:186 -> requestRecord 1:1:int resetAudioFormat(int):381:381 -> resetAudioFormat 1:1:void sendAppCommand(java.nio.ByteBuffer):149:149 -> sendAppCommand 1:1:void sendAppData(java.nio.ByteBuffer):153:153 -> sendAppData 1:1:void setAecMode(int):333:333 -> setAecMode 1:1:void setAudioAcceptList(java.util.HashSet):390:390 -> setAudioAcceptList 1:1:void setAudioStateCallback(ai.neuvision.kit.session.AudioStateCallback):406:406 -> setAudioStateCallback 1:1:void setCameraPreviewFps(int):476:476 -> setCameraPreviewFps 1:1:void setCameraStateCallback(android.hardware.camera2.CameraDevice$StateCallback):402:402 -> setCameraStateCallback 1:2:void setCameraStatus(boolean):250:251 -> setCameraStatus 1:1:void setCpuLevel(int):415:415 -> setCpuLevel 1:2:void setDenoiseLevel(int):322:323 -> setDenoiseLevel 1:1:void setExternalAudioFormat(android.media.AudioFormat):347:347 -> setExternalAudioFormat 2:2:int setExternalAudioFormat(android.media.AudioFormat,int):377:377 -> setExternalAudioFormat 1:1:void setExternalAudioVolume(float):351:351 -> setExternalAudioVolume 2:2:int setExternalAudioVolume(float,int):373:373 -> setExternalAudioVolume 1:2:void setMute(boolean):170:171 -> setMute 1:1:void setP2pEnabledRatio(int):394:394 -> setP2pEnabledRatio 1:1:void setPhoneCallMode(boolean):398:398 -> setPhoneCallMode 1:2:void setSpeaker(boolean):164:165 -> setSpeaker 1:1:void setVideoEncodeFps(int,ai.neuvision.kit.video.VideoType):496:496 -> setVideoEncodeFps 1:1:void setVideoEncodeMime(ai.neuvision.kit.video.MimeType,ai.neuvision.kit.video.VideoType):430:430 -> setVideoEncodeMime 1:1:void setVideoEncoder(java.lang.String,ai.neuvision.kit.video.VideoType):448:448 -> setVideoEncoder 1:1:void setVideoMaxBitrate(int,ai.neuvision.kit.video.VideoType):438:438 -> setVideoMaxBitrate 1:2:void setVideoPreferredSize(ai.neuvision.kit.video.Resolution):420:421 -> setVideoPreferredSize 3:4:void setVideoPreferredSize(ai.neuvision.kit.video.Resolution,float):425:426 -> setVideoPreferredSize 1:6:void switchCamera():262:267 -> switchCamera 7:13:void switchCamera(boolean):272:278 -> switchCamera 14:33:void switchCamera(int):297:316 -> switchCamera 1:4:void unRegisterSessionStateListener(ai.neuvision.kit.session.interf.ISessionState):83:86 -> unRegisterSessionStateListener ai.neuvision.kit.session.SessionManager$1 -> ai.neuvision.kit.session.SessionManager$a: 1:1:void (ai.neuvision.kit.session.SessionManager):526:526 -> 1:1:int compare(java.lang.Object,java.lang.Object):526:526 -> compare 2:2:int compare(ai.neuvision.kit.session.entity.MemberState,ai.neuvision.kit.session.entity.MemberState):529:529 -> compare 2:2:int compare(java.lang.Object,java.lang.Object):526 -> compare ai.neuvision.kit.session.SessionManager$2 -> ai.neuvision.kit.session.SessionManager$b: ai.neuvision.kit.session.SessionManager this$0 -> a 1:1:void (ai.neuvision.kit.session.SessionManager):809:809 -> 1:1:void onAccept(long,long):822:822 -> onAccept 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnAccept(long,long):554:558 -> onAccept 2:6:void ai.neuvision.kit.session.SessionManager.access$400(ai.neuvision.kit.session.SessionManager,long,long):50 -> onAccept 2:6:void onAccept(long,long):822 -> onAccept 1:1:void onAppCommandReceived(java.nio.ByteBuffer,long):925:925 -> onAppCommandReceived 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnAppCommandReceived(java.nio.ByteBuffer,long):756:760 -> onAppCommandReceived 2:6:void ai.neuvision.kit.session.SessionManager.access$2300(ai.neuvision.kit.session.SessionManager,java.nio.ByteBuffer,long):50 -> onAppCommandReceived 2:6:void onAppCommandReceived(java.nio.ByteBuffer,long):925 -> onAppCommandReceived 1:1:void onAppDataReceived(java.nio.ByteBuffer,long):930:930 -> onAppDataReceived 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnAppDataReceived(java.nio.ByteBuffer,long):765:769 -> onAppDataReceived 2:6:void ai.neuvision.kit.session.SessionManager.access$2400(ai.neuvision.kit.session.SessionManager,java.nio.ByteBuffer,long):50 -> onAppDataReceived 2:6:void onAppDataReceived(java.nio.ByteBuffer,long):930 -> onAppDataReceived 1:1:void onAudioVolume(int,long):919:919 -> onAudioVolume 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnAudioVolume(int,long):719:723 -> onAudioVolume 2:6:void ai.neuvision.kit.session.SessionManager.access$2200(ai.neuvision.kit.session.SessionManager,int,long):50 -> onAudioVolume 2:6:void onAudioVolume(int,long):919 -> onAudioVolume 1:1:void onAudioVolumeOfSelf(int):945:945 -> onAudioVolumeOfSelf 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnAudioVolumeOfSelf(int):728:732 -> onAudioVolumeOfSelf 2:6:void ai.neuvision.kit.session.SessionManager.access$2700(ai.neuvision.kit.session.SessionManager,int):50 -> onAudioVolumeOfSelf 2:6:void onAudioVolumeOfSelf(int):945 -> onAudioVolumeOfSelf 1:1:void onCallEnd(long,long,int,java.lang.String):889:889 -> onCallEnd 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnCallEnd(long,long,int,java.lang.String):664:668 -> onCallEnd 2:6:void ai.neuvision.kit.session.SessionManager.access$1500(ai.neuvision.kit.session.SessionManager,long,long,int,java.lang.String):50 -> onCallEnd 2:6:void onCallEnd(long,long,int,java.lang.String):889 -> onCallEnd 1:1:void onCallEstablished(long):884:884 -> onCallEstablished 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnCallEstablished(long):655:659 -> onCallEstablished 2:6:void ai.neuvision.kit.session.SessionManager.access$1400(ai.neuvision.kit.session.SessionManager,long):50 -> onCallEstablished 2:6:void onCallEstablished(long):884 -> onCallEstablished 1:1:void onCallEvent(int,long):914:914 -> onCallEvent 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnCallEvent(int,long):710:714 -> onCallEvent 2:6:void ai.neuvision.kit.session.SessionManager.access$2100(ai.neuvision.kit.session.SessionManager,int,long):50 -> onCallEvent 2:6:void onCallEvent(int,long):914 -> onCallEvent 1:1:void onCallStatus(ai.neuvision.kit.call.CallStatus):909:909 -> onCallStatus 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnCallStatus(ai.neuvision.kit.call.CallStatus):701:705 -> onCallStatus 2:6:void ai.neuvision.kit.session.SessionManager.access$2000(ai.neuvision.kit.session.SessionManager,ai.neuvision.kit.call.CallStatus):50 -> onCallStatus 2:6:void onCallStatus(ai.neuvision.kit.call.CallStatus):909 -> onCallStatus 1:1:void onCalledTimeout(long,long):879:879 -> onCalledTimeout 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnCalledTimeout(long,long):646:650 -> onCalledTimeout 2:6:void ai.neuvision.kit.session.SessionManager.access$1300(ai.neuvision.kit.session.SessionManager,long,long):50 -> onCalledTimeout 2:6:void onCalledTimeout(long,long):879 -> onCalledTimeout 1:1:void onCallingTimeout(long,long):832:832 -> onCallingTimeout 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnCallingTimeout(long,long):572:576 -> onCallingTimeout 2:6:void ai.neuvision.kit.session.SessionManager.access$600(ai.neuvision.kit.session.SessionManager,long,long):50 -> onCallingTimeout 2:6:void onCallingTimeout(long,long):832 -> onCallingTimeout 1:1:void onCancel(long,long):817:817 -> onCancel 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnCancel(long,long):545:549 -> onCancel 2:6:void ai.neuvision.kit.session.SessionManager.access$300(ai.neuvision.kit.session.SessionManager,long,long):50 -> onCancel 2:6:void onCancel(long,long):817 -> onCancel 1:1:void onInvite(long,long):812:812 -> onInvite 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnInvite(long,long):536:540 -> onInvite 2:6:void ai.neuvision.kit.session.SessionManager.access$200(ai.neuvision.kit.session.SessionManager,long,long):50 -> onInvite 2:6:void onInvite(long,long):812 -> onInvite 1:1:void onLocalVideoFrameReady(ai.neuvision.kit.video.YCKFrameContext):935:935 -> onLocalVideoFrameReady 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnLocalVideoFrameReady(ai.neuvision.kit.video.YCKFrameContext):738:742 -> onLocalVideoFrameReady 2:6:void ai.neuvision.kit.session.SessionManager.access$2500(ai.neuvision.kit.session.SessionManager,ai.neuvision.kit.video.YCKFrameContext):50 -> onLocalVideoFrameReady 2:6:void onLocalVideoFrameReady(ai.neuvision.kit.video.YCKFrameContext):935 -> onLocalVideoFrameReady 1:1:void onMemberJoin(long,long):899:899 -> onMemberJoin 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnMemberJoin(long,long):683:687 -> onMemberJoin 2:6:void ai.neuvision.kit.session.SessionManager.access$1800(ai.neuvision.kit.session.SessionManager,long,long):50 -> onMemberJoin 2:6:void onMemberJoin(long,long):899 -> onMemberJoin 1:1:void onMemberLeave(long,long):904:904 -> onMemberLeave 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnMemberLeave(long,long):692:696 -> onMemberLeave 2:6:void ai.neuvision.kit.session.SessionManager.access$1900(ai.neuvision.kit.session.SessionManager,long,long):50 -> onMemberLeave 2:6:void onMemberLeave(long,long):904 -> onMemberLeave 1:1:void onMemberStateChange(ai.neuvision.sdk.sdwan.signal.UserInfo):894:894 -> onMemberStateChange 2:2:java.util.List ai.neuvision.kit.session.SessionManager.access$1600(ai.neuvision.kit.session.SessionManager,ai.neuvision.sdk.sdwan.signal.UserInfo):50:50 -> onMemberStateChange 2:2:void onMemberStateChange(ai.neuvision.sdk.sdwan.signal.UserInfo):894 -> onMemberStateChange 3:7:void ai.neuvision.kit.session.SessionManager.dispatchOnMemberStateChange(java.util.List):674:678 -> onMemberStateChange 3:7:void ai.neuvision.kit.session.SessionManager.access$1700(ai.neuvision.kit.session.SessionManager,java.util.List):50 -> onMemberStateChange 3:7:void onMemberStateChange(ai.neuvision.sdk.sdwan.signal.UserInfo):894 -> onMemberStateChange 1:1:void onReceiveAccepted(long,long):842:842 -> onReceiveAccepted 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnReceiveAccepted(long,long):590:594 -> onReceiveAccepted 2:6:void ai.neuvision.kit.session.SessionManager.access$800(ai.neuvision.kit.session.SessionManager,long,long):50 -> onReceiveAccepted 2:6:void onReceiveAccepted(long,long):842 -> onReceiveAccepted 1:1:void onReceiveBusy(long,long):852:852 -> onReceiveBusy 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnReceiveBusy(long,long):608:612 -> onReceiveBusy 2:6:void ai.neuvision.kit.session.SessionManager.access$1000(ai.neuvision.kit.session.SessionManager,long,long):50 -> onReceiveBusy 2:6:void onReceiveBusy(long,long):852 -> onReceiveBusy 1:1:void onReceiveCancel(long,long):874:874 -> onReceiveCancel 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnReceiveCancel(long,long):637:641 -> onReceiveCancel 2:6:void ai.neuvision.kit.session.SessionManager.access$1200(ai.neuvision.kit.session.SessionManager,long,long):50 -> onReceiveCancel 2:6:void onReceiveCancel(long,long):874 -> onReceiveCancel 1:10:void onReceiveInvite(long,long,long,java.lang.String,java.util.List,int,boolean):858:867 -> onReceiveInvite 11:15:void onReceiveInvite(long,long,long,java.lang.String,java.util.List,int,boolean):865:869 -> onReceiveInvite 16:28:void ai.neuvision.kit.session.SessionManager.dispatchOnReceiveInvite(long,long,long,java.lang.String,java.util.List,ai.neuvision.kit.session.CallType,boolean):618:630 -> onReceiveInvite 16:28:void ai.neuvision.kit.session.SessionManager.access$1100(ai.neuvision.kit.session.SessionManager,long,long,long,java.lang.String,java.util.List,ai.neuvision.kit.session.CallType,boolean):50 -> onReceiveInvite 16:28:void onReceiveInvite(long,long,long,java.lang.String,java.util.List,int,boolean):869 -> onReceiveInvite 1:1:void onReceiveRejected(long,long,int,java.lang.String):847:847 -> onReceiveRejected 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnReceiveRejected(long,long,int,java.lang.String):599:603 -> onReceiveRejected 2:6:void ai.neuvision.kit.session.SessionManager.access$900(ai.neuvision.kit.session.SessionManager,long,long,int,java.lang.String):50 -> onReceiveRejected 2:6:void onReceiveRejected(long,long,int,java.lang.String):847 -> onReceiveRejected 1:1:void onReceiveRing(long,long):837:837 -> onReceiveRing 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnReceiveRing(long,long):581:585 -> onReceiveRing 2:6:void ai.neuvision.kit.session.SessionManager.access$700(ai.neuvision.kit.session.SessionManager,long,long):50 -> onReceiveRing 2:6:void onReceiveRing(long,long):837 -> onReceiveRing 1:1:void onReject(long,long):827:827 -> onReject 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnReject(long,long):563:567 -> onReject 2:6:void ai.neuvision.kit.session.SessionManager.access$500(ai.neuvision.kit.session.SessionManager,long,long):50 -> onReject 2:6:void onReject(long,long):827 -> onReject 1:1:void onRemoteVideoFrameReady(ai.neuvision.kit.video.YCKFrameContext,long):940:940 -> onRemoteVideoFrameReady 2:6:void ai.neuvision.kit.session.SessionManager.dispatchOnRemoteVideoFrameReady(ai.neuvision.kit.video.YCKFrameContext,long):747:751 -> onRemoteVideoFrameReady 2:6:void ai.neuvision.kit.session.SessionManager.access$2600(ai.neuvision.kit.session.SessionManager,ai.neuvision.kit.video.YCKFrameContext,long):50 -> onRemoteVideoFrameReady 2:6:void onRemoteVideoFrameReady(ai.neuvision.kit.video.YCKFrameContext,long):940 -> onRemoteVideoFrameReady ai.neuvision.kit.session.SessionManager$Holder -> ai.neuvision.kit.session.SessionManager$c: ai.neuvision.kit.session.SessionManager INSTANCE -> a 1:1:void ():55:55 -> 2:2:void ai.neuvision.kit.session.SessionManager.(ai.neuvision.kit.session.SessionManager$1):50:50 -> 2:2:void ():55 -> 3:3:void ():55:55 -> ai.neuvision.kit.session.SessionStateInfo -> ai.neuvision.kit.session.SessionStateInfo: 1:1:void ():12:12 -> ai.neuvision.kit.session.SimpleSessionState -> ai.neuvision.kit.session.SimpleSessionState: 1:1:void ():21:21 -> ai.neuvision.kit.session.entity.MemberState -> ai.neuvision.kit.session.entity.MemberState: 1:1:void ():14:14 -> 1:1:java.lang.String toString():22:22 -> toString ai.neuvision.kit.session.entity.Option -> ai.neuvision.kit.session.entity.Option: 1:1:void ():4:4 -> ai.neuvision.kit.session.entity.Participants -> ai.neuvision.kit.session.entity.Participants: 1:1:void ():9:9 -> 1:1:java.lang.String toString():23:23 -> toString ai.neuvision.kit.session.entity.SessionEntity -> ai.neuvision.kit.session.entity.SessionEntity: 1:1:void ():10:10 -> 1:1:long getLastActiveTime():46:46 -> getLastActiveTime 1:1:long getLastChangeTime():54:54 -> getLastChangeTime 1:1:java.lang.String getMode():38:38 -> getMode 1:1:ai.neuvision.kit.session.entity.Option getOption():87:87 -> getOption 1:1:java.util.HashMap getParticipants():75:75 -> getParticipants 1:1:java.util.List getRelays():62:62 -> getRelays 1:1:long getSid():70:70 -> getSid 1:1:void setLastActiveTime(long):42:42 -> setLastActiveTime 1:1:void setLastChangeTime(long):50:50 -> setLastChangeTime 1:1:void setMode(java.lang.String):34:34 -> setMode 1:1:void setOption(ai.neuvision.kit.session.entity.Option):83:83 -> setOption 1:1:void setParticipants(java.util.HashMap):79:79 -> setParticipants 1:1:void setRelays(java.util.List):58:58 -> setRelays 1:1:void setSid(long):66:66 -> setSid 1:1:java.lang.String toString():92:92 -> toString ai.neuvision.kit.session.http.HttpSession -> ai.neuvision.kit.session.http.HttpSession: com.google.gson.reflect.TypeToken sessionEntityTypeToken -> a 1:1:void ():29:29 -> 1:1:void ():25:25 -> 1:13:ai.neuvision.kit.session.entity.SessionEntity createSession(java.lang.Long,int):33:45 -> createSession 1:19:ai.neuvision.kit.session.entity.SessionEntity signal1to1(java.lang.Long,java.util.List,java.lang.String,long,java.lang.Long,short):74:92 -> signal1to1 1:24:ai.neuvision.kit.session.entity.SessionEntity signalMemberOp(long,java.lang.String,java.util.List,java.lang.String,java.lang.String,long):103:126 -> signalMemberOp 1:19:ai.neuvision.kit.session.entity.SessionEntity signalMulti(long,java.util.List,java.lang.String,long,short):135:153 -> signalMulti 1:14:ai.neuvision.kit.session.entity.SessionEntity signalRaw(ai.neuvision.kit.call.CallSignal):164:177 -> signalRaw 1:9:ai.neuvision.kit.session.entity.SessionEntity syncSessionState(java.lang.Long,long,long):56:64 -> syncSessionState ai.neuvision.kit.session.http.HttpSession$1 -> ai.neuvision.kit.session.http.HttpSession$a: 1:1:void ():29:29 -> ai.neuvision.kit.utils.AudioFrameCalcu -> ai.neuvision.kit.utils.AudioFrameCalcu: java.lang.String tag -> f long interval -> h int countTime -> i long lastCalcuCntTime -> b java.util.LinkedList frameTimes -> d long lastReceiveRecordeData -> a int minFrame -> g long lastCheckCntTime -> c int founded -> e 1:9:void (java.lang.String,int,long,int):14:22 -> 1:43:void addCount():26:68 -> addCount 1:5:void stop():72:76 -> stop ai.neuvision.kit.utils.PictureUtils -> ai.neuvision.kit.utils.PictureUtils: 1:1:void ():19:19 -> 1:1:void ():19:19 -> 1:1:void ():19 -> 1:17:void drawChildrenBitmap(android.graphics.Canvas,android.view.ViewGroup,android.os.Handler):73:89 -> a 1:6:void printView(android.view.ViewGroup):110:115 -> printView 1:19:void takeScreenshot(android.app.Activity,int,int,int,int,android.os.Handler,kotlin.jvm.functions.Function1):24:42 -> takeScreenshot 20:25:void takeScreenshot(android.app.Activity,int,int,int,int,android.os.Handler,kotlin.jvm.functions.Function1):40:45 -> takeScreenshot 26:26:android.graphics.Bitmap drawToBitmap$default(ai.neuvision.kit.utils.PictureUtils,android.view.View,android.graphics.Bitmap$Config,int,java.lang.Object):60:60 -> takeScreenshot 26:26:void takeScreenshot(android.app.Activity,int,int,int,int,android.os.Handler,kotlin.jvm.functions.Function1):45 -> takeScreenshot 27:33:android.graphics.Bitmap drawToBitmap(android.view.View,android.graphics.Bitmap$Config):61:67 -> takeScreenshot 27:33:android.graphics.Bitmap drawToBitmap$default(ai.neuvision.kit.utils.PictureUtils,android.view.View,android.graphics.Bitmap$Config,int,java.lang.Object):60 -> takeScreenshot 27:33:void takeScreenshot(android.app.Activity,int,int,int,int,android.os.Handler,kotlin.jvm.functions.Function1):45 -> takeScreenshot 34:34:android.graphics.Bitmap drawToBitmap(android.view.View,android.graphics.Bitmap$Config):64:64 -> takeScreenshot 34:34:android.graphics.Bitmap drawToBitmap$default(ai.neuvision.kit.utils.PictureUtils,android.view.View,android.graphics.Bitmap$Config,int,java.lang.Object):60 -> takeScreenshot 34:34:void takeScreenshot(android.app.Activity,int,int,int,int,android.os.Handler,kotlin.jvm.functions.Function1):45 -> takeScreenshot 35:41:void takeScreenshot(android.app.Activity,int,int,int,int,android.os.Handler,kotlin.jvm.functions.Function1):46:52 -> takeScreenshot 42:42:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> takeScreenshot 42:42:void takeScreenshot(android.app.Activity,int,int,int,int,android.os.Handler,kotlin.jvm.functions.Function1):122 -> takeScreenshot 43:43:void takeScreenshot(android.app.Activity,int,int,int,int,android.os.Handler,kotlin.jvm.functions.Function1):49:49 -> takeScreenshot 44:44:void takeScreenshot(android.app.Activity,int,int,int,int,android.os.Handler,kotlin.jvm.functions.Function1):47:47 -> takeScreenshot 45:45:android.graphics.Bitmap drawToBitmap(android.view.View,android.graphics.Bitmap$Config):62:62 -> takeScreenshot 45:45:android.graphics.Bitmap drawToBitmap$default(ai.neuvision.kit.utils.PictureUtils,android.view.View,android.graphics.Bitmap$Config,int,java.lang.Object):60 -> takeScreenshot 45:45:void takeScreenshot(android.app.Activity,int,int,int,int,android.os.Handler,kotlin.jvm.functions.Function1):45 -> takeScreenshot ai.neuvision.kit.utils.PictureUtils$drawChildrenBitmap$2 -> ai.neuvision.kit.utils.PictureUtils$a: android.graphics.Bitmap $bitmap -> c android.view.View $child -> a android.graphics.Canvas $canvas -> b 1:7:void onPixelCopyFinished(int):90:96 -> onPixelCopyFinished ai.neuvision.kit.utils.PictureUtils$takeScreenshot$$inlined$runOnUiThread$1 -> ai.neuvision.kit.utils.PictureUtils$takeScreenshot$$inlined$runOnUiThread$1: android.graphics.Bitmap $destBitmap$inlined -> b kotlin.jvm.functions.Function1 $callback$inlined -> a 1:1:void run():80:80 -> run ai.neuvision.kit.utils.PictureUtils$takeScreenshot$1 -> ai.neuvision.kit.utils.PictureUtils$takeScreenshot$1: kotlin.jvm.functions.Function1 $callback -> f android.graphics.Bitmap $bitmap -> a int $width -> d int $height -> e int $x -> b int $y -> c 1:2:void onPixelCopyFinished(int):31:32 -> onPixelCopyFinished 3:3:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> onPixelCopyFinished 3:3:void onPixelCopyFinished(int):122 -> onPixelCopyFinished ai.neuvision.kit.utils.PictureUtils$takeScreenshot$1$$special$$inlined$runOnUiThread$1 -> ai.neuvision.kit.utils.PictureUtils$takeScreenshot$1$$special$$inlined$runOnUiThread$1: android.graphics.Bitmap $destBitmap$inlined -> b ai.neuvision.kit.utils.PictureUtils$takeScreenshot$1 this$0 -> a 1:1:void run():80:80 -> run ai.neuvision.kit.utils.PreferenceSP -> ai.neuvision.kit.utils.PreferenceSP: kotlin.Lazy instance$delegate -> d java.lang.Object default -> c java.lang.String name -> b kotlin.Lazy prefs$delegate -> a 1:1:void ():15:15 -> 1:8:void (java.lang.String,java.lang.Object):13:20 -> android.content.SharedPreferences getPrefs() -> a 1:10:java.lang.String serialize(java.lang.Object):95:104 -> a 1:1:kotlin.Lazy access$getInstance$cp():13:13 -> access$getInstance$cp 1:9:void putSharedPreferences(java.lang.String,java.lang.Object):36:44 -> access$putSharedPreferences 1:9:void access$putSharedPreferences(ai.neuvision.kit.utils.PreferenceSP,java.lang.String,java.lang.Object):13 -> access$putSharedPreferences 1:3:void clearPreference():79:81 -> clearPreference 4:6:void clearPreference(java.lang.String):88:90 -> clearPreference 1:1:boolean contains(java.lang.String):130:130 -> contains 1:1:java.util.Map getAll():134:134 -> getAll 1:1:java.lang.String getName():13:13 -> getName 1:1:java.lang.Object getValue(java.lang.Object,kotlin.reflect.KProperty):25:25 -> getValue 2:11:java.lang.Object getSharedPreferences(java.lang.String,java.lang.Object):49:58 -> getValue 2:11:java.lang.Object getValue(java.lang.Object,kotlin.reflect.KProperty):25 -> getValue 12:14:java.lang.Object deSerialization(java.lang.String):111:113 -> getValue 12:14:java.lang.Object getSharedPreferences(java.lang.String,java.lang.Object):59 -> getValue 12:14:java.lang.Object getValue(java.lang.Object,kotlin.reflect.KProperty):25 -> getValue 15:23:java.lang.Object deSerialization(java.lang.String):112:120 -> getValue 15:23:java.lang.Object getSharedPreferences(java.lang.String,java.lang.Object):59 -> getValue 15:23:java.lang.Object getValue(java.lang.Object,kotlin.reflect.KProperty):25 -> getValue 24:34:java.lang.Object deSerialization(java.lang.String):113:123 -> getValue 24:34:java.lang.Object getSharedPreferences(java.lang.String,java.lang.Object):59 -> getValue 24:34:java.lang.Object getValue(java.lang.Object,kotlin.reflect.KProperty):25 -> getValue 35:36:java.lang.Object getSharedPreferences(java.lang.String,java.lang.Object):61:62 -> getValue 35:36:java.lang.Object getValue(java.lang.Object,kotlin.reflect.KProperty):25 -> getValue 1:1:void setValue(java.lang.Object,kotlin.reflect.KProperty,java.lang.Object):29:29 -> setValue ai.neuvision.kit.utils.PreferenceSP$Companion -> ai.neuvision.kit.utils.PreferenceSP$Companion: 1:1:void ():14:14 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):14:14 -> ai.neuvision.kit.utils.PreferenceSP$Companion$instance$2 -> ai.neuvision.kit.utils.PreferenceSP$a: ai.neuvision.kit.utils.PreferenceSP$Companion$instance$2 INSTANCE -> a 1:1:ai.neuvision.kit.utils.PreferenceSP invoke():16:16 -> invoke 1:1:java.lang.Object invoke():14 -> invoke ai.neuvision.kit.utils.PreferenceSP$getSharedPreferences$$inlined$with$lambda$1 -> q: java.lang.Object $default$inlined -> b ai.neuvision.kit.utils.PreferenceSP this$0 -> a java.lang.String $name$inlined -> c 1:1:void run():63:63 -> run ai.neuvision.kit.utils.PreferenceSP$prefs$2 -> ai.neuvision.kit.utils.PreferenceSP$b: ai.neuvision.kit.utils.PreferenceSP$prefs$2 INSTANCE -> a 1:1:android.content.SharedPreferences invoke():21:21 -> invoke 1:1:java.lang.Object invoke():13 -> invoke ai.neuvision.kit.utils.PreferenceSP$setValue$1 -> ai.neuvision.kit.utils.PreferenceSP$c: java.lang.Object $value -> b ai.neuvision.kit.utils.PreferenceSP this$0 -> a 1:1:void run():30:30 -> run ai.neuvision.kit.video.AutoFitTextureView -> ai.neuvision.kit.video.AutoFitTextureView: 1:1:void (android.content.Context):40:40 -> 2:2:void (android.content.Context,android.util.AttributeSet):44:44 -> 3:3:void (android.content.Context,android.util.AttributeSet,int):48:48 -> 4:4:void (android.content.Context,android.util.AttributeSet,int,int):52:52 -> 5:218:void (android.content.Context,android.util.AttributeSet,int,int):24:237 -> 219:219:void (android.content.Context,android.util.AttributeSet,int,int):53:53 -> 1:1:int getPeerCameraOrientation():127:127 -> getPeerCameraOrientation 1:5:int getPeerHeight(ai.neuvision.kit.video.YCKVideoSessionIn):179:183 -> getPeerHeight 1:1:int getPeerScreenOrientation():123:123 -> getPeerScreenOrientation 1:7:int getPeerVideoHeight(ai.neuvision.kit.video.YCKVideoSessionIn):153:159 -> getPeerVideoHeight 1:7:int getPeerVideoWidth(ai.neuvision.kit.video.YCKVideoSessionIn):138:144 -> getPeerVideoWidth 1:5:int getPeerWidth(ai.neuvision.kit.video.YCKVideoSessionIn):168:172 -> getPeerWidth 1:1:int getSurfaceTextureHeight():300:300 -> getSurfaceTextureHeight 1:1:int getSurfaceTextureWidth():295:295 -> getSurfaceTextureWidth 1:1:java.lang.Long getUid():244:244 -> getUid 1:1:boolean isFrontCamera():234:234 -> isFrontCamera 1:1:boolean isPeerLandscape():131:131 -> isPeerLandscape 1:1:boolean isPreviewing():57:57 -> isPreviewing 1:1:void lockNotRotate():240:240 -> lockNotRotate 1:2:void onAttachedToWindow():63:64 -> onAttachedToWindow 1:2:void onDetachedFromWindow():70:71 -> onDetachedFromWindow 1:40:void onFlagChanged(ai.neuvision.kit.video.YCKFrameContext,long):189:228 -> onFlagChanged 1:1:void onMeasure(int,int):93:93 -> onMeasure 1:3:void onPeerOrientationChanged(int,int,boolean):117:119 -> onPeerOrientationChanged 1:4:void onSurfaceTextureAvailable(android.graphics.SurfaceTexture,int,int):260:263 -> onSurfaceTextureAvailable 1:2:boolean onSurfaceTextureDestroyed(android.graphics.SurfaceTexture):280:281 -> onSurfaceTextureDestroyed 1:4:void onSurfaceTextureSizeChanged(android.graphics.SurfaceTexture,int,int):270:273 -> onSurfaceTextureSizeChanged 1:2:void onSurfaceTextureUpdated(android.graphics.SurfaceTexture):289:290 -> onSurfaceTextureUpdated 1:3:void setAspectRatio(int,int):86:88 -> setAspectRatio 4:4:void setAspectRatio(int,int):84:84 -> setAspectRatio 1:1:void setSurfaceTextureListener(android.view.TextureView$SurfaceTextureListener):254:254 -> setSurfaceTextureListener 1:1:void setUid(java.lang.Long):248:248 -> setUid ai.neuvision.kit.video.EncoderManager -> ai.neuvision.kit.video.EncoderManager: java.util.ArrayList wrappers -> b int blockNum -> c java.util.concurrent.CountDownLatch countDownLatch -> d java.util.ArrayList encoders -> a 1:1:void access$setBlockNum$p(ai.neuvision.kit.video.EncoderManager,int):19:19 -> 1:1:void ():19 -> 2:4:void ():21:23 -> 1:1:void access$setBlockNum$p(ai.neuvision.kit.video.EncoderManager,int):19:19 -> access$getBlockNum$p 1:1:int access$getBlockNum$p(ai.neuvision.kit.video.EncoderManager):19 -> access$getBlockNum$p 1:1:void access$setBlockNum$p(ai.neuvision.kit.video.EncoderManager,int):19:19 -> access$getCountDownLatch$p 1:1:java.util.concurrent.CountDownLatch access$getCountDownLatch$p(ai.neuvision.kit.video.EncoderManager):19 -> access$getCountDownLatch$p 1:1:void access$setBlockNum$p(ai.neuvision.kit.video.EncoderManager,int):19:19 -> access$getEncoders$p 1:1:java.util.ArrayList access$getEncoders$p(ai.neuvision.kit.video.EncoderManager):19 -> access$getEncoders$p 1:1:void access$setBlockNum$p(ai.neuvision.kit.video.EncoderManager,int):19:19 -> access$setBlockNum$p 1:1:void access$setBlockNum$p(ai.neuvision.kit.video.EncoderManager,int):19:19 -> access$setCountDownLatch$p 1:1:void access$setCountDownLatch$p(ai.neuvision.kit.video.EncoderManager,java.util.concurrent.CountDownLatch):19 -> access$setCountDownLatch$p 1:1:void access$setBlockNum$p(ai.neuvision.kit.video.EncoderManager,int):19:19 -> access$setEncoders$p 1:1:void access$setEncoders$p(ai.neuvision.kit.video.EncoderManager,java.util.ArrayList):19 -> access$setEncoders$p 1:4:void addEncoder(ai.neuvision.kit.video.VideoEncoder):30:30 -> addEncoder 1:28:void clear():123:150 -> clear 29:31:void clear():125:127 -> clear 32:32:void clear():123:123 -> clear 1:32:void getSurfaceTextures(int,ai.neuvision.kit.video.EncoderManager$SurfaceTextureCallback,android.os.Handler):38:69 -> getSurfaceTextures 1:1:void getSurfaceTextures$default(ai.neuvision.kit.video.EncoderManager,int,ai.neuvision.kit.video.EncoderManager$SurfaceTextureCallback,android.os.Handler,int,java.lang.Object):37:37 -> getSurfaceTextures$default 1:2:void release():132:133 -> release 1:15:void releaseWrapper():138:152 -> releaseWrapper 16:16:void releaseWrapper():139:139 -> releaseWrapper 1:71:void start():75:145 -> start 72:142:void start():78:148 -> start 143:145:void start():106:108 -> start ai.neuvision.kit.video.EncoderManager$getSurfaceTextures$1 -> ai.neuvision.kit.video.EncoderManager$getSurfaceTextures$1: java.util.concurrent.CountDownLatch $latch -> b java.util.ArrayList $list -> a 1:1:void (java.util.ArrayList,java.util.concurrent.CountDownLatch):47:47 -> 1:2:void onSurfaceTextureCreate(android.graphics.SurfaceTexture):52:53 -> onSurfaceTextureCreate ai.neuvision.kit.video.EncoderManager$getSurfaceTextures$2 -> ai.neuvision.kit.video.EncoderManager$a: java.util.ArrayList $list -> b ai.neuvision.kit.video.EncoderManager$SurfaceTextureCallback $callback -> a 1:1:void run():65:65 -> run ai.neuvision.kit.video.EncoderManager$start$2 -> ai.neuvision.kit.video.EncoderManager$b: ai.neuvision.kit.video.EncoderManager this$0 -> a ai.neuvision.kit.video.wrapper.EncodeTextureWrapper $wrapper -> b 1:64:boolean onFrameAvailable(android.graphics.SurfaceTexture):82:145 -> onFrameAvailable 65:65:boolean onFrameAvailable(android.graphics.SurfaceTexture):88:88 -> onFrameAvailable 66:78:void ai.neuvision.kit.video.VideoEncoder.onFrameAvailable(android.graphics.SurfaceTexture,java.util.concurrent.CountDownLatch):254:266 -> onFrameAvailable 66:78:boolean onFrameAvailable(android.graphics.SurfaceTexture):88 -> onFrameAvailable 79:87:boolean onFrameAvailable(android.graphics.SurfaceTexture):92:100 -> onFrameAvailable ai.neuvision.kit.video.EncoderManager$start$3$1 -> ai.neuvision.kit.video.EncoderManager$c: ai.neuvision.kit.video.wrapper.EncodeTextureWrapper $wrapper -> a ai.neuvision.kit.video.VideoEncoder $encoder -> b 1:2:boolean onFrameAvailable(android.graphics.SurfaceTexture):109:110 -> onFrameAvailable 3:8:void ai.neuvision.kit.video.VideoEncoder.onFrameAvailable(android.graphics.SurfaceTexture):272:277 -> onFrameAvailable 3:8:boolean onFrameAvailable(android.graphics.SurfaceTexture):110 -> onFrameAvailable 9:9:boolean onFrameAvailable(android.graphics.SurfaceTexture):111:111 -> onFrameAvailable ai.neuvision.kit.video.Matrix -> ai.neuvision.kit.video.Matrix: 1:1:void (float,float,float,float,float,float,float,float,float):98:98 -> 2:2:void (float,float,float,float,float,float,float,float,float,int,kotlin.jvm.internal.DefaultConstructorMarker):116:116 -> 1:1:float getM00():100:100 -> getM00 1:1:float getM01():102:102 -> getM01 1:1:float getM02():104:104 -> getM02 1:1:float getM10():106:106 -> getM10 1:1:float getM11():108:108 -> getM11 1:1:float getM12():110:110 -> getM12 1:1:float getM20():112:112 -> getM20 1:1:float getM21():114:114 -> getM21 1:1:float getM22():116:116 -> getM22 1:1:void setM00(float):100:100 -> setM00 1:1:void setM01(float):102:102 -> setM01 1:1:void setM02(float):104:104 -> setM02 1:1:void setM10(float):106:106 -> setM10 1:1:void setM11(float):108:108 -> setM11 1:1:void setM12(float):110:110 -> setM12 1:1:void setM20(float):112:112 -> setM20 1:1:void setM21(float):114:114 -> setM21 1:1:void setM22(float):116:116 -> setM22 ai.neuvision.kit.video.MimeType -> ai.neuvision.kit.video.MimeType: 1:1:void ():7:7 -> 2:2:void ():6:6 -> 1:2:void (java.lang.String,int,java.lang.String):9:10 -> 1:1:java.lang.String getMimeType():16:16 -> getMimeType 1:1:ai.neuvision.kit.video.MimeType valueOf(java.lang.String):6:6 -> valueOf 1:1:ai.neuvision.kit.video.MimeType[] values():6:6 -> values ai.neuvision.kit.video.QuickTimer -> ai.neuvision.kit.video.QuickTimer: java.util.List points -> b long uid -> a long endTime -> c 1:1:void ():26:26 -> 2:2:void (java.lang.String,boolean,long):29:29 -> 3:16:void (java.lang.String,boolean,long):20:33 -> 1:1:void addPoint(java.lang.String):37:37 -> addPoint 1:15:void close():42:56 -> close 16:16:void close():46:46 -> close 1:1:boolean isLongTime():61:61 -> isLongTime ai.neuvision.kit.video.Resolution -> ai.neuvision.kit.video.Resolution: 1:8:void ():12:19 -> 1:1:void (java.lang.String,int,android.util.Size):11:11 -> 1:1:android.util.Size getSize():11:11 -> getSize ai.neuvision.kit.video.VideoCodecMetrix -> ai.neuvision.kit.video.VideoCodecMetrix: 1:61:void (int,java.util.concurrent.ScheduledExecutorService):13:73 -> 1:4:void measureAll(long):88:91 -> measureAll 1:5:void reset():79:83 -> reset ai.neuvision.kit.video.VideoCodecMetrix$BitRate -> ai.neuvision.kit.video.VideoCodecMetrix$BitRate: 1:1:void (ai.neuvision.sdk.utils.AbstractMetrixItem$MetrixSameTickBase):46:46 -> 1:1:java.lang.Object addValue(java.lang.Object,java.lang.Object):43:43 -> addValue 2:2:java.lang.Integer addValue(java.lang.Integer,java.lang.Integer):61:61 -> addValue 1:1:ai.neuvision.sdk.utils.AbstractMetrixItem createEmpty():56:56 -> createEmpty 1:1:java.lang.Object getTmpMeasure(java.lang.Object,long):43:43 -> getTmpMeasure 2:2:java.lang.Integer getTmpMeasure(java.lang.Integer,long):51:51 -> getTmpMeasure 1:1:java.lang.Object modifyNullAfterStart(long):43:43 -> modifyNullAfterStart 2:2:java.lang.Integer modifyNullAfterStart(long):66:66 -> modifyNullAfterStart ai.neuvision.kit.video.VideoCodecMetrix$FrameRate -> ai.neuvision.kit.video.VideoCodecMetrix$FrameRate: 1:1:void (ai.neuvision.sdk.utils.AbstractMetrixItem$MetrixSameTickBase):19:19 -> 1:1:java.lang.Object addValue(java.lang.Object,java.lang.Object):16:16 -> addValue 2:2:java.lang.Integer addValue(java.lang.Integer,java.lang.Integer):34:34 -> addValue 1:1:ai.neuvision.sdk.utils.AbstractMetrixItem createEmpty():29:29 -> createEmpty 1:1:java.lang.Object getTmpMeasure(java.lang.Object,long):16:16 -> getTmpMeasure 2:2:java.lang.Integer getTmpMeasure(java.lang.Integer,long):24:24 -> getTmpMeasure 1:1:java.lang.Object modifyNullAfterStart(long):16:16 -> modifyNullAfterStart 2:2:java.lang.Integer modifyNullAfterStart(long):39:39 -> modifyNullAfterStart ai.neuvision.kit.video.VideoConfig -> ai.neuvision.kit.video.VideoConfig: 1:1:void ():9:9 -> 1:1:void ():9:9 -> ai.neuvision.kit.video.VideoConstants -> ai.neuvision.kit.video.VideoConstants: 1:1:void ():12:12 -> 1:1:void ():12:12 -> ai.neuvision.kit.video.VideoConstants$Preview -> ai.neuvision.kit.video.VideoConstants$Preview: 1:1:void ():15:15 -> 1:1:void ():15:15 -> ai.neuvision.kit.video.VideoConstants$Rending -> ai.neuvision.kit.video.VideoConstants$Rending: 1:1:void ():20:20 -> 1:1:void ():20:20 -> ai.neuvision.kit.video.VideoContext -> ai.neuvision.kit.video.VideoContext: ai.neuvision.kit.video.VideoContext$Display display -> c ai.neuvision.kit.video.VideoContext$Camera camera -> a ai.neuvision.kit.video.VideoContext$Video video -> b 1:1:void (ai.neuvision.kit.video.VideoContext$Camera,ai.neuvision.kit.video.VideoContext$Video,ai.neuvision.kit.video.VideoContext$Display):12:12 -> 2:2:void (ai.neuvision.kit.video.VideoContext$Camera,ai.neuvision.kit.video.VideoContext$Video,ai.neuvision.kit.video.VideoContext$Display,int,kotlin.jvm.internal.DefaultConstructorMarker):12:12 -> 1:1:ai.neuvision.kit.video.VideoContext$Camera getCamera():12:12 -> getCamera 1:1:ai.neuvision.kit.video.VideoContext$Display getDisplay():12:12 -> getDisplay 1:1:ai.neuvision.kit.video.VideoContext$Video getVideo():12:12 -> getVideo 1:1:void setCamera(ai.neuvision.kit.video.VideoContext$Camera):12:12 -> setCamera 1:1:void setDisplay(ai.neuvision.kit.video.VideoContext$Display):12:12 -> setDisplay 1:1:void setVideo(ai.neuvision.kit.video.VideoContext$Video):12:12 -> setVideo ai.neuvision.kit.video.VideoContext$Camera -> ai.neuvision.kit.video.VideoContext$Camera: ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing facing -> a int width -> b int height -> c 1:1:void (ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing,int,int):14:14 -> 2:2:void (ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):14:14 -> 1:1:ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing getFacing():14:14 -> getFacing 1:1:int getHeight():14:14 -> getHeight 1:1:int getWidth():14:14 -> getWidth 1:1:void setFacing(ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing):14:14 -> setFacing 1:1:void setHeight(int):14:14 -> setHeight 1:1:void setWidth(int):14:14 -> setWidth ai.neuvision.kit.video.VideoContext$Display -> ai.neuvision.kit.video.VideoContext$Display: int height -> b int width -> a 1:1:void (int,int):16:16 -> 2:2:void (int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> 1:1:int getHeight():16:16 -> getHeight 1:1:int getWidth():16:16 -> getWidth 1:1:void setHeight(int):16:16 -> setHeight 1:1:void setWidth(int):16:16 -> setWidth ai.neuvision.kit.video.VideoContext$Video -> ai.neuvision.kit.video.VideoContext$Video: ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing facing -> a int width -> b int height -> c 1:1:void (ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing,int,int):15:15 -> 2:2:void (ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):15:15 -> 1:1:ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing getFacing():15:15 -> getFacing 1:1:int getHeight():15:15 -> getHeight 1:1:int getWidth():15:15 -> getWidth 1:1:void setFacing(ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing):15:15 -> setFacing 1:1:void setHeight(int):15:15 -> setHeight 1:1:void setWidth(int):15:15 -> setWidth ai.neuvision.kit.video.VideoDataChecker -> ai.neuvision.kit.video.VideoDataChecker: java.util.concurrent.LinkedBlockingDeque outputs -> a boolean logEveryStep -> c short lastPickedOutputSeq -> b 1:8:void (long):17:17 -> 1:2:void clean():104:105 -> clean 1:11:java.lang.String debugFrame(ai.neuvision.kit.video.VideoFrame):26:36 -> debugFrame 12:12:java.lang.String debugFrame(ai.neuvision.kit.video.VideoFrame):35:35 -> debugFrame 1:11:void inputed(ai.neuvision.kit.video.VideoFrame):53:63 -> inputed 12:49:void inputed(ai.neuvision.kit.video.VideoFrame):62:99 -> inputed 1:4:void outputed(ai.neuvision.kit.video.VideoFrame):42:45 -> outputed ai.neuvision.kit.video.VideoDecoder -> ai.neuvision.kit.video.VideoDecoder: ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info csd0Info -> h ai.neuvision.kit.video.VideoCodecMetrix metrix -> k int mFrameCount -> j java.util.concurrent.LinkedBlockingDeque frameQueue -> t ai.neuvision.kit.video.VideoDecoder$DecoderState curDecoderState -> y java.io.FileOutputStream fs -> C java.io.BufferedInputStream fins -> D long uid -> a java.lang.String mimeType -> n boolean isEnable -> q android.graphics.SurfaceTexture outputSurfaceTexture -> r android.view.Surface outputSurface -> s long lastAskIFrameTime -> w android.media.MediaFormat outputFormat -> e android.media.MediaCodec$BufferInfo bufferInfo -> i int decodeVideoWidth -> o int currFailedTimes -> m ai.neuvision.kit.video.VideoExecutors executor -> u long lastRenderTime -> z android.media.MediaCodec mRealCodec -> c ai.neuvision.kit.video.VideoDecoder$OnSampleListener listener -> A ai.neuvision.kit.video.VideoDataChecker videoDataChecker -> B long lastTime -> v int askIFrameCount -> x boolean mDecoding -> g android.media.MediaFormat configureFormat -> f java.lang.String TAG -> b java.util.Set failedNames -> l int decodeVideoHeight -> p java.lang.String mDecoderName -> d 1:1:void (long):73:73 -> 2:536:void (long):49:583 -> 537:538:void (long):74:75 -> 1:22:void initCodec(java.lang.String):81:102 -> a 23:39:android.media.MediaCodec createByMimeTypeButNot(java.lang.String,java.util.Set):120:136 -> a 23:39:void initCodec(java.lang.String):102 -> a 40:53:void initCodec(java.lang.String):102:115 -> a 54:96:void onFrame(java.nio.ByteBuffer,ai.neuvision.kit.video.YCKFrameContext,int):208:250 -> a 97:97:void onFrame(java.nio.ByteBuffer,ai.neuvision.kit.video.YCKFrameContext,int):220:220 -> a 98:105:void decode():267:274 -> a 106:109:void startAnalysis():825:828 -> a 106:109:void decode():275 -> a 110:116:void decode():278:284 -> a 117:120:void stopAnalysis():818:821 -> a 117:120:void decode():285 -> a 121:126:void decode():286:291 -> a 127:138:ai.neuvision.kit.video.VideoFrame skipToNextIFrame():466:477 -> a 127:138:void decode():292 -> a 139:197:void decode():294:352 -> a 198:204:void decode():351:357 -> a 205:209:void decode():356:360 -> a 210:211:void decode():359:360 -> a 212:228:void decode():353:369 -> a 229:236:void decode():364:371 -> a 237:239:android.media.MediaFormat createVideoFormat(java.lang.String,android.util.Size):159:161 -> a 237:239:void decode():371 -> a 240:249:void decode():371:380 -> a 250:252:java.nio.ByteBuffer getByteBuffer(java.nio.ByteBuffer):641:643 -> a 250:252:void decode():383 -> a 253:323:void decode():384:454 -> a 324:334:void decode():420:430 -> a 335:360:void decode():429:454 -> a 361:516:void decode():303:458 -> a 517:565:void handleDecodeException(java.lang.Exception,ai.neuvision.kit.video.VideoFrame):490:538 -> a 566:588:void innerHandleDecodeOutput(ai.neuvision.kit.video.YCKFrameContext,int):588:610 -> a 1:17:void innerRestart():621:637 -> b 1:22:void innerStop():675:696 -> c 1:1:boolean isX264():485:485 -> d 1:9:void pause():190:198 -> e 10:10:void pause():193:193 -> e 1:1:int getDecodeVideoHeight():725:725 -> getDecodeVideoHeight 1:1:int getDecodeVideoWidth():721:721 -> getDecodeVideoWidth 1:1:ai.neuvision.kit.video.VideoDecoder$OnSampleListener getListener():703:703 -> getListener 1:1:java.lang.String getName():717:717 -> getName 1:1:boolean isEnable():834:834 -> isEnable 1:9:void setEnable(boolean):839:847 -> setEnable 1:1:void setListener(ai.neuvision.kit.video.VideoDecoder$OnSampleListener):707:707 -> setListener 1:1:void setVideoDataChecker(ai.neuvision.kit.video.VideoDataChecker):713:713 -> setVideoDataChecker 1:5:void start():179:183 -> start 1:12:void stop():658:669 -> stop 1:3:boolean switchDecode(java.lang.String):729:731 -> switchDecode ai.neuvision.kit.video.VideoDecoder$DecoderState -> ai.neuvision.kit.video.VideoDecoder$a: ai.neuvision.kit.video.VideoDecoder$DecoderState[] $VALUES -> d ai.neuvision.kit.video.VideoDecoder$DecoderState Uninitialized -> a ai.neuvision.kit.video.VideoDecoder$DecoderState Executing -> c ai.neuvision.kit.video.VideoDecoder$DecoderState Configured -> b 1:3:void ():261:263 -> 4:4:void ():260:260 -> 1:1:void (java.lang.String,int):260:260 -> 1:1:ai.neuvision.kit.video.VideoDecoder$DecoderState valueOf(java.lang.String):260:260 -> valueOf 1:1:ai.neuvision.kit.video.VideoDecoder$DecoderState[] values():260:260 -> values ai.neuvision.kit.video.VideoDecoder$OnSampleListener -> ai.neuvision.kit.video.VideoDecoder$b: ai.neuvision.kit.video.VideoEncoder -> ai.neuvision.kit.video.VideoEncoder: ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info csd0Info -> h ai.neuvision.kit.video.wrapper.EncodeTextureWrapper mEncoderWrapper -> z boolean mEncoding -> i long lastEncodeTime -> e ai.neuvision.sdk.utils.PresentationTimer pTimer -> m java.lang.String encoderName -> n int encoderFps -> d ai.neuvision.sdk.pipline.Pipeline mEncodePipeline -> w float[] indentMatrix -> C long lastChangeEncoderSizeTime -> D int resetEncoderFailedCount -> E boolean autoChangeSize -> q java.util.concurrent.CountDownLatch mEncodeCountDownLatch -> A android.media.MediaCodec mRealCodec -> b long currentBitrate -> u ai.neuvision.kit.video.texture.impl.CameraTexture mCameraTexture -> y java.lang.String name -> a android.media.MediaCodec$Callback mCodecCallback -> x java.lang.String mMimeType -> c android.media.MediaFormat outputFormat -> g int originalHeight -> s ai.neuvision.kit.video.VideoEncoder$OnSampleListener listener -> v android.view.Surface inputSurface -> k ai.neuvision.kit.video.VideoCodecMetrix metrix -> l long encodeInterval -> f ai.neuvision.kit.video.opengl.Egl mEgl -> o android.util.Size preferredSize -> t ai.neuvision.sdk.pipline.Pipeline mEncodeEglPipeline -> p float[] matrix -> B int originalWidth -> r android.media.MediaFormat mediaFormat -> j 1:1:void (java.lang.String):79:79 -> 2:298:void (java.lang.String):47:343 -> 299:299:void (java.lang.String):80:80 -> 1:14:void initCodec(android.util.Size,java.lang.String):85:98 -> a 15:20:android.media.MediaFormat createVideoFormat(java.lang.String,android.util.Size):165:170 -> a 21:23:int getSuggestBitRateFromSize(int,int):211:213 -> a 21:23:android.media.MediaFormat createVideoFormat(java.lang.String,android.util.Size):171 -> a 24:27:android.media.MediaFormat createVideoFormat(java.lang.String,android.util.Size):171:174 -> a 28:32:void lambda$initEgl$0(ai.neuvision.kit.video.wrapper.EncodeTextureWrapper):243:247 -> a 33:34:void countDown():283:284 -> a 35:40:void draw(android.graphics.SurfaceTexture):315:320 -> a 41:51:void lambda$needResizeResolution$3(int,int):391:401 -> a 52:59:void lambda$releaseEgl$5(ai.neuvision.sdk.pipline.Pipeline):560:567 -> a 60:64:void lambda$setBitrate$7(long):596:600 -> a 1:17:void lambda$draw$1(android.graphics.SurfaceTexture):322:338 -> b 18:18:void lambda$null$2(int,int):401:401 -> b 19:23:void lambda$forceIFrame$6():585:589 -> b 1:22:void resetEncoder(int,int):411:432 -> c 23:33:void resetEncoder(int,int):431:441 -> c 34:35:void resetEncoder(int,int):436:437 -> c 36:45:void innerStop():544:553 -> c 36:45:void lambda$stop$4():536 -> c 46:46:void lambda$stop$4():537:537 -> c 1:42:boolean needResizeResolution():348:389 -> d 1:6:void prepareEncode():156:161 -> e 1:1:void forceIFrame():584:584 -> forceIFrame 1:4:long getBitRate():607:610 -> getBitRate 1:1:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info getCsd0Info():621:621 -> getCsd0Info 1:1:int getFrameRate():654:654 -> getFrameRate 1:1:android.view.Surface getInputSurface():572:572 -> getInputSurface 1:1:ai.neuvision.kit.video.VideoEncoder$OnSampleListener getListener():576:576 -> getListener 1:6:android.media.MediaCodecInfo getMediaInfo(java.lang.String,boolean):198:203 -> getMediaInfo 1:1:java.lang.String getName():625:625 -> getName 1:1:android.media.MediaFormat getOutputFormat():218:218 -> getOutputFormat 1:2:void initEgl(ai.neuvision.kit.video.wrapper.EncodeTextureWrapper):241:242 -> initEgl 1:1:boolean isEncoding():617:617 -> isEncoding 1:3:void pause():232:234 -> pause 1:2:void releaseEgl():558:559 -> releaseEgl 1:1:void setAutoChangeSize(boolean):446:446 -> setAutoChangeSize 1:9:void setBitrate(long):595:603 -> setBitrate 1:2:void setFrameRate(int):649:650 -> setFrameRate 1:1:void setListener(ai.neuvision.kit.video.VideoEncoder$OnSampleListener):580:580 -> setListener 1:4:void start():225:228 -> start 5:5:void start():227:227 -> start 1:5:void stop():531:535 -> stop ai.neuvision.kit.video.VideoEncoder$1 -> ai.neuvision.kit.video.VideoEncoder$a: ai.neuvision.kit.video.VideoEncoder this$0 -> a 1:1:void (ai.neuvision.kit.video.VideoEncoder):105:105 -> 1:8:void onOutputBufferAvailable(android.media.MediaCodec,int,android.media.MediaCodec$BufferInfo):115:122 -> onOutputBufferAvailable 9:9:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info ai.neuvision.kit.video.VideoEncoder.access$002(ai.neuvision.kit.video.VideoEncoder,ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info):42:42 -> onOutputBufferAvailable 9:9:void onOutputBufferAvailable(android.media.MediaCodec,int,android.media.MediaCodec$BufferInfo):122 -> onOutputBufferAvailable 10:15:void onOutputBufferAvailable(android.media.MediaCodec,int,android.media.MediaCodec$BufferInfo):123:128 -> onOutputBufferAvailable 16:16:ai.neuvision.kit.video.VideoEncoder$OnSampleListener ai.neuvision.kit.video.VideoEncoder.access$100(ai.neuvision.kit.video.VideoEncoder):42:42 -> onOutputBufferAvailable 16:16:void onOutputBufferAvailable(android.media.MediaCodec,int,android.media.MediaCodec$BufferInfo):128 -> onOutputBufferAvailable 17:20:void onOutputBufferAvailable(android.media.MediaCodec,int,android.media.MediaCodec$BufferInfo):128:131 -> onOutputBufferAvailable 1:1:void onOutputFormatChanged(android.media.MediaCodec,android.media.MediaFormat):143:143 -> onOutputFormatChanged 2:2:android.media.MediaFormat ai.neuvision.kit.video.VideoEncoder.access$202(ai.neuvision.kit.video.VideoEncoder,android.media.MediaFormat):42:42 -> onOutputFormatChanged 2:2:void onOutputFormatChanged(android.media.MediaCodec,android.media.MediaFormat):143 -> onOutputFormatChanged 3:3:void onOutputFormatChanged(android.media.MediaCodec,android.media.MediaFormat):144:144 -> onOutputFormatChanged 4:4:ai.neuvision.kit.video.VideoEncoder$OnSampleListener ai.neuvision.kit.video.VideoEncoder.access$100(ai.neuvision.kit.video.VideoEncoder):42:42 -> onOutputFormatChanged 4:4:void onOutputFormatChanged(android.media.MediaCodec,android.media.MediaFormat):144 -> onOutputFormatChanged 5:5:android.media.MediaFormat ai.neuvision.kit.video.VideoEncoder.access$200(ai.neuvision.kit.video.VideoEncoder):42:42 -> onOutputFormatChanged 5:5:void onOutputFormatChanged(android.media.MediaCodec,android.media.MediaFormat):144 -> onOutputFormatChanged 6:7:void onOutputFormatChanged(android.media.MediaCodec,android.media.MediaFormat):144:145 -> onOutputFormatChanged 8:8:android.media.MediaFormat ai.neuvision.kit.video.VideoEncoder.access$200(ai.neuvision.kit.video.VideoEncoder):42:42 -> onOutputFormatChanged 8:8:void onOutputFormatChanged(android.media.MediaCodec,android.media.MediaFormat):145 -> onOutputFormatChanged 9:11:void onOutputFormatChanged(android.media.MediaCodec,android.media.MediaFormat):145:147 -> onOutputFormatChanged 12:12:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info ai.neuvision.kit.video.VideoEncoder.access$002(ai.neuvision.kit.video.VideoEncoder,ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info):42:42 -> onOutputFormatChanged 12:12:void onOutputFormatChanged(android.media.MediaCodec,android.media.MediaFormat):147 -> onOutputFormatChanged ai.neuvision.kit.video.VideoEncoder$OnSampleListener -> ai.neuvision.kit.video.VideoEncoder$b: ai.neuvision.kit.video.VideoEngine -> ai.neuvision.kit.video.VideoEngine: int maxBitrate -> n int mode -> h android.util.LongSparseArray viewMap -> j java.util.LinkedList activeParticipants -> w ai.neuvision.kit.video.YCKVideoSessionInMgr vSessionInMgr -> e android.util.Size thumbPreferredSize -> q ai.neuvision.kit.video.VideoEngine$Callback mCallback -> i android.hardware.camera2.CameraCaptureSession$StateCallback stateCallback -> x android.util.Size videoPreferredSize -> o ai.neuvision.kit.video.YCKVideoSessionOut thumbVideoSessionOut -> d int decoderNum -> y int encoderSurfaceNumber -> u android.hardware.camera2.CameraDevice$StateCallback outCameraStateCallback -> s boolean initCameraOn -> A java.lang.String TAG -> D java.util.concurrent.ScheduledExecutorService engineSharedExec -> a ai.neuvision.sdk.sdwan.transport.YCKTransportSession transportSession -> z java.util.Set decodeFaileds -> t ai.neuvision.kit.video.EncoderManager encoderManager -> b android.util.LongSparseArray tempViewMap -> k int videoFrameRate -> g ai.neuvision.kit.video.VideoEngine INSTANCE -> C android.util.Size encodePreferredSize -> p ai.neuvision.kit.video.MimeType mime -> m android.util.LongSparseArray transformUids -> v float videoAspectRatio -> r ai.neuvision.kit.video.YCKVideoCapture videoCapture -> f java.util.Set unSupportMainVideos -> l boolean enableTransform -> B ai.neuvision.kit.video.YCKVideoSessionOut vSessionOut -> c 1:2:void ():60:61 -> 1:1:void ():130:130 -> 2:1122:void ():64:1184 -> 1123:1123:void ():131:131 -> 1:5:boolean IsSelfAutoRotate():369:373 -> IsSelfAutoRotate 1:6:void createSessionOut():437:442 -> a 7:13:void createThumbVideoSessionOut():481:487 -> a 7:13:void createSessionOut():443 -> a 14:14:void createSessionOut():444:444 -> a 15:15:void ai.neuvision.kit.video.YCKVideoCapture.setMetrix(ai.neuvision.kit.video.VideoCodecMetrix):572:572 -> a 15:15:void createSessionOut():444 -> a 16:18:void startCapture(int):473:475 -> a 19:21:void lambda$stopAcceptVideoForLowBandwidth$0(boolean):768:770 -> a 22:25:ai.neuvision.kit.video.view.BaseTextureView getTempView(long):843:846 -> a 1:1:void askForIFrame(long):722:722 -> askForIFrame 2:8:void askForIFrame(ai.neuvision.sdk.sdwan.transport.AbstractTransport,long,boolean):753:759 -> askForIFrame 1:4:ai.neuvision.kit.video.view.BaseTextureView getView(long):834:837 -> b 5:5:int getEncoderSurfaceNumber():1027:1027 -> b 1:9:void releaseEncoder():278:286 -> c 10:13:void resetTransform(long):1244:1247 -> c 14:16:void ai.neuvision.kit.video.YCKVideoSessionIn.resetRenderViewTransform():339:341 -> c 14:16:void resetTransform(long):1249 -> c 17:17:void resetTransform(long):1251:1251 -> c 1:4:void cancelVideoTransform(long):1145:1148 -> cancelVideoTransform 5:5:void cancelVideoTransform(long):1147:1147 -> cancelVideoTransform 1:39:void close():620:658 -> close 40:40:void close():625:625 -> close 1:1:void confirmVideoTransform(long):1140:1140 -> confirmVideoTransform 1:16:void decoderOutputVideoData(ai.neuvision.kit.video.YCKFrameContext,long):691:706 -> decoderOutputVideoData 17:17:void decoderOutputVideoData(ai.neuvision.kit.video.YCKFrameContext,long):703:703 -> decoderOutputVideoData 1:3:void disablePreview():611:613 -> disablePreview 1:1:void disableVideoDisplay(long):595:595 -> disableVideoDisplay 2:9:void ai.neuvision.kit.video.YCKVideoSessionIn.disableVideoDisplay():404:411 -> disableVideoDisplay 2:9:void disableVideoDisplay(long):597 -> disableVideoDisplay 1:3:void enableVideoDisplay(long):603:605 -> enableVideoDisplay 1:1:void enableVideoTransform(boolean):1187:1187 -> enableVideoTransform 1:9:void encoderOutputVideoData(java.nio.ByteBuffer,ai.neuvision.kit.video.YCKFrameContext,int,boolean):672:680 -> encoderOutputVideoData 10:10:void encoderOutputVideoData(java.nio.ByteBuffer,ai.neuvision.kit.video.YCKFrameContext,int,boolean):679:679 -> encoderOutputVideoData 1:1:java.util.LinkedList getActiveParticipants():141:141 -> getActiveParticipants 1:4:long getAverageBitrate():973:976 -> getAverageBitrate 1:1:ai.neuvision.kit.video.VideoEngine$Callback getCallback():1047:1047 -> getCallback 1:1:int getCameraPosition():963:963 -> getCameraPosition 1:1:int getCameraPreviewFrameRate():193:193 -> getCameraPreviewFrameRate 1:1:ai.neuvision.kit.video.MimeType getEncoderMime(ai.neuvision.kit.video.VideoType):397:397 -> getEncoderMime 1:1:android.util.Size getEncoderPreferredSize():342:342 -> getEncoderPreferredSize 1:1:ai.neuvision.kit.video.VideoEngine getInstance():136:136 -> getInstance 1:1:int getMaxBitrate(ai.neuvision.kit.video.VideoType):423:423 -> getMaxBitrate 1:1:ai.neuvision.kit.video.MimeType getMime():1063:1063 -> getMime 2:5:ai.neuvision.kit.video.MimeType getDefaultVideoCodec():118:121 -> getMime 2:5:ai.neuvision.kit.video.MimeType getMime():1064 -> getMime 6:8:ai.neuvision.kit.video.MimeType getMime():1064:1066 -> getMime 1:1:int getMode():104:104 -> getMode 1:1:ai.neuvision.kit.video.YCKVideoSessionInMgr getSessionInMgr():1018:1018 -> getSessionInMgr 1:1:ai.neuvision.kit.video.YCKVideoSessionOut getSessionOut():1022:1022 -> getSessionOut 1:4:java.util.concurrent.ScheduledExecutorService getSharedExecutor():1032:1035 -> getSharedExecutor 1:1:android.util.Size getThumbPreferredSize():354:354 -> getThumbPreferredSize 1:1:ai.neuvision.sdk.sdwan.transport.YCKTransportSession getTransportSession():990:990 -> getTransportSession 1:1:ai.neuvision.kit.video.YCKVideoCapture getVideoCapture():179:179 -> getVideoCapture 1:1:int getVideoDecoderNumber():567:567 -> getVideoDecoderNumber 1:10:int getVideoFrameRate(ai.neuvision.kit.video.VideoType):211:220 -> getVideoFrameRate 1:1:android.util.Size getVideoPreferredSize():296:296 -> getVideoPreferredSize 1:5:ai.neuvision.kit.video.view.RenderMode getVideoRenderMode():384:388 -> getVideoRenderMode 1:1:ai.neuvision.kit.video.YCKVideoSessionIn getVideoSessionIn(long):1055:1055 -> getVideoSessionIn 1:1:ai.neuvision.kit.video.YCKVideoSessionOut getVideoSessionOut():1059:1059 -> getVideoSessionOut 1:1:void initCapture(ai.neuvision.kit.video.view.BaseTextureView,android.app.Activity,int):224:224 -> initCapture 2:2:void ai.neuvision.kit.video.YCKVideoCapture.setCameraLensFacingDirection(int):541:541 -> initCapture 2:2:void initCapture(ai.neuvision.kit.video.view.BaseTextureView,android.app.Activity,int):224 -> initCapture 3:3:void initCapture(ai.neuvision.kit.video.view.BaseTextureView,android.app.Activity,int):225:225 -> initCapture 4:4:void ai.neuvision.kit.video.YCKVideoCapture.setPreferredSize(android.util.Size):580:580 -> initCapture 4:4:void initCapture(ai.neuvision.kit.video.view.BaseTextureView,android.app.Activity,int):226 -> initCapture 5:5:void initCapture(ai.neuvision.kit.video.view.BaseTextureView,android.app.Activity,int):228:228 -> initCapture 1:1:boolean isInForceThumbMode(long):717:717 -> isInForceThumbMode 1:7:boolean isMirrorHorizontal(long):1072:1078 -> isMirrorHorizontal 1:7:boolean isMirrorVertical(long):1084:1090 -> isMirrorVertical 1:1:boolean isPreviewing():559:559 -> isPreviewing 1:1:boolean isSupportMainVideo(long):554:554 -> isSupportMainVideo 1:10:boolean needTempVideoRequest(ai.neuvision.sdk.sdwan.transport.AbstractTransport,long):856:865 -> needTempVideoRequest 11:11:boolean needTempVideoRequest(ai.neuvision.sdk.sdwan.transport.AbstractTransport,long):858:858 -> needTempVideoRequest 1:3:void reOpenCamera():583:585 -> notifyEncodeOpenGLThreadBlocked 1:3:void notifyEncodeOpenGLThreadBlocked():577 -> notifyEncodeOpenGLThreadBlocked 1:19:void onReceiveVideoTransformCommand(java.nio.ByteBuffer,long):1191:1209 -> onReceiveVideoTransformCommand 20:26:void onReceiveVideoTransformCommand(java.nio.ByteBuffer,long):1208:1214 -> onReceiveVideoTransformCommand 27:42:void onReceiveVideoTransformCommand(java.nio.ByteBuffer,long):1213:1228 -> onReceiveVideoTransformCommand 43:45:void ai.neuvision.kit.video.YCKVideoSessionIn.setRenderViewTransform(ai.neuvision.kit.video.VideoTransform):332:334 -> onReceiveVideoTransformCommand 43:45:void onReceiveVideoTransformCommand(java.nio.ByteBuffer,long):1230 -> onReceiveVideoTransformCommand 46:52:void onReceiveVideoTransformCommand(java.nio.ByteBuffer,long):1232:1238 -> onReceiveVideoTransformCommand 1:5:void onReceivedVideoData(ai.neuvision.sdk.sdwan.transport.AbstractTransport,java.nio.ByteBuffer,java.nio.ByteBuffer,int,long):743:747 -> onReceivedVideoData 6:45:void ai.neuvision.kit.video.YCKVideoSessionInMgr.processReceiveVideoData(java.nio.ByteBuffer,ai.neuvision.kit.video.YCKFrameContext,int,long):0:39 -> onReceivedVideoData 6:45:void onReceivedVideoData(ai.neuvision.sdk.sdwan.transport.AbstractTransport,java.nio.ByteBuffer,java.nio.ByteBuffer,int,long):747 -> onReceivedVideoData 46:56:void ai.neuvision.kit.video.YCKVideoSessionIn.processReceivedVideoData(java.nio.ByteBuffer,ai.neuvision.kit.video.YCKFrameContext,int,long):161:171 -> onReceivedVideoData 46:56:void ai.neuvision.kit.video.YCKVideoSessionInMgr.processReceiveVideoData(java.nio.ByteBuffer,ai.neuvision.kit.video.YCKFrameContext,int,long):42 -> onReceivedVideoData 46:56:void onReceivedVideoData(ai.neuvision.sdk.sdwan.transport.AbstractTransport,java.nio.ByteBuffer,java.nio.ByteBuffer,int,long):747 -> onReceivedVideoData 57:57:void onReceivedVideoData(ai.neuvision.sdk.sdwan.transport.AbstractTransport,java.nio.ByteBuffer,java.nio.ByteBuffer,int,long):748:748 -> onReceivedVideoData 1:2:void onRendingLackPerformance(long):727:728 -> onRendingLackPerformance 3:3:java.util.Set ai.neuvision.kit.video.YCKVideoSessionInMgr.getAllFroms():62:62 -> onRendingLackPerformance 3:3:void onRendingLackPerformance(long):728 -> onRendingLackPerformance 4:9:void onRendingLackPerformance(long):730:735 -> onRendingLackPerformance 1:2:void registerTempView(ai.neuvision.kit.video.view.BaseTextureView,long):888:889 -> registerTempView 1:2:void registerView(ai.neuvision.kit.video.view.BaseTextureView,long):873:874 -> registerView 1:1:void requestForceThumbMode(long):712:712 -> requestForceThumbMode 1:43:boolean requestUIInfoViewPosX(ai.neuvision.sdk.sdwan.transport.AbstractTransport,long,ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout$MemberUI):778:820 -> requestUIInfoViewPosX 44:44:boolean ai.neuvision.kit.video.YCKVideoSessionIn.isDecoding():318:318 -> requestUIInfoViewPosX 44:44:boolean requestUIInfoViewPosX(ai.neuvision.sdk.sdwan.transport.AbstractTransport,long,ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout$MemberUI):821 -> requestUIInfoViewPosX 45:46:boolean requestUIInfoViewPosX(ai.neuvision.sdk.sdwan.transport.AbstractTransport,long,ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout$MemberUI):823:824 -> requestUIInfoViewPosX 1:4:void resetVideoTransform(long):1153:1156 -> resetVideoTransform 5:5:void resetVideoTransform(long):1155:1155 -> resetVideoTransform 1:21:void sendVideoTransformCommand(long,java.lang.String):1160:1180 -> sendVideoTransformCommand 1:8:void setActiveParticipants(java.util.LinkedList):145:152 -> setActiveParticipants 9:9:java.util.Set ai.neuvision.kit.video.YCKVideoSessionInMgr.getAllFroms():62:62 -> setActiveParticipants 9:9:void setActiveParticipants(java.util.LinkedList):152 -> setActiveParticipants 10:12:void setActiveParticipants(java.util.LinkedList):153:155 -> setActiveParticipants 13:22:void ai.neuvision.kit.video.YCKVideoSessionInMgr.removeIn(java.lang.Long):66:75 -> setActiveParticipants 13:22:void setActiveParticipants(java.util.LinkedList):155 -> setActiveParticipants 23:40:void setActiveParticipants(java.util.LinkedList):156:173 -> setActiveParticipants 41:41:void setActiveParticipants(java.util.LinkedList):169:169 -> setActiveParticipants 1:4:void setAverageBitrate(long):980:983 -> setAverageBitrate 1:1:void setCallback(ai.neuvision.kit.video.VideoEngine$Callback):1051:1051 -> setCallback 1:1:void setCameraCaptureStateCallback(android.hardware.camera2.CameraDevice$StateCallback):1008:1008 -> setCameraCaptureStateCallback 1:8:void setCameraOn(boolean):911:918 -> setCameraOn 9:12:void notifyTransportCameraStatus(boolean):925:928 -> setCameraOn 9:12:void setCameraOn(boolean):921 -> setCameraOn 1:2:boolean setCameraPosition(int):967:968 -> setCameraPosition 3:3:void ai.neuvision.kit.video.YCKVideoCapture.setCameraLensFacingDirection(int):541:541 -> setCameraPosition 3:3:boolean setCameraPosition(int):968 -> setCameraPosition 1:3:void setCameraPreferredSize(ai.neuvision.kit.video.Resolution):324:326 -> setCameraPreferredSize 1:5:void setCameraPreviewFrameRate(int):184:188 -> setCameraPreviewFrameRate 1:2:void setDecodeRenderView(ai.neuvision.kit.video.view.BaseTextureView,long):933:934 -> setDecodeRenderView 1:1:void setEncoderMime(ai.neuvision.kit.video.MimeType,ai.neuvision.kit.video.VideoType):393:393 -> setEncoderMime 1:7:void setEncoderPreferredSize(ai.neuvision.kit.video.Resolution):331:337 -> setEncoderPreferredSize 1:11:void setMaxBitrate(int,ai.neuvision.kit.video.VideoType):409:419 -> setMaxBitrate 1:8:void setMirrorHorizontal(boolean,long):1095:1102 -> setMirrorHorizontal 1:8:void setMirrorVertical(boolean,long):1106:1113 -> setMirrorVertical 1:1:void setMode(short):100:100 -> setMode 1:3:void setSelfAutoRotate(boolean):362:364 -> setSelfAutoRotate 1:4:void setThumbPreferredSize(ai.neuvision.kit.video.Resolution):346:349 -> setThumbPreferredSize 1:4:void setTransportSession(ai.neuvision.sdk.sdwan.transport.YCKTransportSession):997:1000 -> setTransportSession 1:1:void setVideoCustomSize(android.util.Size):358:358 -> setVideoCustomSize 1:1:void setVideoDecoderNumber(int):590:590 -> setVideoDecoderNumber 1:10:void setVideoFrameRate(int,ai.neuvision.kit.video.VideoType):198:207 -> setVideoFrameRate 1:1:void setVideoPreferredSize(ai.neuvision.kit.video.Resolution):292:292 -> setVideoPreferredSize 2:19:void setVideoPreferredSize(ai.neuvision.kit.video.Resolution,float):303:320 -> setVideoPreferredSize 20:20:void setVideoPreferredSize(ai.neuvision.kit.video.Resolution,float):301:301 -> setVideoPreferredSize 1:3:void setVideoRenderMode(ai.neuvision.kit.video.view.RenderMode):377:379 -> setVideoRenderMode 1:6:void start():427:432 -> start 1:36:void startPreview():236:271 -> startPreview 1:2:void stopAcceptVideoForLowBandwidth(ai.neuvision.sdk.sdwan.transport.AbstractTransport,boolean):765:766 -> stopAcceptVideoForLowBandwidth 1:3:boolean switchCamera():939:941 -> switchCamera 4:5:boolean switchCamera(int):946:947 -> switchCamera 6:6:void ai.neuvision.kit.video.YCKVideoCapture.setCameraLensFacingDirection(int):541:541 -> switchCamera 6:6:boolean switchCamera(int):947 -> switchCamera 7:14:boolean switchCamera(int):948:955 -> switchCamera 1:7:void unRegisterTempView(android.view.TextureView,long):893:899 -> unRegisterTempView 1:7:void unRegisterView(ai.neuvision.kit.video.view.BaseTextureView,long):878:884 -> unRegisterView 1:1:void withRecord(java.lang.String):1014:1014 -> withRecord ai.neuvision.kit.video.VideoEngine$1 -> ai.neuvision.kit.video.VideoEngine$a: ai.neuvision.kit.video.VideoEngine this$0 -> a 1:1:void (ai.neuvision.kit.video.VideoEngine):238:238 -> 1:1:void onDisconnected(android.hardware.camera2.CameraDevice):248:248 -> onDisconnected 2:60:void ai.neuvision.kit.video.VideoEngine.access$100(ai.neuvision.kit.video.VideoEngine):0:58 -> onDisconnected 2:60:void onDisconnected(android.hardware.camera2.CameraDevice):248 -> onDisconnected 61:61:void onDisconnected(android.hardware.camera2.CameraDevice):250:250 -> onDisconnected 62:62:android.hardware.camera2.CameraDevice$StateCallback ai.neuvision.kit.video.VideoEngine.access$000(ai.neuvision.kit.video.VideoEngine):58:58 -> onDisconnected 62:62:void onDisconnected(android.hardware.camera2.CameraDevice):250 -> onDisconnected 63:63:void onDisconnected(android.hardware.camera2.CameraDevice):251:251 -> onDisconnected 1:1:void onError(android.hardware.camera2.CameraDevice,int):257:257 -> onError 2:60:void ai.neuvision.kit.video.VideoEngine.access$100(ai.neuvision.kit.video.VideoEngine):0:58 -> onError 2:60:void onError(android.hardware.camera2.CameraDevice,int):257 -> onError 61:61:void onError(android.hardware.camera2.CameraDevice,int):259:259 -> onError 62:62:android.hardware.camera2.CameraDevice$StateCallback ai.neuvision.kit.video.VideoEngine.access$000(ai.neuvision.kit.video.VideoEngine):58:58 -> onError 62:62:void onError(android.hardware.camera2.CameraDevice,int):259 -> onError 63:63:void onError(android.hardware.camera2.CameraDevice,int):260:260 -> onError 1:1:void onOpened(android.hardware.camera2.CameraDevice):241:241 -> onOpened 2:2:android.hardware.camera2.CameraDevice$StateCallback ai.neuvision.kit.video.VideoEngine.access$000(ai.neuvision.kit.video.VideoEngine):58:58 -> onOpened 2:2:void onOpened(android.hardware.camera2.CameraDevice):241 -> onOpened 3:3:void onOpened(android.hardware.camera2.CameraDevice):242:242 -> onOpened ai.neuvision.kit.video.VideoEngine$2 -> ai.neuvision.kit.video.VideoEngine$b: ai.neuvision.kit.video.VideoEngine this$0 -> a 1:1:void (ai.neuvision.kit.video.VideoEngine):453:453 -> 1:1:java.lang.String ai.neuvision.kit.video.VideoEngine.access$300():58:58 -> onConfigureFailed 1:1:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):464 -> onConfigureFailed 2:3:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):464:465 -> onConfigureFailed 4:5:void ai.neuvision.kit.video.VideoEngine.releaseEncoderSurface():538:539 -> onConfigureFailed 4:5:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):465 -> onConfigureFailed 6:6:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):466:466 -> onConfigureFailed 7:7:int ai.neuvision.kit.video.VideoEngine.access$402(ai.neuvision.kit.video.VideoEngine,int):58:58 -> onConfigureFailed 7:7:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):466 -> onConfigureFailed 8:8:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):467:467 -> onConfigureFailed 9:9:void ai.neuvision.kit.video.VideoEngine.access$500(ai.neuvision.kit.video.VideoEngine,int):58:58 -> onConfigureFailed 9:9:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):467 -> onConfigureFailed 1:1:void onConfigured(android.hardware.camera2.CameraCaptureSession):456:456 -> onConfigured 2:2:ai.neuvision.kit.video.EncoderManager ai.neuvision.kit.video.VideoEngine.access$200(ai.neuvision.kit.video.VideoEngine):58:58 -> onConfigured 2:2:void onConfigured(android.hardware.camera2.CameraCaptureSession):456 -> onConfigured 3:3:void onConfigured(android.hardware.camera2.CameraCaptureSession):457:457 -> onConfigured ai.neuvision.kit.video.VideoExecutors -> ai.neuvision.kit.video.VideoExecutors: java.util.concurrent.LinkedBlockingQueue workQueue -> a int count -> d java.util.concurrent.ThreadPoolExecutor mThreadPoolExecutor -> b java.lang.String name -> c 1:1:void (java.lang.String):56:56 -> 2:36:void (java.lang.String):26:60 -> 1:3:void lambda$submit$0(java.lang.Runnable):123:125 -> a 1:1:boolean awaitTermination(long,java.util.concurrent.TimeUnit):95:95 -> awaitTermination 1:1:void execute(java.lang.Runnable):154:154 -> execute 1:1:int getBlockingSize():69:69 -> getBlockingSize 1:1:java.util.concurrent.BlockingQueue getQueue():64:64 -> getQueue 1:1:java.util.List invokeAll(java.util.Collection):134:134 -> invokeAll 2:2:java.util.List invokeAll(java.util.Collection,long,java.util.concurrent.TimeUnit):139:139 -> invokeAll 1:1:java.lang.Object invokeAny(java.util.Collection):144:144 -> invokeAny 2:2:java.lang.Object invokeAny(java.util.Collection,long,java.util.concurrent.TimeUnit):149:149 -> invokeAny 1:1:boolean isShutdown():85:85 -> isShutdown 1:1:boolean isTerminated():90:90 -> isTerminated 1:1:void shutdown():75:75 -> shutdown 1:1:java.util.List shutdownNow():80:80 -> shutdownNow 1:1:java.util.concurrent.Future submit(java.util.concurrent.Callable):100:100 -> submit 2:2:java.util.concurrent.Future submit(java.lang.Runnable,java.lang.Object):105:105 -> submit 3:12:java.util.concurrent.Future submit(java.lang.Runnable):112:121 -> submit ai.neuvision.kit.video.VideoExecutors$DefaultThreadFactory -> ai.neuvision.kit.video.VideoExecutors$a: java.util.concurrent.atomic.AtomicInteger threadNumber -> b java.lang.ThreadGroup group -> a java.lang.String namePrefix -> c 1:1:void ():29:29 -> 1:1:void (java.lang.String):34:34 -> 2:12:void (java.lang.String):31:41 -> 1:7:java.lang.Thread newThread(java.lang.Runnable):45:51 -> newThread ai.neuvision.kit.video.VideoFrame -> ai.neuvision.kit.video.VideoFrame: 1:1:void ():16:16 -> 2:5:void (java.nio.ByteBuffer,ai.neuvision.kit.video.YCKFrameContext,short):19:22 -> 1:3:java.lang.String toString():28:30 -> toString ai.neuvision.kit.video.VideoRender -> ai.neuvision.kit.video.VideoRender: long from -> i long lastFrameRenderTime -> g ai.neuvision.kit.video.VideoRender$Callback listener -> a boolean isRunning -> h short lastFrameTimeStamp -> c short lastSeq -> d java.util.LinkedList buffer -> b java.lang.String TAG -> e byte[] seqlog -> f 1:1:void access$renderSchedule(ai.neuvision.kit.video.VideoRender):21:21 -> 1:1:void (long):21 -> 2:12:void (long):24:34 -> 13:13:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> 13:13:void (long):266 -> 14:16:void (long):43:45 -> 1:5:void renderSchedule():64:68 -> a 6:17:void renderSchedule():66:77 -> a 18:18:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> a 18:18:void renderSchedule():252 -> a 19:21:void renderSchedule():139:141 -> a 22:29:void renderSchedule():83:90 -> a 30:30:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> a 30:30:void renderSchedule():238 -> a 31:53:void renderSchedule():97:119 -> a 54:54:void renderSchedule():106:106 -> a 55:55:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> a 55:55:void renderSchedule():245 -> a 56:66:void renderSchedule():124:134 -> a 67:83:void renderSchedule():132:148 -> a 84:84:void renderSchedule():66:66 -> a 1:1:void access$renderSchedule(ai.neuvision.kit.video.VideoRender):21:21 -> access$getLastFrameRenderTime$p 1:1:long access$getLastFrameRenderTime$p(ai.neuvision.kit.video.VideoRender):21 -> access$getLastFrameRenderTime$p 1:1:void access$renderSchedule(ai.neuvision.kit.video.VideoRender):21:21 -> access$renderSchedule 1:1:void access$renderSchedule(ai.neuvision.kit.video.VideoRender):21:21 -> access$setLastFrameRenderTime$p 1:1:void access$setLastFrameRenderTime$p(ai.neuvision.kit.video.VideoRender,long):21 -> access$setLastFrameRenderTime$p 1:1:void close():186:186 -> close 2:2:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> close 2:2:void close():259 -> close 3:3:void close():188:188 -> close 1:1:void setListener(ai.neuvision.kit.video.VideoRender$Callback):23:23 -> getListener 1:1:ai.neuvision.kit.video.VideoRender$Callback getListener():23 -> getListener 1:23:java.lang.String log():193:215 -> log 1:3:void putFrame(ai.neuvision.kit.video.VideoFrame):50:52 -> putFrame 4:4:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> putFrame 4:4:void putFrame(ai.neuvision.kit.video.VideoFrame):231 -> putFrame 5:7:void putFrame(ai.neuvision.kit.video.VideoFrame):54:56 -> putFrame 8:8:void putFrame(ai.neuvision.kit.video.VideoFrame):50:50 -> putFrame 1:1:void setListener(ai.neuvision.kit.video.VideoRender$Callback):23:23 -> setListener 1:19:boolean skipToLastIFrame():161:161 -> skipToLastIFrame ai.neuvision.kit.video.VideoRender$renderSchedule$7 -> ai.neuvision.kit.video.VideoRender$a: kotlin.jvm.internal.Ref$ObjectRef $frame -> b ai.neuvision.kit.video.VideoRender this$0 -> a 1:5:void run():149:153 -> run ai.neuvision.kit.video.VideoTransform -> ai.neuvision.kit.video.VideoTransform: 1:1:void (java.lang.Long,java.lang.Long,java.lang.String,java.lang.Boolean,java.lang.Boolean,ai.neuvision.kit.video.Matrix):13:13 -> 2:2:void (java.lang.Long,java.lang.Long,java.lang.String,java.lang.Boolean,java.lang.Boolean,ai.neuvision.kit.video.Matrix,int,kotlin.jvm.internal.DefaultConstructorMarker):25:25 -> 1:1:ai.neuvision.kit.video.Matrix getMatrix():25:25 -> getMatrix 1:1:java.lang.Boolean getMirrorHorizontal():21:21 -> getMirrorHorizontal 1:1:java.lang.Boolean getMirrorVertical():23:23 -> getMirrorVertical 1:1:java.lang.String getOp():19:19 -> getOp 1:1:java.lang.Long getOpUid():15:15 -> getOpUid 1:11:float[] getPerspectiveMatrix():30:40 -> getPerspectiveMatrix 1:1:java.lang.Long getUid():17:17 -> getUid 1:35:float[] mirror(float[]):46:80 -> mirror 1:1:void setMatrix(ai.neuvision.kit.video.Matrix):25:25 -> setMatrix 1:1:void setMirrorHorizontal(java.lang.Boolean):21:21 -> setMirrorHorizontal 1:1:void setMirrorVertical(java.lang.Boolean):23:23 -> setMirrorVertical 1:1:void setOp(java.lang.String):19:19 -> setOp 1:1:void setOpUid(java.lang.Long):15:15 -> setOpUid 1:1:void setUid(java.lang.Long):17:17 -> setUid ai.neuvision.kit.video.VideoType -> ai.neuvision.kit.video.VideoType: 1:1:void (java.lang.String,int):9:9 -> ai.neuvision.kit.video.YCKFrameContext -> ai.neuvision.kit.video.YCKFrameContext: short timestamp -> c short flag -> a short audioSeqId -> b 1:1:void ():102:102 -> 2:3:void (java.nio.ByteBuffer):105:106 -> 1:1:int cameraOrientation():99:99 -> cameraOrientation 1:5:void decodeFromByteBuffer(java.nio.ByteBuffer):110:114 -> decodeFromByteBuffer 1:1:int deviceOrientation():95:95 -> deviceOrientation 1:3:java.nio.ByteBuffer encode():125:127 -> encode 1:4:void encodeToByteBuffer(java.nio.ByteBuffer):118:121 -> encodeToByteBuffer 1:1:short getAudioSeqId():79:79 -> getAudioSeqId 1:1:short getFlag():63:63 -> getFlag 1:1:short getTimestamp():87:87 -> getTimestamp 1:1:boolean isFlag(int):67:67 -> isFlag 1:1:boolean isIFrame():71:71 -> isIFrame 1:1:boolean isNotRenderToScreen():75:75 -> isNotRenderToScreen 1:1:void setAudioSeqId(short):83:83 -> setAudioSeqId 1:5:void setCameraOrientationFlag(int):55:59 -> setCameraOrientationFlag 1:6:void setFlag(int):36:41 -> setFlag 1:5:void setOrientationFlag(int):46:50 -> setOrientationFlag 1:1:void setTimestamp(short):91:91 -> setTimestamp ai.neuvision.kit.video.YCKVideoCapture -> ai.neuvision.kit.video.YCKVideoCapture: java.lang.String curCameraId -> h android.util.Size preferredSize -> u ai.neuvision.kit.video.YCKVideoCapture$CameraStateCallBack mStateCallback -> o ai.neuvision.kit.video.VideoCodecMetrix metrix -> y android.util.Size mVideoSize -> l ai.neuvision.kit.video.wrapper.CameraTextureWrapper mTextureWrapper -> b short mScreenOrientationFlag -> f android.hardware.camera2.CaptureRequest$Builder mPreviewBuilder -> p java.lang.ref.WeakReference mTextureView -> c android.hardware.camera2.CameraCaptureSession mPreviewSession -> k int specifiedOrientation -> w int mCameraLensFacingDirection -> q android.hardware.camera2.CameraDevice mCameraDevice -> j android.hardware.camera2.CameraCaptureSession$StateCallback outerCallback -> s int extraRotateDegree -> i int mOrientation -> g int frameRate -> e boolean enableSpecifiedRotationDegree -> x android.util.Size mPreviewSize -> m java.util.concurrent.Semaphore mCameraOpenCloseLock -> n java.lang.ref.WeakReference textureViewActivity -> d int specifiedRotationDegree -> v ai.neuvision.sdk.pipline.Pipeline mCameraPipeline -> a int mRealCameraFacing -> r android.hardware.camera2.CameraDevice$StateCallback outerCameraStateCallback -> t 1:545:void ():57:601 -> 1:7:boolean lambda$initTexture$1(android.graphics.SurfaceTexture):128:134 -> a 8:10:void ai.neuvision.kit.video.VideoEngine.onLocalVideoFrameReady(android.view.View):903:905 -> a 8:10:boolean lambda$initTexture$1(android.graphics.SurfaceTexture):134 -> a 11:14:boolean lambda$initTexture$1(android.graphics.SurfaceTexture):137:140 -> a 15:43:android.util.Size chooseVideoSize(android.util.Size[]):276:304 -> a 44:45:double getLongToShortRadio(android.util.Size):333:334 -> a 44:45:android.util.Size chooseVideoSize(android.util.Size[]):305 -> a 46:48:android.util.Size chooseVideoSize(android.util.Size[]):309:311 -> a 49:50:double getLongToShortRadio(android.util.Size):333:334 -> a 49:50:android.util.Size chooseVideoSize(android.util.Size[]):314 -> a 51:65:android.util.Size chooseVideoSize(android.util.Size[]):315:329 -> a 66:68:int lambda$chooseVideoSize$2(android.util.Size,android.util.Size):278:278 -> a 69:78:android.util.Size[] getCameraOutputSize(java.lang.Class):428:437 -> a 79:79:android.util.Size[] getCameraOutputSize(java.lang.Class):435:435 -> a 80:91:void closeCamera():483:494 -> a 92:95:void closeCamera():492:495 -> a 96:98:void lambda$configureTransform$3(ai.neuvision.kit.video.view.BaseTextureView,android.graphics.Matrix,float,float,int):708:710 -> a 99:99:void setCaptureStateCallback(android.hardware.camera2.CameraCaptureSession$StateCallback):741:741 -> a 100:121:void createCaptureSession(java.util.List):768:768 -> a 143:143:void createCaptureSession(java.util.List):790:790 -> a 144:150:void getEncoderSurfaces(int):832:838 -> a 151:157:java.util.List getPreviewSurfaces():873:879 -> a 151:157:void getEncoderSurfaces(int):840 -> a 158:158:void getEncoderSurfaces(int):842:842 -> a 159:161:void ai.neuvision.kit.video.VideoEngine.getEncodeSurfaceTextures(int,ai.neuvision.kit.video.EncoderManager$SurfaceTextureCallback):545:547 -> a 159:161:void getEncoderSurfaces(int):842 -> a 162:165:void getEncoderSurfaces(int):864:867 -> a 166:184:void lambda$getEncoderSurfaces$4(int,java.util.List,java.util.List):843:861 -> a 1:3:void closePreviewSession():518:520 -> b 4:24:void updateScreenOrientationFlag(int):804:824 -> b 1:1:ai.neuvision.kit.video.view.BaseTextureView getTextureView():118:118 -> c 1:1:void cleanVideoSize():562:562 -> cleanVideoSize 1:16:void close():159:174 -> close 17:19:void stopBackgroundThread():373:375 -> close 17:19:void close():176 -> close 20:20:void close():179:179 -> close 21:23:void stopBackgroundThread():373:375 -> close 21:23:void close():180 -> close 24:24:void close():181:181 -> close 25:25:void close():165:165 -> close 1:1:void configureTransform(ai.neuvision.kit.video.view.BaseTextureView):625:625 -> configureTransform 2:75:void configureTransform(ai.neuvision.kit.video.view.BaseTextureView,android.util.Size):634:707 -> configureTransform 1:24:void initTexture():123:146 -> d 1:3:void lambda$init$0():110:112 -> e 1:1:void enableSpecifiedRotationDegree(boolean):620:620 -> enableSpecifiedRotationDegree 1:14:boolean needSwapSize():721:734 -> f 1:2:android.app.Activity getActivity():185:186 -> getActivity 1:1:int getCameraLensFacingDirection():529:529 -> getCameraLensFacingDirection 1:1:int getFrameRate():83:83 -> getFrameRate 1:1:ai.neuvision.kit.video.VideoCodecMetrix getMetrix():568:568 -> getMetrix 1:1:android.util.Size getPreferredSize():576:576 -> getPreferredSize 1:1:android.util.Size getVideoSize():558:558 -> getVideoSize 1:10:void init(ai.neuvision.kit.video.view.BaseTextureView,android.app.Activity):100:109 -> init 1:1:boolean isCameraOpened():197:197 -> isCameraOpened 1:2:boolean isPreviewing():223:224 -> isPreviewing 1:3:void notifyClosePreview():885:887 -> notifyClosePreview 1:4:void onOrientationChange(int):216:219 -> onOrientationChange 1:18:boolean openCameraAndPreview(android.hardware.camera2.CameraDevice$StateCallback):385:402 -> openCameraAndPreview 19:53:java.lang.String selectCamera(android.hardware.camera2.CameraManager,int):443:477 -> openCameraAndPreview 19:53:boolean openCameraAndPreview(android.hardware.camera2.CameraDevice$StateCallback):402 -> openCameraAndPreview 54:66:boolean openCameraAndPreview(android.hardware.camera2.CameraDevice$StateCallback):402:414 -> openCameraAndPreview 67:82:android.util.Size chooseOptimalSize(android.util.Size[],android.util.Size):350:365 -> openCameraAndPreview 67:82:boolean openCameraAndPreview(android.hardware.camera2.CameraDevice$StateCallback):414 -> openCameraAndPreview 83:89:boolean openCameraAndPreview(android.hardware.camera2.CameraDevice$StateCallback):414:420 -> openCameraAndPreview 90:90:void ai.neuvision.kit.video.YCKVideoCapture$CameraStateCallBack.setCallBack(android.hardware.camera2.CameraDevice$StateCallback):231:231 -> openCameraAndPreview 90:90:void ai.neuvision.kit.video.YCKVideoCapture$CameraStateCallBack.access$500(ai.neuvision.kit.video.YCKVideoCapture$CameraStateCallBack,android.hardware.camera2.CameraDevice$StateCallback):227 -> openCameraAndPreview 90:90:boolean openCameraAndPreview(android.hardware.camera2.CameraDevice$StateCallback):420 -> openCameraAndPreview 91:91:boolean openCameraAndPreview(android.hardware.camera2.CameraDevice$StateCallback):422:422 -> openCameraAndPreview 92:92:boolean openCameraAndPreview(android.hardware.camera2.CameraDevice$StateCallback):388:388 -> openCameraAndPreview 1:3:void removePreview(ai.neuvision.kit.video.view.BaseTextureView):150:152 -> removePreview 1:3:void innerReopenCamera(ai.neuvision.kit.video.VideoEngine):549:551 -> reopenCameraWithOutputSizeChange 1:3:void reopenCameraWithOutputSizeChange(ai.neuvision.kit.video.VideoEngine):545 -> reopenCameraWithOutputSizeChange 1:3:void resetRenderViewTransform():901:903 -> resetRenderViewTransform 1:1:void setFrameRate(int):88:88 -> setFrameRate 1:3:void setRenderViewTransform(ai.neuvision.kit.video.VideoTransform):893:895 -> setRenderViewTransform 1:11:void startRecording(int):750:760 -> startRecording 12:12:void ai.neuvision.kit.video.VideoEngine.resizeEncoderToCaptureSize():491:491 -> startRecording 12:12:void startRecording(int):760 -> startRecording 13:15:android.util.Size ai.neuvision.kit.video.VideoEngine.getSwappedVideoSize():448:450 -> startRecording 13:15:void ai.neuvision.kit.video.VideoEngine.resizeEncoderToCaptureSize():492 -> startRecording 13:15:void startRecording(int):760 -> startRecording 16:20:ai.neuvision.kit.video.MimeType ai.neuvision.kit.video.VideoEngine.getDefaultVideoCodec():117:121 -> startRecording 16:20:void ai.neuvision.kit.video.VideoEngine.resizeEncoderToCaptureSize():496 -> startRecording 16:20:void startRecording(int):760 -> startRecording 21:56:void ai.neuvision.kit.video.VideoEngine.resizeEncoderToCaptureSize():496:531 -> startRecording 21:56:void startRecording(int):760 -> startRecording 57:57:void ai.neuvision.kit.video.VideoEngine.resizeEncoderToCaptureSize():503:503 -> startRecording 57:57:void startRecording(int):760 -> startRecording 58:58:void startRecording(int):762:762 -> startRecording 1:3:void updateSpecifiedTransform(int,int):614:616 -> updateSpecifiedTransform 1:1:void updateTexture(ai.neuvision.kit.video.view.BaseTextureView):745:745 -> updateTexture ai.neuvision.kit.video.YCKVideoCapture$1 -> ai.neuvision.kit.video.YCKVideoCapture$a: ai.neuvision.kit.video.YCKVideoCapture this$0 -> a 1:1:void (ai.neuvision.kit.video.YCKVideoCapture):768:768 -> 1:2:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):782:783 -> onConfigureFailed 3:3:android.hardware.camera2.CameraCaptureSession$StateCallback ai.neuvision.kit.video.YCKVideoCapture.access$800(ai.neuvision.kit.video.YCKVideoCapture):57:57 -> onConfigureFailed 3:3:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):783 -> onConfigureFailed 4:6:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):784:786 -> onConfigureFailed 7:7:java.util.concurrent.Semaphore ai.neuvision.kit.video.YCKVideoCapture.access$100(ai.neuvision.kit.video.YCKVideoCapture):57:57 -> onConfigureFailed 7:7:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):786 -> onConfigureFailed 8:8:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):786:786 -> onConfigureFailed 1:1:void onConfigured(android.hardware.camera2.CameraCaptureSession):771:771 -> onConfigured 2:2:android.hardware.camera2.CameraCaptureSession ai.neuvision.kit.video.YCKVideoCapture.access$602(ai.neuvision.kit.video.YCKVideoCapture,android.hardware.camera2.CameraCaptureSession):57:57 -> onConfigured 2:2:void onConfigured(android.hardware.camera2.CameraCaptureSession):771 -> onConfigured 3:4:void onConfigured(android.hardware.camera2.CameraCaptureSession):772:773 -> onConfigured 5:12:void ai.neuvision.kit.video.YCKVideoCapture.updatePreview():499:506 -> onConfigured 5:12:void ai.neuvision.kit.video.YCKVideoCapture.access$700(ai.neuvision.kit.video.YCKVideoCapture):57 -> onConfigured 5:12:void onConfigured(android.hardware.camera2.CameraCaptureSession):773 -> onConfigured 13:13:void ai.neuvision.kit.video.YCKVideoCapture.setupCaptureRequestBuilder(android.hardware.camera2.CaptureRequest$Builder):514:514 -> onConfigured 13:13:void ai.neuvision.kit.video.YCKVideoCapture.updatePreview():506 -> onConfigured 13:13:void ai.neuvision.kit.video.YCKVideoCapture.access$700(ai.neuvision.kit.video.YCKVideoCapture):57 -> onConfigured 13:13:void onConfigured(android.hardware.camera2.CameraCaptureSession):773 -> onConfigured 14:16:void ai.neuvision.kit.video.YCKVideoCapture.updatePreview():507:509 -> onConfigured 14:16:void ai.neuvision.kit.video.YCKVideoCapture.access$700(ai.neuvision.kit.video.YCKVideoCapture):57 -> onConfigured 14:16:void onConfigured(android.hardware.camera2.CameraCaptureSession):773 -> onConfigured 17:17:void onConfigured(android.hardware.camera2.CameraCaptureSession):774:774 -> onConfigured 18:18:android.hardware.camera2.CameraCaptureSession$StateCallback ai.neuvision.kit.video.YCKVideoCapture.access$800(ai.neuvision.kit.video.YCKVideoCapture):57:57 -> onConfigured 18:18:void onConfigured(android.hardware.camera2.CameraCaptureSession):774 -> onConfigured 19:21:void onConfigured(android.hardware.camera2.CameraCaptureSession):775:777 -> onConfigured 22:22:java.util.concurrent.Semaphore ai.neuvision.kit.video.YCKVideoCapture.access$100(ai.neuvision.kit.video.YCKVideoCapture):57:57 -> onConfigured 22:22:void onConfigured(android.hardware.camera2.CameraCaptureSession):777 -> onConfigured 23:23:void onConfigured(android.hardware.camera2.CameraCaptureSession):777:777 -> onConfigured ai.neuvision.kit.video.YCKVideoCapture$CameraStateCallBack -> ai.neuvision.kit.video.YCKVideoCapture$b: ai.neuvision.kit.video.YCKVideoCapture this$0 -> b android.hardware.camera2.CameraDevice$StateCallback stateCallback -> a 1:1:void (ai.neuvision.kit.video.YCKVideoCapture):227:227 -> 2:2:void (ai.neuvision.kit.video.YCKVideoCapture,ai.neuvision.kit.video.YCKVideoCapture$1):227:227 -> 1:1:void onDisconnected(android.hardware.camera2.CameraDevice):247:247 -> onDisconnected 2:2:java.util.concurrent.Semaphore ai.neuvision.kit.video.YCKVideoCapture.access$100(ai.neuvision.kit.video.YCKVideoCapture):57:57 -> onDisconnected 2:2:void onDisconnected(android.hardware.camera2.CameraDevice):247 -> onDisconnected 3:5:void onDisconnected(android.hardware.camera2.CameraDevice):247:249 -> onDisconnected 6:6:android.hardware.camera2.CameraDevice ai.neuvision.kit.video.YCKVideoCapture.access$002(ai.neuvision.kit.video.YCKVideoCapture,android.hardware.camera2.CameraDevice):57:57 -> onDisconnected 6:6:void onDisconnected(android.hardware.camera2.CameraDevice):249 -> onDisconnected 7:9:void onDisconnected(android.hardware.camera2.CameraDevice):250:252 -> onDisconnected 1:1:void onError(android.hardware.camera2.CameraDevice,int):258:258 -> onError 2:2:java.util.concurrent.Semaphore ai.neuvision.kit.video.YCKVideoCapture.access$100(ai.neuvision.kit.video.YCKVideoCapture):57:57 -> onError 2:2:void onError(android.hardware.camera2.CameraDevice,int):258 -> onError 3:5:void onError(android.hardware.camera2.CameraDevice,int):258:260 -> onError 6:6:android.hardware.camera2.CameraDevice ai.neuvision.kit.video.YCKVideoCapture.access$002(ai.neuvision.kit.video.YCKVideoCapture,android.hardware.camera2.CameraDevice):57:57 -> onError 6:6:void onError(android.hardware.camera2.CameraDevice,int):260 -> onError 7:9:void onError(android.hardware.camera2.CameraDevice,int):261:263 -> onError 1:1:void onOpened(android.hardware.camera2.CameraDevice):236:236 -> onOpened 2:2:android.hardware.camera2.CameraDevice ai.neuvision.kit.video.YCKVideoCapture.access$002(ai.neuvision.kit.video.YCKVideoCapture,android.hardware.camera2.CameraDevice):57:57 -> onOpened 2:2:void onOpened(android.hardware.camera2.CameraDevice):236 -> onOpened 3:3:java.util.concurrent.Semaphore ai.neuvision.kit.video.YCKVideoCapture.access$100(ai.neuvision.kit.video.YCKVideoCapture):57:57 -> onOpened 3:3:void onOpened(android.hardware.camera2.CameraDevice):237 -> onOpened 4:5:void onOpened(android.hardware.camera2.CameraDevice):237:238 -> onOpened 6:6:int ai.neuvision.kit.video.YCKVideoCapture.access$300(ai.neuvision.kit.video.YCKVideoCapture):57:57 -> onOpened 6:6:void onOpened(android.hardware.camera2.CameraDevice):238 -> onOpened 7:7:int ai.neuvision.kit.video.YCKVideoCapture.access$202(ai.neuvision.kit.video.YCKVideoCapture,int):57:57 -> onOpened 7:7:void onOpened(android.hardware.camera2.CameraDevice):238 -> onOpened 8:10:void onOpened(android.hardware.camera2.CameraDevice):239:241 -> onOpened ai.neuvision.kit.video.YCKVideoCapture$CompareSizesByArea -> ai.neuvision.kit.video.YCKVideoCapture$c: 1:1:void ():587:587 -> 1:1:int compare(java.lang.Object,java.lang.Object):587:587 -> compare 2:2:int compare(android.util.Size,android.util.Size):593:593 -> compare 2:2:int compare(java.lang.Object,java.lang.Object):587 -> compare 3:3:int compare(android.util.Size,android.util.Size):592:592 -> compare 3:3:int compare(java.lang.Object,java.lang.Object):587 -> compare ai.neuvision.kit.video.YCKVideoSessionIn -> ai.neuvision.kit.video.YCKVideoSessionIn: long mDecoderCreateTime -> j java.lang.String TAG -> f long lastReceived -> i ai.neuvision.kit.video.VideoExecutors executor -> c long lastSwitchTime -> k java.lang.String lastDecoderName -> l ai.neuvision.kit.video.view.BaseTextureView mRenderView -> b ai.neuvision.kit.video.VideoRender videoRender -> e ai.neuvision.kit.video.wrapper.CameraTextureWrapper mTextureWrapper -> h ai.neuvision.sdk.ILogCapture mLogCapture -> m android.util.Pair DEF_RENDER -> n android.util.Pair SKIP_RENDER -> o android.graphics.SurfaceTexture outputSurfaceTexture -> g ai.neuvision.kit.video.VideoCodecMetrix decodeMetrix -> d ai.neuvision.kit.video.YCKVideoSessionInListener callback -> a 1:3:void ():301:303 -> 1:84:void (long,ai.neuvision.kit.video.VideoEngine):43:126 -> 1:9:boolean lambda$new$1(long,android.graphics.SurfaceTexture):114:122 -> a 10:10:void lambda$onFormatChanged$3(ai.neuvision.kit.video.view.BaseTextureView,android.media.MediaFormat):226:226 -> a 11:11:void lambda$onVideoFlag$4(ai.neuvision.kit.video.view.BaseTextureView,ai.neuvision.kit.video.YCKFrameContext):236:236 -> a 12:12:boolean isDecoding():318:318 -> a 12:12:void lambda$new$0(long,ai.neuvision.sdk.utils.AbstractMetrixItem$MetrixSameTickBase):52 -> a 13:37:void lambda$new$0(long,ai.neuvision.sdk.utils.AbstractMetrixItem$MetrixSameTickBase):59:83 -> a 38:55:void lambda$new$0(long,ai.neuvision.sdk.utils.AbstractMetrixItem$MetrixSameTickBase):75:92 -> a 56:63:void lambda$new$0(long,ai.neuvision.sdk.utils.AbstractMetrixItem$MetrixSameTickBase):89:96 -> a 64:64:void lambda$setRenderView$5(ai.neuvision.kit.video.view.BaseTextureView):325:325 -> a 65:83:void initDecoder():130:148 -> a 65:83:void lambda$setRenderView$5(ai.neuvision.kit.video.view.BaseTextureView):326 -> a 84:87:void ai.neuvision.kit.video.VideoDecoder.prepareDecode(android.graphics.SurfaceTexture,ai.neuvision.kit.video.VideoExecutors):152:155 -> a 84:87:void initDecoder():148 -> a 84:87:void lambda$setRenderView$5(ai.neuvision.kit.video.view.BaseTextureView):326 -> a 88:88:void initDecoder():149:149 -> a 88:88:void lambda$setRenderView$5(ai.neuvision.kit.video.view.BaseTextureView):326 -> a 89:90:void lambda$readyToRenderVideoFrame$7(ai.neuvision.kit.video.VideoFrame):377:378 -> a 91:97:void enableVideoDisplay():392:398 -> a 1:3:void askIFrame():290:292 -> askIFrame 1:4:void lambda$releaseDecoder$2():185:188 -> b 5:7:void setRenderView(ai.neuvision.kit.video.view.BaseTextureView):322:324 -> b 1:6:void releaseDecoder():179:184 -> c 1:16:void close():195:210 -> close 1:3:void detachView(ai.neuvision.kit.video.view.BaseTextureView):361:363 -> detachView 1:1:ai.neuvision.kit.video.YCKVideoSessionInListener getCallback():215:215 -> getCallback 1:1:ai.neuvision.kit.video.VideoCodecMetrix getDecodeMetrix():314:314 -> getDecodeMetrix 1:1:android.media.MediaFormat getOutputFormat():368:368 -> getOutputFormat 2:9:android.media.MediaFormat ai.neuvision.kit.video.VideoDecoder.getCachedOutputFormat():165:172 -> getOutputFormat 2:9:android.media.MediaFormat getOutputFormat():369 -> getOutputFormat 1:4:android.util.Pair getRenderStrategy(ai.neuvision.kit.video.VideoDecoder,java.nio.ByteBuffer,ai.neuvision.kit.video.YCKFrameContext):307:310 -> getRenderStrategy 1:32:void onDecodeResult(long,java.lang.String,android.util.Size):251:282 -> onDecodeResult 1:3:void onFormatChanged(ai.neuvision.kit.video.VideoDecoder,android.media.MediaFormat):224:226 -> onFormatChanged 1:1:void onLackPerformance():298:298 -> onLackPerformance 1:4:void onVideoFlag(ai.neuvision.kit.video.YCKFrameContext):233:236 -> onVideoFlag 1:1:void pause():157:157 -> pause 1:1:void readyToRenderVideoFrame(ai.neuvision.kit.video.VideoFrame):376:376 -> readyToRenderVideoFrame 1:1:void setCallback(ai.neuvision.kit.video.YCKVideoSessionInListener):219:219 -> setCallback 1:1:void setLogCaptureListener(ai.neuvision.sdk.ILogCapture):386:386 -> setLogCaptureListener ai.neuvision.kit.video.YCKVideoSessionInMgr -> ai.neuvision.kit.video.YCKVideoSessionInMgr: ai.neuvision.kit.video.VideoEngine engine -> b java.lang.String TAG -> c ai.neuvision.sdk.utils.CanWriteFailCopyOnWriteMap ins -> a 1:1:void ():15:15 -> 1:1:void (ai.neuvision.kit.video.VideoEngine):21:21 -> 2:7:void (ai.neuvision.kit.video.VideoEngine):17:22 -> 1:4:void close():27:30 -> close 1:1:ai.neuvision.kit.video.YCKVideoSessionIn getSessionInFor(long):46:46 -> getSessionInFor 1:7:ai.neuvision.kit.video.YCKVideoSessionIn getSessionInOrCreate(long):50:56 -> getSessionInOrCreate ai.neuvision.kit.video.YCKVideoSessionOut -> ai.neuvision.kit.video.YCKVideoSessionOut: ai.neuvision.kit.video.VideoExecutors executor -> c int framerate -> l int fr -> m int mode -> j int maxBitrate -> k android.media.MediaMuxer mMuxer -> e int mVideoTrackIndex -> f int mAudioTrackIndex -> g ai.neuvision.sdk.ILogCapture mLogCapture -> o ai.neuvision.kit.video.VideoDataChecker videoDataChecker -> h ai.neuvision.kit.video.YCKVideoSessionOutListener callback -> a ai.neuvision.kit.video.VideoCodecMetrix encodeMetrix -> b ai.neuvision.kit.video.YCKVideoCapture mVideoCapture -> i long lastTimeBitrateSet -> n boolean isThumb -> d 1:1:void (ai.neuvision.kit.video.VideoEngine,boolean):55:55 -> 2:247:void (ai.neuvision.kit.video.VideoEngine,boolean):45:290 -> 248:256:void (ai.neuvision.kit.video.VideoEngine,boolean):56:64 -> 1:25:void lambda$new$0(boolean,ai.neuvision.sdk.utils.AbstractMetrixItem$MetrixSameTickBase):69:93 -> a 26:41:void lambda$new$0(boolean,ai.neuvision.sdk.utils.AbstractMetrixItem$MetrixSameTickBase):88:103 -> a 42:49:void lambda$new$0(boolean,ai.neuvision.sdk.utils.AbstractMetrixItem$MetrixSameTickBase):100:107 -> a 1:5:void addAudioTrack(android.media.MediaFormat):207:211 -> addAudioTrack 1:4:void close():169:172 -> close 5:12:void stopMuxer():277:284 -> close 5:12:void close():173 -> close 13:15:void close():174:176 -> close 16:16:void close():172:172 -> close 1:1:void forceIFrame():152:152 -> forceIFrame 1:1:long getAverageBitrate():160:160 -> getAverageBitrate 1:1:ai.neuvision.kit.video.YCKVideoSessionOutListener getCallback():183:183 -> getCallback 1:1:ai.neuvision.kit.video.VideoEncoder getCodec():148:148 -> getCodec 1:1:ai.neuvision.kit.video.VideoCodecMetrix getEncodeMetrix():417:417 -> getEncodeMetrix 1:1:int getEncoderFrameRate():448:448 -> getEncoderFrameRate 1:1:int getMaxBitrate():439:439 -> getMaxBitrate 1:1:android.media.MediaFormat getOutputFormat():156:156 -> getOutputFormat 1:3:android.util.Size getOutputSize():421:423 -> getOutputSize 1:16:void init(android.util.Size,java.lang.String):117:132 -> init 1:5:void onAudioSample(android.media.MediaCodec$BufferInfo,java.nio.ByteBuffer):269:273 -> onAudioSample 1:10:void onFormatChanged(ai.neuvision.kit.video.VideoEncoder,android.media.MediaFormat):192:201 -> onFormatChanged 11:11:void onFormatChanged(ai.neuvision.kit.video.VideoEncoder,android.media.MediaFormat):200:200 -> onFormatChanged 1:101:boolean onNewVideoCapture(android.graphics.SurfaceTexture):295:395 -> onNewVideoCapture 102:111:void ai.neuvision.kit.video.VideoEncoder.encode(android.graphics.SurfaceTexture):289:298 -> onNewVideoCapture 102:111:boolean onNewVideoCapture(android.graphics.SurfaceTexture):395 -> onNewVideoCapture 112:116:boolean onNewVideoCapture(android.graphics.SurfaceTexture):396:400 -> onNewVideoCapture 1:8:void onSample(ai.neuvision.kit.video.VideoEncoder,android.media.MediaCodec$BufferInfo,java.nio.ByteBuffer):218:225 -> onSample 9:9:short ai.neuvision.kit.video.YCKVideoCapture.getScreenOrientationFlag():828:828 -> onSample 9:9:void onSample(ai.neuvision.kit.video.VideoEncoder,android.media.MediaCodec$BufferInfo,java.nio.ByteBuffer):227 -> onSample 10:13:void onSample(ai.neuvision.kit.video.VideoEncoder,android.media.MediaCodec$BufferInfo,java.nio.ByteBuffer):227:230 -> onSample 14:14:short ai.neuvision.kit.video.YCKVideoCapture.getCameraFlag():534:534 -> onSample 14:14:void onSample(ai.neuvision.kit.video.VideoEncoder,android.media.MediaCodec$BufferInfo,java.nio.ByteBuffer):232 -> onSample 15:27:void onSample(ai.neuvision.kit.video.VideoEncoder,android.media.MediaCodec$BufferInfo,java.nio.ByteBuffer):234:246 -> onSample 28:47:void onSample(ai.neuvision.kit.video.VideoEncoder,android.media.MediaCodec$BufferInfo,java.nio.ByteBuffer):245:264 -> onSample 48:48:void onSample(ai.neuvision.kit.video.VideoEncoder,android.media.MediaCodec$BufferInfo,java.nio.ByteBuffer):258:258 -> onSample 1:1:void setAverageBitrate(long):164:164 -> setAverageBitrate 1:1:void setCallback(ai.neuvision.kit.video.YCKVideoSessionOutListener):187:187 -> setCallback 1:1:void setDataChecker(ai.neuvision.kit.video.VideoDataChecker):113:113 -> setDataChecker 1:1:void setEncoderAutoChangeSize(boolean):144:144 -> setEncoderAutoChangeSize 1:1:void setEncoderFrameRate(int):444:444 -> setEncoderFrameRate 1:1:void setLogCaptureListener(ai.neuvision.sdk.ILogCapture):430:430 -> setLogCaptureListener 1:2:void setMaxBitrate(int):434:435 -> setMaxBitrate 1:1:void start():136:136 -> start 1:1:void withRecord(java.lang.String):140:140 -> withRecord ai.neuvision.kit.video.codec.decoder.impl.DecoderImpl -> ai.neuvision.kit.video.codec.decoder.impl.DecoderImpl: 1:1:void ():12:12 -> ai.neuvision.kit.video.codec.encoder.impl.EncoderImpl -> ai.neuvision.kit.video.codec.encoder.impl.EncoderImpl: android.media.MediaCodec encoder -> b java.lang.String TAG -> a 1:2:void ():14:15 -> 1:1:android.media.MediaCodec access$getEncoder$p(ai.neuvision.kit.video.codec.encoder.impl.EncoderImpl):14:14 -> access$getEncoder$p 1:1:java.lang.String access$getTAG$p(ai.neuvision.kit.video.codec.encoder.impl.EncoderImpl):14:14 -> access$getTAG$p 1:1:void access$setEncoder$p(ai.neuvision.kit.video.codec.encoder.impl.EncoderImpl,android.media.MediaCodec):14:14 -> access$setEncoder$p 1:1:void start():24:24 -> start ai.neuvision.kit.video.codec.encoder.impl.EncoderImpl$start$1 -> ai.neuvision.kit.video.codec.encoder.impl.EncoderImpl$start$1: ai.neuvision.kit.video.codec.encoder.impl.EncoderImpl this$0 -> a 1:1:void (ai.neuvision.kit.video.codec.encoder.impl.EncoderImpl):24:24 -> 1:1:void onError(android.media.MediaCodec,android.media.MediaCodec$CodecException):43:43 -> onError 1:1:void onInputBufferAvailable(android.media.MediaCodec,int):34:34 -> onInputBufferAvailable 1:5:void onOutputBufferAvailable(android.media.MediaCodec,int,android.media.MediaCodec$BufferInfo):26:30 -> onOutputBufferAvailable ai.neuvision.kit.video.opengl.CodecInputSurface -> ai.neuvision.kit.video.opengl.CodecInputSurface: android.opengl.EGLDisplay mEGLDisplay -> a android.opengl.EGLContext mEGLContext -> b android.opengl.EGLSurface mEGLSurface -> c android.view.Surface mSurface -> d 1:1:void (android.view.Surface):26:26 -> 2:17:void (android.view.Surface):17:32 -> 1:41:void eglSetup():44:84 -> a 42:42:void eglSetup():50:50 -> a 43:43:void eglSetup():46:46 -> a 44:45:void checkEglError(java.lang.String):139:140 -> a 1:1:android.view.Surface getSurface():37:37 -> getSurface 1:2:void makeCurrent():113:114 -> makeCurrent 1:15:void release():92:106 -> release 1:2:void setPresentationTime(long):130:131 -> setPresentationTime 1:2:boolean swapBuffers():121:122 -> swapBuffers ai.neuvision.kit.video.opengl.Egl -> ai.neuvision.kit.video.opengl.Egl: int[] CONFIG_DEFAULT -> g java.lang.String name -> f int[] CONFIG_ANDROID -> h int[] ATTRIBUTE_LIST -> i android.opengl.EGLDisplay mEGLDisplay -> a android.opengl.EGLContext eglContext -> c android.opengl.EGLSurface mEGLSurface -> d boolean isInitialize -> e android.opengl.EGLConfig eglConfig -> b 1:9:void ():27:27 -> 18:27:void ():36:36 -> 37:39:void ():46:46 -> 1:6:void (java.lang.String):17:22 -> 1:5:void init(java.lang.Object,android.opengl.EGLContext):72:76 -> a 6:11:void createPBufferSurface():129:134 -> a 6:11:void init(java.lang.Object,android.opengl.EGLContext):79 -> a 12:14:void init(java.lang.Object,android.opengl.EGLContext):81:83 -> a 15:25:android.opengl.EGLDisplay createDisplay():89:99 -> a 26:32:android.opengl.EGLConfig createConfig(android.opengl.EGLDisplay,int[]):107:113 -> a 33:33:android.opengl.EGLConfig createConfig(android.opengl.EGLDisplay,int[]):110:110 -> a 34:36:android.opengl.EGLContext createContext(android.opengl.EGLDisplay,android.opengl.EGLConfig,android.opengl.EGLContext):119:121 -> a 37:42:void createWindowSurface(java.lang.Object):141:146 -> a 43:48:void checkEglError(java.lang.String):192:197 -> a 1:1:android.opengl.EGLConfig getEglConfig():19:19 -> getEglConfig 1:1:android.opengl.EGLContext getEglContext():20:20 -> getEglContext 1:1:void initEgl():52:52 -> initEgl 2:2:void initEgl(android.graphics.SurfaceTexture,android.opengl.EGLContext):56:56 -> initEgl 3:10:void initEgl(android.view.Surface,android.opengl.EGLContext):60:67 -> initEgl 1:1:void initEgl$default(ai.neuvision.kit.video.opengl.Egl,android.graphics.SurfaceTexture,android.opengl.EGLContext,int,java.lang.Object):55:55 -> initEgl$default 2:2:void initEgl$default(ai.neuvision.kit.video.opengl.Egl,android.view.Surface,android.opengl.EGLContext,int,java.lang.Object):59:59 -> initEgl$default 1:2:void makeCurrent():152:153 -> makeCurrent 1:18:void release():170:170 -> release 24:25:void release():176:177 -> release 26:26:void release():170:170 -> release 1:1:void setEglConfig(android.opengl.EGLConfig):19:19 -> setEglConfig 1:1:void setPresentationTime(long):165:165 -> setPresentationTime 1:2:void swapBuffers():159:160 -> swapBuffers ai.neuvision.kit.video.opengl.Egl$Companion -> ai.neuvision.kit.video.opengl.Egl$Companion: 1:1:void ():25:25 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):25:25 -> ai.neuvision.kit.video.opengl.SurfaceTextureManager -> ai.neuvision.kit.video.opengl.SurfaceTextureManager: android.graphics.SurfaceTexture mSurfaceTexture -> a ai.neuvision.kit.video.opengl.SurfaceTextureManager$STextureRender mTextureRender -> b java.lang.Object mFrameSyncObject -> c int frameCnt -> e boolean mFrameAvailable -> d 1:1:void ():30:30 -> 2:108:void ():24:130 -> 109:126:void ():31:48 -> 1:21:void awaitNewImage():89:109 -> awaitNewImage 22:22:void awaitNewImage():105:105 -> awaitNewImage 1:1:void changeFragmentShader(java.lang.String):79:79 -> changeFragmentShader 1:7:void concurrentDrawAfterAvailable():120:126 -> concurrentDrawAfterAvailable 8:8:void concurrentDrawAfterAvailable():121:121 -> concurrentDrawAfterAvailable 1:1:void drawImage():116:116 -> drawImage 1:1:int getFrameCnt():133:133 -> getFrameCnt 1:1:android.graphics.SurfaceTexture getSurfaceTexture():72:72 -> getSurfaceTexture 1:12:void onFrameAvailable(android.graphics.SurfaceTexture):138:149 -> onFrameAvailable 13:17:void onFrameAvailable(android.graphics.SurfaceTexture):145:149 -> onFrameAvailable 1:2:void release():56:57 -> release 1:5:void updateSurfaceTexture():61:65 -> updateSurfaceTexture ai.neuvision.kit.video.opengl.SurfaceTextureManager$STextureRender -> ai.neuvision.kit.video.opengl.SurfaceTextureManager$STextureRender: java.nio.FloatBuffer mTriangleVertices -> b int maTextureHandle -> j int muSTMatrixHandle -> h int maPositionHandle -> i int mTextureID -> f int muMVPMatrixHandle -> g float[] mMVPMatrix -> c float[] mSTMatrix -> d int mProgram -> e float[] mTriangleVerticesData -> a 1:1:void ():181:181 -> 2:29:void ():157:184 -> 30:34:void ():183:187 -> 1:10:int loadShader(int,java.lang.String):291:300 -> a 11:34:int createProgram(java.lang.String,java.lang.String):307:330 -> a 1:4:void changeFragmentShader(java.lang.String):283:286 -> changeFragmentShader 1:3:void checkGlError(java.lang.String):339:341 -> checkGlError 1:1:void checkLocation(int,java.lang.String):347:347 -> checkLocation 1:39:void drawFrame(android.graphics.SurfaceTexture):196:234 -> drawFrame 1:1:int getTextureId():191:191 -> getTextureId 1:33:void surfaceCreated():241:273 -> surfaceCreated 34:34:void surfaceCreated():243:243 -> surfaceCreated ai.neuvision.kit.video.texture.impl.BaseTexture -> ai.neuvision.kit.video.texture.impl.BaseTexture: float[] IDENTITY_MATRIX -> n int TEXTURE_COORDINATE_LOCATION -> l int TEXTURE_MATRIX_LOCATION -> m byte[] INDICES -> q int POSITION_LOCATION -> k java.lang.String name -> j java.nio.FloatBuffer texCoord -> d java.nio.FloatBuffer position -> c int shaderProgram -> i int[] vao -> f int[] ebo -> g int[] ubo -> h int[] vbo -> e java.lang.Object mLock -> a boolean needUpdateVBO -> b float[] POSITION -> o float[] DEFAULT_TEXTURE_COORDINATE -> p 1:8:void ():41:48 -> 9:20:void ():44:55 -> 21:36:void ():51:66 -> 37:51:void ():62:76 -> 52:52:void ():74:74 -> 1:15:void (java.lang.String):19:33 -> 16:16:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):20:20 -> 1:11:int loadShader(int,java.lang.String):193:203 -> a 12:17:java.nio.FloatBuffer createVertexAttribBuffer(float[]):229:229 -> a 1:2:void disable():164:165 -> disable 1:4:void draw(float[]):156:159 -> draw 1:4:void updateVBO():112:112 -> enable 1:4:void enable():150 -> enable 8:12:void updateVBO():116:120 -> enable 8:12:void enable():150 -> enable 13:13:void enable():151:151 -> enable 14:14:void updateVBO():112:112 -> enable 14:14:void enable():150 -> enable 1:1:int getAttribLocation(java.lang.String):250:250 -> getAttribLocation 1:1:int[] getEbo():30:30 -> getEbo 1:1:java.lang.String getName():20:20 -> getName 1:1:int getShaderProgram():33:33 -> getShaderProgram 1:1:int[] getUbo():31:31 -> getUbo 1:1:int getUniformLocation(java.lang.String):255:255 -> getUniformLocation 1:1:int[] getVao():29:29 -> getVao 1:1:int[] getVbo():28:28 -> getVbo 1:5:void init():82:86 -> init 6:24:int createProgram(java.lang.String,java.lang.String):170:188 -> init 6:24:void init():87 -> init 25:29:void init():87:91 -> init 30:33:void createVBO():104:107 -> init 30:33:void init():93 -> init 34:43:void createVAO():124:133 -> init 34:43:void init():94 -> init 44:52:void createEBO():137:145 -> init 44:52:void init():95 -> init 1:4:void release():240:243 -> release 1:1:void setEbo(int[]):30:30 -> setEbo 1:1:void setName(java.lang.String):20:20 -> setName 1:1:void setShaderProgram(int):33:33 -> setShaderProgram 1:1:void setUbo(int[]):31:31 -> setUbo 1:1:void setUniformMatrix4fv(int,float[]):264:264 -> setUniformMatrix4fv 1:1:void setVao(int[]):29:29 -> setVao 1:1:void setVbo(int[]):28:28 -> setVbo 1:1:void setVertex(int,int):260:260 -> setVertex 1:3:void updateTextureLocation(float[]):212:214 -> updateTextureLocation 4:4:void updateTextureLocation(float[]):213:213 -> updateTextureLocation 1:3:void updateTransform(float[]):221:223 -> updateTransform 4:4:void updateTransform(float[]):222:222 -> updateTransform ai.neuvision.kit.video.texture.impl.BaseTexture$Companion -> ai.neuvision.kit.video.texture.impl.BaseTexture$Companion: 1:1:void ():35:35 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):35:35 -> ai.neuvision.kit.video.texture.impl.CameraTexture -> ai.neuvision.kit.video.texture.impl.CameraTexture: 1:9:void (java.lang.String):13:21 -> 10:10:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):13:13 -> 1:9:void drawFrame(float[]):25:33 -> drawFrame ai.neuvision.kit.video.texture.impl.FrameTexture -> ai.neuvision.kit.video.texture.impl.FrameTexture: int textureId -> r 1:2:void (java.lang.String):11:12 -> 3:3:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):11:11 -> 1:1:void bindTextureId(int):21:21 -> bindTextureId 1:1:int getTextureId():12:12 -> getTextureId 1:1:void setTextureId(int):12:12 -> setTextureId ai.neuvision.kit.video.texture.impl.NormalTexture -> ai.neuvision.kit.video.texture.impl.NormalTexture: 1:1:void (java.lang.String):11:11 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):11:11 -> 1:1:void draw(float[]):17:17 -> draw ai.neuvision.kit.video.texture.impl.filter.GrayScaleFilter -> ai.neuvision.kit.video.texture.impl.filter.GrayScaleFilter: 1:1:void ():9:9 -> ai.neuvision.kit.video.util.CodecUtil -> ai.neuvision.kit.video.util.CodecUtil: 1:1:void ():13:13 -> 1:4:boolean isSupportDecode(ai.neuvision.kit.video.MimeType):27:30 -> isSupportDecode 1:4:boolean isSupportEncode(ai.neuvision.kit.video.MimeType):16:19 -> isSupportEncode ai.neuvision.kit.video.util.GLUtils -> ai.neuvision.kit.video.util.GLUtils: 1:1:void ():14:14 -> 1:1:void ():14:14 -> 1:3:int checkGLESError(java.lang.String):46:48 -> checkGLESError 1:3:java.lang.String readShaderFromGLSL(int,java.lang.String):26:26 -> readShaderFromGLSL 5:16:java.lang.String readShaderFromGLSL(int,java.lang.String):28:39 -> readShaderFromGLSL ai.neuvision.kit.video.util.OrientationLockUtil -> ai.neuvision.kit.video.util.OrientationLockUtil: 1:1:void ():15:15 -> 1:1:int getRotationDegree(android.app.Activity):29:29 -> getRotationDegree 1:1:boolean isOrientationLocked(android.content.Context):19:19 -> isOrientationLocked ai.neuvision.kit.video.view.BaseTextureView -> ai.neuvision.kit.video.view.BaseTextureView: 1:259:void (android.content.Context,android.util.AttributeSet,int,int):27:285 -> 260:292:void (android.content.Context,android.util.AttributeSet,int,int):281:313 -> 293:313:void (android.content.Context,android.util.AttributeSet,int,int):310:330 -> 314:314:void (android.content.Context):117:117 -> 315:315:void (android.content.Context,android.util.AttributeSet):118:118 -> 316:316:void (android.content.Context,android.util.AttributeSet,int):119:119 -> 1:1:int access$getCount$p(ai.neuvision.kit.video.view.BaseTextureView):26:26 -> access$getCount$p 1:1:ai.neuvision.kit.video.view.EGLHelper access$getEglHelper$li(ai.neuvision.kit.video.view.BaseTextureView):26:26 -> access$getEglHelper$li 1:1:ai.neuvision.kit.video.view.EGLHelper access$getEglHelper$p(ai.neuvision.kit.video.view.BaseTextureView):26:26 -> access$getEglHelper$p 1:1:boolean access$getMSurfaceTextureSizeChanged$p(ai.neuvision.kit.video.view.BaseTextureView):26:26 -> access$getMSurfaceTextureSizeChanged$p 1:1:java.util.concurrent.Semaphore access$getSemaphore$p(ai.neuvision.kit.video.view.BaseTextureView):26:26 -> access$getSemaphore$p 1:1:int access$getSid$p(ai.neuvision.kit.video.view.BaseTextureView):26:26 -> access$getSid$p 1:1:int access$getSurfaceTextureHeight$p(ai.neuvision.kit.video.view.BaseTextureView):26:26 -> access$getSurfaceTextureHeight$p 1:1:int access$getSurfaceTextureWidth$p(ai.neuvision.kit.video.view.BaseTextureView):26:26 -> access$getSurfaceTextureWidth$p 1:1:void access$setCount$p(ai.neuvision.kit.video.view.BaseTextureView,int):26:26 -> access$setCount$p 1:1:void access$setEglHelper$li(ai.neuvision.kit.video.view.BaseTextureView,ai.neuvision.kit.video.view.EGLHelper):26:26 -> access$setEglHelper$li 1:1:void access$setEglHelper$p(ai.neuvision.kit.video.view.BaseTextureView,ai.neuvision.kit.video.view.EGLHelper):26:26 -> access$setEglHelper$p 1:1:void access$setMSurfaceTextureSizeChanged$p(ai.neuvision.kit.video.view.BaseTextureView,boolean):26:26 -> access$setMSurfaceTextureSizeChanged$p 1:1:void access$setSemaphore$p(ai.neuvision.kit.video.view.BaseTextureView,java.util.concurrent.Semaphore):26:26 -> access$setSemaphore$p 1:1:void access$setSid$p(ai.neuvision.kit.video.view.BaseTextureView,int):26:26 -> access$setSid$p 1:1:void access$setSurfaceTextureHeight$p(ai.neuvision.kit.video.view.BaseTextureView,int):26:26 -> access$setSurfaceTextureHeight$p 1:1:void access$setSurfaceTextureWidth$p(ai.neuvision.kit.video.view.BaseTextureView,int):26:26 -> access$setSurfaceTextureWidth$p 1:1:boolean canDraw():394:394 -> canDraw 1:1:void clear():390:390 -> clear 1:18:void draw(android.graphics.SurfaceTexture):335:352 -> draw 19:19:void draw(android.graphics.SurfaceTexture):340:340 -> draw 20:52:void draw(android.graphics.SurfaceTexture):337:369 -> draw 1:1:boolean getAutoRotate():46:46 -> getAutoRotate 1:1:ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing getCameraFacing():50:50 -> getCameraFacing 1:1:int getCameraOrientation():59:59 -> getCameraOrientation 1:1:ai.neuvision.kit.video.view.IRender getDefaultRender():123:123 -> getDefaultRender 1:1:long getLastUid():45:45 -> getLastUid 1:1:ai.neuvision.kit.video.view.BaseTextureView$OnRenderListener getOnRenderListener():67:67 -> getOnRenderListener 1:1:int getOrientation():57:57 -> getOrientation 1:2:int getPeerHeight(ai.neuvision.kit.video.YCKVideoSessionIn):230:231 -> getPeerHeight 1:5:int getPeerVideoHeight(ai.neuvision.kit.video.YCKVideoSessionIn):210:214 -> getPeerVideoHeight 1:5:int getPeerVideoWidth(ai.neuvision.kit.video.YCKVideoSessionIn):198:202 -> getPeerVideoWidth 1:2:int getPeerWidth(ai.neuvision.kit.video.YCKVideoSessionIn):222:223 -> getPeerWidth 1:1:ai.neuvision.kit.video.view.RenderMode getRenderMode():34:34 -> getRenderMode 1:1:int getScreenOrientation():58:58 -> getScreenOrientation 1:1:long getUid():38:38 -> getUid 1:1:boolean getXMirrored():65:65 -> getXMirrored 1:1:boolean isDetached():51:51 -> isDetached 1:1:boolean isFrontCamera():60:60 -> isFrontCamera 1:1:boolean isMirrored():61:61 -> isMirrored 1:1:boolean isPeerLandscape():236:236 -> isPeerLandscape 1:1:boolean isPreviewing():54:54 -> isPreviewing 1:3:void onAttachedToWindow():132:134 -> onAttachedToWindow 1:3:void onDetachedFromWindow():139:141 -> onDetachedFromWindow 1:4:ai.neuvision.kit.video.view.IRender onEglCreate():399:402 -> onEglCreate 1:1:void onError(int):429:429 -> onError 1:18:void onFlagChanged(ai.neuvision.kit.video.YCKFrameContext,long):167:184 -> onFlagChanged 1:1:void onLackPerformance(int):407:407 -> onLackPerformance 1:1:void onOrientationChange(int):160:160 -> onOrientationChange 1:3:void onPeerOrientationChanged(int,int,boolean):149:151 -> onPeerOrientationChanged 1:1:void onPerformanceRestore():423:423 -> onPerformanceRestore 1:8:void onSurfaceTextureAvailable(android.graphics.SurfaceTexture,int,int):264:264 -> onSurfaceTextureAvailable 1:3:boolean onSurfaceTextureDestroyed(android.graphics.SurfaceTexture):251:253 -> onSurfaceTextureDestroyed 4:4:boolean onSurfaceTextureDestroyed(android.graphics.SurfaceTexture):252:252 -> onSurfaceTextureDestroyed 1:3:void onSurfaceTextureSizeChanged(android.graphics.SurfaceTexture,int,int):241:243 -> onSurfaceTextureSizeChanged 1:5:void resetGLMatrix():302:302 -> resetGLMatrix 1:5:void resetTextureTransformMatrix():321:321 -> resetTextureTransformMatrix 1:1:void setAutoRotate(boolean):46:46 -> setAutoRotate 1:1:void setCameraFacing(ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing):50:50 -> setCameraFacing 1:1:void setCameraOrientation(int):59:59 -> setCameraOrientation 1:1:void setDetached(boolean):51:51 -> setDetached 1:14:void setEGLContext(android.opengl.EGLContext,int):75:75 -> setEGLContext 1:1:void setEGLContext$default(ai.neuvision.kit.video.view.BaseTextureView,android.opengl.EGLContext,int,int,java.lang.Object):74:74 -> setEGLContext$default 2:2:void setEGLContext$default(ai.neuvision.kit.video.view.BaseTextureView,android.opengl.EGLContext,int,int,java.lang.Object):0:0 -> setEGLContext$default 1:1:void setFrontCamera(boolean):60:60 -> setFrontCamera 1:7:void setGLMatrix(ai.neuvision.kit.video.VideoTransform):290:296 -> setGLMatrix 1:1:void setLastUid(long):45:45 -> setLastUid 1:1:void setMirrored(boolean):61:61 -> setMirrored 1:1:void setOnRenderListener(ai.neuvision.kit.video.view.BaseTextureView$OnRenderListener):67:67 -> setOnRenderListener 1:1:void setOrientation(int):57:57 -> setOrientation 1:1:void setPreviewing(boolean):54:54 -> setPreviewing 1:1:void setRenderMode(ai.neuvision.kit.video.view.RenderMode):34:34 -> setRenderMode 1:1:void setScreenOrientation(int):58:58 -> setScreenOrientation 1:1:void setTextureTransformMatrix(float[]):317:317 -> setTextureTransformMatrix 1:3:void setUid(long):40:42 -> setUid 1:1:void setXMirrored(boolean):65:65 -> setXMirrored 1:1:java.lang.String toString():435:435 -> toString 1:1:void updatePreviewDisplay(int,int,int,int):190:190 -> updatePreviewDisplay 1:1:void updatePreviewRotate(int):381:381 -> updatePreviewRotate 1:1:void updateTexture():376:376 -> updateTexture ai.neuvision.kit.video.view.BaseTextureView$draw$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.video.view.BaseTextureView$a: ai.neuvision.kit.video.view.BaseTextureView this$0 -> a 1:4:void invoke():341:344 -> invoke 1:4:java.lang.Object invoke():26 -> invoke 5:5:java.lang.Object invoke():26:26 -> invoke ai.neuvision.kit.video.view.BaseTextureView$draw$$inlined$synchronized$lambda$2 -> ai.neuvision.kit.video.view.BaseTextureView$b: ai.neuvision.kit.video.view.BaseTextureView this$0 -> a 1:4:void invoke():347:350 -> invoke 1:4:java.lang.Object invoke():26 -> invoke 5:5:java.lang.Object invoke():26:26 -> invoke ai.neuvision.kit.video.view.BaseTextureView$draw$$inlined$synchronized$lambda$3 -> ai.neuvision.kit.video.view.BaseTextureView$c: ai.neuvision.kit.video.view.BaseTextureView this$0 -> a 1:1:void invoke():353:353 -> invoke 1:1:java.lang.Object invoke():26 -> invoke 2:2:java.lang.Object invoke():26:26 -> invoke ai.neuvision.kit.video.view.BaseTextureView$onSurfaceTextureAvailable$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.video.view.BaseTextureView$d: ai.neuvision.kit.video.view.BaseTextureView this$0 -> a 1:1:void invoke():271:271 -> invoke 1:1:java.lang.Object invoke():26 -> invoke 2:2:java.lang.Object invoke():26:26 -> invoke ai.neuvision.kit.video.view.BaseTextureView$onSurfaceTextureDestroyed$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.video.view.BaseTextureView$e: ai.neuvision.kit.video.view.BaseTextureView this$0 -> a 1:1:void invoke():254:254 -> invoke 1:1:java.lang.Object invoke():26 -> invoke 2:2:java.lang.Object invoke():26:26 -> invoke ai.neuvision.kit.video.view.BaseTextureView$setEGLContext$$inlined$synchronized$lambda$1 -> ai.neuvision.kit.video.view.BaseTextureView$f: ai.neuvision.kit.video.view.BaseTextureView this$0 -> a int $textureId$inlined -> b 1:1:void invoke():83:83 -> invoke 1:1:java.lang.Object invoke():26 -> invoke 2:2:java.lang.Object invoke():26:26 -> invoke ai.neuvision.kit.video.view.DefaultRender -> ai.neuvision.kit.video.view.DefaultRender: java.lang.String name -> b ai.neuvision.kit.video.texture.impl.CameraTexture texture -> a 1:3:void (java.lang.String):15:17 -> 1:2:void clear():41:42 -> clear 1:1:java.lang.String getName():24:24 -> getName 1:1:ai.neuvision.kit.video.texture.impl.CameraTexture getTexture():17:17 -> getTexture 1:2:void onDrawFrame(float[]):36:37 -> onDrawFrame 1:1:void onSurfaceChanged(int,int):31:31 -> onSurfaceChanged 1:1:void onSurfaceCreated():27:27 -> onSurfaceCreated 1:1:void release():125:125 -> release 1:1:void setTextureId(int):21:21 -> setTextureId 1:7:void updateMirror(boolean,boolean):114:120 -> updateMirror 1:8:void updatePreviewRotate(int):87:94 -> updatePreviewRotate ai.neuvision.kit.video.view.EGLHelper -> ai.neuvision.kit.video.view.EGLHelper: ai.neuvision.kit.video.opengl.Egl mEgl -> b android.opengl.EGLContext eglContext -> d ai.neuvision.kit.video.view.IRender render -> f android.graphics.SurfaceTexture surfaceTexture -> g java.lang.String name -> a ai.neuvision.sdk.pipline.impl.EventPipeline mPipeline -> c ai.neuvision.kit.video.view.EGLHelper$Callback callback -> e 1:8:void (java.lang.String,android.graphics.SurfaceTexture):18:25 -> 9:9:void (java.lang.String,android.graphics.SurfaceTexture,int,kotlin.jvm.internal.DefaultConstructorMarker):18:18 -> 1:1:ai.neuvision.kit.video.opengl.Egl access$getMEgl$p(ai.neuvision.kit.video.view.EGLHelper):18:18 -> access$getMEgl$p 1:1:ai.neuvision.sdk.pipline.impl.EventPipeline access$getMPipeline$p(ai.neuvision.kit.video.view.EGLHelper):18:18 -> access$getMPipeline$p 1:1:ai.neuvision.kit.video.view.IRender access$getRender$p(ai.neuvision.kit.video.view.EGLHelper):18:18 -> access$getRender$p 1:1:android.graphics.SurfaceTexture access$getSurfaceTexture$p(ai.neuvision.kit.video.view.EGLHelper):18:18 -> access$getSurfaceTexture$p 1:1:void access$setMEgl$p(ai.neuvision.kit.video.view.EGLHelper,ai.neuvision.kit.video.opengl.Egl):18:18 -> access$setMEgl$p 1:1:void access$setRender$p(ai.neuvision.kit.video.view.EGLHelper,ai.neuvision.kit.video.view.IRender):18:18 -> access$setRender$p 1:1:void access$setSurfaceTexture$p(ai.neuvision.kit.video.view.EGLHelper,android.graphics.SurfaceTexture):18:18 -> access$setSurfaceTexture$p 1:1:void draw(android.graphics.SurfaceTexture,int,float[],kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function0):45:45 -> draw 1:1:void draw$default(ai.neuvision.kit.video.view.EGLHelper,android.graphics.SurfaceTexture,int,float[],kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function0,kotlin.jvm.functions.Function0,int,java.lang.Object):44:44 -> draw$default 1:1:ai.neuvision.kit.video.view.EGLHelper$Callback getCallback():30:30 -> getCallback 1:1:android.opengl.EGLContext getEglContext():28:28 -> getEglContext 1:1:java.lang.String getName():19:19 -> getName 1:2:void initEgl(kotlin.jvm.functions.Function0):86:87 -> initEgl 1:1:void initEgl$default(ai.neuvision.kit.video.view.EGLHelper,kotlin.jvm.functions.Function0,int,java.lang.Object):85:85 -> initEgl$default 1:1:void onSurfaceChanged(int,int):79:79 -> onSurfaceChanged 1:1:void release(kotlin.jvm.functions.Function0):100:100 -> release 1:1:void release$default(ai.neuvision.kit.video.view.EGLHelper,kotlin.jvm.functions.Function0,int,java.lang.Object):99:99 -> release$default 1:1:void setCallback(ai.neuvision.kit.video.view.EGLHelper$Callback):30:30 -> setCallback 1:1:void setEglContext(android.opengl.EGLContext):28:28 -> setEglContext 1:2:void setName(java.lang.String):21:22 -> setName ai.neuvision.kit.video.view.EGLHelper$draw$1 -> ai.neuvision.kit.video.view.EGLHelper$a: ai.neuvision.kit.video.view.EGLHelper this$0 -> a kotlin.jvm.functions.Function0 $after -> g float[] $transformMatrix -> f int $id -> d kotlin.jvm.functions.Function0 $before -> c android.graphics.SurfaceTexture $st -> e kotlin.jvm.functions.Function0 $final -> b 1:26:void invoke():47:72 -> invoke 1:26:java.lang.Object invoke():18 -> invoke 27:51:void invoke():48:72 -> invoke 27:51:java.lang.Object invoke():18 -> invoke 52:54:void invoke():70:72 -> invoke 52:54:java.lang.Object invoke():18 -> invoke 55:55:java.lang.Object invoke():18:18 -> invoke 56:56:void invoke():72:72 -> invoke 56:56:java.lang.Object invoke():18 -> invoke ai.neuvision.kit.video.view.EGLHelper$initEgl$1 -> ai.neuvision.kit.video.view.EGLHelper$b: ai.neuvision.kit.video.view.EGLHelper this$0 -> a kotlin.jvm.functions.Function0 $func -> b 1:7:void invoke():88:94 -> invoke 1:7:java.lang.Object invoke():18 -> invoke 8:8:java.lang.Object invoke():18:18 -> invoke ai.neuvision.kit.video.view.EGLHelper$onSurfaceChanged$1 -> ai.neuvision.kit.video.view.EGLHelper$c: ai.neuvision.kit.video.view.EGLHelper this$0 -> a int $width -> b int $height -> c 1:1:void invoke():80:80 -> invoke 1:1:java.lang.Object invoke():18 -> invoke 2:2:java.lang.Object invoke():18:18 -> invoke ai.neuvision.kit.video.view.EGLHelper$release$1 -> ai.neuvision.kit.video.view.EGLHelper$d: ai.neuvision.kit.video.view.EGLHelper this$0 -> a kotlin.jvm.functions.Function0 $func -> b 1:7:void invoke():101:107 -> invoke 1:7:java.lang.Object invoke():18 -> invoke 8:8:java.lang.Object invoke():18:18 -> invoke ai.neuvision.kit.video.view.GLSurfaceTexture -> ai.neuvision.kit.video.view.GLSurfaceTexture: java.lang.Object mLock -> b boolean isAttach -> a 1:4:void (int):14:17 -> 1:4:void attachToGLContext(int):24:24 -> attachToGLContext 9:10:void attachToGLContext(int):29:30 -> attachToGLContext 11:11:void attachToGLContext(int):24:24 -> attachToGLContext 1:6:void detachFromGLContext():34:34 -> detachFromGLContext 1:1:boolean isAttach():16:16 -> isAttach 1:2:void release():45:46 -> release 1:1:void setAttach(boolean):16:16 -> setAttach ai.neuvision.kit.video.view.GLSurfaceTexture$Companion -> ai.neuvision.kit.video.view.GLSurfaceTexture$Companion: 1:1:void ():19:19 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):19:19 -> ai.neuvision.kit.video.view.RenderMode -> ai.neuvision.kit.video.view.RenderMode: 1:1:void (java.lang.String,int):9:9 -> ai.neuvision.kit.video.wrapper.CameraTextureWrapper -> ai.neuvision.kit.video.wrapper.CameraTextureWrapper: java.lang.String name -> f 1:1:void (java.lang.String):13:13 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):13:13 -> 1:1:void draw(float[]):27:27 -> draw 1:1:java.lang.String getName():13:13 -> getName 1:1:void updateTexture():18:18 -> updateTexture 1:1:void updateTextureLocation(ai.neuvision.kit.video.VideoContext):32:32 -> updateTextureLocation 2:11:float[] calculateLocation(ai.neuvision.kit.video.VideoContext):38:47 -> updateTextureLocation 2:11:void updateTextureLocation(ai.neuvision.kit.video.VideoContext):32 -> updateTextureLocation 12:12:void updateTextureLocation(ai.neuvision.kit.video.VideoContext):32:32 -> updateTextureLocation ai.neuvision.kit.video.wrapper.CameraTextureWrapper$updateTexture$1 -> ai.neuvision.kit.video.wrapper.CameraTextureWrapper$a: ai.neuvision.kit.video.wrapper.CameraTextureWrapper this$0 -> a 1:4:void invoke():19:22 -> invoke 1:4:java.lang.Object invoke():13 -> invoke 5:5:java.lang.Object invoke():13:13 -> invoke ai.neuvision.kit.video.wrapper.CameraWrapper -> ai.neuvision.kit.video.wrapper.CameraWrapper: kotlin.Lazy mCameraManager$delegate -> c java.lang.String mCurrentCameraId -> f ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing mCameraFacing -> g android.hardware.camera2.CameraDevice$StateCallback mStateCallback -> i ai.neuvision.kit.video.wrapper.CameraTextureWrapper textureWrapper -> b android.hardware.camera2.CameraCaptureSession mCameraSession -> e android.hardware.camera2.CameraDevice mCameraDevice -> d java.util.ArrayList mPreviews -> h android.content.Context context -> j ai.neuvision.sdk.pipline.impl.EventPipeline mPipeline -> a 1:1:void access$updatePreviewTextureId(ai.neuvision.kit.video.wrapper.CameraWrapper):21:21 -> 1:1:void (android.content.Context):21 -> 2:43:void (android.content.Context):23:64 -> 1:7:void closeCamera():84:90 -> a 1:1:void access$updatePreviewTextureId(ai.neuvision.kit.video.wrapper.CameraWrapper):21:21 -> access$closeCamera 1:1:void access$closeCamera(ai.neuvision.kit.video.wrapper.CameraWrapper):21 -> access$closeCamera 1:1:void access$updatePreviewTextureId(ai.neuvision.kit.video.wrapper.CameraWrapper):21:21 -> access$getMCameraDevice$p 1:1:android.hardware.camera2.CameraDevice access$getMCameraDevice$p(ai.neuvision.kit.video.wrapper.CameraWrapper):21 -> access$getMCameraDevice$p 1:1:void access$updatePreviewTextureId(ai.neuvision.kit.video.wrapper.CameraWrapper):21:21 -> access$getMCameraSession$p 1:1:android.hardware.camera2.CameraCaptureSession access$getMCameraSession$p(ai.neuvision.kit.video.wrapper.CameraWrapper):21 -> access$getMCameraSession$p 1:1:void access$updatePreviewTextureId(ai.neuvision.kit.video.wrapper.CameraWrapper):21:21 -> access$getMPipeline$p 1:1:ai.neuvision.sdk.pipline.impl.EventPipeline access$getMPipeline$p(ai.neuvision.kit.video.wrapper.CameraWrapper):21 -> access$getMPipeline$p 1:1:void access$updatePreviewTextureId(ai.neuvision.kit.video.wrapper.CameraWrapper):21:21 -> access$getTextureWrapper$p 1:1:ai.neuvision.kit.video.wrapper.CameraTextureWrapper access$getTextureWrapper$p(ai.neuvision.kit.video.wrapper.CameraWrapper):21 -> access$getTextureWrapper$p 1:1:void access$updatePreviewTextureId(ai.neuvision.kit.video.wrapper.CameraWrapper):21:21 -> access$setMCameraDevice$p 1:1:void access$setMCameraDevice$p(ai.neuvision.kit.video.wrapper.CameraWrapper,android.hardware.camera2.CameraDevice):21 -> access$setMCameraDevice$p 1:1:void access$updatePreviewTextureId(ai.neuvision.kit.video.wrapper.CameraWrapper):21:21 -> access$setMCameraSession$p 1:1:void access$setMCameraSession$p(ai.neuvision.kit.video.wrapper.CameraWrapper,android.hardware.camera2.CameraCaptureSession):21 -> access$setMCameraSession$p 1:1:void access$updatePreviewTextureId(ai.neuvision.kit.video.wrapper.CameraWrapper):21:21 -> access$setTextureWrapper$p 1:1:void access$setTextureWrapper$p(ai.neuvision.kit.video.wrapper.CameraWrapper,ai.neuvision.kit.video.wrapper.CameraTextureWrapper):21 -> access$setTextureWrapper$p 1:1:void access$updatePreviewTextureId(ai.neuvision.kit.video.wrapper.CameraWrapper):21:21 -> access$startPreview 1:1:void access$startPreview(ai.neuvision.kit.video.wrapper.CameraWrapper):21 -> access$startPreview 1:87:void updatePreviewTextureId():104:190 -> access$updatePreviewTextureId 1:87:void access$updatePreviewTextureId(ai.neuvision.kit.video.wrapper.CameraWrapper):21 -> access$updatePreviewTextureId 88:88:void updatePreviewTextureId():105:105 -> access$updatePreviewTextureId 88:88:void access$updatePreviewTextureId(ai.neuvision.kit.video.wrapper.CameraWrapper):21 -> access$updatePreviewTextureId android.hardware.camera2.CameraManager getMCameraManager() -> b 1:20:void startPreview():112:131 -> c 21:21:void startPreview():121:121 -> c 1:1:void close():168:168 -> close 1:1:ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing getCameraFacing():96:96 -> getCameraFacing 1:1:void access$updatePreviewTextureId(ai.neuvision.kit.video.wrapper.CameraWrapper):21:21 -> getContext 1:1:android.content.Context getContext():21 -> getContext 1:1:void onFrameAvailable(android.graphics.SurfaceTexture):178:178 -> onFrameAvailable 1:3:void openCamera(ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing):76:78 -> openCamera 4:60:java.lang.String chooseCamera(ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing,android.hardware.camera2.CameraManager):136:192 -> openCamera 4:60:void openCamera(ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing):78 -> openCamera 61:66:java.lang.String chooseCamera(ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing,android.hardware.camera2.CameraManager):139:144 -> openCamera 61:66:void openCamera(ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing):78 -> openCamera 67:68:void openCamera(ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing):78:79 -> openCamera 1:1:void setPreview(ai.neuvision.kit.video.view.BaseTextureView):100:100 -> setPreview ai.neuvision.kit.video.wrapper.CameraWrapper$1 -> ai.neuvision.kit.video.wrapper.CameraWrapper$a: ai.neuvision.kit.video.wrapper.CameraWrapper this$0 -> a 1:5:void invoke():65:69 -> invoke 1:5:java.lang.Object invoke():21 -> invoke 6:6:java.lang.Object invoke():21:21 -> invoke ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing -> ai.neuvision.kit.video.wrapper.CameraWrapper$CameraFacing: 1:1:void (java.lang.String,int):35:35 -> ai.neuvision.kit.video.wrapper.CameraWrapper$close$1 -> ai.neuvision.kit.video.wrapper.CameraWrapper$b: ai.neuvision.kit.video.wrapper.CameraWrapper this$0 -> a 1:2:void invoke():169:170 -> invoke 1:2:java.lang.Object invoke():21 -> invoke 3:3:java.lang.Object invoke():21:21 -> invoke ai.neuvision.kit.video.wrapper.CameraWrapper$mCameraManager$2 -> ai.neuvision.kit.video.wrapper.CameraWrapper$c: ai.neuvision.kit.video.wrapper.CameraWrapper this$0 -> a 1:1:android.hardware.camera2.CameraManager invoke():26:26 -> invoke 1:1:java.lang.Object invoke():21 -> invoke ai.neuvision.kit.video.wrapper.CameraWrapper$mStateCallback$1 -> ai.neuvision.kit.video.wrapper.CameraWrapper$mStateCallback$1: ai.neuvision.kit.video.wrapper.CameraWrapper this$0 -> a 1:1:void (ai.neuvision.kit.video.wrapper.CameraWrapper):40:40 -> 1:3:void onDisconnected(android.hardware.camera2.CameraDevice):48:50 -> onDisconnected 1:3:void onError(android.hardware.camera2.CameraDevice,int):56:58 -> onError 1:3:void onOpened(android.hardware.camera2.CameraDevice):42:44 -> onOpened ai.neuvision.kit.video.wrapper.CameraWrapper$startPreview$1 -> ai.neuvision.kit.video.wrapper.CameraWrapper$startPreview$1: ai.neuvision.kit.video.wrapper.CameraWrapper this$0 -> a android.hardware.camera2.CaptureRequest$Builder $captureRequest -> b 1:1:void (ai.neuvision.kit.video.wrapper.CameraWrapper,android.hardware.camera2.CaptureRequest$Builder):121:121 -> 1:1:void onConfigureFailed(android.hardware.camera2.CameraCaptureSession):123:123 -> onConfigureFailed 1:3:void onConfigured(android.hardware.camera2.CameraCaptureSession):127:129 -> onConfigured ai.neuvision.kit.video.wrapper.CodecTextureWrapper -> ai.neuvision.kit.video.wrapper.CodecTextureWrapper: 1:1:void ():12:12 -> ai.neuvision.kit.video.wrapper.EncodeTextureWrapper -> ai.neuvision.kit.video.wrapper.EncodeTextureWrapper: java.lang.String name -> f 1:1:void (java.lang.String):17:17 -> 2:2:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):17:17 -> 1:1:java.lang.String getName():17:17 -> getName 1:1:void makeCurrent():35:35 -> makeCurrent 1:1:void setPresentationTime(long):39:39 -> setPresentationTime 1:1:void swapBuffers():43:43 -> swapBuffers 1:1:void updateTexture():20:20 -> updateTexture ai.neuvision.kit.video.wrapper.EncodeTextureWrapper$updateTexture$1 -> ai.neuvision.kit.video.wrapper.EncodeTextureWrapper$a: ai.neuvision.kit.video.wrapper.EncodeTextureWrapper this$0 -> a 1:4:void invoke():21:24 -> invoke 1:4:java.lang.Object invoke():17 -> invoke 5:5:java.lang.Object invoke():17:17 -> invoke ai.neuvision.kit.video.wrapper.TextureWrapper -> ai.neuvision.kit.video.wrapper.TextureWrapper: ai.neuvision.kit.video.wrapper.TextureWrapper$Callback callback -> d ai.neuvision.kit.video.wrapper.TextureWrapper$OnTextureCreateListener listener -> a boolean isRelease -> c java.lang.String name -> e ai.neuvision.sdk.pipline.Pipeline pipeline -> b 1:10:void (java.lang.String):22:31 -> 11:11:void (java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):22:22 -> 1:26:void createTexture(int):52:77 -> createTexture 27:39:void createTexture(int):67:79 -> createTexture 1:1:ai.neuvision.kit.video.wrapper.TextureWrapper$Callback getCallback():33:33 -> getCallback 1:1:ai.neuvision.kit.video.opengl.Egl getEgl():29:29 -> getEgl 1:1:ai.neuvision.kit.video.wrapper.TextureWrapper$OnTextureCreateListener getListener():30:30 -> getListener 1:1:ai.neuvision.sdk.pipline.Pipeline getPipeline():31:31 -> getPipeline 1:1:android.graphics.SurfaceTexture getSurfaceTexture():24:24 -> getSurfaceTexture 1:1:ai.neuvision.kit.video.texture.impl.FrameTexture getTexture():25:25 -> getTexture 1:1:int getTextureId():28:28 -> getTextureId 1:1:int[] getTextureIds():26:26 -> getTextureIds 1:1:boolean isRelease():32:32 -> isRelease 1:2:void release():83:84 -> release 1:5:void run(java.lang.String,kotlin.jvm.functions.Function0):99:103 -> run 6:10:void run(java.lang.String,java.lang.Runnable):107:111 -> run 1:1:void run$default(ai.neuvision.kit.video.wrapper.TextureWrapper,java.lang.String,kotlin.jvm.functions.Function0,int,java.lang.Object):98:98 -> run$default 2:2:void run$default(ai.neuvision.kit.video.wrapper.TextureWrapper,java.lang.String,kotlin.jvm.functions.Function0,int,java.lang.Object):0:0 -> run$default 3:3:void run$default(ai.neuvision.kit.video.wrapper.TextureWrapper,java.lang.String,java.lang.Runnable,int,java.lang.Object):106:106 -> run$default 4:4:void run$default(ai.neuvision.kit.video.wrapper.TextureWrapper,java.lang.String,java.lang.Runnable,int,java.lang.Object):0:0 -> run$default 1:1:void setCallback(ai.neuvision.kit.video.wrapper.TextureWrapper$Callback):33:33 -> setCallback 1:1:void setEgl(ai.neuvision.kit.video.opengl.Egl):29:29 -> setEgl 1:1:void setListener(ai.neuvision.kit.video.wrapper.TextureWrapper$OnTextureCreateListener):30:30 -> setListener 1:1:void setPipeline(ai.neuvision.sdk.pipline.Pipeline):31:31 -> setPipeline 1:1:void setRelease(boolean):32:32 -> setRelease 1:1:void setSurfaceTexture(android.graphics.SurfaceTexture):24:24 -> setSurfaceTexture 1:1:void setTexture(ai.neuvision.kit.video.texture.impl.FrameTexture):25:25 -> setTexture 1:1:void setTextureIds(int[]):26:26 -> setTextureIds ai.neuvision.kit.video.wrapper.TextureWrapper$createTexture$2 -> ai.neuvision.kit.video.wrapper.TextureWrapper$a: ai.neuvision.kit.video.wrapper.TextureWrapper this$0 -> a 1:7:void onFrameAvailable(android.graphics.SurfaceTexture):69:75 -> onFrameAvailable ai.neuvision.kit.video.wrapper.TextureWrapper$release$1 -> ai.neuvision.kit.video.wrapper.TextureWrapper$b: ai.neuvision.kit.video.wrapper.TextureWrapper this$0 -> a 1:9:void invoke():85:93 -> invoke 1:9:java.lang.Object invoke():22 -> invoke 10:10:java.lang.Object invoke():22:22 -> invoke ai.neuvision.kit.video.wrapper.TextureWrapper$run$1 -> ai.neuvision.kit.video.wrapper.TextureWrapper$c: kotlin.jvm.functions.Function0 $func -> a 1:1:void invoke():103:103 -> invoke 1:1:java.lang.Object invoke():22 -> invoke 2:2:java.lang.Object invoke():22:22 -> invoke ai.neuvision.kit.video.wrapper.TextureWrapper$run$2 -> ai.neuvision.kit.video.wrapper.TextureWrapper$d: java.lang.Runnable $runnable -> a 1:1:void invoke():111:111 -> invoke 1:1:java.lang.Object invoke():22 -> invoke 2:2:java.lang.Object invoke():22:22 -> invoke ai.neuvision.kit.video.x265.NALUnitUtil -> ai.neuvision.kit.video.x265.NALUnitUtil: 1:1:void ():14:14 -> 1:7:int findNextNaluStart(byte[],int):315:321 -> findNextNaluStart 1:10:void fixIOSNalu(java.nio.ByteBuffer):290:299 -> fixIOSNalu 1:1:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info getFromAndroidCSD0(java.nio.ByteBuffer):76:76 -> getFromAndroidCSD0 2:19:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info getFromAndroidCSD0(java.nio.ByteBuffer,boolean):80:97 -> getFromAndroidCSD0 20:63:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info getFromAndroidCSD0(java.nio.ByteBuffer,boolean):87:130 -> getFromAndroidCSD0 64:64:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info getFromAndroidCSD0(java.nio.ByteBuffer,boolean):127:127 -> getFromAndroidCSD0 65:97:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info getFromAndroidCSD0(java.nio.ByteBuffer,boolean):124:156 -> getFromAndroidCSD0 98:118:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info getFromAndroidCSD0(java.nio.ByteBuffer,boolean):146:166 -> getFromAndroidCSD0 119:131:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info getFromAndroidCSD0(java.nio.ByteBuffer,boolean):163:175 -> getFromAndroidCSD0 132:206:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info getFromAndroidCSD0(java.nio.ByteBuffer,boolean):104:178 -> getFromAndroidCSD0 207:213:java.nio.ByteBuffer getiOSCDS0(int,java.util.List):304:310 -> getFromAndroidCSD0 207:213:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info getFromAndroidCSD0(java.nio.ByteBuffer,boolean):179 -> getFromAndroidCSD0 214:214:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info getFromAndroidCSD0(java.nio.ByteBuffer,boolean):179:179 -> getFromAndroidCSD0 1:1:boolean isNalu(byte[],int):325:325 -> isNalu 1:32:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info splitInfoFromIFrame(java.nio.ByteBuffer):191:222 -> splitInfoFromIFrame 33:33:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info splitInfoFromIFrame(java.nio.ByteBuffer):219:219 -> splitInfoFromIFrame 34:68:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info splitInfoFromIFrame(java.nio.ByteBuffer):216:250 -> splitInfoFromIFrame 69:103:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info splitInfoFromIFrame(java.nio.ByteBuffer):236:270 -> splitInfoFromIFrame 104:104:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info splitInfoFromIFrame(java.nio.ByteBuffer):265:265 -> splitInfoFromIFrame 105:105:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info splitInfoFromIFrame(java.nio.ByteBuffer):262:262 -> splitInfoFromIFrame 106:132:ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info splitInfoFromIFrame(java.nio.ByteBuffer):259:285 -> splitInfoFromIFrame 1:18:boolean withCSD0(java.nio.ByteBuffer):38:55 -> withCSD0 19:19:boolean withCSD0(java.nio.ByteBuffer):54:54 -> withCSD0 ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info -> ai.neuvision.kit.video.x265.NALUnitUtil$HEVC_CSD0_Info: 1:8:void ():59:66 -> 1:1:java.nio.ByteBuffer getOutputCSD0():70:70 -> getOutputCSD0 ai.neuvision.kit.video.x265.SPSParser -> ai.neuvision.kit.video.x265.SPSParser: byte mByte -> b java.nio.ByteBuffer data -> d int mBits -> c int mZero -> a 1:1:void (java.nio.ByteBuffer):12:12 -> 1:10:byte getByte():95:104 -> a 11:28:long getBit(int):113:130 -> a 1:2:long getUE():138:139 -> b 1:1:java.nio.ByteBuffer getData():12:12 -> getData 1:66:ai.neuvision.kit.video.x265.SPSParser$Parameter parseSPS():21:86 -> parseSPS ai.neuvision.kit.video.x265.SPSParser$Parameter -> ai.neuvision.kit.video.x265.SPSParser$Parameter: int level -> d int height -> b int profile -> c int width -> a 1:1:void (int,int,int,int):17:17 -> 2:2:void (int,int,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):17:17 -> 1:1:int getHeight():17:17 -> getHeight 1:1:int getLevel():17:17 -> getLevel 1:1:int getProfile():17:17 -> getProfile 1:1:int getWidth():17:17 -> getWidth 1:1:void setHeight(int):17:17 -> setHeight 1:1:void setLevel(int):17:17 -> setLevel 1:1:void setProfile(int):17:17 -> setProfile 1:1:void setWidth(int):17:17 -> setWidth ai.neuvision.kit.video.x265.SPSParserKt -> ai.neuvision.kit.video.x265.SPSParserKt: 1:6:void main():155:160 -> main ai.neuvision.lib.BuildConfig -> ai.neuvision.lib.BuildConfig: 1:1:void ():6:6 -> ai.neuvision.sdk.AudioUtils -> ai.neuvision.sdk.AudioUtils: ai.neuvision.sdk.NativeOpenSL nativeBridge -> b java.util.concurrent.ExecutorService executor -> a 1:4:void ():11:14 -> 1:1:ai.neuvision.sdk.NativeOpenSL access$getNativeBridge$p(ai.neuvision.sdk.AudioUtils):11:11 -> access$getNativeBridge$p 1:1:void access$setNativeBridge$p(ai.neuvision.sdk.AudioUtils,ai.neuvision.sdk.NativeOpenSL):11:11 -> access$setNativeBridge$p 1:2:boolean recordAndPlayPCM(boolean,boolean):18:19 -> recordAndPlayPCM 1:4:boolean stopRecordAndPlay():27:30 -> stopRecordAndPlay ai.neuvision.sdk.AudioUtils$recordAndPlayPCM$1 -> ai.neuvision.sdk.AudioUtils$a: ai.neuvision.sdk.AudioUtils this$0 -> a boolean $enable1 -> b boolean $enable2 -> c 1:1:void run():19:19 -> run ai.neuvision.sdk.BuildConfig -> ai.neuvision.sdk.BuildConfig: 1:1:void ():6:6 -> ai.neuvision.sdk.CommonConstants -> ai.neuvision.sdk.CommonConstants: 1:1:void ():10:10 -> ai.neuvision.sdk.CommonLibrary -> ai.neuvision.sdk.CommonLibrary: 1:1:void ():25:25 -> 1:1:void onApplicationCreate(ai.neuvision.sdk.CommonLibraryParameter,boolean):35:35 -> onApplicationCreate 2:55:void onApplicationCreate(ai.neuvision.sdk.CommonLibraryParameter,boolean,int):44:97 -> onApplicationCreate 1:2:void onApplicationDestroy():101:102 -> onApplicationDestroy 1:1:void onConfigurationChange(android.content.res.Configuration):106:106 -> onConfigurationChange ai.neuvision.sdk.CommonLibrary$1 -> ai.neuvision.sdk.CommonLibrary$a: 1:1:void ():71:71 -> 1:1:void run():74:74 -> run ai.neuvision.sdk.CommonLibrary$VERSION -> ai.neuvision.sdk.CommonLibrary$VERSION: 1:1:void ():26:26 -> ai.neuvision.sdk.CommonLibraryParameter -> ai.neuvision.sdk.CommonLibraryParameter: 1:15:void ():6:20 -> ai.neuvision.sdk.Constants -> ai.neuvision.sdk.Constants: java.lang.String DECODE_OPUS_PATH -> f java.lang.String APP_PATH -> a java.lang.String DEFAULT_PCM_FILE_PATH -> c java.lang.String APP_RECORDER_FILE_PATH -> b java.lang.String AUDIO_RECORD_PATH -> e java.lang.String RECORD_OPUS_PATH -> d 1:13:void ():12:24 -> 1:1:void ():12:12 -> 1:1:java.lang.String getAUDIO_RECORD_PATH():23:23 -> getAUDIO_RECORD_PATH 1:1:java.lang.String getDECODE_OPUS_PATH():24:24 -> getDECODE_OPUS_PATH 1:1:java.lang.String getDEFAULT_PCM_FILE_PATH():20:20 -> getDEFAULT_PCM_FILE_PATH 1:1:java.lang.String getRECORD_OPUS_PATH():22:22 -> getRECORD_OPUS_PATH ai.neuvision.sdk.DecodeOpusPresenter$Companion -> ai.neuvision.sdk.DecodeOpusPresenter$Companion: ai.neuvision.sdk.DecodeOpusPresenter$Companion $$INSTANCE -> c boolean isCancel -> a java.lang.String decodeOpusFilePath -> b 1:1:void ():19:19 -> 1:1:void ():19:19 -> 1:1:java.lang.String access$getDecodeOpusFilePath$p(ai.neuvision.sdk.DecodeOpusPresenter$Companion):19:19 -> access$getDecodeOpusFilePath$p 1:21:java.lang.String getTAG():0:20 -> access$getTAG$p 1:21:java.lang.String access$getTAG$p(ai.neuvision.sdk.DecodeOpusPresenter$Companion):19 -> access$getTAG$p 1:1:boolean access$isCancel$p(ai.neuvision.sdk.DecodeOpusPresenter$Companion):19:19 -> access$isCancel$p 1:1:void access$setCancel$p(ai.neuvision.sdk.DecodeOpusPresenter$Companion,boolean):19:19 -> access$setCancel$p 1:1:void access$setDecodeOpusFilePath$p(ai.neuvision.sdk.DecodeOpusPresenter$Companion,java.lang.String):19:19 -> access$setDecodeOpusFilePath$p ai.neuvision.sdk.DecodeOpusPresenter$DefaultImpls -> ai.neuvision.sdk.DecodeOpusPresenter$DefaultImpls: 1:1:void opusFileDecoder$default(ai.neuvision.sdk.DecodeOpusPresenter,boolean,int,java.lang.Object):54:54 -> a 2:49:void opusFileDecoder(ai.neuvision.sdk.DecodeOpusPresenter,boolean):55:102 -> a 50:50:void opusFileDecoder(ai.neuvision.sdk.DecodeOpusPresenter,boolean):66:66 -> a 1:1:void access$opusFileDecoder(ai.neuvision.sdk.DecodeOpusPresenter,boolean):17:17 -> access$opusFileDecoder 1:2:short[] byteArrayToShortArray(ai.neuvision.sdk.DecodeOpusPresenter,byte[]):106:107 -> byteArrayToShortArray 1:1:void cancelDecode(ai.neuvision.sdk.DecodeOpusPresenter):51:51 -> cancelDecode 1:7:void decodeOpusFile(ai.neuvision.sdk.DecodeOpusPresenter,java.lang.String,boolean):29:35 -> decodeOpusFile 1:1:void decodeOpusFile$default(ai.neuvision.sdk.DecodeOpusPresenter,java.lang.String,boolean,int,java.lang.Object):28:28 -> decodeOpusFile$default 2:2:void decodeOpusFile$default(ai.neuvision.sdk.DecodeOpusPresenter,java.lang.String,boolean,int,java.lang.Object):0:0 -> decodeOpusFile$default 1:7:void readFile(ai.neuvision.sdk.DecodeOpusPresenter,java.lang.String,boolean):40:46 -> readFile 1:1:void readFile$default(ai.neuvision.sdk.DecodeOpusPresenter,java.lang.String,boolean,int,java.lang.Object):39:39 -> readFile$default 2:2:void readFile$default(ai.neuvision.sdk.DecodeOpusPresenter,java.lang.String,boolean,int,java.lang.Object):0:0 -> readFile$default ai.neuvision.sdk.DecodeOpusPresenter$decodeOpusFile$1 -> ai.neuvision.sdk.DecodeOpusPresenter$DefaultImpls$a: ai.neuvision.sdk.DecodeOpusPresenter this$0 -> a 1:1:void invoke():35:35 -> invoke 1:1:java.lang.Object invoke():17 -> invoke 2:2:java.lang.Object invoke():17:17 -> invoke ai.neuvision.sdk.DecodeOpusPresenter$readFile$1 -> ai.neuvision.sdk.DecodeOpusPresenter$DefaultImpls$b: ai.neuvision.sdk.DecodeOpusPresenter this$0 -> a 1:1:void run():46:46 -> run ai.neuvision.sdk.NativeOpenSL -> ai.neuvision.sdk.NativeOpenSL: java.util.concurrent.atomic.AtomicBoolean isRecordAndPlay -> c java.util.concurrent.atomic.AtomicBoolean isPlaying -> b java.util.concurrent.atomic.AtomicBoolean isRecording -> a 1:1:void ():18:18 -> 1:4:void ():11:14 -> 1:1:boolean isPlaying():39:39 -> isPlaying 1:1:boolean isRecording():31:31 -> isRecording 1:1:boolean isRecordingAndPlaying():43:43 -> isRecordingAndPlaying 1:1:void setIsPlaying(boolean):35:35 -> setIsPlaying 1:1:void setIsRecording(boolean):23:23 -> setIsRecording 1:1:void setIsRecordingAndPlaying(boolean):27:27 -> setIsRecordingAndPlaying ai.neuvision.sdk.NativeOpenSL$Companion -> ai.neuvision.sdk.NativeOpenSL$Companion: 1:1:void ():16:16 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> ai.neuvision.sdk.OpenSLAudio -> ai.neuvision.sdk.OpenSLAudio: ai.neuvision.sdk.NativeOpenSL nativeBridge -> a 1:3:void ():11:13 -> 1:1:ai.neuvision.sdk.NativeOpenSL access$getNativeBridge$p(ai.neuvision.sdk.OpenSLAudio):11:11 -> access$getNativeBridge$p 1:4:boolean startRecordAndPlay():17:20 -> startRecordAndPlay 1:1:void stopRecordAndPlay():29:29 -> stopRecordAndPlay ai.neuvision.sdk.OpenSLAudio$startRecordAndPlay$1 -> ai.neuvision.sdk.OpenSLAudio$a: ai.neuvision.sdk.OpenSLAudio this$0 -> a 1:1:void invoke():21:21 -> invoke 1:1:java.lang.Object invoke():11 -> invoke 2:2:java.lang.Object invoke():11:11 -> invoke ai.neuvision.sdk.OpenSLPlayer -> ai.neuvision.sdk.OpenSLPlayer: ai.neuvision.sdk.NativeOpenSL nativeBridge -> b java.util.concurrent.ExecutorService executor -> a 1:4:void ():11:14 -> 1:1:ai.neuvision.sdk.NativeOpenSL access$getNativeBridge$p(ai.neuvision.sdk.OpenSLPlayer):11:11 -> access$getNativeBridge$p 1:1:void access$setNativeBridge$p(ai.neuvision.sdk.OpenSLPlayer,ai.neuvision.sdk.NativeOpenSL):11:11 -> access$setNativeBridge$p 1:4:boolean startToPlay(int,int,int,java.lang.String):17:20 -> startToPlay 1:1:void stopPlaying():28:28 -> stopPlaying ai.neuvision.sdk.OpenSLPlayer$startToPlay$1 -> ai.neuvision.sdk.OpenSLPlayer$a: ai.neuvision.sdk.OpenSLPlayer this$0 -> a int $channels -> d int $sampleRate -> b int $period -> c java.lang.String $path -> e 1:1:void run():21:21 -> run ai.neuvision.sdk.OpenSLRecorder -> ai.neuvision.sdk.OpenSLRecorder: ai.neuvision.sdk.NativeOpenSL nativeBridge -> b java.util.concurrent.ExecutorService executor -> a 1:4:void ():11:14 -> 1:1:ai.neuvision.sdk.NativeOpenSL access$getNativeBridge$p(ai.neuvision.sdk.OpenSLRecorder):11:11 -> access$getNativeBridge$p 1:1:void access$setNativeBridge$p(ai.neuvision.sdk.OpenSLRecorder,ai.neuvision.sdk.NativeOpenSL):11:11 -> access$setNativeBridge$p 1:4:boolean startToRecord(int,int,int,java.lang.String):17:20 -> startToRecord 1:1:void stopRecording():28:28 -> stopRecording ai.neuvision.sdk.OpenSLRecorder$startToRecord$1 -> ai.neuvision.sdk.OpenSLRecorder$a: ai.neuvision.sdk.OpenSLRecorder this$0 -> a int $channels -> d int $sampleRate -> b int $period -> c java.lang.String $path -> e 1:1:void run():21:21 -> run ai.neuvision.sdk.OpusJavaUtils -> ai.neuvision.sdk.OpusJavaUtils: 1:1:void ():14:14 -> 1:1:void ():10:10 -> ai.neuvision.sdk.OpusUtils -> ai.neuvision.sdk.OpusUtils: 1:4:void ():9:12 -> 1:1:void ():9:9 -> ai.neuvision.sdk.PlayTask -> ai.neuvision.sdk.PlayTask: java.lang.String opusAudioPath -> i java.io.FileOutputStream pcmOS -> f boolean isPCM -> j java.io.BufferedOutputStream pcmBOS -> g ai.neuvision.sdk.PlayTask$OnOpusPlayListener onOpusPlayListener -> h android.media.AudioTrack audioTrack -> e int bufferSize -> c android.media.AudioAttributes audioAttributes -> a android.media.AudioFormat audioFormat -> b boolean isPlay -> d 1:35:void (android.media.AudioManager,java.lang.String,java.lang.String,boolean):15:49 -> 36:36:void (android.media.AudioManager,java.lang.String,java.lang.String,boolean,int,kotlin.jvm.internal.DefaultConstructorMarker):15:15 -> 1:1:android.media.AudioTrack access$getAudioTrack$p(ai.neuvision.sdk.PlayTask):15:15 -> access$getAudioTrack$p 1:1:int access$getBufferSize$p(ai.neuvision.sdk.PlayTask):15:15 -> access$getBufferSize$p 1:1:boolean access$isPlay$p(ai.neuvision.sdk.PlayTask):15:15 -> access$isPlay$p 1:1:void access$setAudioTrack$p(ai.neuvision.sdk.PlayTask,android.media.AudioTrack):15:15 -> access$setAudioTrack$p 1:1:void access$setPlay$p(ai.neuvision.sdk.PlayTask,boolean):15:15 -> access$setPlay$p 1:1:short[] byteArrayToShortArray(byte[]):15:15 -> byteArrayToShortArray 1:1:void cancelDecode():15:15 -> cancelDecode 1:1:void decodeOpusFile(java.lang.String,boolean):15:15 -> decodeOpusFile 1:1:ai.neuvision.sdk.PlayTask$OnOpusPlayListener getOnOpusPlayListener():28:28 -> getOnOpusPlayListener 1:3:void opusDecode(short[]):113:115 -> opusDecode 1:1:void opusDecodeFinish():15:15 -> opusDecodeFinish 1:20:void playPcmFromFile(java.io.InputStream):55:74 -> playPcmFromFile 1:1:void readFile(java.lang.String,boolean):15:15 -> readFile 1:11:void run():79:89 -> run 1:1:void setOnOpusPlayListener(ai.neuvision.sdk.PlayTask$OnOpusPlayListener):28:28 -> setOnOpusPlayListener 1:12:void stop():95:106 -> stop ai.neuvision.sdk.PlayTask$playPcmFromFile$1 -> ai.neuvision.sdk.PlayTask$a: java.io.InputStream $inputStream -> b ai.neuvision.sdk.PlayTask this$0 -> a 1:17:void run():56:72 -> run ai.neuvision.sdk.RecorderTask -> ai.neuvision.sdk.RecorderTask: int buffSize -> f android.media.AudioRecord audioRecord -> b boolean isRecord -> a byte[] audioBuffer -> c java.lang.String pcmPath -> e java.lang.String opusPath -> d 1:1:void ():23:23 -> 1:17:void (java.lang.String,java.lang.String):16:32 -> 1:41:void run():42:82 -> run 1:1:void stop():37:37 -> stop ai.neuvision.sdk.RecorderTask$Companion -> ai.neuvision.sdk.RecorderTask$Companion: 1:1:void ():18:18 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):18:18 -> ai.neuvision.sdk.RtcCalledReceiver -> ai.neuvision.sdk.RtcCalledReceiver: 1:1:void ():15:15 -> ai.neuvision.sdk.SpeexUtils -> ai.neuvision.sdk.SpeexUtils: java.util.concurrent.ExecutorService executor -> a 1:4:void ():11:14 -> 1:1:void decode(java.lang.String,java.lang.String):23:23 -> decode 1:1:void encode(java.lang.String,java.lang.String):17:17 -> encode ai.neuvision.sdk.SpeexUtils$decode$1 -> ai.neuvision.sdk.SpeexUtils$a: ai.neuvision.sdk.SpeexUtils$decode$1 INSTANCE -> a ai.neuvision.sdk.SpeexUtils$encode$1 -> ai.neuvision.sdk.SpeexUtils$b: ai.neuvision.sdk.SpeexUtils$encode$1 INSTANCE -> a ai.neuvision.sdk.Utils -> ai.neuvision.sdk.Utils: 1:1:void ():7:7 -> 1:1:void ():7:7 -> 1:2:short[] byteArray2shortArray(byte[]):11:12 -> byteArray2shortArray 1:5:byte[] shortArray2ByteArray(short[]):17:21 -> shortArray2ByteArray ai.neuvision.sdk.api.NeuApi -> ai.neuvision.sdk.api.NeuApi: 1:1:void ():52:52 -> 1:1:void access$000(android.app.Application,boolean):52:52 -> access$000 1:1:com.neuvision.account.interf.ILogin account():183:183 -> account 1:3:void bindBackgroundServer(android.app.Application,boolean):143:143 -> bindBackgroundServer 5:13:void bindBackgroundServer(android.app.Application,boolean):145:153 -> bindBackgroundServer 1:1:com.neuvision.build.IBuild build():237:237 -> build 1:2:boolean checkApplicationAndProcess(android.app.Application):162:163 -> checkApplicationAndProcess 3:3:boolean checkApplicationAndProcess(android.app.Application):159:159 -> checkApplicationAndProcess 1:1:ai.neuvision.sdk.config.interf.IConfig config():192:192 -> config 1:2:void handleException(java.lang.Throwable):281:282 -> handleException 1:2:void init(android.app.Application):54:55 -> init 1:1:boolean isSupportVideo():210:210 -> isSupportVideo 1:2:void lambda$bindBackgroundServer$0():147:148 -> lambda$bindBackgroundServer$0 1:1:ai.neuvision.kit.live.ILive live():246:246 -> live 1:1:ai.neuvision.sdk.log.ILog log():228:228 -> log 1:1:ai.neuvision.kit.message.interf.IMessage message():201:201 -> message 1:26:void onApplicationCreate(android.app.Application):64:89 -> onApplicationCreate 1:1:com.neuvision.push3.NeuPush3 push3():219:219 -> push3 1:1:void registerRequestNameListener(ai.neuvision.kit.IRequestName):268:268 -> registerRequestNameListener 1:1:void registerSessionState(ai.neuvision.kit.session.interf.ISessionState):255:255 -> registerSessionState 1:2:ai.neuvision.kit.session.interf.ISessionOp session():173:174 -> session 1:1:void unRegisterRequestNameListener():272:272 -> unRegisterRequestNameListener 1:1:void unRegisterSessionState(ai.neuvision.kit.session.interf.ISessionState):264:264 -> unRegisterSessionState ai.neuvision.sdk.api.NeuApi$1 -> ai.neuvision.sdk.api.NeuApi$a: android.app.Application val$application -> a 1:1:void (android.app.Application):68:68 -> 1:3:void onFirstActivityCreate():71:73 -> onFirstActivityCreate ai.neuvision.sdk.api.NeuVideoView -> ai.neuvision.sdk.api.NeuVideoView: 1:8:void (android.content.Context,android.util.AttributeSet,int,int):41:48 -> 9:9:void (android.content.Context):56:56 -> 10:10:void (android.content.Context,android.util.AttributeSet):57:57 -> 11:11:void (android.content.Context,android.util.AttributeSet,int):58:58 -> 1:1:void access$setMActivity$p(ai.neuvision.sdk.api.NeuVideoView,java.lang.ref.WeakReference):36:36 -> access$getMActivity$p 1:1:java.lang.ref.WeakReference access$getMActivity$p(ai.neuvision.sdk.api.NeuVideoView):36 -> access$getMActivity$p 1:1:void access$setMActivity$p(ai.neuvision.sdk.api.NeuVideoView,java.lang.ref.WeakReference):36:36 -> access$setMActivity$p 1:4:void closeCamera():181:184 -> closeCamera 1:2:void detachFromCapture():122:123 -> detachFromCapture 1:2:void detachFromSessionIn():127:128 -> detachFromSessionIn 1:3:void displaySelfVideo(android.app.Activity,ai.neuvision.sdk.constants.CameraStatus$Facing):75:77 -> displaySelfVideo 1:1:void displaySelfVideo$default(ai.neuvision.sdk.api.NeuVideoView,android.app.Activity,ai.neuvision.sdk.constants.CameraStatus$Facing,int,java.lang.Object):73:73 -> displaySelfVideo$default 2:2:void displaySelfVideo$default(ai.neuvision.sdk.api.NeuVideoView,android.app.Activity,ai.neuvision.sdk.constants.CameraStatus$Facing,int,java.lang.Object):0:0 -> displaySelfVideo$default 1:31:void displayVideo(android.app.Activity,long):88:118 -> displayVideo 32:32:void displayVideo(android.app.Activity,long):87:87 -> displayVideo 1:1:android.app.Activity getActivity():305:305 -> getActivity 1:1:boolean getEnableSpecifiedRotationDegree():50:50 -> getEnableSpecifiedRotationDegree 1:15:int getNeedRotateAngle():390:404 -> getNeedRotateAngle 1:1:int getRotation(android.app.Activity):269:269 -> getRotation 1:3:float[] getXCoordinates(int,float,float,float,float,int):422:424 -> getXCoordinates 1:3:float[] getYCoordinates(int,float,float,float,float,int):436:438 -> getYCoordinates 1:1:boolean isCameraOn():210:210 -> isCameraOn 1:5:void onAttachedToWindow():146:150 -> onAttachedToWindow 1:6:void onDetachedFromWindow():155:160 -> onDetachedFromWindow 1:1:void onDisplay(long):471:471 -> onDisplay 1:8:void onFormatChanged(android.media.MediaFormat,long):273:280 -> onFormatChanged 9:17:void onFormatChanged(android.media.MediaFormat,long):276:284 -> onFormatChanged 1:5:void onLayout(boolean,int,int,int,int):295:299 -> onLayout 1:4:void onMeasure(int,int):241:244 -> onMeasure 5:5:void onMeasure(int,int):242:242 -> onMeasure 1:2:void onOrientationChange(int):289:290 -> onOrientationChange 1:10:void onPeerOrientationChanged(int,int,boolean):253:262 -> onPeerOrientationChanged 1:5:void onSurfaceTextureSizeChanged(android.graphics.SurfaceTexture,int,int):450:454 -> onSurfaceTextureSizeChanged 1:5:void openCameraAndCapture():165:169 -> openCameraAndCapture 6:12:void openCameraAndCapture():166:172 -> openCameraAndCapture 1:8:void setCameraStatus(boolean):193:200 -> setCameraStatus 1:2:void setEnableSpecifiedRotationDegree(boolean):52:53 -> setEnableSpecifiedRotationDegree 1:4:void setVisibility(int):463:466 -> setVisibility 1:1:boolean showedSelfVideo():213:213 -> showedSelfVideo 1:5:boolean switchCamera():233:237 -> switchCamera 1:1:void updateTexture():132:132 -> updateTexture 1:2:void updateTransform(int,int):225:226 -> updateTransform 1:57:void updateVideo(ai.neuvision.kit.video.YCKVideoSessionIn):310:366 -> updateVideo 58:102:void updateVideo(ai.neuvision.kit.video.YCKVideoSessionIn):341:385 -> updateVideo ai.neuvision.sdk.api.NeuVideoView$mVideoEngine$2 -> ai.neuvision.sdk.api.NeuVideoView$a: ai.neuvision.sdk.api.NeuVideoView$mVideoEngine$2 INSTANCE -> a 1:1:ai.neuvision.kit.video.VideoEngine invoke():44:44 -> invoke 1:1:java.lang.Object invoke():36 -> invoke ai.neuvision.sdk.collections.CyclicArray -> ai.neuvision.sdk.collections.CyclicArray: java.lang.Object[] mTheList -> a int mHead -> d int mTail -> e int mCapacity -> b int mSize -> c 1:1:void ():19:19 -> 2:2:void (int):22:22 -> 3:16:void (int):10:23 -> 1:1:void ensureCapacity(int):27:27 -> a 2:35:void ensureCapacity(int,boolean):31:64 -> a 1:6:void clear():293:298 -> clear 1:1:java.lang.Object clone():9:9 -> clone 2:9:ai.neuvision.sdk.collections.CyclicArray clone():422:429 -> clone 1:9:boolean contains(java.lang.Object):332:340 -> contains 1:8:void dump():382:389 -> dump 1:7:void fillData(java.lang.Object[]):316:322 -> fillData 8:8:void ensureCapacity(int):27:27 -> fillData 8:8:void fillData(java.lang.Object[]):322 -> fillData 9:10:void fillData(java.lang.Object[]):323:324 -> fillData 11:11:void fillData(java.lang.Object[]):313:313 -> fillData 1:1:java.lang.Object get():125:125 -> get 1:8:java.lang.Object getAt(int):208:215 -> getAt 9:9:java.lang.Object getAt(int):209:209 -> getAt 1:5:java.lang.Object getFirst():131:135 -> getFirst 6:6:java.lang.Object getFirst():132:132 -> getFirst 1:8:java.lang.Object getLast():141:148 -> getLast 9:9:java.lang.Object getLast():142:142 -> getLast 1:1:boolean isEmpty():287:287 -> isEmpty 1:1:java.lang.Object pop():158:158 -> pop 1:12:java.lang.Object popFirst():164:175 -> popFirst 13:13:java.lang.Object popFirst():165:165 -> popFirst 1:13:java.lang.Object popLast():186:198 -> popLast 14:14:java.lang.Object popLast():187:187 -> popLast 1:1:void put(java.lang.Object):78:78 -> put 1:1:void putFirst(java.lang.Object):84:84 -> putFirst 2:2:void ensureCapacity(int):27:27 -> putFirst 2:2:void putFirst(java.lang.Object):85 -> putFirst 3:10:void putFirst(java.lang.Object):88:95 -> putFirst 1:1:void putLast(java.lang.Object):103:103 -> putLast 2:2:void ensureCapacity(int):27:27 -> putLast 2:2:void putLast(java.lang.Object):104 -> putLast 3:9:void putLast(java.lang.Object):107:113 -> putLast 10:16:void putLast(java.lang.Object[]):461:467 -> putLast 17:17:void ensureCapacity(int):27:27 -> putLast 17:17:void putLast(java.lang.Object[]):467 -> putLast 18:24:void putLast(java.lang.Object[]):471:477 -> putLast 25:25:void putLast(java.lang.Object[]):462:462 -> putLast 1:34:java.lang.Object removeAt(int):242:275 -> removeAt 35:35:java.lang.Object removeAt(int):250:250 -> removeAt 1:1:void ensureCapacity(int):27:27 -> reserve 1:1:void reserve(int):304 -> reserve 1:11:java.lang.Object setAt(int,java.lang.Object):222:232 -> setAt 12:12:java.lang.Object setAt(int,java.lang.Object):223:223 -> setAt 1:1:void shrink():308:308 -> shrink 1:1:int size():283:283 -> size 1:21:void swap(ai.neuvision.sdk.collections.CyclicArray):436:456 -> swap 22:23:void swap(ai.neuvision.sdk.collections.CyclicArray):455:456 -> swap 1:22:java.lang.Object[] toArray(java.lang.Object[]):393:414 -> toArray 23:23:java.lang.Object[] toArray(java.lang.Object[]):394:394 -> toArray ai.neuvision.sdk.collections.CyclicQueue -> ai.neuvision.sdk.collections.CyclicQueue: java.lang.Object[] mTheList -> a int mHead -> d int mTail -> e int mCapacity -> b int mSize -> c 1:1:void ():19:19 -> 2:2:void (int):22:22 -> 3:16:void (int):10:23 -> 1:1:void ensureCapacity(int):27:27 -> a 2:35:void ensureCapacity(int,boolean):31:64 -> a 1:6:void clear():290:295 -> clear 1:1:java.lang.Object clone():9:9 -> clone 2:9:ai.neuvision.sdk.collections.CyclicQueue clone():419:426 -> clone 1:9:boolean contains(java.lang.Object):329:337 -> contains 1:8:void dump():379:386 -> dump 1:7:void fillData(java.lang.Object[]):313:319 -> fillData 8:8:void ensureCapacity(int):27:27 -> fillData 8:8:void fillData(java.lang.Object[]):319 -> fillData 9:10:void fillData(java.lang.Object[]):320:321 -> fillData 11:11:void fillData(java.lang.Object[]):310:310 -> fillData 1:1:java.lang.Object get():123:123 -> get 1:8:java.lang.Object getAt(int):205:212 -> getAt 9:9:java.lang.Object getAt(int):206:206 -> getAt 1:5:java.lang.Object getFirst():129:133 -> getFirst 6:6:java.lang.Object getFirst():130:130 -> getFirst 1:8:java.lang.Object getLast():139:146 -> getLast 9:9:java.lang.Object getLast():140:140 -> getLast 1:1:boolean isEmpty():284:284 -> isEmpty 1:1:java.lang.Object pop():155:155 -> pop 1:12:java.lang.Object popFirst():161:172 -> popFirst 13:13:java.lang.Object popFirst():162:162 -> popFirst 1:13:java.lang.Object popLast():183:195 -> popLast 14:14:java.lang.Object popLast():184:184 -> popLast 1:1:void put(java.lang.Object):77:77 -> put 1:7:void putAfter(int,java.lang.Object[]):521:527 -> putAfter 8:8:void ensureCapacity(int):27:27 -> putAfter 8:8:void putAfter(int,java.lang.Object[]):527 -> putAfter 9:36:void putAfter(int,java.lang.Object[]):531:558 -> putAfter 37:37:void putAfter(int,java.lang.Object[]):522:522 -> putAfter 1:7:void putBefore(int,java.lang.Object[]):480:486 -> putBefore 8:8:void ensureCapacity(int):27:27 -> putBefore 8:8:void putBefore(int,java.lang.Object[]):486 -> putBefore 9:36:void putBefore(int,java.lang.Object[]):490:517 -> putBefore 37:37:void putBefore(int,java.lang.Object[]):481:481 -> putBefore 1:1:void putFirst(java.lang.Object):83:83 -> putFirst 2:2:void ensureCapacity(int):27:27 -> putFirst 2:2:void putFirst(java.lang.Object):84 -> putFirst 3:10:void putFirst(java.lang.Object):87:94 -> putFirst 1:1:void putLast(java.lang.Object):102:102 -> putLast 2:2:void ensureCapacity(int):27:27 -> putLast 2:2:void putLast(java.lang.Object):103 -> putLast 3:9:void putLast(java.lang.Object):106:112 -> putLast 10:16:void putLast(java.lang.Object[]):458:464 -> putLast 17:17:void ensureCapacity(int):27:27 -> putLast 17:17:void putLast(java.lang.Object[]):464 -> putLast 18:24:void putLast(java.lang.Object[]):468:474 -> putLast 25:25:void putLast(java.lang.Object[]):459:459 -> putLast 1:34:java.lang.Object removeAt(int):239:272 -> removeAt 35:35:java.lang.Object removeAt(int):247:247 -> removeAt 1:1:void ensureCapacity(int):27:27 -> reserve 1:1:void reserve(int):301 -> reserve 1:11:java.lang.Object setAt(int,java.lang.Object):219:229 -> setAt 12:12:java.lang.Object setAt(int,java.lang.Object):220:220 -> setAt 1:1:void shrink():305:305 -> shrink 1:1:int size():280:280 -> size 1:21:void swap(ai.neuvision.sdk.collections.CyclicQueue):433:453 -> swap 22:23:void swap(ai.neuvision.sdk.collections.CyclicQueue):452:453 -> swap 1:22:java.lang.Object[] toArray(java.lang.Object[]):390:411 -> toArray 23:23:java.lang.Object[] toArray(java.lang.Object[]):391:391 -> toArray ai.neuvision.sdk.collections.GapList -> ai.neuvision.sdk.collections.GapList: 1:32:void ():54:85 -> 1:9:void (boolean,ai.neuvision.sdk.collections.GapList):345:353 -> 10:11:void ():360:361 -> 12:13:void (int):369:370 -> 14:15:void (java.util.Collection):379:380 -> 16:17:void (java.lang.Object[]):389:390 -> 1:1:ai.neuvision.sdk.collections.GapList EMPTY():92:92 -> EMPTY 1:1:boolean add(java.lang.Object):657:657 -> add 2:3:void add(int,java.lang.Object):666:667 -> add 1:2:boolean addAll(java.util.Collection):1467:1468 -> addAll 3:10:boolean addAll(int,java.util.Collection):1488:1495 -> addAll 11:11:boolean addAll(java.lang.Object[]):1505:1505 -> addAll 12:14:boolean addAll(int,java.lang.Object[]):1521:1523 -> addAll 15:15:boolean addAll(ai.neuvision.sdk.collections.GapList):1535:1535 -> addAll 16:18:boolean addAll(int,ai.neuvision.sdk.collections.GapList):1553:1555 -> addAll 1:1:void addFirst(java.lang.Object):1667:1667 -> addFirst 1:1:void addLast(java.lang.Object):1673:1673 -> addLast 1:1:int binarySearch(java.lang.Object,java.util.Comparator):2367:2367 -> binarySearch 2:5:int binarySearch(int,int,java.lang.Object,java.util.Comparator):2393:2396 -> binarySearch 1:1:int capacity():560:560 -> capacity 1:2:void checkIndex(int):2408:2409 -> checkIndex 1:2:void checkIndexAdd(int):2420:2421 -> checkIndexAdd 1:1:void checkLength(int):2446:2446 -> checkLength 1:2:void checkRange(int,int):2433:2434 -> checkRange 1:1:void clear():544:544 -> clear 1:8:java.lang.Object clone():486:493 -> clone 1:1:boolean contains(java.lang.Object):1293:1293 -> contains 1:2:boolean containsAll(java.util.Collection):1318:1319 -> containsAll 1:2:boolean containsAny(java.util.Collection):1306:1307 -> containsAny 1:1:ai.neuvision.sdk.collections.GapList copy():457:457 -> copy 2:10:void copy(ai.neuvision.sdk.collections.GapList,int,ai.neuvision.sdk.collections.GapList,int,int):1859:1867 -> copy 11:20:void copy(int,int,int):2116:2125 -> copy 1:1:ai.neuvision.sdk.collections.GapList create():200:200 -> create 2:2:ai.neuvision.sdk.collections.GapList create(int):211:211 -> create 3:3:ai.neuvision.sdk.collections.GapList create(java.util.Collection):222:222 -> create 4:4:ai.neuvision.sdk.collections.GapList create(java.lang.Object[]):233:233 -> create 1:36:void debugCheck():2458:2493 -> debugCheck 1:4:void debugDump():2563:2566 -> debugDump 1:10:java.lang.String debugPrint(java.lang.Object[]):2576:2585 -> debugPrint 1:50:int debugState():2505:2554 -> debugState 1:1:java.util.Iterator descendingIterator():1601:1601 -> descendingIterator 1:111:boolean doAdd(int,java.lang.Object):681:791 -> doAdd 112:166:boolean doAdd(int,java.lang.Object):790:844 -> doAdd 1:7:boolean doAddAll(int,java.lang.Object[]):1568:1574 -> doAddAll 1:26:void doEnsureCapacity(int):1125:1150 -> doEnsureCapacity 1:11:java.lang.Object doGet(int):588:598 -> doGet 1:8:void doGetAll(java.lang.Object[],int,int):1442:1449 -> doGetAll 1:5:java.lang.Object doReSet(int,java.lang.Object):636:640 -> doReSet 1:122:java.lang.Object doRemove(int):970:1091 -> doRemove 1:6:void doRemoveAll(int,int):2022:2027 -> doRemoveAll 1:5:java.lang.Object doSet(int,java.lang.Object):618:622 -> doSet 1:2:void doSetAll(int,java.lang.Object[]):1998:1999 -> doSetAll 1:4:java.lang.Object element():1617:1620 -> element 5:5:java.lang.Object element():1618:1618 -> element 1:3:void ensureCapacity(int):1111:1113 -> ensureCapacity 1:11:boolean equals(java.lang.Object):1176:1186 -> equals 1:1:boolean equalsElem(java.lang.Object,java.lang.Object):1238:1238 -> equalsElem 1:3:void fill(java.lang.Object):2085:2087 -> fill 4:7:void fill(int,int,java.lang.Object):2100:2103 -> fill 1:4:java.lang.Object get(int):573:576 -> get 5:5:java.lang.Object get(int):574:574 -> get 1:5:ai.neuvision.sdk.collections.GapList getAll(int,int):1914:1918 -> getAll 1:6:java.lang.Object[] getArray(int,int):1931:1936 -> getArray 1:4:java.lang.Object getFirst():1650:1653 -> getFirst 5:5:java.lang.Object getFirst():1651:1651 -> getFirst 1:5:java.lang.Object getLast():1658:1662 -> getLast 6:6:java.lang.Object getLast():1660:1660 -> getLast 1:4:int hashCode():1196:1199 -> hashCode 1:1:int hashCodeElem(java.lang.Object):1256:1256 -> hashCodeElem 1:3:int indexOf(java.lang.Object):1262:1264 -> indexOf 1:1:void init():398:398 -> init 2:2:void init(int):407:407 -> init 3:4:void init(java.util.Collection):417:418 -> init 5:6:void init(java.lang.Object[]):428:429 -> init 7:14:void init(java.lang.Object[],int):530:537 -> init 15:27:void init(int,java.lang.Object):2041:2053 -> init 1:1:void initClone(ai.neuvision.sdk.collections.GapList):506:506 -> initClone 1:1:boolean isEmpty():1221:1221 -> isEmpty 1:1:java.util.Iterator iterator():1586:1586 -> iterator 1:2:int lastIndexOf(java.lang.Object):1273:1274 -> lastIndexOf 1:1:java.util.ListIterator listIterator():1591:1591 -> listIterator 2:2:java.util.ListIterator listIterator(int):1596:1596 -> listIterator 1:9:void move(ai.neuvision.sdk.collections.GapList,int,ai.neuvision.sdk.collections.GapList,int,int):1833:1841 -> move 10:30:void move(int,int,int):2140:2160 -> move 1:17:void moveData(int,int,int):920:936 -> moveData 1:34:void moveGap(int,int,int):866:899 -> moveGap 35:36:void moveGap(int,int,int):895:896 -> moveGap 1:4:void normalize():516:519 -> normalize 1:1:boolean offer(java.lang.Object):1643:1643 -> offer 1:1:boolean offerFirst(java.lang.Object):1696:1696 -> offerFirst 1:1:boolean offerLast(java.lang.Object):1703:1703 -> offerLast 1:4:java.lang.Object peek():1608:1611 -> peek 1:4:java.lang.Object peekFirst():1709:1712 -> peekFirst 1:5:java.lang.Object peekLast():1717:1721 -> peekLast 1:6:int physIndex(int):243:248 -> physIndex 7:75:int[] physIndex(int,int):262:330 -> physIndex 1:4:java.lang.Object poll():1625:1628 -> poll 1:4:java.lang.Object pollFirst():1726:1729 -> pollFirst 1:5:java.lang.Object pollLast():1734:1738 -> pollLast 1:4:java.lang.Object pop():1744:1747 -> pop 5:5:java.lang.Object pop():1745:1745 -> pop 1:1:void push(java.lang.Object):1754:1754 -> push 1:6:void readObject(java.io.ObjectInputStream):1809:1814 -> readObject 1:7:java.lang.Object remove(int):949:955 -> remove 8:12:boolean remove(java.lang.Object):1283:1287 -> remove 13:16:java.lang.Object remove():1634:1637 -> remove 17:17:java.lang.Object remove():1635:1635 -> remove 18:20:void remove(int,int):2010:2012 -> remove 1:4:boolean removeAll(java.util.Collection):1331:1334 -> removeAll 5:8:boolean removeAll(ai.neuvision.sdk.collections.GapList):1350:1353 -> removeAll 1:4:java.lang.Object removeFirst():1678:1681 -> removeFirst 5:5:java.lang.Object removeFirst():1679:1679 -> removeFirst 1:5:boolean removeFirstOccurrence(java.lang.Object):1759:1763 -> removeFirstOccurrence 1:5:java.lang.Object removeLast():1686:1690 -> removeLast 6:6:java.lang.Object removeLast():1688:1688 -> removeLast 1:5:boolean removeLastOccurrence(java.lang.Object):1769:1773 -> removeLastOccurrence 1:11:void resize(int,java.lang.Object):2065:2075 -> resize 1:4:boolean retainAll(java.util.Collection):1367:1370 -> retainAll 5:8:boolean retainAll(ai.neuvision.sdk.collections.GapList):1386:1389 -> retainAll 1:1:void reverse():2168:2168 -> reverse 2:10:void reverse(int,int):2178:2186 -> reverse 1:1:void rotate(int):2225:2225 -> rotate 2:22:void rotate(int,int,int):2240:2260 -> rotate 1:3:java.lang.Object set(int,java.lang.Object):603:605 -> set 1:5:void setAll(int,ai.neuvision.sdk.collections.GapList):1952:1956 -> setAll 6:13:void setAll(int,java.util.Collection):1967:1974 -> setAll 14:16:void setAll(int,java.lang.Object[]):1986:1988 -> setAll 1:1:int size():549:549 -> size 1:1:void sort(java.util.Comparator):2275:2275 -> sort 2:5:void sort(int,int,java.util.Comparator):2289:2292 -> sort 1:11:void swap(ai.neuvision.sdk.collections.GapList,int,ai.neuvision.sdk.collections.GapList,int,int):1885:1895 -> swap 12:22:void swap(int,int,int):2201:2211 -> swap 1:4:java.lang.Object[] toArray(java.util.Collection):439:442 -> toArray 5:7:java.lang.Object[] toArray():1400:1402 -> toArray 8:9:java.lang.Object[] toArray(int,int):1414:1415 -> toArray 10:16:java.lang.Object[] toArray(java.lang.Object[]):1422:1428 -> toArray 1:11:java.lang.String toString():1206:1216 -> toString 1:4:void trimToSize():1164:1167 -> trimToSize 1:1:ai.neuvision.sdk.collections.GapList unmodifiableList():471:471 -> unmodifiableList 1:6:void writeObject(java.io.ObjectOutputStream):1790:1795 -> writeObject ai.neuvision.sdk.collections.GapList$ImmutableGapList -> ai.neuvision.sdk.collections.GapList$ImmutableGapList: 1:1:void (ai.neuvision.sdk.collections.GapList):112:112 -> 1:1:boolean doAdd(int,java.lang.Object):117:117 -> doAdd 1:1:boolean doAddAll(int,java.lang.Object[]):123:123 -> doAddAll 1:1:void doModify():157:157 -> doModify 1:1:java.lang.Object doReSet(int,java.lang.Object):140:140 -> doReSet 1:1:java.lang.Object doRemove(int):146:146 -> doRemove 1:1:void doRemoveAll(int,int):152:152 -> doRemoveAll 1:1:java.lang.Object doSet(int,java.lang.Object):129:129 -> doSet 1:1:void doSetAll(int,java.lang.Object[]):135:135 -> doSetAll 1:1:void error():164:164 -> error ai.neuvision.sdk.collections.GapList$Iter -> ai.neuvision.sdk.collections.GapList$a: ai.neuvision.sdk.collections.GapList this$0 -> d boolean forward -> a int index -> b int remove -> c 1:9:void (ai.neuvision.sdk.collections.GapList,boolean):2617:2625 -> 1:4:boolean hasNext():2630:2633 -> hasNext 1:15:java.lang.Object next():2639:2653 -> next 16:16:java.lang.Object next():2645:2645 -> next 1:8:void remove():2660:2667 -> remove 9:9:void remove():2661:2661 -> remove ai.neuvision.sdk.collections.GapList$ListIter -> ai.neuvision.sdk.collections.GapList$b: ai.neuvision.sdk.collections.GapList this$0 -> c int remove -> b int index -> a 1:4:void (ai.neuvision.sdk.collections.GapList,int):2689:2692 -> 1:3:void add(java.lang.Object):2759:2761 -> add 1:1:boolean hasNext():2697:2697 -> hasNext 1:1:boolean hasPrevious():2702:2702 -> hasPrevious 1:6:java.lang.Object next():2707:2712 -> next 7:7:java.lang.Object next():2708:2708 -> next 1:1:int nextIndex():2718:2718 -> nextIndex 1:6:java.lang.Object previous():2723:2728 -> previous 7:7:java.lang.Object previous():2724:2724 -> previous 1:1:int previousIndex():2734:2734 -> previousIndex 1:8:void remove():2739:2746 -> remove 9:9:void remove():2740:2740 -> remove 1:4:void set(java.lang.Object):2751:2754 -> set 5:5:void set(java.lang.Object):2752:2752 -> set ai.neuvision.sdk.config.Config -> ai.neuvision.sdk.config.Config: 1:1:void ():17:17 -> 1:1:ai.neuvision.sdk.config.entries.ConfigEntry getConfig():25:25 -> getConfig 1:1:boolean uploadExtendInfo(org.json.JSONObject):20:20 -> uploadExtendInfo ai.neuvision.sdk.config.entries.CallPackageConfigsItem -> ai.neuvision.sdk.config.entries.CallPackageConfigsItem: int packageUnitPrice -> f int balanceSeconds -> d int callType -> e int billingCycle -> b boolean autoRenew -> c int singlePackageSize -> a 1:1:void ():5:5 -> 1:1:int getBalanceSeconds():54:54 -> getBalanceSeconds 1:1:int getBillingCycle():38:38 -> getBillingCycle 1:1:int getCallType():62:62 -> getCallType 1:1:int getPackageUnitPrice():70:70 -> getPackageUnitPrice 1:1:int getSinglePackageSize():30:30 -> getSinglePackageSize 1:1:boolean isAutoRenew():46:46 -> isAutoRenew 1:1:void setAutoRenew(boolean):42:42 -> setAutoRenew 1:1:void setBalanceSeconds(int):50:50 -> setBalanceSeconds 1:1:void setBillingCycle(int):34:34 -> setBillingCycle 1:1:void setCallType(int):58:58 -> setCallType 1:1:void setPackageUnitPrice(int):66:66 -> setPackageUnitPrice 1:1:void setSinglePackageSize(int):26:26 -> setSinglePackageSize 1:1:java.lang.String toString():75:75 -> toString ai.neuvision.sdk.config.entries.ConfigEntry -> ai.neuvision.sdk.config.entries.ConfigEntry: 1:1:void ():9:9 -> 1:1:java.lang.String getAppId():44:44 -> getAppId 1:1:int getCallOutAndIn():52:52 -> getCallOutAndIn 1:1:java.util.List getCallPackageConfigs():28:28 -> getCallPackageConfigs 1:1:int[] getCallTypes():36:36 -> getCallTypes 1:1:void setAppId(java.lang.String):40:40 -> setAppId 1:1:void setCallOutAndIn(int):48:48 -> setCallOutAndIn 1:1:void setCallPackageConfigs(java.util.List):24:24 -> setCallPackageConfigs 1:1:void setCallTypes(int[]):32:32 -> setCallTypes 1:4:java.lang.String toString():57:60 -> toString ai.neuvision.sdk.config.http.HttpConfig -> ai.neuvision.sdk.config.http.HttpConfig: 1:1:void ():22:22 -> 1:12:ai.neuvision.sdk.config.entries.ConfigEntry httpGetConfig(java.lang.String):44:55 -> httpGetConfig 1:13:boolean httpUploadExtendInfo(java.lang.String,org.json.JSONObject):26:38 -> httpUploadExtendInfo ai.neuvision.sdk.config.http.HttpConfig$1 -> ai.neuvision.sdk.config.http.HttpConfig$a: 1:1:void ():36:36 -> ai.neuvision.sdk.config.http.HttpConfig$2 -> ai.neuvision.sdk.config.http.HttpConfig$b: 1:1:void ():52:52 -> ai.neuvision.sdk.console.ConsoleManager -> ai.neuvision.sdk.console.ConsoleManager: 1:1:void ():12:12 -> 1:1:void showMonitor(android.view.View,long):15:15 -> showMonitor 1:1:void showSettings(android.view.View):19:19 -> showSettings ai.neuvision.sdk.console.ConsoleView -> ai.neuvision.sdk.console.ConsoleView: float offsetY -> f float offsetX -> e float oldY -> d float oldX -> c float lastY -> b android.view.View$OnTouchListener touchListener -> g float lastX -> a 1:1:void (android.content.Context):28:28 -> 2:2:void (android.content.Context,android.util.AttributeSet):32:32 -> 3:72:void (android.content.Context,android.util.AttributeSet,int):36:105 -> 73:73:void (android.content.Context,android.util.AttributeSet,int):37:37 -> 1:52:void initView():41:92 -> a 53:67:android.view.ViewGroup findSuitableParent(android.view.View):157:171 -> a 53:67:ai.neuvision.sdk.console.ConsoleView findView(android.view.View):182 -> a 68:85:ai.neuvision.sdk.console.ConsoleView findView(android.view.View):185:202 -> a 1:3:void removeSelf():96:98 -> b 1:3:void lambda$initView$0(android.view.View):53 -> b 1:18:void showMonitor(android.view.View,long):229:246 -> showMonitor 1:15:void showSetting(android.view.View):208:222 -> showSetting ai.neuvision.sdk.console.ConsoleView$1 -> ai.neuvision.sdk.console.ConsoleView$a: ai.neuvision.sdk.console.ConsoleView this$0 -> a 1:1:void (ai.neuvision.sdk.console.ConsoleView):105:105 -> 1:8:boolean onTouch(android.view.View,android.view.MotionEvent):108:115 -> onTouch 9:9:float ai.neuvision.sdk.console.ConsoleView.access$102(ai.neuvision.sdk.console.ConsoleView,float):26:26 -> onTouch 9:9:boolean onTouch(android.view.View,android.view.MotionEvent):115 -> onTouch 10:10:boolean onTouch(android.view.View,android.view.MotionEvent):116:116 -> onTouch 11:11:float ai.neuvision.sdk.console.ConsoleView.access$202(ai.neuvision.sdk.console.ConsoleView,float):26:26 -> onTouch 11:11:boolean onTouch(android.view.View,android.view.MotionEvent):116 -> onTouch 12:12:boolean onTouch(android.view.View,android.view.MotionEvent):117:117 -> onTouch 13:13:float ai.neuvision.sdk.console.ConsoleView.access$300(ai.neuvision.sdk.console.ConsoleView):26:26 -> onTouch 13:13:boolean onTouch(android.view.View,android.view.MotionEvent):117 -> onTouch 14:14:boolean onTouch(android.view.View,android.view.MotionEvent):118:118 -> onTouch 15:15:float ai.neuvision.sdk.console.ConsoleView.access$300(ai.neuvision.sdk.console.ConsoleView):26:26 -> onTouch 15:15:boolean onTouch(android.view.View,android.view.MotionEvent):118 -> onTouch 16:16:float ai.neuvision.sdk.console.ConsoleView.access$402(ai.neuvision.sdk.console.ConsoleView,float):26:26 -> onTouch 16:16:boolean onTouch(android.view.View,android.view.MotionEvent):118 -> onTouch 17:17:boolean onTouch(android.view.View,android.view.MotionEvent):120:120 -> onTouch 18:18:float ai.neuvision.sdk.console.ConsoleView.access$000(ai.neuvision.sdk.console.ConsoleView):26:26 -> onTouch 18:18:boolean onTouch(android.view.View,android.view.MotionEvent):120 -> onTouch 19:19:boolean onTouch(android.view.View,android.view.MotionEvent):121:121 -> onTouch 20:20:float ai.neuvision.sdk.console.ConsoleView.access$000(ai.neuvision.sdk.console.ConsoleView):26:26 -> onTouch 20:20:boolean onTouch(android.view.View,android.view.MotionEvent):121 -> onTouch 21:21:float ai.neuvision.sdk.console.ConsoleView.access$502(ai.neuvision.sdk.console.ConsoleView,float):26:26 -> onTouch 21:21:boolean onTouch(android.view.View,android.view.MotionEvent):121 -> onTouch 22:23:boolean onTouch(android.view.View,android.view.MotionEvent):123:124 -> onTouch 24:24:float ai.neuvision.sdk.console.ConsoleView.access$100(ai.neuvision.sdk.console.ConsoleView):26:26 -> onTouch 24:24:boolean onTouch(android.view.View,android.view.MotionEvent):124 -> onTouch 25:25:float ai.neuvision.sdk.console.ConsoleView.access$400(ai.neuvision.sdk.console.ConsoleView):26:26 -> onTouch 25:25:boolean onTouch(android.view.View,android.view.MotionEvent):124 -> onTouch 26:30:boolean onTouch(android.view.View,android.view.MotionEvent):125:129 -> onTouch 31:31:float ai.neuvision.sdk.console.ConsoleView.access$100(ai.neuvision.sdk.console.ConsoleView):26:26 -> onTouch 31:31:boolean onTouch(android.view.View,android.view.MotionEvent):129 -> onTouch 32:32:float ai.neuvision.sdk.console.ConsoleView.access$400(ai.neuvision.sdk.console.ConsoleView):26:26 -> onTouch 32:32:boolean onTouch(android.view.View,android.view.MotionEvent):129 -> onTouch 33:36:boolean onTouch(android.view.View,android.view.MotionEvent):129:132 -> onTouch 37:37:float ai.neuvision.sdk.console.ConsoleView.access$302(ai.neuvision.sdk.console.ConsoleView,float):26:26 -> onTouch 37:37:boolean onTouch(android.view.View,android.view.MotionEvent):132 -> onTouch 38:38:float ai.neuvision.sdk.console.ConsoleView.access$002(ai.neuvision.sdk.console.ConsoleView,float):26:26 -> onTouch 38:38:boolean onTouch(android.view.View,android.view.MotionEvent):133 -> onTouch 39:39:boolean onTouch(android.view.View,android.view.MotionEvent):135:135 -> onTouch 40:40:float ai.neuvision.sdk.console.ConsoleView.access$100(ai.neuvision.sdk.console.ConsoleView):26:26 -> onTouch 40:40:boolean onTouch(android.view.View,android.view.MotionEvent):135 -> onTouch 41:41:float ai.neuvision.sdk.console.ConsoleView.access$400(ai.neuvision.sdk.console.ConsoleView):26:26 -> onTouch 41:41:boolean onTouch(android.view.View,android.view.MotionEvent):135 -> onTouch 42:43:boolean onTouch(android.view.View,android.view.MotionEvent):135:136 -> onTouch 44:44:float ai.neuvision.sdk.console.ConsoleView.access$200(ai.neuvision.sdk.console.ConsoleView):26:26 -> onTouch 44:44:boolean onTouch(android.view.View,android.view.MotionEvent):136 -> onTouch 45:45:float ai.neuvision.sdk.console.ConsoleView.access$500(ai.neuvision.sdk.console.ConsoleView):26:26 -> onTouch 45:45:boolean onTouch(android.view.View,android.view.MotionEvent):136 -> onTouch 46:47:boolean onTouch(android.view.View,android.view.MotionEvent):136:137 -> onTouch 48:48:float ai.neuvision.sdk.console.ConsoleView.access$302(ai.neuvision.sdk.console.ConsoleView,float):26:26 -> onTouch 48:48:boolean onTouch(android.view.View,android.view.MotionEvent):137 -> onTouch 49:49:boolean onTouch(android.view.View,android.view.MotionEvent):138:138 -> onTouch 50:50:float ai.neuvision.sdk.console.ConsoleView.access$002(ai.neuvision.sdk.console.ConsoleView,float):26:26 -> onTouch 50:50:boolean onTouch(android.view.View,android.view.MotionEvent):138 -> onTouch 51:51:boolean onTouch(android.view.View,android.view.MotionEvent):110:110 -> onTouch 52:52:float ai.neuvision.sdk.console.ConsoleView.access$002(ai.neuvision.sdk.console.ConsoleView,float):26:26 -> onTouch 52:52:boolean onTouch(android.view.View,android.view.MotionEvent):110 -> onTouch 53:53:boolean onTouch(android.view.View,android.view.MotionEvent):111:111 -> onTouch 54:54:float ai.neuvision.sdk.console.ConsoleView.access$002(ai.neuvision.sdk.console.ConsoleView,float):26:26 -> onTouch 54:54:boolean onTouch(android.view.View,android.view.MotionEvent):111 -> onTouch ai.neuvision.sdk.console.MonitorView -> ai.neuvision.sdk.console.MonitorView: kotlin.Lazy mConsoleInfoCatcher$delegate -> b kotlin.Lazy mListView$delegate -> c long currentShowId -> d android.content.Context mContext -> e kotlin.Lazy mMonitorAdapter$delegate -> a 1:37:void (android.content.Context):23:59 -> 1:7:void initView():46:52 -> a 8:12:void initView():50:54 -> a 1:1:ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter access$getMMonitorAdapter$p(ai.neuvision.sdk.console.MonitorView):23:23 -> access$getMMonitorAdapter$p 1:3:void attachToParent(android.view.ViewGroup):116:118 -> attachToParent 1:1:android.content.Context getMContext():23:23 -> getMContext 1:1:void hide():88:88 -> hide 1:2:void onAttachedToWindow():69:70 -> onAttachedToWindow 1:2:void onDetachedFromWindow():74:75 -> onDetachedFromWindow 1:1:void onItemClick(android.widget.AdapterView,android.view.View,int,long):127:127 -> onItemClick 1:5:void setVisibility(int):79:83 -> setVisibility 1:3:void showMonitor(long):63:65 -> showMonitor 1:18:void toggle(android.os.Bundle):92:109 -> toggle ai.neuvision.sdk.console.MonitorView$mConsoleInfoCatcher$2 -> ai.neuvision.sdk.console.MonitorView$a: ai.neuvision.sdk.console.MonitorView this$0 -> a 1:1:ai.neuvision.sdk.console.monitor.ConsoleInfoCatcher invoke():32:32 -> invoke 1:1:java.lang.Object invoke():23 -> invoke ai.neuvision.sdk.console.MonitorView$mListView$2 -> ai.neuvision.sdk.console.MonitorView$b: ai.neuvision.sdk.console.MonitorView this$0 -> a 1:4:android.widget.ListView invoke():37:40 -> invoke 1:4:java.lang.Object invoke():23 -> invoke ai.neuvision.sdk.console.MonitorView$mMonitorAdapter$2 -> ai.neuvision.sdk.console.MonitorView$c: ai.neuvision.sdk.console.MonitorView this$0 -> a 1:1:ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter invoke():27:27 -> invoke 1:1:java.lang.Object invoke():23 -> invoke ai.neuvision.sdk.console.SettingsView -> ai.neuvision.sdk.console.SettingsView: android.widget.LinearLayout mMonitorHeader -> b android.widget.ListView mListView -> c ai.neuvision.sdk.console.setting.ConsoleSettingAdapter mSettingAdapter -> a 1:1:void (android.content.Context):33:33 -> 2:2:void (android.content.Context,android.util.AttributeSet):37:37 -> 3:4:void (android.content.Context,android.util.AttributeSet,int):41:42 -> 1:31:void addMonitorHeader():61:91 -> a 32:32:void lambda$addMonitorHeader$1(android.widget.TextView,android.view.View):66:66 -> a 33:33:kotlin.Unit lambda$null$0(android.widget.TextView,java.lang.Integer):67:67 -> a 1:12:void initView():46:57 -> b ai.neuvision.sdk.console.SettingsView$1 -> ai.neuvision.sdk.console.SettingsView$a: android.widget.TextView val$customModeView -> a android.widget.TextView val$modeSelectView -> b ai.neuvision.sdk.console.SettingsView this$0 -> c 1:1:void (ai.neuvision.sdk.console.SettingsView,android.widget.TextView,android.widget.TextView):76:76 -> 1:1:void onClick(android.view.View):79:79 -> onClick 2:2:ai.neuvision.sdk.console.setting.ConsoleSettingAdapter ai.neuvision.sdk.console.SettingsView.access$000(ai.neuvision.sdk.console.SettingsView):23:23 -> onClick 2:2:void onClick(android.view.View):79 -> onClick 3:4:void onClick(android.view.View):79:80 -> onClick 5:5:ai.neuvision.sdk.console.setting.ConsoleSettingAdapter ai.neuvision.sdk.console.SettingsView.access$000(ai.neuvision.sdk.console.SettingsView):23:23 -> onClick 5:5:void onClick(android.view.View):80 -> onClick 6:6:void onClick(android.view.View):80:80 -> onClick ai.neuvision.sdk.console.config.ConsoleConfig -> ai.neuvision.sdk.console.config.ConsoleConfig: 1:1:void ():19:19 -> 1:4:java.util.List allSettingsConfig():29:32 -> allSettingsConfig 5:15:java.util.List allSettingsConfig():31:41 -> allSettingsConfig 16:29:java.util.List allSettingsConfig():34:47 -> allSettingsConfig 30:30:java.util.List allSettingsConfig():46:46 -> allSettingsConfig 31:31:java.util.List allSettingsConfig():29:29 -> allSettingsConfig 1:1:java.util.List getCustomConfig():25:25 -> getCustomConfig 1:24:java.util.List monitorConfig():52:75 -> monitorConfig ai.neuvision.sdk.console.monitor.ConsoleInfoCatcher -> ai.neuvision.sdk.console.monitor.ConsoleInfoCatcher: kotlin.Lazy mWrapper$delegate -> b java.lang.Runnable catchInfoTask -> c ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter inAdapter -> e long currentShowUid -> a java.util.concurrent.ScheduledExecutorService scheduledExecutorService -> d 1:18:void (ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter):16:33 -> 1:1:long access$getCurrentShowUid$p(ai.neuvision.sdk.console.monitor.ConsoleInfoCatcher):16:16 -> access$getCurrentShowUid$p 1:1:ai.neuvision.sdk.console.monitor.ConsoleMonitorWrapper getMWrapper():0:0 -> access$getMWrapper$p 1:1:ai.neuvision.sdk.console.monitor.ConsoleMonitorWrapper access$getMWrapper$p(ai.neuvision.sdk.console.monitor.ConsoleInfoCatcher):16 -> access$getMWrapper$p 1:1:void access$setCurrentShowUid$p(ai.neuvision.sdk.console.monitor.ConsoleInfoCatcher,long):16:16 -> access$setCurrentShowUid$p 1:1:ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter getInAdapter():16:16 -> getInAdapter 1:1:void resetShowInfoUID(long):26:26 -> resetShowInfoUID 2:2:void restartSchedule():68:68 -> resetShowInfoUID 2:2:void resetShowInfoUID(long):27 -> resetShowInfoUID 3:5:void startSchedule():52:54 -> resetShowInfoUID 3:5:void restartSchedule():69 -> resetShowInfoUID 3:5:void resetShowInfoUID(long):27 -> resetShowInfoUID 1:3:void stopSchedule():60:62 -> stopSchedule ai.neuvision.sdk.console.monitor.ConsoleInfoCatcher$catchInfoTask$1 -> ai.neuvision.sdk.console.monitor.ConsoleInfoCatcher$a: ai.neuvision.sdk.console.monitor.ConsoleInfoCatcher this$0 -> a 1:8:void run():34:41 -> run 9:9:void run():40:40 -> run ai.neuvision.sdk.console.monitor.ConsoleInfoCatcher$mWrapper$2 -> ai.neuvision.sdk.console.monitor.ConsoleInfoCatcher$b: ai.neuvision.sdk.console.monitor.ConsoleInfoCatcher$mWrapper$2 INSTANCE -> a 1:1:ai.neuvision.sdk.console.monitor.ConsoleMonitorWrapper invoke():19:19 -> invoke 1:1:java.lang.Object invoke():16 -> invoke ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter -> ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter: java.util.List allMonitorInfo -> b java.util.List mData -> a android.content.Context context -> c 1:9:void (android.content.Context):23:31 -> 1:2:void convert(ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter$ViewHolder,ai.neuvision.sdk.console.monitor.ConsoleMonitorItem,int):76:77 -> convert 1:1:int getCount():44:44 -> getCount 1:1:void (android.content.Context):23:23 -> getItem 1:1:java.lang.Object getItem(int):23 -> getItem 2:2:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem getItem(int):47:47 -> getItem 1:7:android.view.View getView(int,android.view.View,android.view.ViewGroup):58:64 -> getView 8:8:android.view.View getView(int,android.view.View,android.view.ViewGroup):62:62 -> getView 1:114:void setSelf(boolean):35:148 -> setSelf 115:229:void setSelf(boolean):37:151 -> setSelf 230:230:void setSelf(boolean):39:39 -> setSelf 231:236:void setSelf(boolean):36:41 -> setSelf 1:75:void updateInTimeData(kotlin.jvm.functions.Function1):81:155 -> updateInTimeData 76:79:void updateInTimeData(kotlin.jvm.functions.Function1):82:85 -> updateInTimeData 80:80:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> updateInTimeData 80:80:void updateInTimeData(kotlin.jvm.functions.Function1):157 -> updateInTimeData ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter$ViewHolder -> ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter$ViewHolder: android.widget.TextView mContentView -> c android.widget.TextView mTitleView -> b android.view.View view -> a 1:51:void (ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter,android.content.Context):92:142 -> 1:26:android.view.View createTextInfoView(android.content.Context):97:122 -> a 27:31:android.view.View createTextInfoView(android.content.Context):121:125 -> a 32:37:android.view.View createTextInfoView(android.content.Context):124:129 -> a 1:1:android.view.View getView():93:93 -> getView 1:1:void setContent(java.lang.String):138:138 -> setContent 1:1:void setTitle(java.lang.String):134:134 -> setTitle ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter$ViewHolder$createTextInfoView$1$1 -> ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter$ViewHolder$a: android.widget.TextView $content -> a 1:7:void onClick(android.view.View):110:116 -> onClick 8:8:void onClick(android.view.View):114:114 -> onClick 9:9:void onClick(android.view.View):113:113 -> onClick 10:10:void onClick(android.view.View):112:112 -> onClick ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter$updateInTimeData$$inlined$runOnUiThread$1 -> ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter$updateInTimeData$$inlined$runOnUiThread$1: ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter this$0 -> a 1:1:void run():80:80 -> run ai.neuvision.sdk.console.monitor.ConsoleMonitorItem -> ai.neuvision.sdk.console.monitor.ConsoleMonitorItem: java.lang.String itemTitle -> b int type -> c int id -> a java.lang.String currentValue -> d 1:1:void (int,java.lang.String,int,java.lang.String):10:10 -> 2:2:void (int,java.lang.String,int,java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):14:14 -> 1:1:java.lang.String getCurrentValue():14:14 -> getCurrentValue 1:1:int getId():11:11 -> getId 1:1:java.lang.String getItemTitle():12:12 -> getItemTitle 1:1:int getType():13:13 -> getType 1:1:void setCurrentValue(java.lang.String):14:14 -> setCurrentValue ai.neuvision.sdk.console.monitor.ConsoleMonitorWrapper -> ai.neuvision.sdk.console.monitor.ConsoleMonitorWrapper: 1:1:void ():15:15 -> 1:28:void convert(ai.neuvision.sdk.console.monitor.ConsoleMonitorAdapter,ai.neuvision.sdk.sdwan.monitor.AudioInTimeData,ai.neuvision.sdk.sdwan.monitor.VideoInTimeData):18:45 -> convert ai.neuvision.sdk.console.monitor.ConsoleMonitorWrapper$Companion -> ai.neuvision.sdk.console.monitor.ConsoleMonitorWrapper$Companion: 1:1:void ():49:49 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):49:49 -> ai.neuvision.sdk.console.monitor.ConsoleMonitorWrapper$convert$1 -> ai.neuvision.sdk.console.monitor.ConsoleMonitorWrapper$a: ai.neuvision.sdk.sdwan.monitor.VideoInTimeData $video -> b ai.neuvision.sdk.console.monitor.ConsoleMonitorWrapper this$0 -> a ai.neuvision.sdk.sdwan.monitor.AudioInTimeData $audio -> c 1:1:java.lang.Object invoke(java.lang.Object):15:15 -> invoke 2:39:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):0:37 -> invoke 2:39:java.lang.Object invoke(java.lang.Object):15 -> invoke 40:53:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):23:36 -> invoke 40:53:java.lang.Object invoke(java.lang.Object):15 -> invoke 54:54:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):35:35 -> invoke 54:54:java.lang.Object invoke(java.lang.Object):15 -> invoke 55:55:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):34:34 -> invoke 55:55:java.lang.Object invoke(java.lang.Object):15 -> invoke 56:56:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):33:33 -> invoke 56:56:java.lang.Object invoke(java.lang.Object):15 -> invoke 57:57:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):32:32 -> invoke 57:57:java.lang.Object invoke(java.lang.Object):15 -> invoke 58:58:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):31:31 -> invoke 58:58:java.lang.Object invoke(java.lang.Object):15 -> invoke 59:59:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):28:28 -> invoke 59:59:java.lang.Object invoke(java.lang.Object):15 -> invoke 60:60:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):27:27 -> invoke 60:60:java.lang.Object invoke(java.lang.Object):15 -> invoke 61:61:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):26:26 -> invoke 61:61:java.lang.Object invoke(java.lang.Object):15 -> invoke 62:62:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):25:25 -> invoke 62:62:java.lang.Object invoke(java.lang.Object):15 -> invoke 63:63:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):24:24 -> invoke 63:63:java.lang.Object invoke(java.lang.Object):15 -> invoke 64:64:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):22:22 -> invoke 64:64:java.lang.Object invoke(java.lang.Object):15 -> invoke 65:65:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):21:21 -> invoke 65:65:java.lang.Object invoke(java.lang.Object):15 -> invoke 66:86:ai.neuvision.sdk.console.monitor.ConsoleMonitorItem invoke(ai.neuvision.sdk.console.monitor.ConsoleMonitorItem):20:40 -> invoke 66:86:java.lang.Object invoke(java.lang.Object):15 -> invoke ai.neuvision.sdk.console.remote.LogSender -> ai.neuvision.sdk.console.remote.LogSender: java.util.List FILTER_TAG -> c long uid -> b long lastHeartBeat -> a 1:3:void ():48:48 -> 1:1:void (long):15:15 -> 1:3:boolean notSendSignalLog(java.lang.String,java.lang.String,java.lang.String):42:44 -> a 1:1:java.util.List access$getFILTER_TAG$cp():15:15 -> access$getFILTER_TAG$cp 1:1:void attach():34:34 -> attach 1:1:void detached():38:38 -> detached 1:1:long getLastHeartBeat():16:16 -> getLastHeartBeat 1:1:long getUid():15:15 -> getUid 1:10:void log(int,long,java.lang.String,java.lang.String,java.lang.String):20:29 -> log 1:1:void setLastHeartBeat(long):16:16 -> setLastHeartBeat ai.neuvision.sdk.console.remote.LogSender$Companion -> ai.neuvision.sdk.console.remote.LogSender$Companion: 1:1:void ():47:47 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):47:47 -> 1:1:java.util.List getFILTER_TAG():48:48 -> getFILTER_TAG ai.neuvision.sdk.console.remote.RemoteLog -> ai.neuvision.sdk.console.remote.RemoteLog: java.lang.String type -> a java.lang.String content -> c java.lang.String command -> b 1:1:void (java.lang.String,java.lang.String,java.lang.String):10:10 -> 2:2:void (java.lang.String,java.lang.String,java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):13:13 -> 1:1:java.lang.String getCommand():12:12 -> getCommand 1:1:java.lang.String getContent():13:13 -> getContent 1:1:java.lang.String getType():11:11 -> getType ai.neuvision.sdk.console.remote.RemoteLogBean -> ai.neuvision.sdk.console.remote.RemoteLogBean: java.lang.String content -> c java.lang.String tag -> b int priority -> a 1:1:void (int,java.lang.String,java.lang.String):10:10 -> 1:1:java.lang.String getContent():13:13 -> getContent 1:1:int getPriority():11:11 -> getPriority 1:1:java.lang.String getTag():12:12 -> getTag ai.neuvision.sdk.console.remote.RemoteLogController -> ai.neuvision.sdk.console.remote.RemoteLogController: kotlin.Lazy logSenders$delegate -> c kotlin.Lazy heartBeatRunnable$delegate -> d long lastReceiveLogTime -> b long currentReceiveUid -> a 1:1:java.util.concurrent.CopyOnWriteArraySet access$getLogSenders$p(ai.neuvision.sdk.console.remote.RemoteLogController):20:20 -> 1:1:void ():20 -> 2:135:void ():23:156 -> 1:1:java.util.concurrent.CopyOnWriteArraySet access$getLogSenders$p(ai.neuvision.sdk.console.remote.RemoteLogController):20:20 -> 1:1:void ():20 -> java.util.concurrent.CopyOnWriteArraySet getLogSenders() -> a 1:1:java.util.concurrent.CopyOnWriteArraySet access$getLogSenders$p(ai.neuvision.sdk.console.remote.RemoteLogController):20:20 -> access$getCurrentReceiveUid$p 1:1:long access$getCurrentReceiveUid$p(ai.neuvision.sdk.console.remote.RemoteLogController):20 -> access$getCurrentReceiveUid$p 1:1:java.util.concurrent.CopyOnWriteArraySet access$getLogSenders$p(ai.neuvision.sdk.console.remote.RemoteLogController):20:20 -> access$getLastReceiveLogTime$p 1:1:long access$getLastReceiveLogTime$p(ai.neuvision.sdk.console.remote.RemoteLogController):20 -> access$getLastReceiveLogTime$p 1:1:java.util.concurrent.CopyOnWriteArraySet access$getLogSenders$p(ai.neuvision.sdk.console.remote.RemoteLogController):20:20 -> access$getLogSenders$p 1:146:void sendHeartBeat():0:145 -> access$sendHeartBeat 1:146:void access$sendHeartBeat(ai.neuvision.sdk.console.remote.RemoteLogController):20 -> access$sendHeartBeat 1:1:java.util.concurrent.CopyOnWriteArraySet access$getLogSenders$p(ai.neuvision.sdk.console.remote.RemoteLogController):20:20 -> access$setCurrentReceiveUid$p 1:1:void access$setCurrentReceiveUid$p(ai.neuvision.sdk.console.remote.RemoteLogController,long):20 -> access$setCurrentReceiveUid$p 1:1:java.util.concurrent.CopyOnWriteArraySet access$getLogSenders$p(ai.neuvision.sdk.console.remote.RemoteLogController):20:20 -> access$setLastReceiveLogTime$p 1:1:void access$setLastReceiveLogTime$p(ai.neuvision.sdk.console.remote.RemoteLogController,long):20 -> access$setLastReceiveLogTime$p 1:4:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):28:31 -> processRemoteData 5:8:void senderHasReady(long):75:78 -> processRemoteData 5:8:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):31 -> processRemoteData 9:9:void startHeartBeat():127:127 -> processRemoteData 9:9:void senderHasReady(long):79 -> processRemoteData 9:9:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):31 -> processRemoteData 10:10:java.lang.Runnable getHeartBeatRunnable():0:0 -> processRemoteData 10:10:void startHeartBeat():127 -> processRemoteData 10:10:void senderHasReady(long):79 -> processRemoteData 10:10:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):31 -> processRemoteData 11:11:void startHeartBeat():127:127 -> processRemoteData 11:11:void senderHasReady(long):79 -> processRemoteData 11:11:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):31 -> processRemoteData 12:12:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):29:29 -> processRemoteData 13:23:void startSendLogToUid(long):85:95 -> processRemoteData 13:23:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):29 -> processRemoteData 24:24:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):30:30 -> processRemoteData 25:30:void stopSendLogToUid(long):102:107 -> processRemoteData 25:30:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):30 -> processRemoteData 31:31:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):34:34 -> processRemoteData 32:34:void receiveHeartBeat(long):150:152 -> processRemoteData 32:34:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):34 -> processRemoteData 35:35:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):33:33 -> processRemoteData 36:36:void setRegex(long,java.lang.String):117:117 -> processRemoteData 36:36:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):33 -> processRemoteData 37:37:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):32:32 -> processRemoteData 38:38:void setLevel(long,int):113:113 -> processRemoteData 38:38:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):32 -> processRemoteData 39:39:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):35:35 -> processRemoteData 40:43:void printLog(ai.neuvision.sdk.console.remote.RemoteLog):44:47 -> processRemoteData 40:43:void processRemoteData(ai.neuvision.sdk.console.remote.RemoteLog,long):35 -> processRemoteData 1:8:void startReceiveUid(long):52:59 -> startReceiveUid 1:8:void stopReceiveUid(long):63:70 -> stopReceiveUid ai.neuvision.sdk.console.remote.RemoteLogController$heartBeatRunnable$2 -> ai.neuvision.sdk.console.remote.RemoteLogController$a: ai.neuvision.sdk.console.remote.RemoteLogController$heartBeatRunnable$2 INSTANCE -> a 1:1:java.lang.Object invoke():20:20 -> invoke ai.neuvision.sdk.console.remote.RemoteLogController$heartBeatRunnable$2$1 -> r: ai.neuvision.sdk.console.remote.RemoteLogController$heartBeatRunnable$2$1 INSTANCE -> a 1:20:void run():159:178 -> run 21:33:void run():168:180 -> run 34:35:void run():170:171 -> run ai.neuvision.sdk.console.remote.RemoteLogController$logSenders$2 -> ai.neuvision.sdk.console.remote.RemoteLogController$b: ai.neuvision.sdk.console.remote.RemoteLogController$logSenders$2 INSTANCE -> a 1:1:java.util.concurrent.CopyOnWriteArraySet invoke():24:24 -> invoke 1:1:java.lang.Object invoke():20 -> invoke ai.neuvision.sdk.console.remote.RemoteSettingBean -> ai.neuvision.sdk.console.remote.RemoteSettingBean: 1:1:void (long,int,java.lang.String,java.lang.String):11:11 -> 1:1:int getFilterPriority():13:13 -> getFilterPriority 1:1:java.lang.String getFilterRegex():15:15 -> getFilterRegex 1:1:java.lang.String getFilterTag():14:14 -> getFilterTag 1:1:long getUid():12:12 -> getUid 1:1:void setFilterPriority(int):13:13 -> setFilterPriority 1:1:void setFilterRegex(java.lang.String):15:15 -> setFilterRegex 1:1:void setFilterTag(java.lang.String):14:14 -> setFilterTag 1:1:void setUid(long):12:12 -> setUid ai.neuvision.sdk.console.setting.ConsoleFunc -> ai.neuvision.sdk.console.setting.ConsoleFunc: 1:1:void ():9:9 -> 1:1:ai.neuvision.sdk.console.setting.ConsoleSettingItem onClickSettingItem(ai.neuvision.sdk.console.setting.ConsoleSettingItem,int):12:12 -> onClickSettingItem ai.neuvision.sdk.console.setting.ConsoleSettingAdapter -> ai.neuvision.sdk.console.setting.ConsoleSettingAdapter: java.util.List mData -> b kotlin.Lazy mConsoleFunc$delegate -> e ai.neuvision.kit.utils.PreferenceSP currentLevel$delegate -> d java.util.List allSettingItems -> c kotlin.reflect.KProperty[] $$delegatedProperties -> g boolean isEditing -> a android.content.Context context -> f 1:1:ai.neuvision.sdk.console.setting.ConsoleFunc access$getMConsoleFunc$p(ai.neuvision.sdk.console.setting.ConsoleSettingAdapter):23:23 -> 1:1:void (android.content.Context):23 -> 2:12:void (android.content.Context):25:35 -> int getCurrentLevel() -> a 1:1:ai.neuvision.sdk.console.setting.ConsoleFunc access$getMConsoleFunc$p(ai.neuvision.sdk.console.setting.ConsoleSettingAdapter):23:23 -> access$getContext$p 1:1:android.content.Context access$getContext$p(ai.neuvision.sdk.console.setting.ConsoleSettingAdapter):23 -> access$getContext$p 1:1:ai.neuvision.sdk.console.setting.ConsoleFunc getMConsoleFunc():0:0 -> access$getMConsoleFunc$p 1:1:ai.neuvision.sdk.console.setting.ConsoleFunc access$getMConsoleFunc$p(ai.neuvision.sdk.console.setting.ConsoleSettingAdapter):23 -> access$getMConsoleFunc$p 1:1:ai.neuvision.sdk.console.setting.ConsoleFunc access$getMConsoleFunc$p(ai.neuvision.sdk.console.setting.ConsoleSettingAdapter):23:23 -> access$getMData$p 1:1:java.util.List access$getMData$p(ai.neuvision.sdk.console.setting.ConsoleSettingAdapter):23 -> access$getMData$p 1:1:ai.neuvision.sdk.console.setting.ConsoleFunc access$getMConsoleFunc$p(ai.neuvision.sdk.console.setting.ConsoleSettingAdapter):23:23 -> access$isEditing$p 1:1:boolean access$isEditing$p(ai.neuvision.sdk.console.setting.ConsoleSettingAdapter):23 -> access$isEditing$p 1:1:ai.neuvision.sdk.console.setting.ConsoleFunc access$getMConsoleFunc$p(ai.neuvision.sdk.console.setting.ConsoleSettingAdapter):23:23 -> access$setEditing$p 1:1:void access$setEditing$p(ai.neuvision.sdk.console.setting.ConsoleSettingAdapter,boolean):23 -> access$setEditing$p 1:1:int getCount():38:38 -> getCount 1:1:ai.neuvision.sdk.console.setting.ConsoleFunc access$getMConsoleFunc$p(ai.neuvision.sdk.console.setting.ConsoleSettingAdapter):23:23 -> getItem 1:1:java.lang.Object getItem(int):23 -> getItem 2:2:ai.neuvision.sdk.console.setting.ConsoleSettingItem getItem(int):41:41 -> getItem 1:1:java.lang.String getLevelString():184:184 -> getLevelString 1:7:android.view.View getView(int,android.view.View,android.view.ViewGroup):52:58 -> getView 8:11:void convert(ai.neuvision.sdk.console.setting.ConsoleSettingAdapter$ViewHolder,ai.neuvision.sdk.console.setting.ConsoleSettingItem,int):63:66 -> getView 8:11:android.view.View getView(int,android.view.View,android.view.ViewGroup):58 -> getView 12:12:android.view.View getView(int,android.view.View,android.view.ViewGroup):56:56 -> getView 1:1:void setCurrentLevel(int):0:0 -> setLevel 1:1:void setLevel(int):170 -> setLevel 2:71:void setLevel(int):171:240 -> setLevel 72:141:void setLevel(int):174:243 -> setLevel 142:144:void setLevel(int):176:178 -> setLevel 1:6:void showLevelDialog(android.content.Context,kotlin.jvm.functions.Function1):195:200 -> showLevelDialog 7:14:void showLevelDialog(android.content.Context,kotlin.jvm.functions.Function1):197:204 -> showLevelDialog 1:40:boolean toggleEditMode():208:247 -> toggleEditMode 41:81:boolean toggleEditMode():211:251 -> toggleEditMode 82:118:boolean toggleEditMode():219:255 -> toggleEditMode 119:119:boolean toggleEditMode():221:221 -> toggleEditMode 120:120:void setCurrentLevel(int):0:0 -> toggleEditMode 120:120:boolean toggleEditMode():222 -> toggleEditMode 121:125:boolean toggleEditMode():223:227 -> toggleEditMode 1:145:void updateInTimeData(kotlin.jvm.functions.Function1):89:233 -> updateInTimeData 146:147:void updateInTimeData(kotlin.jvm.functions.Function1):90:91 -> updateInTimeData 148:148:void ai.neuvision.sdk.utils.TemplatesKt.runOnUiThread(kotlin.jvm.functions.Function0):46:46 -> updateInTimeData 148:148:void updateInTimeData(kotlin.jvm.functions.Function1):235 -> updateInTimeData ai.neuvision.sdk.console.setting.ConsoleSettingAdapter$ViewHolder -> ai.neuvision.sdk.console.setting.ConsoleSettingAdapter$ViewHolder: android.widget.CheckBox mCheckBox -> d android.widget.TextView mContentView -> c android.widget.TextView mTitleView -> b android.view.View view -> a 1:64:void (android.content.Context):98:161 -> 1:14:android.view.View createTextInfoView(android.content.Context):104:117 -> a 15:24:android.view.View createTextInfoView(android.content.Context):115:124 -> a 25:35:android.view.View createTextInfoView(android.content.Context):122:132 -> a 36:45:android.view.View createTextInfoView(android.content.Context):130:139 -> a 1:1:android.view.View getView():99:99 -> getView 1:4:void setCheck(boolean,boolean):153:156 -> setCheck 1:1:void setContent(java.lang.String):148:148 -> setContent 1:1:void setTitle(java.lang.String):144:144 -> setTitle ai.neuvision.sdk.console.setting.ConsoleSettingAdapter$convert$1 -> s: ai.neuvision.sdk.console.setting.ConsoleSettingItem $data -> b int $position -> c ai.neuvision.sdk.console.setting.ConsoleSettingAdapter this$0 -> a 1:165:void onClick(android.view.View):67:231 -> onClick 166:324:void onClick(android.view.View):77:235 -> onClick 325:326:void onClick(android.view.View):78:79 -> onClick 327:486:void onClick(android.view.View):76:235 -> onClick ai.neuvision.sdk.console.setting.ConsoleSettingAdapter$convert$1$2 -> s$a: ai.neuvision.sdk.console.setting.ConsoleSettingAdapter$convert$1 this$0 -> a 1:3:void onClick(android.content.DialogInterface,int):80:82 -> onClick ai.neuvision.sdk.console.setting.ConsoleSettingAdapter$mConsoleFunc$2 -> ai.neuvision.sdk.console.setting.ConsoleSettingAdapter$a: ai.neuvision.sdk.console.setting.ConsoleSettingAdapter$mConsoleFunc$2 INSTANCE -> a 1:1:ai.neuvision.sdk.console.setting.ConsoleFunc invoke():31:31 -> invoke 1:1:java.lang.Object invoke():23 -> invoke ai.neuvision.sdk.console.setting.ConsoleSettingAdapter$showLevelDialog$1 -> ai.neuvision.sdk.console.setting.ConsoleSettingAdapter$b: kotlin.jvm.functions.Function1 $result -> b ai.neuvision.sdk.console.setting.ConsoleSettingAdapter this$0 -> a 1:3:void onClick(android.content.DialogInterface,int):201:203 -> onClick ai.neuvision.sdk.console.setting.ConsoleSettingAdapter$updateInTimeData$$inlined$runOnUiThread$1 -> ai.neuvision.sdk.console.setting.ConsoleSettingAdapter$updateInTimeData$$inlined$runOnUiThread$1: ai.neuvision.sdk.console.setting.ConsoleSettingAdapter this$0 -> a 1:1:void run():80:80 -> run ai.neuvision.sdk.console.setting.ConsoleSettingItem -> ai.neuvision.sdk.console.setting.ConsoleSettingItem: java.util.List itemOptions -> d int defaultIndex -> f ai.neuvision.kit.utils.PreferenceSP currentSelectedIndex$delegate -> a kotlin.reflect.KProperty[] $$delegatedProperties -> h boolean isChecked -> g int levelPriority -> e int id -> b java.lang.String itemTitle -> c 1:9:void (int,java.lang.String,java.util.List,int,int,boolean):10:18 -> 10:10:void (int,java.lang.String,java.util.List,int,int,boolean,int,kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> 1:1:java.lang.Object getCurrentValue():20:20 -> getCurrentValue 1:1:int getDefaultIndex():15:15 -> getDefaultIndex 1:1:int getId():11:11 -> getId 1:1:java.util.List getItemOptions():13:13 -> getItemOptions 1:1:java.lang.String getItemTitle():12:12 -> getItemTitle 1:1:int getLevelPriority():14:14 -> getLevelPriority 1:1:boolean isChecked():16:16 -> isChecked 1:1:void setChecked(boolean):16:16 -> setChecked ai.neuvision.sdk.console.utils.ConsoleUtil -> ai.neuvision.sdk.console.utils.ConsoleUtil: android.content.Context CONTEXT -> a android.os.Handler mainHandler -> b 1:3:void ():32:34 -> 1:1:void ():40:40 -> 1:8:boolean isPermissionDenied():148:155 -> addViewToWindow 1:8:boolean addViewToWindow(android.view.View,android.view.WindowManager$LayoutParams):126 -> addViewToWindow 9:9:boolean isPermissionDenied():154:154 -> addViewToWindow 9:9:boolean addViewToWindow(android.view.View,android.view.WindowManager$LayoutParams):126 -> addViewToWindow 10:15:boolean addViewToWindow(android.view.View,android.view.WindowManager$LayoutParams):129:134 -> addViewToWindow 1:1:void cancelTask(java.lang.Runnable):75:75 -> cancelTask 1:5:void copy2ClipBoard(java.lang.String):57:61 -> copy2ClipBoard 1:15:java.lang.String formatDuration(long):96:110 -> formatDuration 1:9:java.lang.String formatSize(long):80:88 -> formatSize 1:5:java.util.List getActivities():172:176 -> getActivities 6:15:java.util.List getActivities():175:184 -> getActivities 1:2:void init(android.content.Context):44:45 -> init 1:1:java.lang.String millis2String(long):49:49 -> millis2String 2:2:java.lang.String millis2String(long,java.text.DateFormat):53:53 -> millis2String 1:1:void post(java.lang.Runnable):67:67 -> post 1:1:void postDelayed(java.lang.Runnable,long):71:71 -> postDelayed 1:4:void removeViewFromWindow(android.view.View):117:120 -> removeViewFromWindow 1:2:void updateViewLayoutInWindow(android.view.View,android.view.WindowManager$LayoutParams):141:142 -> updateViewLayoutInWindow ai.neuvision.sdk.constants.CameraStatus -> ai.neuvision.sdk.constants.CameraStatus: 1:1:void ():9:9 -> ai.neuvision.sdk.constants.CameraStatus$Facing -> ai.neuvision.sdk.constants.CameraStatus$Facing: 1:1:void (java.lang.String,int):13:13 -> ai.neuvision.sdk.core.state.SessionState -> ai.neuvision.sdk.core.state.SessionState: 1:2:void (java.lang.String):33:34 -> 1:4:void showLog(java.lang.String):369:372 -> a 1:1:void onAccept(long,long):67:67 -> onAccept 1:1:void onCallEnd(long,long,int,java.lang.String):200:200 -> onCallEnd 1:1:void onCallEstablished(long):188:188 -> onCallEstablished 1:1:void onCalledTimeout(long,long):178:178 -> onCalledTimeout 1:1:void onCallingTimeout(long,long):89:89 -> onCallingTimeout 1:1:void onCancel(long,long):56:56 -> onCancel 1:1:void onInvite(long,long):45:45 -> onInvite 1:1:void onMemberJoin(long,long):253:253 -> onMemberJoin 1:1:void onMemberLeave(long,long):264:264 -> onMemberLeave 1:1:void onMemberStateChange(java.util.List):211:211 -> onMemberStateChange 1:1:void onReceiveAccepted(long,long):111:111 -> onReceiveAccepted 1:1:void onReceiveBusy(long,long):136:136 -> onReceiveBusy 1:1:void onReceiveCancel(long,long):167:167 -> onReceiveCancel 1:5:void onReceiveInvite(long,long,java.lang.String,java.util.List,boolean,ai.neuvision.kit.session.CallType,boolean):152:152 -> onReceiveInvite 1:1:void onReceiveRejected(long,long,int,java.lang.String):124:124 -> onReceiveRejected 1:1:void onReceiveRing(long,long):100:100 -> onReceiveRing 1:1:void onReject(long,long):78:78 -> onReject ai.neuvision.sdk.debug.ConfigBean -> ai.neuvision.sdk.debug.ConfigBean: java.util.List items -> b java.lang.String groupName -> a 1:1:void (java.lang.String,java.util.List):6:6 -> 1:1:java.lang.String getGroupName():8:8 -> getGroupName 1:1:java.util.List getItems():10:10 -> getItems 1:1:void setGroupName(java.lang.String):8:8 -> setGroupName 1:1:void setItems(java.util.List):10:10 -> setItems ai.neuvision.sdk.debug.ConfigItemBean -> ai.neuvision.sdk.debug.ConfigItemBean: java.lang.String message -> g java.lang.String chooseRange -> h java.util.List choose -> e boolean isStatic -> f java.lang.String setter -> a int type -> d java.lang.String title -> c java.lang.String getter -> b 1:1:void (java.lang.String,java.lang.String,java.lang.String,int,java.util.List,boolean,java.lang.String,java.lang.String):13:13 -> 2:2:void (java.lang.String,java.lang.String,java.lang.String,int,java.util.List,boolean,java.lang.String,java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):29:29 -> 1:1:java.util.List getChoose():23:23 -> getChoose 1:1:java.lang.String getChooseRange():29:29 -> getChooseRange 1:1:java.lang.String getGetter():17:17 -> getGetter 1:1:java.lang.String getMessage():27:27 -> getMessage 1:1:java.lang.String getSetter():15:15 -> getSetter 1:1:java.lang.String getTitle():19:19 -> getTitle 1:1:int getType():21:21 -> getType 1:1:boolean isStatic():25:25 -> isStatic 1:1:void setChoose(java.util.List):23:23 -> setChoose 1:1:void setChooseRange(java.lang.String):29:29 -> setChooseRange 1:1:void setGetter(java.lang.String):17:17 -> setGetter 1:1:void setMessage(java.lang.String):27:27 -> setMessage 1:1:void setSetter(java.lang.String):15:15 -> setSetter 1:1:void setStatic(boolean):25:25 -> setStatic 1:1:void setTitle(java.lang.String):19:19 -> setTitle 1:1:void setType(int):21:21 -> setType ai.neuvision.sdk.debug.IPCCache -> ai.neuvision.sdk.debug.IPCCache: java.util.Map mClazzs -> a java.util.Map mMethods -> b java.util.Map mInstance -> c java.util.Map mIPCService -> d ai.neuvision.sdk.debug.IPCCache ourInstance -> e 1:1:void ():16:16 -> 1:18:void ():22:39 -> 1:9:java.lang.Class getClass(java.lang.String):68:76 -> getClass 1:1:ai.neuvision.sdk.debug.IPCCache getDefault():19:19 -> getDefault 1:32:java.lang.reflect.Method getMethod(java.lang.Class,java.lang.String,ai.neuvision.sdk.debug.IPCParameter[]):83:114 -> getMethod 1:1:java.lang.Object getObject(java.lang.String):126:126 -> getObject 1:1:ai.neuvision.sdk.debug.IRemoteService getRemoteService(java.lang.String):138:138 -> getRemoteService 1:3:void putObject(java.lang.String,java.lang.Object):119:121 -> putObject 1:3:void putRemoteService(java.lang.String,ai.neuvision.sdk.debug.IRemoteService):131:133 -> putRemoteService 1:9:void register(java.lang.Class):49:57 -> register 1:3:void unRegister(java.lang.Class):62:64 -> unRegister ai.neuvision.sdk.debug.IPCParameter -> ai.neuvision.sdk.debug.IPCParameter: java.lang.Class type -> a java.lang.String value -> b 1:1:void ():25:25 -> 1:3:void (java.lang.Class,java.lang.String):15:17 -> 4:6:void (android.os.Parcel):20:22 -> 1:1:java.lang.Class getType():38:38 -> getType 1:1:java.lang.String getValue():46:46 -> getValue 1:1:void setType(java.lang.Class):42:42 -> setType 1:1:void setValue(java.lang.String):50:50 -> setValue 1:1:java.lang.String toString():66:66 -> toString 1:2:void writeToParcel(android.os.Parcel,int):60:61 -> writeToParcel ai.neuvision.sdk.debug.IPCParameter$1 -> ai.neuvision.sdk.debug.IPCParameter$a: 1:1:void ():25:25 -> 1:1:ai.neuvision.sdk.debug.IPCParameter createFromParcel(android.os.Parcel):28:28 -> createFromParcel 1:1:java.lang.Object createFromParcel(android.os.Parcel):25 -> createFromParcel 1:1:ai.neuvision.sdk.debug.IPCParameter[] newArray(int):33:33 -> newArray 1:1:java.lang.Object[] newArray(int):25 -> newArray ai.neuvision.sdk.debug.IPCRequest -> ai.neuvision.sdk.debug.IPCRequest: boolean isStatic -> e ai.neuvision.sdk.debug.IPCParameter[] parameters -> d java.lang.String methodName -> c java.lang.String className -> b int type -> a 1:1:void ():48:48 -> 1:1:void ():27:27 -> 2:2:void ():25:25 -> 3:3:void (int,java.lang.String,java.lang.String,ai.neuvision.sdk.debug.IPCParameter[]):30:30 -> 4:13:void (int,java.lang.String,java.lang.String,ai.neuvision.sdk.debug.IPCParameter[]):25:34 -> 14:14:void (android.os.Parcel):37:37 -> 15:35:void (android.os.Parcel):25:45 -> 1:1:java.lang.String getClassName():61:61 -> getClassName 1:1:java.lang.String getMethodName():77:77 -> getMethodName 1:1:ai.neuvision.sdk.debug.IPCParameter[] getParameters():85:85 -> getParameters 1:1:int getType():69:69 -> getType 1:1:boolean isStatic():93:93 -> isStatic 1:1:void setClassName(java.lang.String):65:65 -> setClassName 1:1:void setMethodName(java.lang.String):81:81 -> setMethodName 1:1:void setParameters(ai.neuvision.sdk.debug.IPCParameter[]):89:89 -> setParameters 1:1:void setStatic(boolean):97:97 -> setStatic 1:1:void setType(int):73:73 -> setType 1:5:java.lang.String toString():116:120 -> toString 1:5:void writeToParcel(android.os.Parcel,int):107:111 -> writeToParcel ai.neuvision.sdk.debug.IPCRequest$1 -> ai.neuvision.sdk.debug.IPCRequest$a: 1:1:void ():48:48 -> 1:1:ai.neuvision.sdk.debug.IPCRequest createFromParcel(android.os.Parcel):51:51 -> createFromParcel 1:1:java.lang.Object createFromParcel(android.os.Parcel):48 -> createFromParcel 1:1:ai.neuvision.sdk.debug.IPCRequest[] newArray(int):56:56 -> newArray 1:1:java.lang.Object[] newArray(int):48 -> newArray ai.neuvision.sdk.debug.IPCResponse -> ai.neuvision.sdk.debug.IPCResponse: java.lang.String result -> a java.lang.String message -> b boolean success -> c 1:1:void ():27:27 -> 1:4:void (java.lang.String,java.lang.String,boolean):15:18 -> 5:8:void (android.os.Parcel):21:24 -> 1:1:java.lang.String getMessage():48:48 -> getMessage 1:1:java.lang.String getResult():40:40 -> getResult 1:1:boolean isSuccess():56:56 -> isSuccess 1:1:void setMessage(java.lang.String):52:52 -> setMessage 1:1:void setResult(java.lang.String):44:44 -> setResult 1:1:void setSuccess(boolean):60:60 -> setSuccess 1:1:java.lang.String toString():77:77 -> toString 1:3:void writeToParcel(android.os.Parcel,int):70:72 -> writeToParcel ai.neuvision.sdk.debug.IPCResponse$1 -> ai.neuvision.sdk.debug.IPCResponse$a: 1:1:void ():27:27 -> 1:1:ai.neuvision.sdk.debug.IPCResponse createFromParcel(android.os.Parcel):30:30 -> createFromParcel 1:1:java.lang.Object createFromParcel(android.os.Parcel):27 -> createFromParcel 1:1:ai.neuvision.sdk.debug.IPCResponse[] newArray(int):35:35 -> newArray 1:1:java.lang.Object[] newArray(int):27 -> newArray ai.neuvision.sdk.debug.IRemoteService$Default -> ai.neuvision.sdk.debug.IRemoteService$Default: 1:1:void ():8:8 -> ai.neuvision.sdk.debug.IRemoteService$Stub -> ai.neuvision.sdk.debug.IRemoteService$Stub: 1:2:void ():29:30 -> 1:5:ai.neuvision.sdk.debug.IRemoteService asInterface(android.os.IBinder):41:45 -> asInterface 1:1:ai.neuvision.sdk.debug.IRemoteService getDefaultImpl():181:181 -> getDefaultImpl 1:1:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):92:92 -> onTransact 2:31:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):58:87 -> onTransact 32:47:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):63:78 -> onTransact 1:5:boolean setDefaultImpl(ai.neuvision.sdk.debug.IRemoteService):171:175 -> setDefaultImpl 6:6:boolean setDefaultImpl(ai.neuvision.sdk.debug.IRemoteService):172:172 -> setDefaultImpl ai.neuvision.sdk.debug.IRemoteService$Stub$Proxy -> ai.neuvision.sdk.debug.IRemoteService$Stub$a: android.os.IBinder mRemote -> a ai.neuvision.sdk.debug.IRemoteService sDefaultImpl -> b 1:2:void (android.os.IBinder):100:101 -> 1:1:android.os.IBinder asBinder():105:105 -> asBinder 1:15:java.lang.String getConfig():145:159 -> getConfig 16:21:java.lang.String getConfig():154:159 -> getConfig 22:24:java.lang.String getConfig():158:160 -> getConfig 1:27:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):113:139 -> sendRequest 28:38:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):129:139 -> sendRequest 39:41:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):138:140 -> sendRequest ai.neuvision.sdk.debug.LogHandler -> ai.neuvision.sdk.debug.LogHandler: android.os.HandlerThread mLogcatThread -> a android.os.Handler mLogHandler -> b java.lang.Object INIT_LOCK -> c java.lang.String name -> d 1:8:void (java.lang.String):16:23 -> 1:1:java.lang.String getName():16:16 -> getName 1:11:void makeHandler():27:37 -> runThread 1:11:void runThread(java.lang.Runnable,long,boolean):45 -> runThread 12:12:void makeHandler():28:28 -> runThread 12:12:void runThread(java.lang.Runnable,long,boolean):45 -> runThread 13:15:void runThread(java.lang.Runnable,long,boolean):47:49 -> runThread 16:16:void makeHandler():28:28 -> runThread 16:16:void runThread(java.lang.Runnable,long,boolean):45 -> runThread 1:1:void runThread$default(ai.neuvision.sdk.debug.LogHandler,java.lang.Runnable,long,boolean,int,java.lang.Object):44:44 -> runThread$default ai.neuvision.sdk.debug.LogHandler$makeHandler$1$1 -> t: ai.neuvision.sdk.debug.LogHandler$makeHandler$1$1 INSTANCE -> a ai.neuvision.sdk.debug.LogKey -> ai.neuvision.sdk.debug.LogKey: 1:1:void ():9:9 -> 1:1:void ():9:9 -> ai.neuvision.sdk.debug.LogKey$Account -> ai.neuvision.sdk.debug.LogKey$Account: 1:1:void ():51:51 -> 1:1:void ():51:51 -> ai.neuvision.sdk.debug.LogKey$Audio -> ai.neuvision.sdk.debug.LogKey$Audio: 1:1:void ():12:12 -> 1:1:void ():12:12 -> ai.neuvision.sdk.debug.LogKey$Call -> ai.neuvision.sdk.debug.LogKey$Call: 1:1:void ():27:27 -> 1:1:void ():27:27 -> ai.neuvision.sdk.debug.LogKey$Doodle -> ai.neuvision.sdk.debug.LogKey$Doodle: 1:1:void ():37:37 -> 1:1:void ():37:37 -> ai.neuvision.sdk.debug.LogKey$Network -> ai.neuvision.sdk.debug.LogKey$Network: 1:1:void ():33:33 -> 1:1:void ():33:33 -> ai.neuvision.sdk.debug.LogKey$Video -> ai.neuvision.sdk.debug.LogKey$Video: 1:1:void ():20:20 -> 1:1:void ():20:20 -> ai.neuvision.sdk.debug.LogNative -> ai.neuvision.sdk.debug.LogNative: 1:1:void ():15:15 -> 1:1:void log(int,java.lang.String,java.lang.String):42:42 -> log 1:1:void logD(java.lang.String,java.lang.String):23:23 -> logD 1:1:void logE(java.lang.String,java.lang.String):38:38 -> logE 1:1:void logI(java.lang.String,java.lang.String):28:28 -> logI 1:1:void logInterval(java.lang.String,java.lang.String,int,java.lang.String):46:46 -> logInterval 1:1:void logRandom(java.lang.String,int,java.lang.String):50:50 -> logRandom 1:1:void logV(java.lang.String,java.lang.String):18:18 -> logV 1:1:void logW(java.lang.String,java.lang.String):33:33 -> logW ai.neuvision.sdk.debug.LogUploadHelper -> ai.neuvision.sdk.debug.LogUploadHelper: 1:1:void ():19:19 -> 1:8:void addFileToList(java.util.List,java.io.File):71:78 -> a 1:18:boolean appendStringToFile(java.io.File,java.lang.String):105:122 -> appendStringToFile 1:30:void appendStringToHeader(java.io.File,java.lang.String):132:161 -> appendStringToHeader 31:31:void appendStringToHeader(java.io.File,java.lang.String):159:159 -> appendStringToHeader 1:132:java.io.File compressLog(java.lang.String):35:166 -> compressLog 133:145:java.io.File compressLog(java.lang.String):37:49 -> compressLog 146:146:void ai.neuvision.sdk.utils.DebuggerKt.debugRun(java.lang.Object,kotlin.jvm.functions.Function1):184:184 -> compressLog 146:146:java.io.File compressLog(java.lang.String):168 -> compressLog 147:265:java.io.File compressLog(java.lang.String):54:172 -> compressLog 266:266:java.io.File compressLog(java.lang.String):63:63 -> compressLog 1:2:java.lang.String getLogFileDir():27:28 -> getLogFileDir 1:91:long getLogLength():84:174 -> getLogLength 92:97:long getLogLength():85:90 -> getLogLength 1:2:java.util.List getUploadFiles():100:101 -> getUploadFiles ai.neuvision.sdk.debug.Logger -> ai.neuvision.sdk.debug.Logger: ai.neuvision.sdk.debug.NeuLogUploadCallback uploadCallback -> c java.util.regex.Pattern ANONYMOUS_CLASS -> h java.util.List fqcnIgnore -> f long lastLogPrintTime -> e kotlin.Lazy instance$delegate -> i int notExecuteLevel -> g int logCnt -> d java.util.concurrent.CopyOnWriteArrayList interceptors -> b ai.neuvision.sdk.debug.LogUploadHelper uploadHelper -> a 1:5:void ():322:326 -> 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):21:21 -> 1:1:void ():21 -> 2:263:void ():22:283 -> 264:264:void ():277:277 -> 265:265:void (kotlin.jvm.internal.DefaultConstructorMarker):21:21 -> 1:214:void interceptLog(int,long,java.lang.String,java.lang.String,java.lang.String,boolean):162:375 -> a 1:214:void interceptLog$default(ai.neuvision.sdk.debug.Logger,int,long,java.lang.String,java.lang.String,java.lang.String,boolean,int,java.lang.Object):161 -> a 215:215:void interceptLog(int,long,java.lang.String,java.lang.String,java.lang.String,boolean):163:163 -> a 215:215:void interceptLog$default(ai.neuvision.sdk.debug.Logger,int,long,java.lang.String,java.lang.String,java.lang.String,boolean,int,java.lang.Object):161 -> a 216:353:java.lang.String getLogTag(java.lang.String):261:398 -> a 354:486:java.lang.String getLogTag(java.lang.String):267:399 -> a 487:489:java.lang.String getLogTag(java.lang.String):270:272 -> a 490:499:java.lang.String createStackElementTag(java.lang.StackTraceElement):289:298 -> a 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):21:21 -> access$getInstance$cp 1:1:kotlin.Lazy access$getInstance$cp():21 -> access$getInstance$cp 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):21:21 -> access$getNotExecuteLevel$cp 1:1:int access$getNotExecuteLevel$cp():21 -> access$getNotExecuteLevel$cp 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):21:21 -> access$setNotExecuteLevel$cp 1:1:void access$setNotExecuteLevel$cp(int):21 -> access$setNotExecuteLevel$cp 1:1:void addInterceptor(ai.neuvision.sdk.debug.interceptor.LogInterceptor):31:31 -> addInterceptor 1:1:void ():23:23 -> getInterceptors 1:1:java.util.concurrent.CopyOnWriteArrayList getInterceptors():23 -> getInterceptors 1:1:java.util.List getUploadFiles():246:246 -> getUploadFiles 1:1:void internalUpload$neu_lib_release():254:254 -> internalUpload$neu_lib_release 1:8:void log(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable[]):68:75 -> log 9:9:void ai.neuvision.sdk.utils.DebuggerKt.debugRun(java.lang.Object,kotlin.jvm.functions.Function1):184:184 -> log 9:9:void log(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable[]):367 -> log 10:10:void log(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable[]):82:82 -> log 11:31:void log(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable[]):77:97 -> log 32:32:java.lang.String getThreadInfo():169:169 -> log 32:32:void log(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable[]):97 -> log 33:33:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):92:92 -> log 33:33:java.lang.String getThreadInfo():377 -> log 33:33:void log(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable[]):97 -> log 34:37:java.lang.String getThreadInfo():171:174 -> log 34:37:void log(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable[]):97 -> log 38:38:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):94:94 -> log 38:38:java.lang.String getThreadInfo():379 -> log 38:38:void log(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable[]):97 -> log 39:39:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):95:95 -> log 39:39:java.lang.String getThreadInfo():380 -> log 39:39:void log(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable[]):97 -> log 40:316:void log(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable[]):97:373 -> log 317:342:void log(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable[]):117:142 -> log 343:556:void interceptLog(int,long,java.lang.String,java.lang.String,java.lang.String,boolean):162:375 -> log 343:556:void log(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable[]):143 -> log 557:557:void interceptLog(int,long,java.lang.String,java.lang.String,java.lang.String,boolean):163:163 -> log 557:557:void log(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable[]):143 -> log 558:559:void log(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Throwable[]):151:152 -> log 1:302:void logStatistics(java.lang.String):45:346 -> logStatistics 303:305:void logStatistics(java.lang.String):51:53 -> logStatistics 306:306:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilderKt.join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):102:102 -> logStatistics 306:306:void logStatistics(java.lang.String):349 -> logStatistics 307:307:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):92:92 -> logStatistics 307:307:void logStatistics(java.lang.String):350 -> logStatistics 308:308:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilderKt.join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):103:103 -> logStatistics 308:308:void logStatistics(java.lang.String):352 -> logStatistics 309:309:void logStatistics(java.lang.String):354:354 -> logStatistics 310:310:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilderKt.join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):105:105 -> logStatistics 310:310:void logStatistics(java.lang.String):355 -> logStatistics 311:311:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilderKt.join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):106:106 -> logStatistics 311:311:void logStatistics(java.lang.String):356 -> logStatistics 312:312:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilderKt.join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):107:107 -> logStatistics 312:312:void logStatistics(java.lang.String):357 -> logStatistics 314:314:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilderKt.join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):109:109 -> logStatistics 314:314:void logStatistics(java.lang.String):359 -> logStatistics 315:315:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):94:94 -> logStatistics 315:315:void logStatistics(java.lang.String):364 -> logStatistics 316:316:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):95:95 -> logStatistics 316:316:void logStatistics(java.lang.String):365 -> logStatistics 317:609:void logStatistics(java.lang.String):55:347 -> logStatistics 610:610:void logStatistics(java.lang.String):59:59 -> logStatistics 1:10:void printMessageConvert(java.lang.Object[],kotlin.jvm.functions.Function2):382:391 -> printMessageConvert 11:222:void printMessageConvert(java.lang.Object[],kotlin.jvm.functions.Function2):183:394 -> printMessageConvert 223:432:void printMessageConvert(java.lang.Object[],kotlin.jvm.functions.Function2):187:396 -> printMessageConvert 433:437:void printMessageConvert(java.lang.Object[],kotlin.jvm.functions.Function2):198:202 -> printMessageConvert 1:1:void removeInterceptor(ai.neuvision.sdk.debug.interceptor.LogInterceptor):38:38 -> removeInterceptor 1:1:void setLevel(int):221:221 -> setLevel 1:1:void setMainLevel(int):239:239 -> setMainLevel 1:1:void setPrintLevel(int):228:228 -> setPrintLevel 1:8:void startLogMonitor(java.lang.String,ai.neuvision.sdk.debug.NeuLogUploadCallback):207:214 -> startLogMonitor 9:18:void setupUncaughtExceptionHandler():303:312 -> startLogMonitor 9:18:void startLogMonitor(java.lang.String,ai.neuvision.sdk.debug.NeuLogUploadCallback):215 -> startLogMonitor 1:1:void zipAllFiles(java.lang.String):250:250 -> zipAllFiles 1:1:void zipAllFiles$default(ai.neuvision.sdk.debug.Logger,java.lang.String,int,java.lang.Object):249:249 -> zipAllFiles$default ai.neuvision.sdk.debug.Logger$Companion -> ai.neuvision.sdk.debug.Logger$Companion: 1:1:void ():316:316 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):316:316 -> 1:1:int getNotExecuteLevel$neu_lib_release():322:322 -> getNotExecuteLevel$neu_lib_release 1:1:void setNotExecuteLevel$neu_lib_release(int):322:322 -> setNotExecuteLevel$neu_lib_release ai.neuvision.sdk.debug.Logger$Companion$instance$2 -> ai.neuvision.sdk.debug.Logger$a: ai.neuvision.sdk.debug.Logger$Companion$instance$2 INSTANCE -> a 1:1:ai.neuvision.sdk.debug.Logger invoke():327:327 -> invoke 1:1:java.lang.Object invoke():316 -> invoke ai.neuvision.sdk.debug.Logger$setupUncaughtExceptionHandler$newUEH$1 -> u: java.lang.Thread$UncaughtExceptionHandler $oldUEH -> a 1:3:void uncaughtException(java.lang.Thread,java.lang.Throwable):307:307 -> uncaughtException 6:6:void uncaughtException(java.lang.Thread,java.lang.Throwable):310:310 -> uncaughtException ai.neuvision.sdk.debug.NeuLog -> ai.neuvision.sdk.debug.NeuLog: 1:1:void ():17:17 -> 1:1:void dTag(java.lang.Object,java.lang.Object[]):30:30 -> dTag 1:1:void eTag(java.lang.Object,java.lang.Object[]):34:34 -> eTag 1:1:void iTag(java.lang.Object,java.lang.Object[]):26:26 -> iTag 1:1:void logIntervalTAG(java.lang.Object,java.lang.Object,int,java.lang.Object[]):52:52 -> logIntervalTAG 2:2:void logIntervalTAG(int,java.lang.Object,java.lang.Object,int,java.lang.Object[]):60:60 -> logIntervalTAG 1:1:void logRandomTAG(java.lang.Object,int,java.lang.Object[]):47:47 -> logRandomTAG 2:2:void logRandomTAG(int,java.lang.Object,int,java.lang.Object[]):56:56 -> logRandomTAG 1:1:void trace(java.lang.Object[]):64:64 -> trace 1:1:void vTag(java.lang.Object,java.lang.Object[]):42:42 -> vTag 1:1:void wTag(java.lang.Object,java.lang.Object[]):38:38 -> wTag ai.neuvision.sdk.debug.Node -> ai.neuvision.sdk.debug.Node: 1:1:void ():9:9 -> ai.neuvision.sdk.debug.Node$Companion -> ai.neuvision.sdk.debug.Node$Companion: 1:1:void ():18:18 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):18:18 -> ai.neuvision.sdk.debug.Node$Trigger -> ai.neuvision.sdk.debug.Node$Trigger: ai.neuvision.sdk.debug.Pipeline pipeline -> e java.lang.String name -> a long timeRangeAfter -> d long timeRangeBefore -> c int possibility -> b 1:1:void (java.lang.String,int,long,long,ai.neuvision.sdk.debug.Pipeline):35:35 -> 2:2:void (java.lang.String,int,long,long,ai.neuvision.sdk.debug.Pipeline,int,kotlin.jvm.internal.DefaultConstructorMarker):40:40 -> 1:1:java.lang.String getName():36:36 -> getName 1:1:ai.neuvision.sdk.debug.Pipeline getPipeline():40:40 -> getPipeline 1:1:int getPossibility():37:37 -> getPossibility 1:1:long getTimeRangeAfter():39:39 -> getTimeRangeAfter 1:1:long getTimeRangeBefore():38:38 -> getTimeRangeBefore 1:1:void setName(java.lang.String):36:36 -> setName 1:1:void setPipeline(ai.neuvision.sdk.debug.Pipeline):40:40 -> setPipeline 1:1:void setPossibility(int):37:37 -> setPossibility 1:1:void setTimeRangeAfter(long):39:39 -> setTimeRangeAfter 1:1:void setTimeRangeBefore(long):38:38 -> setTimeRangeBefore ai.neuvision.sdk.debug.Pipeline -> ai.neuvision.sdk.debug.Pipeline: 1:1:void ():9:9 -> ai.neuvision.sdk.debug.RemoteSettingProxy -> ai.neuvision.sdk.debug.RemoteSettingProxy: 1:1:void ():29:29 -> 1:1:void ():9:9 -> 1:1:int getMainVideoFrameRate():18:18 -> getMainVideoFrameRate 1:1:int getThumbFrameRate():26:26 -> getThumbFrameRate 1:1:void setMainVideoFrameRate(int):14:14 -> setMainVideoFrameRate 1:1:void setThumbFrameRate(int):22:22 -> setThumbFrameRate ai.neuvision.sdk.debug.RomUtils -> ai.neuvision.sdk.debug.RomUtils: java.lang.String[] ROM_LEECO -> e java.lang.String[] ROM_OPPO -> d java.lang.String[] ROM_ZTE -> g java.lang.String[] ROM_360 -> f java.lang.String[] ROM_HUAWEI -> a java.lang.String[] ROM_XIAOMI -> c java.lang.String[] ROM_VIVO -> b java.lang.String[] ROM_SAMSUNG -> m java.lang.String[] ROM_GOOGLE -> l java.lang.String[] ROM_LENOVO -> o java.lang.String[] ROM_MEIZU -> n java.lang.String[] ROM_NUBIA -> i ai.neuvision.sdk.debug.RomUtils$RomInfo bean -> u java.lang.String[] ROM_ONEPLUS -> h java.lang.String[] ROM_LG -> k java.lang.String[] ROM_COOLPAD -> j java.lang.String[] ROM_MOTOROLA -> t java.lang.String[] ROM_HTC -> q java.lang.String[] ROM_SMARTISAN -> p java.lang.String[] ROM_GIONEE -> s java.lang.String[] ROM_SONY -> r 1:20:void ():26:45 -> 1:2:void ():60:61 -> 1:2:boolean isRightRom(java.lang.String,java.lang.String,java.lang.String[]):337:338 -> a 3:3:java.lang.String getRomVersion(java.lang.String):367:367 -> a 4:17:java.lang.String getSystemPropertyByShell(java.lang.String):399:412 -> a 4:17:java.lang.String getSystemProperty(java.lang.String):385 -> a 4:17:java.lang.String getRomVersion(java.lang.String):368 -> a 18:18:java.lang.String getSystemPropertyByShell(java.lang.String):409:409 -> a 18:18:java.lang.String getSystemProperty(java.lang.String):385 -> a 18:18:java.lang.String getRomVersion(java.lang.String):368 -> a 19:19:java.lang.String getSystemProperty(java.lang.String):386:386 -> a 19:19:java.lang.String getRomVersion(java.lang.String):368 -> a 20:25:java.lang.String getSystemPropertyByStream(java.lang.String):418:423 -> a 20:25:java.lang.String getSystemProperty(java.lang.String):387 -> a 20:25:java.lang.String getRomVersion(java.lang.String):368 -> a 26:27:java.lang.String getSystemProperty(java.lang.String):388:389 -> a 26:27:java.lang.String getRomVersion(java.lang.String):368 -> a 28:30:java.lang.String getSystemPropertyByReflect(java.lang.String):431:433 -> a 28:30:java.lang.String getSystemProperty(java.lang.String):390 -> a 28:30:java.lang.String getRomVersion(java.lang.String):368 -> a 31:39:java.lang.String getRomVersion(java.lang.String):370:378 -> a 1:2:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():250:251 -> getRomInfo 3:5:java.lang.String getBrand():357:359 -> getRomInfo 3:5:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():252 -> getRomInfo 6:8:java.lang.String getManufacturer():347:349 -> getRomInfo 6:8:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():253 -> getRomInfo 9:10:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():254:255 -> getRomInfo 11:11:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 11:11:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():255 -> getRomInfo 12:15:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():256:259 -> getRomInfo 16:16:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$102(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 16:16:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():259 -> getRomInfo 17:17:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():261:261 -> getRomInfo 18:18:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$102(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 18:18:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():261 -> getRomInfo 19:22:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():263:266 -> getRomInfo 23:23:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 23:23:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():266 -> getRomInfo 24:24:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():267:267 -> getRomInfo 25:25:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$102(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 25:25:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():267 -> getRomInfo 26:29:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():268:271 -> getRomInfo 30:30:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 30:30:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():271 -> getRomInfo 31:31:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():272:272 -> getRomInfo 32:32:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$102(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 32:32:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():272 -> getRomInfo 33:36:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():273:276 -> getRomInfo 37:37:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 37:37:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():276 -> getRomInfo 38:38:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():277:277 -> getRomInfo 39:39:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$102(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 39:39:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():277 -> getRomInfo 40:43:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():278:281 -> getRomInfo 44:44:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 44:44:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():281 -> getRomInfo 45:45:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():282:282 -> getRomInfo 46:46:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$102(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 46:46:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():282 -> getRomInfo 47:51:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():283:287 -> getRomInfo 52:52:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 52:52:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():287 -> getRomInfo 53:53:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():288:288 -> getRomInfo 54:54:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$102(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 54:54:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():288 -> getRomInfo 55:58:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():289:292 -> getRomInfo 59:59:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 59:59:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():292 -> getRomInfo 60:60:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():293:293 -> getRomInfo 61:61:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$102(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 61:61:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():293 -> getRomInfo 62:65:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():294:297 -> getRomInfo 66:66:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 66:66:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():297 -> getRomInfo 67:67:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():298:298 -> getRomInfo 68:68:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$102(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 68:68:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():298 -> getRomInfo 69:72:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():299:302 -> getRomInfo 73:73:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 73:73:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():302 -> getRomInfo 74:74:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():303:303 -> getRomInfo 75:75:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$102(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 75:75:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():303 -> getRomInfo 76:80:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():304:308 -> getRomInfo 81:81:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 81:81:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():308 -> getRomInfo 82:83:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():309:310 -> getRomInfo 84:84:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 84:84:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():310 -> getRomInfo 85:86:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():311:312 -> getRomInfo 87:87:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 87:87:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():312 -> getRomInfo 88:89:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():313:314 -> getRomInfo 90:90:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 90:90:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():314 -> getRomInfo 91:92:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():315:316 -> getRomInfo 93:93:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 93:93:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():316 -> getRomInfo 94:95:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():317:318 -> getRomInfo 96:96:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 96:96:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():318 -> getRomInfo 97:98:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():319:320 -> getRomInfo 99:99:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 99:99:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():320 -> getRomInfo 100:101:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():321:322 -> getRomInfo 102:102:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 102:102:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():322 -> getRomInfo 103:104:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():323:324 -> getRomInfo 105:105:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 105:105:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():324 -> getRomInfo 106:107:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():325:326 -> getRomInfo 108:108:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 108:108:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():326 -> getRomInfo 109:110:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():327:328 -> getRomInfo 111:111:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 111:111:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():328 -> getRomInfo 112:112:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():330:330 -> getRomInfo 113:113:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$002(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 113:113:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():330 -> getRomInfo 114:114:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():332:332 -> getRomInfo 115:115:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$102(ai.neuvision.sdk.debug.RomUtils$RomInfo,java.lang.String):438:438 -> getRomInfo 115:115:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():332 -> getRomInfo 116:116:ai.neuvision.sdk.debug.RomUtils$RomInfo getRomInfo():333:333 -> getRomInfo 1:1:boolean is360():115:115 -> is360 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> is360 2:2:boolean is360():115 -> is360 3:3:boolean is360():115:115 -> is360 1:1:boolean isCoolpad():151:151 -> isCoolpad 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isCoolpad 2:2:boolean isCoolpad():151 -> isCoolpad 3:3:boolean isCoolpad():151:151 -> isCoolpad 1:1:boolean isGionee():232:232 -> isGionee 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isGionee 2:2:boolean isGionee():232 -> isGionee 3:3:boolean isGionee():232:232 -> isGionee 1:1:boolean isGoogle():169:169 -> isGoogle 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isGoogle 2:2:boolean isGoogle():169 -> isGoogle 3:3:boolean isGoogle():169:169 -> isGoogle 1:1:boolean isHtc():214:214 -> isHtc 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isHtc 2:2:boolean isHtc():214 -> isHtc 3:3:boolean isHtc():214:214 -> isHtc 1:1:boolean isHuawei():70:70 -> isHuawei 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isHuawei 2:2:boolean isHuawei():70 -> isHuawei 3:3:boolean isHuawei():70:70 -> isHuawei 1:1:boolean isLeeco():106:106 -> isLeeco 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isLeeco 2:2:boolean isLeeco():106 -> isLeeco 3:3:boolean isLeeco():106:106 -> isLeeco 1:1:boolean isLenovo():196:196 -> isLenovo 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isLenovo 2:2:boolean isLenovo():196 -> isLenovo 3:3:boolean isLenovo():196:196 -> isLenovo 1:1:boolean isLg():160:160 -> isLg 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isLg 2:2:boolean isLg():160 -> isLg 3:3:boolean isLg():160:160 -> isLg 1:1:boolean isMeizu():187:187 -> isMeizu 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isMeizu 2:2:boolean isMeizu():187 -> isMeizu 3:3:boolean isMeizu():187:187 -> isMeizu 1:1:boolean isMotorola():241:241 -> isMotorola 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isMotorola 2:2:boolean isMotorola():241 -> isMotorola 3:3:boolean isMotorola():241:241 -> isMotorola 1:1:boolean isNubia():142:142 -> isNubia 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isNubia 2:2:boolean isNubia():142 -> isNubia 3:3:boolean isNubia():142:142 -> isNubia 1:1:boolean isOneplus():133:133 -> isOneplus 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isOneplus 2:2:boolean isOneplus():133 -> isOneplus 3:3:boolean isOneplus():133:133 -> isOneplus 1:1:boolean isOppo():97:97 -> isOppo 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isOppo 2:2:boolean isOppo():97 -> isOppo 3:3:boolean isOppo():97:97 -> isOppo 1:1:boolean isSamsung():178:178 -> isSamsung 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isSamsung 2:2:boolean isSamsung():178 -> isSamsung 3:3:boolean isSamsung():178:178 -> isSamsung 1:1:boolean isSmartisan():205:205 -> isSmartisan 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isSmartisan 2:2:boolean isSmartisan():205 -> isSmartisan 3:3:boolean isSmartisan():205:205 -> isSmartisan 1:1:boolean isSony():223:223 -> isSony 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isSony 2:2:boolean isSony():223 -> isSony 3:3:boolean isSony():223:223 -> isSony 1:1:boolean isVivo():79:79 -> isVivo 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isVivo 2:2:boolean isVivo():79 -> isVivo 3:3:boolean isVivo():79:79 -> isVivo 1:1:boolean isXiaomi():88:88 -> isXiaomi 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isXiaomi 2:2:boolean isXiaomi():88 -> isXiaomi 3:3:boolean isXiaomi():88:88 -> isXiaomi 1:1:boolean isZte():124:124 -> isZte 2:2:java.lang.String ai.neuvision.sdk.debug.RomUtils$RomInfo.access$000(ai.neuvision.sdk.debug.RomUtils$RomInfo):438:438 -> isZte 2:2:boolean isZte():124 -> isZte 3:3:boolean isZte():124:124 -> isZte ai.neuvision.sdk.debug.RomUtils$RomInfo -> ai.neuvision.sdk.debug.RomUtils$RomInfo: java.lang.String name -> a java.lang.String version -> b 1:1:void ():438:438 -> 1:1:java.lang.String getName():443:443 -> getName 1:1:java.lang.String getVersion():447:447 -> getVersion 1:1:java.lang.String toString():452:452 -> toString ai.neuvision.sdk.debug.ShotSnap -> ai.neuvision.sdk.debug.ShotSnap: java.util.List recordes -> b java.util.Set markSet -> a 1:4:void ():10:13 -> 5:5:void ():12:12 -> 1:1:void ():10:10 -> 1:1:void ():10 -> 1:1:void mark(java.lang.String):18:18 -> mark 1:1:void printAll():23:23 -> printAll 2:2:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):92:92 -> printAll 2:2:void printAll():92 -> printAll 3:74:void printAll():24:95 -> printAll 75:77:void printAll():26:28 -> printAll 78:78:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):94:94 -> printAll 78:78:void printAll():97 -> printAll 79:79:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):95:95 -> printAll 79:79:void printAll():98 -> printAll 80:80:void printAll():31:31 -> printAll 1:17:void record(java.lang.String,java.lang.Object):37:53 -> record 1:3:void remove(java.lang.String):59:61 -> remove ai.neuvision.sdk.debug.ShotSnap$Audio -> ai.neuvision.sdk.debug.ShotSnap$Audio: 1:1:void ():75:75 -> 1:1:void ():75:75 -> ai.neuvision.sdk.debug.ShotSnap$Session -> ai.neuvision.sdk.debug.ShotSnap$Session: 1:1:void ():84:84 -> 1:1:void ():84:84 -> ai.neuvision.sdk.debug.ShotSnap$Video -> ai.neuvision.sdk.debug.ShotSnap$Video: 1:1:void ():65:65 -> 1:1:void ():65:65 -> ai.neuvision.sdk.debug.ShotSnapData -> ai.neuvision.sdk.debug.ShotSnapData: long lastPrintTime -> a java.lang.Object value -> c java.lang.String key -> b 1:1:void (java.lang.String,java.lang.Object):11:11 -> 1:1:java.lang.String getKey():11:11 -> getKey 1:1:long getLastPrintTime():12:12 -> getLastPrintTime 1:1:java.lang.Object getValue():11:11 -> getValue 1:1:void setLastPrintTime(long):12:12 -> setLastPrintTime 1:1:void setValue(java.lang.Object):11:11 -> setValue 1:1:java.lang.String toString():15:15 -> toString ai.neuvision.sdk.debug.StreamFile -> ai.neuvision.sdk.debug.StreamFile: 1:1:void (java.lang.String,int,int,kotlin.jvm.internal.DefaultConstructorMarker):18:18 -> 1:1:void (java.lang.String,int):18 -> 2:6:void (java.lang.String,int):27:31 -> 7:7:void (java.lang.String,int,int,kotlin.jvm.internal.DefaultConstructorMarker):18:18 -> 1:39:void appendToStream(java.nio.ByteBuffer,int):119:157 -> appendToStream 1:17:void closeStream():164:180 -> closeStream 1:1:long getSize():53:53 -> getSize 1:12:void makeSureStreamOpened():57:57 -> makeSureStreamOpened 1:7:void openStream():185:191 -> openStream 1:1:void ai.neuvision.sdk.utils.DebuggerKt.debugRun(java.lang.Object,kotlin.jvm.functions.Function1):184:184 -> saveToCache 1:1:boolean saveToCache(java.lang.String):258 -> saveToCache 2:10:boolean saveToCache(java.lang.String):201:209 -> saveToCache 11:11:void ai.neuvision.sdk.utils.DebuggerKt.debugRun(java.lang.Object,kotlin.jvm.functions.Function1):184:184 -> saveToCache 11:11:boolean saveToCache(java.lang.String):262 -> saveToCache 12:15:boolean saveToCache(java.lang.String):212:215 -> saveToCache 16:16:boolean saveToCache(java.lang.String):201:201 -> saveToCache 1:2:void setMaxFileSize(long,ai.neuvision.sdk.debug.StreamFile$FileSaveOverLimitListener):42:43 -> setMaxFileSize 1:3:void switchOutputType(int):47:47 -> switchOutputType 1:17:boolean write(java.lang.String):77:93 -> write 18:46:boolean write(java.lang.String):80:108 -> write 47:53:boolean write(java.lang.String):107:107 -> write ai.neuvision.sdk.debug.StreamFile$Companion -> ai.neuvision.sdk.debug.StreamFile$Companion: 1:1:void ():223:223 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):223:223 -> ai.neuvision.sdk.debug.StreamFileCopy -> ai.neuvision.sdk.debug.StreamFileCopy: 1:17:void (java.lang.String):19:35 -> 18:22:void (java.lang.String,boolean):23:27 -> 1:2:void closeStream():90:91 -> closeStream 1:9:void makeSureStreamOpened():38:46 -> makeSureStreamOpened 10:10:void ai.neuvision.sdk.utils.DebuggerKt.debugRun(java.lang.Object,kotlin.jvm.functions.Function1):184:184 -> makeSureStreamOpened 10:10:void makeSureStreamOpened():119 -> makeSureStreamOpened 11:13:void makeSureStreamOpened():48:50 -> makeSureStreamOpened 14:14:void makeSureStreamOpened():38:38 -> makeSureStreamOpened 1:13:boolean saveToCache(java.lang.String):95:107 -> saveToCache 14:14:void ai.neuvision.sdk.utils.DebuggerKt.debugRun(java.lang.Object,kotlin.jvm.functions.Function1):184:184 -> saveToCache 14:14:boolean saveToCache(java.lang.String):127 -> saveToCache 15:17:boolean saveToCache(java.lang.String):110:112 -> saveToCache 18:19:boolean saveToCache(java.lang.String):101:102 -> saveToCache 20:20:boolean saveToCache(java.lang.String):95:95 -> saveToCache 1:8:boolean write(java.lang.String):58:65 -> write 9:9:void ai.neuvision.sdk.utils.DebuggerKt.debugRun(java.lang.Object,kotlin.jvm.functions.Function1):184:184 -> write 9:9:boolean write(java.lang.String):123 -> write 10:16:boolean write(java.lang.String):69:75 -> write 17:40:boolean write(java.lang.String):60:83 -> write ai.neuvision.sdk.debug.WSLog -> ai.neuvision.sdk.debug.WSLog: android.os.HandlerThread workerThread -> a android.os.Handler workHandler -> b okhttp3.OkHttpClient mOkHttpClient -> c okhttp3.WebSocket mWebSocket -> d java.lang.String wsUrl -> e 1:1:void ():132:132 -> 1:1:boolean access$402(ai.neuvision.sdk.debug.WSLog,boolean):20:20 -> a 1:1:ai.neuvision.sdk.debug.WSLog getInstance():37:37 -> getInstance 1:4:void init(java.lang.String):41:44 -> init 1:2:void sendLog(java.lang.String):65:66 -> sendLog 1:3:void setEnable(boolean):58:60 -> setEnable ai.neuvision.sdk.debug.WSLog$1 -> ai.neuvision.sdk.debug.WSLog$a: ai.neuvision.sdk.debug.WSLog this$0 -> a 1:1:void (ai.neuvision.sdk.debug.WSLog,android.os.Looper):44:44 -> 1:2:void handleMessage(android.os.Message):47:48 -> handleMessage 3:15:void ai.neuvision.sdk.debug.WSLog.connectWS():71:83 -> handleMessage 3:15:void ai.neuvision.sdk.debug.WSLog.access$100(ai.neuvision.sdk.debug.WSLog):20 -> handleMessage 3:15:void handleMessage(android.os.Message):48 -> handleMessage 16:16:void ai.neuvision.sdk.debug.WSLog.connectWS():79:79 -> handleMessage 16:16:void ai.neuvision.sdk.debug.WSLog.access$100(ai.neuvision.sdk.debug.WSLog):20 -> handleMessage 16:16:void handleMessage(android.os.Message):48 -> handleMessage 17:17:void handleMessage(android.os.Message):50:50 -> handleMessage 18:25:void ai.neuvision.sdk.debug.WSLog.disconnectWS():117:124 -> handleMessage 18:25:void ai.neuvision.sdk.debug.WSLog.access$200(ai.neuvision.sdk.debug.WSLog):20 -> handleMessage 18:25:void handleMessage(android.os.Message):50 -> handleMessage ai.neuvision.sdk.debug.WSLog$2 -> v: ai.neuvision.sdk.debug.WSLog this$0 -> a 1:1:void (ai.neuvision.sdk.debug.WSLog):84:84 -> 1:1:void onMessage(okhttp3.WebSocket,java.lang.String):95:95 -> onMessage 1:1:void onOpen(okhttp3.WebSocket,okhttp3.Response):88:88 -> onOpen 2:2:okhttp3.WebSocket ai.neuvision.sdk.debug.WSLog.access$302(ai.neuvision.sdk.debug.WSLog,okhttp3.WebSocket):20:20 -> onOpen 2:2:void onOpen(okhttp3.WebSocket,okhttp3.Response):88 -> onOpen 3:3:void onOpen(okhttp3.WebSocket,okhttp3.Response):89:89 -> onOpen ai.neuvision.sdk.debug.WSLog$SingletonHolder -> ai.neuvision.sdk.debug.WSLog$b: ai.neuvision.sdk.debug.WSLog sInstance -> a 1:1:void ():129:129 -> 2:2:void ai.neuvision.sdk.debug.WSLog.(ai.neuvision.sdk.debug.WSLog$1):20:20 -> 2:2:void ():129 -> 3:3:void ():129:129 -> ai.neuvision.sdk.debug.handler.RemoteService -> ai.neuvision.sdk.debug.handler.RemoteService: java.util.Deque runningRequest -> a ai.neuvision.sdk.debug.IRemoteService$Stub stub -> d ai.neuvision.sdk.debug.IPCCache mIpcCache -> c java.util.concurrent.locks.Lock mLock -> b 1:57:void ():40:96 -> 1:15:java.io.ByteArrayOutputStream input2OutputStream(java.io.InputStream):77:91 -> input2OutputStream 16:22:java.io.ByteArrayOutputStream input2OutputStream(java.io.InputStream):85:91 -> input2OutputStream 23:27:java.io.ByteArrayOutputStream input2OutputStream(java.io.InputStream):89:93 -> input2OutputStream 1:1:android.os.IBinder onBind(android.content.Intent):71:71 -> onBind 1:9:void onCreate():58:66 -> onCreate 1:3:void sendBoardcast(android.os.Bundle):306:308 -> sendBoardcast ai.neuvision.sdk.debug.handler.RemoteService$1 -> ai.neuvision.sdk.debug.handler.RemoteService$a: ai.neuvision.sdk.debug.handler.RemoteService this$0 -> a 1:1:void (ai.neuvision.sdk.debug.handler.RemoteService):96:96 -> 1:19:java.lang.String captureName(boolean,java.lang.String):261:279 -> a 1:5:java.lang.String getConfig():287:291 -> getConfig 1:2:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):99:100 -> sendRequest 3:3:java.util.concurrent.locks.Lock ai.neuvision.sdk.debug.handler.RemoteService.access$000(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 3:3:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):100 -> sendRequest 4:6:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):100:102 -> sendRequest 7:7:void ai.neuvision.sdk.debug.handler.RemoteService.executed(ai.neuvision.sdk.debug.IPCRequest):298:298 -> sendRequest 7:7:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):102 -> sendRequest 8:47:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):103:142 -> sendRequest 48:48:void ai.neuvision.sdk.debug.handler.RemoteService.finished(ai.neuvision.sdk.debug.IPCRequest):302:302 -> sendRequest 48:48:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):142 -> sendRequest 49:49:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):143:143 -> sendRequest 50:50:java.util.concurrent.locks.Lock ai.neuvision.sdk.debug.handler.RemoteService.access$000(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 50:50:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):143 -> sendRequest 51:52:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):143:144 -> sendRequest 53:53:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):136:136 -> sendRequest 54:78:ai.neuvision.sdk.debug.IPCResponse parseStatusField(ai.neuvision.sdk.debug.IPCRequest):230:254 -> sendRequest 54:78:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):137 -> sendRequest 79:79:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):149:149 -> sendRequest 79:79:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 80:80:ai.neuvision.sdk.debug.IPCCache ai.neuvision.sdk.debug.handler.RemoteService.access$100(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 80:80:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):149 -> sendRequest 80:80:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 81:110:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):149:178 -> sendRequest 81:110:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 111:111:ai.neuvision.sdk.debug.IPCCache ai.neuvision.sdk.debug.handler.RemoteService.access$100(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 111:111:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):178 -> sendRequest 111:111:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 112:114:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):178:180 -> sendRequest 112:114:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 115:115:ai.neuvision.sdk.debug.IPCCache ai.neuvision.sdk.debug.handler.RemoteService.access$100(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 115:115:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):180 -> sendRequest 115:115:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 116:133:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):180:197 -> sendRequest 116:133:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 134:134:void ai.neuvision.sdk.debug.handler.RemoteService.finished(ai.neuvision.sdk.debug.IPCRequest):302:302 -> sendRequest 134:134:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):197 -> sendRequest 134:134:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 135:135:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):198:198 -> sendRequest 135:135:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 136:136:java.util.concurrent.locks.Lock ai.neuvision.sdk.debug.handler.RemoteService.access$000(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 136:136:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):198 -> sendRequest 136:136:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 137:137:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):198:198 -> sendRequest 137:137:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 138:146:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):189:197 -> sendRequest 138:146:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 147:147:void ai.neuvision.sdk.debug.handler.RemoteService.finished(ai.neuvision.sdk.debug.IPCRequest):302:302 -> sendRequest 147:147:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):197 -> sendRequest 147:147:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 148:148:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):198:198 -> sendRequest 148:148:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 149:149:java.util.concurrent.locks.Lock ai.neuvision.sdk.debug.handler.RemoteService.access$000(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 149:149:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):198 -> sendRequest 149:149:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 150:150:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):198:198 -> sendRequest 150:150:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 151:155:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):193:197 -> sendRequest 151:155:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 156:156:void ai.neuvision.sdk.debug.handler.RemoteService.finished(ai.neuvision.sdk.debug.IPCRequest):302:302 -> sendRequest 156:156:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):197 -> sendRequest 156:156:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 157:157:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):198:198 -> sendRequest 157:157:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 158:158:java.util.concurrent.locks.Lock ai.neuvision.sdk.debug.handler.RemoteService.access$000(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 158:158:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):198 -> sendRequest 158:158:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 159:159:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):198:198 -> sendRequest 159:159:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 160:160:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):197:197 -> sendRequest 160:160:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 161:161:void ai.neuvision.sdk.debug.handler.RemoteService.finished(ai.neuvision.sdk.debug.IPCRequest):302:302 -> sendRequest 161:161:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):197 -> sendRequest 161:161:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 162:162:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):198:198 -> sendRequest 162:162:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 163:163:java.util.concurrent.locks.Lock ai.neuvision.sdk.debug.handler.RemoteService.access$000(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 163:163:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):198 -> sendRequest 163:163:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 164:165:ai.neuvision.sdk.debug.IPCResponse parseField(ai.neuvision.sdk.debug.IPCRequest):198:199 -> sendRequest 164:165:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):139 -> sendRequest 166:166:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):207:207 -> sendRequest 166:166:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 167:167:ai.neuvision.sdk.debug.IPCCache ai.neuvision.sdk.debug.handler.RemoteService.access$100(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 167:167:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):207 -> sendRequest 167:167:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 168:169:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):207:208 -> sendRequest 168:169:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 170:170:ai.neuvision.sdk.debug.IPCCache ai.neuvision.sdk.debug.handler.RemoteService.access$100(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 170:170:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):208 -> sendRequest 170:170:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 171:187:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):208:224 -> sendRequest 171:187:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 188:188:void ai.neuvision.sdk.debug.handler.RemoteService.finished(ai.neuvision.sdk.debug.IPCRequest):302:302 -> sendRequest 188:188:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):224 -> sendRequest 188:188:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 189:189:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):225:225 -> sendRequest 189:189:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 190:190:java.util.concurrent.locks.Lock ai.neuvision.sdk.debug.handler.RemoteService.access$000(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 190:190:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):225 -> sendRequest 190:190:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 191:191:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):225:225 -> sendRequest 191:191:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 192:195:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):221:224 -> sendRequest 192:195:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 196:196:void ai.neuvision.sdk.debug.handler.RemoteService.finished(ai.neuvision.sdk.debug.IPCRequest):302:302 -> sendRequest 196:196:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):224 -> sendRequest 196:196:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 197:197:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):225:225 -> sendRequest 197:197:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 198:198:java.util.concurrent.locks.Lock ai.neuvision.sdk.debug.handler.RemoteService.access$000(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 198:198:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):225 -> sendRequest 198:198:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 199:199:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):225:225 -> sendRequest 199:199:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 200:200:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):224:224 -> sendRequest 200:200:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 201:201:void ai.neuvision.sdk.debug.handler.RemoteService.finished(ai.neuvision.sdk.debug.IPCRequest):302:302 -> sendRequest 201:201:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):224 -> sendRequest 201:201:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 202:202:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):225:225 -> sendRequest 202:202:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 203:203:java.util.concurrent.locks.Lock ai.neuvision.sdk.debug.handler.RemoteService.access$000(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 203:203:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):225 -> sendRequest 203:203:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 204:205:ai.neuvision.sdk.debug.IPCResponse parseMethod(ai.neuvision.sdk.debug.IPCRequest):225:226 -> sendRequest 204:205:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):134 -> sendRequest 206:211:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):125:130 -> sendRequest 212:212:void ai.neuvision.sdk.debug.handler.RemoteService.finished(ai.neuvision.sdk.debug.IPCRequest):302:302 -> sendRequest 212:212:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):130 -> sendRequest 213:213:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):131:131 -> sendRequest 214:214:java.util.concurrent.locks.Lock ai.neuvision.sdk.debug.handler.RemoteService.access$000(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 214:214:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):131 -> sendRequest 215:215:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):131:131 -> sendRequest 216:219:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):127:130 -> sendRequest 220:220:void ai.neuvision.sdk.debug.handler.RemoteService.finished(ai.neuvision.sdk.debug.IPCRequest):302:302 -> sendRequest 220:220:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):130 -> sendRequest 221:221:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):131:131 -> sendRequest 222:222:java.util.concurrent.locks.Lock ai.neuvision.sdk.debug.handler.RemoteService.access$000(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 222:222:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):131 -> sendRequest 223:223:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):131:131 -> sendRequest 224:224:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):130:130 -> sendRequest 225:225:void ai.neuvision.sdk.debug.handler.RemoteService.finished(ai.neuvision.sdk.debug.IPCRequest):302:302 -> sendRequest 225:225:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):130 -> sendRequest 226:226:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):131:131 -> sendRequest 227:227:java.util.concurrent.locks.Lock ai.neuvision.sdk.debug.handler.RemoteService.access$000(ai.neuvision.sdk.debug.handler.RemoteService):40:40 -> sendRequest 227:227:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):131 -> sendRequest 228:229:ai.neuvision.sdk.debug.IPCResponse sendRequest(ai.neuvision.sdk.debug.IPCRequest):131:132 -> sendRequest ai.neuvision.sdk.debug.interceptor.LightLog -> ai.neuvision.sdk.debug.interceptor.LightLog: ai.neuvision.sdk.debug.interceptor.LightLog sLightLog -> d long mCurrentDay -> c java.lang.String mCachePath -> b java.nio.MappedByteBuffer mappedByteBuffer -> a 1:1:void ():46:46 -> 1:28:java.nio.MappedByteBuffer getMappedByteBuffer():187:214 -> a 29:32:void unmap(java.nio.MappedByteBuffer):227:230 -> a 1:2:void flush():69:70 -> flush 3:69:void flush(java.lang.String):74:140 -> flush 70:93:void flush(java.lang.String):117:140 -> flush 94:115:void flush(java.lang.String):121:142 -> flush 1:5:void init(java.lang.String,double,int):60:64 -> init 1:6:ai.neuvision.sdk.debug.interceptor.LightLog newInstance():51:56 -> newInstance 1:2:boolean isDay():182:183 -> write 1:2:void write(byte[]):148 -> write 3:31:void write(byte[]):149:177 -> write 32:39:void write(byte[]):167:174 -> write ai.neuvision.sdk.debug.interceptor.LogPrinter -> ai.neuvision.sdk.debug.interceptor.LogPrinter: kotlin.Lazy instance$delegate -> b int level -> a 1:1:void ():36:36 -> 1:2:void ():12:13 -> 3:3:void (kotlin.jvm.internal.DefaultConstructorMarker):12:12 -> 1:1:kotlin.Lazy access$getInstance$cp():12:12 -> access$getInstance$cp 1:1:int getLevel():19:19 -> getLevel 1:5:void log(int,long,java.lang.String,java.lang.String,java.lang.String):25:29 -> log 1:1:void setLevel(int):16:16 -> setLevel ai.neuvision.sdk.debug.interceptor.LogPrinter$Companion -> ai.neuvision.sdk.debug.interceptor.LogPrinter$Companion: 1:1:void ():35:35 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):35:35 -> ai.neuvision.sdk.debug.interceptor.LogPrinter$Companion$instance$2 -> ai.neuvision.sdk.debug.interceptor.LogPrinter$a: ai.neuvision.sdk.debug.interceptor.LogPrinter$Companion$instance$2 INSTANCE -> a 1:1:ai.neuvision.sdk.debug.interceptor.LogPrinter invoke():37:37 -> invoke 1:1:java.lang.Object invoke():35 -> invoke ai.neuvision.sdk.debug.interceptor.LogStatistic -> ai.neuvision.sdk.debug.interceptor.LogStatistic: kotlin.Lazy handler$delegate -> c kotlin.Lazy instance$delegate -> d java.lang.String save_dir -> b kotlin.Lazy writeFile$delegate -> a 1:1:void ():42:42 -> 1:1:kotlin.Lazy access$getInstance$cp():19:19 -> 1:1:void ():19 -> 2:13:void ():21:32 -> ai.neuvision.sdk.debug.StreamFile getWriteFile() -> a 1:1:boolean appendStringToFile(java.lang.String):38:38 -> access$appendStringToFile 1:1:boolean access$appendStringToFile(ai.neuvision.sdk.debug.interceptor.LogStatistic,java.lang.String):19 -> access$appendStringToFile 1:1:kotlin.Lazy access$getInstance$cp():19:19 -> access$getInstance$cp 1:1:boolean forceCloseFile():70:70 -> forceCloseFile 1:1:java.lang.String getCacheFilePath():66:66 -> getCacheFilePath 1:1:long getLength():74:74 -> getLength 1:7:void recorde(java.lang.String):49:55 -> recorde 8:8:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):92:92 -> recorde 8:8:void recorde(java.lang.String):77 -> recorde 9:9:void recorde(java.lang.String):56:56 -> recorde 10:10:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):94:94 -> recorde 10:10:void recorde(java.lang.String):79 -> recorde 11:11:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):95:95 -> recorde 11:11:void recorde(java.lang.String):80 -> recorde 12:12:ai.neuvision.sdk.debug.LogHandler getHandler():0:0 -> recorde 12:12:void recorde(java.lang.String):59 -> recorde 13:13:void recorde(java.lang.String):59:59 -> recorde ai.neuvision.sdk.debug.interceptor.LogStatistic$Companion -> ai.neuvision.sdk.debug.interceptor.LogStatistic$Companion: 1:1:void ():41:41 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):41:41 -> ai.neuvision.sdk.debug.interceptor.LogStatistic$Companion$instance$2 -> ai.neuvision.sdk.debug.interceptor.LogStatistic$a: ai.neuvision.sdk.debug.interceptor.LogStatistic$Companion$instance$2 INSTANCE -> a 1:1:ai.neuvision.sdk.debug.interceptor.LogStatistic invoke():43:43 -> invoke 1:1:java.lang.Object invoke():41 -> invoke ai.neuvision.sdk.debug.interceptor.LogStatistic$handler$2 -> ai.neuvision.sdk.debug.interceptor.LogStatistic$b: ai.neuvision.sdk.debug.interceptor.LogStatistic$handler$2 INSTANCE -> a 1:1:ai.neuvision.sdk.debug.LogHandler invoke():33:33 -> invoke 1:1:java.lang.Object invoke():19 -> invoke ai.neuvision.sdk.debug.interceptor.LogStatistic$recorde$1 -> ai.neuvision.sdk.debug.interceptor.LogStatistic$c: ai.neuvision.sdk.debug.interceptor.LogStatistic this$0 -> a java.lang.String $toString -> b 1:1:void run():60:60 -> run ai.neuvision.sdk.debug.interceptor.LogStatistic$writeFile$2 -> ai.neuvision.sdk.debug.interceptor.LogStatistic$d: ai.neuvision.sdk.debug.interceptor.LogStatistic$writeFile$2 INSTANCE -> a 1:3:ai.neuvision.sdk.debug.StreamFile invoke():22:22 -> invoke 1:3:java.lang.Object invoke():19 -> invoke ai.neuvision.sdk.debug.interceptor.MapDictWriter -> ai.neuvision.sdk.debug.interceptor.MapDictWriter: kotlin.Lazy writeFile$delegate -> c kotlin.Lazy map$delegate -> d boolean hasRecover -> a ai.neuvision.sdk.debug.interceptor.MapDictWriter$MappingDict mappingString -> b 1:9:void (java.lang.String):18:26 -> java.util.Map getMap() -> a ai.neuvision.sdk.debug.StreamFile getWriteFile() -> b 1:12:java.lang.String getString(java.lang.String):56:67 -> getString 1:22:void recover():31:52 -> recover ai.neuvision.sdk.debug.interceptor.MapDictWriter$MappingDict -> ai.neuvision.sdk.debug.interceptor.MapDictWriter$MappingDict: char[] charsArray -> a char min -> b char max -> c 1:1:void (ai.neuvision.sdk.debug.interceptor.MapDictWriter,char,char,int,kotlin.jvm.internal.DefaultConstructorMarker):72:72 -> 1:1:void (ai.neuvision.sdk.debug.interceptor.MapDictWriter,char,char):72 -> 2:2:void (ai.neuvision.sdk.debug.interceptor.MapDictWriter,char,char):73:73 -> 3:3:void (ai.neuvision.sdk.debug.interceptor.MapDictWriter,char,char,int,kotlin.jvm.internal.DefaultConstructorMarker):72:72 -> 1:10:void convertChar(int):82:91 -> a 1:1:java.lang.String getCharString():75:75 -> getCharString 2:2:java.lang.String toCharString():96:96 -> getCharString 2:2:java.lang.String getCharString():76 -> getCharString 3:3:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):92:92 -> getCharString 3:3:java.lang.String toCharString():112 -> getCharString 3:3:java.lang.String getCharString():76 -> getCharString 4:21:java.lang.String toCharString():97:114 -> getCharString 4:21:java.lang.String getCharString():76 -> getCharString 22:22:java.lang.String toCharString():98:98 -> getCharString 22:22:java.lang.String getCharString():76 -> getCharString 23:23:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):94:94 -> getCharString 23:23:java.lang.String toCharString():116 -> getCharString 23:23:java.lang.String getCharString():76 -> getCharString 24:24:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):95:95 -> getCharString 24:24:java.lang.String toCharString():117 -> getCharString 24:24:java.lang.String getCharString():76 -> getCharString 1:1:void recover(java.lang.String):108:108 -> recover 1:1:void reset():104:104 -> reset ai.neuvision.sdk.debug.interceptor.MapDictWriter$map$2 -> ai.neuvision.sdk.debug.interceptor.MapDictWriter$a: ai.neuvision.sdk.debug.interceptor.MapDictWriter$map$2 INSTANCE -> a 1:1:java.util.Map invoke():27:27 -> invoke 1:1:java.lang.Object invoke():18 -> invoke ai.neuvision.sdk.debug.interceptor.MapDictWriter$writeFile$2 -> ai.neuvision.sdk.debug.interceptor.MapDictWriter$b: java.lang.String $filePath -> a 1:1:ai.neuvision.sdk.debug.StreamFile invoke():24:24 -> invoke 1:1:java.lang.Object invoke():18 -> invoke ai.neuvision.sdk.debug.interceptor.writer.LogWriter -> ai.neuvision.sdk.debug.interceptor.writer.LogWriter: kotlin.Lazy handler$delegate -> b kotlin.Lazy writeFile$delegate -> e kotlin.Lazy instance$delegate -> f ai.neuvision.sdk.debug.interceptor.writer.RepeatLog repeatLog -> a boolean isInit -> c java.lang.String save_dir -> d 1:1:void ():183:183 -> 1:1:kotlin.Lazy access$getInstance$cp():23:23 -> 1:1:void ():23 -> 2:136:void ():24:158 -> ai.neuvision.sdk.debug.LogHandler getHandler() -> a 1:3:boolean appendStringToFile(java.lang.String):173:175 -> a 1:1:kotlin.Lazy access$getInstance$cp():23:23 -> access$appendStringToFile 1:1:boolean access$appendStringToFile(ai.neuvision.sdk.debug.interceptor.writer.LogWriter,java.lang.String):23 -> access$appendStringToFile 1:1:kotlin.Lazy access$getInstance$cp():23:23 -> access$getInstance$cp 1:1:kotlin.Lazy access$getInstance$cp():23:23 -> access$getWriteFile$p 1:1:ai.neuvision.sdk.debug.StreamFile access$getWriteFile$p(ai.neuvision.sdk.debug.interceptor.writer.LogWriter):23 -> access$getWriteFile$p 1:23:void appStart(java.lang.String):101:123 -> appStart ai.neuvision.sdk.debug.StreamFile getWriteFile() -> b 1:1:boolean forceCloseFile():37:37 -> forceCloseFile 1:1:java.lang.String getCacheFilePath():33:33 -> getCacheFilePath 1:1:long getLength():41:41 -> getLength 1:6:void log(int,long,java.lang.String,java.lang.String,java.lang.String):47:52 -> log 7:7:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):92:92 -> log 7:7:void log(int,long,java.lang.String,java.lang.String,java.lang.String):193 -> log 8:23:void log(int,long,java.lang.String,java.lang.String,java.lang.String):55:70 -> log 24:24:void log(int,long,java.lang.String,java.lang.String,java.lang.String):64:64 -> log 25:40:void log(int,long,java.lang.String,java.lang.String,java.lang.String):58:73 -> log 41:41:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):94:94 -> log 41:41:void log(int,long,java.lang.String,java.lang.String,java.lang.String):195 -> log 42:42:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):95:95 -> log 42:42:void log(int,long,java.lang.String,java.lang.String,java.lang.String):196 -> log 43:47:void log(int,long,java.lang.String,java.lang.String,java.lang.String):75:79 -> log 48:48:void post(java.lang.String):89:89 -> log 48:48:void log(int,long,java.lang.String,java.lang.String,java.lang.String):80 -> log 49:49:void log(int,long,java.lang.String,java.lang.String,java.lang.String):82:82 -> log 1:1:void postAtFront(java.lang.String):95:95 -> postAtFront 1:1:void test(boolean,int):132:132 -> test ai.neuvision.sdk.debug.interceptor.writer.LogWriter$Companion -> ai.neuvision.sdk.debug.interceptor.writer.LogWriter$Companion: 1:1:void ():182:182 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):182:182 -> ai.neuvision.sdk.debug.interceptor.writer.LogWriter$Companion$instance$2 -> ai.neuvision.sdk.debug.interceptor.writer.LogWriter$a: ai.neuvision.sdk.debug.interceptor.writer.LogWriter$Companion$instance$2 INSTANCE -> a 1:1:ai.neuvision.sdk.debug.interceptor.writer.LogWriter invoke():184:184 -> invoke 1:1:java.lang.Object invoke():182 -> invoke ai.neuvision.sdk.debug.interceptor.writer.LogWriter$appStart$1 -> ai.neuvision.sdk.debug.interceptor.writer.LogWriter$b: ai.neuvision.sdk.debug.interceptor.writer.LogWriter this$0 -> a java.lang.String $deviceInfo -> c java.lang.String $printMessage -> b 1:2:void run():124:125 -> run ai.neuvision.sdk.debug.interceptor.writer.LogWriter$handler$2 -> ai.neuvision.sdk.debug.interceptor.writer.LogWriter$c: ai.neuvision.sdk.debug.interceptor.writer.LogWriter$handler$2 INSTANCE -> a 1:1:ai.neuvision.sdk.debug.LogHandler invoke():26:26 -> invoke 1:1:java.lang.Object invoke():23 -> invoke ai.neuvision.sdk.debug.interceptor.writer.LogWriter$post$1 -> w: ai.neuvision.sdk.debug.interceptor.writer.LogWriter this$0 -> a java.lang.String $printMessage -> b 1:1:void run():90:90 -> run ai.neuvision.sdk.debug.interceptor.writer.LogWriter$postAtFront$1 -> ai.neuvision.sdk.debug.interceptor.writer.LogWriter$d: ai.neuvision.sdk.debug.interceptor.writer.LogWriter this$0 -> a java.lang.String $printMessage -> b 1:1:void run():96:96 -> run ai.neuvision.sdk.debug.interceptor.writer.LogWriter$test$1 -> ai.neuvision.sdk.debug.interceptor.writer.LogWriter$e: ai.neuvision.sdk.debug.interceptor.writer.LogWriter this$0 -> a boolean $channel -> b int $cnt -> c 1:8:void run():133:140 -> run 9:9:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):92:92 -> run 9:9:void run():193 -> run 10:10:void run():141:141 -> run 11:11:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):94:94 -> run 11:11:void run():195 -> run 12:12:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):95:95 -> run 12:12:void run():196 -> run 13:15:void run():144:146 -> run ai.neuvision.sdk.debug.interceptor.writer.LogWriter$writeFile$2 -> ai.neuvision.sdk.debug.interceptor.writer.LogWriter$f: ai.neuvision.sdk.debug.interceptor.writer.LogWriter$writeFile$2 INSTANCE -> a 1:3:ai.neuvision.sdk.debug.StreamFile invoke():159:159 -> invoke 1:3:java.lang.Object invoke():23 -> invoke 7:7:ai.neuvision.sdk.debug.StreamFile invoke():163:163 -> invoke 7:7:java.lang.Object invoke():23 -> invoke 8:8:ai.neuvision.sdk.debug.StreamFile invoke():162:162 -> invoke 8:8:java.lang.Object invoke():23 -> invoke ai.neuvision.sdk.debug.interceptor.writer.LogWriter$writeFile$2$1 -> ai.neuvision.sdk.debug.interceptor.writer.LogWriter$writeFile$2$1: 1:1:void ():163:163 -> 1:1:void onFileSizeOverMaxSize():165:165 -> onFileSizeOverMaxSize ai.neuvision.sdk.debug.interceptor.writer.RepeatLog -> ai.neuvision.sdk.debug.interceptor.writer.RepeatLog: java.lang.String content -> f long time -> b int tid -> c java.lang.String subTag -> e int foundCnt -> a java.lang.String tag -> d 1:10:void (long,int,java.lang.String,java.lang.String,java.lang.String):13:22 -> 11:11:void ():19:19 -> 1:1:void addCount():25:25 -> addCount 1:4:boolean compare(java.lang.String,java.lang.String,java.lang.String):29:32 -> compare 1:1:void setContent(java.lang.String):18:18 -> getContent 1:1:java.lang.String getContent():18 -> getContent 1:1:void setSubTag(java.lang.String):17:17 -> getSubTag 1:1:java.lang.String getSubTag():17 -> getSubTag 1:1:void setTag(java.lang.String):16:16 -> getTag 1:1:java.lang.String getTag():16 -> getTag 1:1:void setTid(int):15:15 -> getTid 1:1:int getTid():15 -> getTid 1:1:void setTime(long):14:14 -> getTime 1:1:long getTime():14 -> getTime 1:1:boolean isEmpty():51:51 -> isEmpty 1:1:void setContent(java.lang.String):18:18 -> setContent 1:6:void setNewContent(long,int,java.lang.String,java.lang.String,java.lang.String):56:61 -> setNewContent 1:1:void setSubTag(java.lang.String):17:17 -> setSubTag 1:1:void setTag(java.lang.String):16:16 -> setTag 1:1:void setTid(int):15:15 -> setTid 1:1:void setTime(long):14:14 -> setTime 1:1:java.lang.String toLogString():36:36 -> toLogString 2:2:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):92:92 -> toLogString 2:2:java.lang.String toLogString():114 -> toLogString 3:12:java.lang.String toLogString():37:46 -> toLogString 13:13:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):94:94 -> toLogString 13:13:java.lang.String toLogString():116 -> toLogString 14:14:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):95:95 -> toLogString 14:14:java.lang.String toLogString():117 -> toLogString ai.neuvision.sdk.debug.interceptor.writer.RepeatLog$Companion -> ai.neuvision.sdk.debug.interceptor.writer.RepeatLog$Companion: 1:1:void ():64:64 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):64:64 -> 1:5:void addZero(int,ai.neuvision.sdk.utils.RecycleStringBuilder):105:109 -> a 1:33:void getCurrentTimeString(ai.neuvision.sdk.utils.RecycleStringBuilder):67:99 -> getCurrentTimeString ai.neuvision.sdk.debug.interceptor.writer.RepeatStatistic -> ai.neuvision.sdk.debug.interceptor.writer.RepeatStatistic: androidx.core.util.Pools$SynchronizedPool sPools -> f java.lang.String tag -> c java.lang.String time -> b java.lang.String content -> e int foundCnt -> a java.lang.String subTag -> d 1:1:void ():56:56 -> 1:22:void (java.lang.String,java.lang.String,java.lang.String,java.lang.String):13:34 -> 23:23:void (java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):17:17 -> 24:24:void ():19:19 -> 1:5:void reset():27:31 -> a 1:1:androidx.core.util.Pools$SynchronizedPool access$getSPools$cp():13:13 -> access$getSPools$cp 1:1:void access$reset(ai.neuvision.sdk.debug.interceptor.writer.RepeatStatistic):13:13 -> access$reset 1:1:void addCount():37:37 -> addCount 1:1:boolean compare(java.lang.String,java.lang.String,java.lang.String,java.lang.String):47:47 -> compare 2:2:boolean compare(ai.neuvision.sdk.debug.interceptor.writer.RepeatStatistic):52:52 -> compare 1:1:boolean compare$default(ai.neuvision.sdk.debug.interceptor.writer.RepeatStatistic,java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,java.lang.Object):45:45 -> compare$default 1:1:java.lang.String getContent():17:17 -> getContent 1:1:int getCount():41:41 -> getCount 1:1:java.lang.String getSubTag():16:16 -> getSubTag 1:1:java.lang.String getTag():15:15 -> getTag 1:1:java.lang.String getTime():14:14 -> getTime 1:2:void recycle():22:23 -> recycle 1:1:void setContent(java.lang.String):17:17 -> setContent 1:1:void setSubTag(java.lang.String):16:16 -> setSubTag 1:1:void setTag(java.lang.String):15:15 -> setTag 1:1:void setTime(java.lang.String):14:14 -> setTime ai.neuvision.sdk.debug.interceptor.writer.RepeatStatistic$Companion -> ai.neuvision.sdk.debug.interceptor.writer.RepeatStatistic$Companion: 1:1:void ():55:55 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):55:55 -> 1:5:ai.neuvision.sdk.debug.interceptor.writer.RepeatStatistic obtain():58:62 -> obtain ai.neuvision.sdk.debug.interceptor.writer.abs.AbsLogWriter -> ai.neuvision.sdk.debug.interceptor.writer.abs.AbsLogWriter: 1:1:void ():9:9 -> ai.neuvision.sdk.debug.interceptor.writer.abs.AbsWriter -> ai.neuvision.sdk.debug.interceptor.writer.abs.AbsWriter: 1:1:void ():9:9 -> ai.neuvision.sdk.debug.utils.KotlinReflectHelper -> ai.neuvision.sdk.debug.utils.KotlinReflectHelper: 1:1:void ():10:10 -> 1:1:void ():10:10 -> ai.neuvision.sdk.debug.utils.ParamsConvert -> ai.neuvision.sdk.debug.utils.ParamsConvert: 1:1:void ():13:13 -> 1:1:void ():11:11 -> 1:6:ai.neuvision.sdk.debug.IPCParameter[] serializationParams(java.lang.Object[]):60:65 -> serializationParams 1:12:java.lang.Object[] unSerializationParams(ai.neuvision.sdk.debug.IPCParameter[]):17:28 -> unSerializationParams 13:20:java.lang.Object parseEnum(java.lang.Class,java.lang.String):45:52 -> unSerializationParams 13:20:java.lang.Object[] unSerializationParams(ai.neuvision.sdk.debug.IPCParameter[]):28 -> unSerializationParams 21:29:java.lang.Object[] unSerializationParams(ai.neuvision.sdk.debug.IPCParameter[]):28:36 -> unSerializationParams 30:30:java.lang.Object[] unSerializationParams(ai.neuvision.sdk.debug.IPCParameter[]):18:18 -> unSerializationParams ai.neuvision.sdk.events.EventSource -> ai.neuvision.sdk.events.EventSource: 1:95:void ():49:143 -> 1:1:void ():48:48 -> 1:2:void dispatchEvent(java.lang.String):426:427 -> dispatchEvent 1:48:void dispatchIntent(android.content.Intent):347:394 -> dispatchIntent 1:2:boolean registerAllPackageListener(ai.neuvision.sdk.events.EventSource$IntentListener):336:337 -> registerAllPackageListener 1:1:boolean registerEventListener(ai.neuvision.sdk.events.EventSource$IntentListener,java.lang.String):229:229 -> registerEventListener 2:2:boolean registerEventListener(ai.neuvision.sdk.events.EventSource$IntentListener,java.lang.String,java.lang.String):233:233 -> registerEventListener 3:71:boolean registerEventListener(ai.neuvision.sdk.events.EventSource$IntentListener,java.lang.String,java.lang.String,java.lang.String):237:305 -> registerEventListener 72:72:boolean registerEventListener(ai.neuvision.sdk.events.EventSource$IntentListener,java.lang.String,java.lang.String,java.lang.String):238:238 -> registerEventListener 1:2:boolean searchForActions(java.lang.String,java.lang.String[]):220:221 -> searchForActions 1:9:void shutdown():205:213 -> shutdown 1:52:void startup(android.content.Context,java.lang.String[]):148:199 -> startup 53:152:void ai.neuvision.sdk.events.NetworkState.init(android.content.Context):0:99 -> startup 53:152:void startup(android.content.Context,java.lang.String[]):199 -> startup 153:153:void ai.neuvision.sdk.events.ShutdownState.init(android.content.Context):47:47 -> startup 153:153:void startup(android.content.Context,java.lang.String[]):200 -> startup 154:158:void ai.neuvision.sdk.events.PowerState.init(android.content.Context):88:92 -> startup 154:158:void startup(android.content.Context,java.lang.String[]):201 -> startup 1:1:void unregisterAllPackageListener(ai.neuvision.sdk.events.EventSource$IntentListener):343:343 -> unregisterAllPackageListener 1:19:void unregisterEventListener(ai.neuvision.sdk.events.EventSource$IntentListener):314:332 -> unregisterEventListener ai.neuvision.sdk.events.EventSource$EventListenerData -> ai.neuvision.sdk.events.EventSource$a: java.util.HashSet actions -> a 1:4:void ():80:83 -> ai.neuvision.sdk.events.EventSource$EventNotifier -> ai.neuvision.sdk.events.EventSource$b: ai.neuvision.sdk.events.EventSource$IntentListener listener -> a android.content.Intent intent -> b 1:3:void (ai.neuvision.sdk.events.EventSource$IntentListener,android.content.Intent):401:403 -> 1:3:void run():409:411 -> run 1:4:java.lang.String toString():417:420 -> toString ai.neuvision.sdk.events.EventSource$GeneralReceiver -> ai.neuvision.sdk.events.EventSource$GeneralReceiver: 1:1:void ():57:57 -> 1:11:void onReceive(android.content.Context,android.content.Intent):61:71 -> onReceive ai.neuvision.sdk.events.NetworkState -> ai.neuvision.sdk.events.NetworkState: android.net.ConnectivityManager sCM -> b ai.neuvision.sdk.events.NetworkState$NetworkStateTrackerEvents sEventSource -> e java.util.WeakHashMap sNetworkStateListeners -> d boolean sInitialNotification -> a android.net.NetworkInfo sNetworkInfo -> c 1:60:void ():34:93 -> 61:61:void ai.neuvision.sdk.events.NetworkState$NetworkStateTrackerEvents.(ai.neuvision.sdk.events.NetworkState$1):44:44 -> 61:61:void ():93 -> 62:62:void ():93:93 -> 1:1:void ():31:31 -> 1:14:java.lang.String getAllLocalIP():400:413 -> getAllLocalIP 1:8:android.net.NetworkInfo getCachedNetworkState():121:128 -> getCachedNetworkState 1:29:java.lang.String getIPforHost(java.lang.String):428:456 -> getIPforHost 1:16:int getNetWorkState():497:512 -> getNetWorkState 1:1:int getNetworkClass(int):331:331 -> getNetworkClass 1:9:android.net.NetworkInfo getNetworkState():109:117 -> getNetworkState 1:4:boolean is2GNetwork():168:171 -> is2GNetwork 1:4:boolean is2GNetworkCached():189:192 -> is2GNetworkCached 1:4:boolean is3GNetwork():210:213 -> is3GNetwork 1:4:boolean is3GNetworkCached():231:234 -> is3GNetworkCached 1:4:boolean is4GNetwork():252:255 -> is4GNetwork 1:4:boolean is4GNetworkCached():268:271 -> is4GNetworkCached 1:5:boolean is5GNetwork():284:288 -> is5GNetwork 1:5:boolean is5GNetworkCached():296:300 -> is5GNetworkCached 1:3:boolean isNeedProxy():364:366 -> isNeedProxy 1:2:boolean isNetworkAvailable():146:147 -> isNetworkAvailable 1:2:boolean isNetworkAvailableCached():151:152 -> isNetworkAvailableCached 1:6:boolean isWAP(java.lang.String):385:390 -> isWAP 1:6:boolean isWAPNetwork():373:378 -> isWAPNetwork 1:3:boolean isWifiNetwork():156:158 -> isWifiNetwork 1:3:boolean isWifiNetworkCached():162:164 -> isWifiNetworkCached 1:13:java.lang.String networkTypeString():467:479 -> networkTypeString 1:6:int ping():486:491 -> ping 1:3:void registerNetworkStateListener(ai.neuvision.sdk.events.NetworkState$NetworkStateTracker):134:136 -> registerNetworkStateListener 1:3:void unregisterNetworkStateListener(ai.neuvision.sdk.events.NetworkState$NetworkStateTracker):140:142 -> unregisterNetworkStateListener ai.neuvision.sdk.events.NetworkState$NetworkStateTrackerEvents -> ai.neuvision.sdk.events.NetworkState$a: 1:1:void ():44:44 -> 1:22:void onIntentArrival(android.content.Intent):49:70 -> onIntentArrival 1:14:void run():76:89 -> run ai.neuvision.sdk.events.NetworkState$NetworkStateTrackerEvents$1 -> ai.neuvision.sdk.events.NetworkState$a$a: ai.neuvision.sdk.events.NetworkState$NetworkStateTracker val$listener -> a android.net.NetworkInfo val$info -> b 1:1:void (ai.neuvision.sdk.events.NetworkState$NetworkStateTrackerEvents,ai.neuvision.sdk.events.NetworkState$NetworkStateTracker,android.net.NetworkInfo):82:82 -> 1:1:void run():84:84 -> run ai.neuvision.sdk.events.PowerState -> ai.neuvision.sdk.events.PowerState: float sBatteryPercent -> c int sBatteryStatus -> d int sPowerSource -> b java.util.WeakHashMap sStateListeners -> a ai.neuvision.sdk.events.EventSource$IntentListener sEventSource -> e 1:18:void ():26:43 -> 1:1:void ():23:23 -> 1:1:float getBatteryPercent():112:112 -> getBatteryPercent 1:3:void registerPowerStateListener(ai.neuvision.sdk.events.PowerState$PowerStateTracker):100:102 -> registerPowerStateListener 1:3:void unregisterPowerStateListener(ai.neuvision.sdk.events.PowerState$PowerStateTracker):106:108 -> unregisterPowerStateListener ai.neuvision.sdk.events.PowerState$1 -> ai.neuvision.sdk.events.PowerState$a: 1:1:void ():43:43 -> 1:38:void onIntentArrival(android.content.Intent):46:83 -> onIntentArrival ai.neuvision.sdk.events.PowerState$1$1 -> ai.neuvision.sdk.events.PowerState$a$a: ai.neuvision.sdk.events.PowerState$PowerStateTracker val$listener -> a 1:1:void (ai.neuvision.sdk.events.PowerState$1,ai.neuvision.sdk.events.PowerState$PowerStateTracker):76:76 -> 1:1:void run():78:78 -> run ai.neuvision.sdk.events.ShutdownState -> ai.neuvision.sdk.events.ShutdownState: boolean LOGV -> a java.util.WeakHashMap sStateListeners -> b ai.neuvision.sdk.events.EventSource$IntentListener sEventSource -> c 1:9:void ():21:29 -> 1:1:void ():20:20 -> 1:3:void registerShutdownStateListener(ai.neuvision.sdk.events.ShutdownState$ShutdownStateTracker):55:57 -> registerShutdownStateListener 1:3:void unregisterShutdownStateListener(ai.neuvision.sdk.events.ShutdownState$ShutdownStateTracker):61:63 -> unregisterShutdownStateListener ai.neuvision.sdk.events.ShutdownState$1 -> ai.neuvision.sdk.events.ShutdownState$a: 1:1:void ():29:29 -> 1:11:void onIntentArrival(android.content.Intent):32:42 -> onIntentArrival ai.neuvision.sdk.events._StateTrackerTemplate -> ai.neuvision.sdk.events._StateTrackerTemplate: java.util.WeakHashMap sStateListeners -> a 1:1:void ():28:28 -> 1:1:void ():25:25 -> 1:3:void registerNetworkStateListener(ai.neuvision.sdk.events._StateTrackerTemplate$StateTracker):62:64 -> registerNetworkStateListener 1:3:void unregisterNetworkStateListener(ai.neuvision.sdk.events._StateTrackerTemplate$StateTracker):68:70 -> unregisterNetworkStateListener ai.neuvision.sdk.file.DocumentUtils -> ai.neuvision.sdk.file.DocumentUtils: 1:29:void ():259:287 -> 1:1:void ():41:41 -> 1:5:android.content.Intent createGetContentIntent():304:308 -> createGetContentIntent 1:19:java.lang.String getDataColumn(android.content.Context,android.net.Uri,java.lang.String,java.lang.String[]):199:217 -> getDataColumn 20:24:java.lang.String getDataColumn(android.content.Context,android.net.Uri,java.lang.String,java.lang.String[]):214:218 -> getDataColumn 1:3:java.lang.String getExtension(java.lang.String):67:69 -> getExtension 1:5:java.lang.String getMimeType(java.io.File):139:143 -> getMimeType 1:10:java.io.File getPathWithoutFilename(java.io.File):115:124 -> getPathWithoutFilename 11:16:java.io.File getPathWithoutFilename(java.io.File):123:128 -> getPathWithoutFilename 1:20:java.lang.String getReadableFileSize(int):232:251 -> getReadableFileSize 1:1:android.net.Uri getUri(java.io.File):102:102 -> getUri 1:1:boolean isDownloadsDocument(android.net.Uri):163:163 -> isDownloadsDocument 1:1:boolean isExternalStorageDocument(android.net.Uri):154:154 -> isExternalStorageDocument 1:1:boolean isGooglePhotosUri(android.net.Uri):180:180 -> isGooglePhotosUri 1:1:boolean isLocal(java.lang.String):80:80 -> isLocal 1:1:boolean isMediaDocument(android.net.Uri):172:172 -> isMediaDocument 1:1:boolean isMediaUri(android.net.Uri):91:91 -> isMediaUri ai.neuvision.sdk.file.DocumentUtils$1 -> ai.neuvision.sdk.file.DocumentUtils$a: 1:1:void ():259:259 -> 1:1:int compare(java.lang.Object,java.lang.Object):259:259 -> compare 2:4:int compare(java.io.File,java.io.File):263:263 -> compare 2:4:int compare(java.lang.Object,java.lang.Object):259 -> compare ai.neuvision.sdk.file.DocumentUtils$2 -> ai.neuvision.sdk.file.DocumentUtils$b: 1:1:void ():273:273 -> 1:3:boolean accept(java.io.File):276:278 -> accept ai.neuvision.sdk.file.DocumentUtils$3 -> ai.neuvision.sdk.file.DocumentUtils$c: 1:1:void ():287:287 -> 1:3:boolean accept(java.io.File):290:292 -> accept ai.neuvision.sdk.file.PathManager -> ai.neuvision.sdk.file.PathManager: java.io.File THIS_APP_ROOT -> b java.io.File EXTERNAL_ROOT -> a 1:13:void ():23:35 -> 1:1:void ():18:18 -> 1:20:java.io.File getDirImpl(java.lang.String,java.lang.String,boolean,boolean):39:58 -> a 1:3:java.io.File getCacheDir(java.lang.String):71:73 -> getCacheDir 1:1:java.io.File getDownloadDir():91:91 -> getDownloadDir 1:3:java.io.File getExternalCacheDir(java.lang.String):78:80 -> getExternalCacheDir 1:5:java.io.File getExternalDir():63:67 -> getExternalDir 1:1:java.io.File getExternalFilesDir():100:100 -> getExternalFilesDir 1:1:java.io.File getExternalPandoraDir():108:108 -> getExternalPandoraDir 1:1:java.io.File getFilesDir():104:104 -> getFilesDir 1:1:java.io.File getLogDir():86:86 -> getLogDir 1:1:java.io.File getPandoraDir():112:112 -> getPandoraDir 1:1:java.io.File getWallpaperDir():96:96 -> getWallpaperDir 1:1:java.io.File getYeeCallRecordDir():124:124 -> getYeeCallRecordDir 1:1:java.io.File getYeecallImageDir():116:116 -> getYeecallImageDir 1:1:java.io.File getYeecallVieoDir():120:120 -> getYeecallVieoDir ai.neuvision.sdk.file.StorageUtils -> ai.neuvision.sdk.file.StorageUtils: 1:1:void ():11:11 -> 1:18:boolean deleteDirectory(java.io.File,boolean):81:98 -> deleteDirectory 1:1:long directorySize(java.lang.String):56:56 -> directorySize 2:13:long directorySize(java.io.File):60:71 -> directorySize 1:4:long getDataWriteAvailableSize():48:51 -> getDataWriteAvailableSize 1:7:long getSDCardWriteAvailableSize():27:33 -> getSDCardWriteAvailableSize 1:4:boolean isSDCardWriteable():13:16 -> isSDCardWriteable ai.neuvision.sdk.hash.Base64 -> ai.neuvision.sdk.hash.Base64: boolean $assertionsDisabled -> a 1:1:void ():29:29 -> 1:1:void ():742:742 -> 1:1:byte[] decode(java.lang.String,int):120:120 -> decode 2:2:byte[] decode(byte[],int):138:138 -> decode 3:3:byte[] decode(byte[],int,int,int):160:160 -> decode 4:4:void ai.neuvision.sdk.hash.Base64$Decoder.(int,byte[]):246:246 -> decode 4:4:byte[] decode(byte[],int,int,int):160 -> decode 5:75:boolean ai.neuvision.sdk.hash.Base64$Decoder.process(byte[],int,int,boolean):298:368 -> decode 5:75:byte[] decode(byte[],int,int,int):162 -> decode 76:154:boolean ai.neuvision.sdk.hash.Base64$Decoder.process(byte[],int,int,boolean):347:425 -> decode 76:154:byte[] decode(byte[],int,int,int):162 -> decode 155:155:boolean ai.neuvision.sdk.hash.Base64$Decoder.process(byte[],int,int,boolean):419:419 -> decode 155:155:byte[] decode(byte[],int,int,int):162 -> decode 156:163:byte[] decode(byte[],int,int,int):167:174 -> decode 164:164:byte[] decode(byte[],int,int,int):163:163 -> decode 1:1:byte[] encode(byte[],int):496:496 -> encode 2:26:byte[] encode(byte[],int,int,int):512:536 -> encode 27:62:boolean ai.neuvision.sdk.hash.Base64$Encoder.process(byte[],int,int,boolean):607:642 -> encode 27:62:byte[] encode(byte[],int,int,int):537 -> encode 63:170:boolean ai.neuvision.sdk.hash.Base64$Encoder.process(byte[],int,int,boolean):629:736 -> encode 63:170:byte[] encode(byte[],int,int,int):537 -> encode 171:173:byte[] encode(byte[],int,int,int):539:541 -> encode 1:4:java.lang.String encodeToString(byte[],int):458:461 -> encodeToString 5:8:java.lang.String encodeToString(byte[],int,int,int):479:482 -> encodeToString ai.neuvision.sdk.hash.Base64$Coder -> ai.neuvision.sdk.hash.Base64$a: byte[] output -> a int op -> b 1:1:void ():73:73 -> ai.neuvision.sdk.hash.Base64$Decoder -> ai.neuvision.sdk.hash.Base64$b: int[] DECODE -> c int[] DECODE_WEBSAFE -> d 1:24:void ():183:206 -> ai.neuvision.sdk.hash.Base64$Encoder -> ai.neuvision.sdk.hash.Base64$c: byte[] ENCODE_WEBSAFE -> k boolean $assertionsDisabled -> l boolean do_padding -> f byte[] ENCODE -> j int tailLen -> d boolean do_newline -> g int count -> e boolean do_cr -> h byte[] alphabet -> i byte[] tail -> c 1:24:void ():544:567 -> 1:12:void (int,byte[]):583:594 -> ai.neuvision.sdk.hash.HashUtils -> ai.neuvision.sdk.hash.HashUtils: android.content.pm.PackageManager sPM -> a 1:1:void ():19:19 -> 1:1:java.lang.String getBytesHash(java.lang.String,byte[]):107:107 -> a 2:6:java.lang.String getBytesHash(java.lang.String,byte[],int,int):111:115 -> a 7:13:void getFileHash(java.lang.String,java.lang.String,ai.neuvision.sdk.hash.HashUtils$IHashState):145:151 -> a 14:14:void getFileHash(java.lang.String,java.lang.String,ai.neuvision.sdk.hash.HashUtils$IHashState):147:147 -> a 1:5:byte[] getBytesHashBytes(java.lang.String,byte[],int,int):122:126 -> b 1:10:java.lang.String binaryToHexString(byte[]):220:229 -> binaryToHexString 1:6:java.lang.String getApkPublicKey(java.lang.String,java.lang.String,int):235:240 -> getApkPublicKey 1:1:java.lang.String getApkPublicKeyMD5(java.lang.String):247:247 -> getApkPublicKeyMD5 1:1:java.lang.String getApkPublicKeySHA1(java.lang.String):251:251 -> getApkPublicKeySHA1 1:1:java.lang.String getBytesMD5(byte[]):55:55 -> getBytesMD5 2:2:java.lang.String getBytesMD5(byte[],int,int):59:59 -> getBytesMD5 1:1:byte[] getBytesMD5Bytes(byte[]):71:71 -> getBytesMD5Bytes 2:2:byte[] getBytesMD5Bytes(byte[],int,int):79:79 -> getBytesMD5Bytes 1:1:java.lang.String getBytesSHA1(byte[]):63:63 -> getBytesSHA1 2:2:java.lang.String getBytesSHA1(byte[],int,int):67:67 -> getBytesSHA1 1:1:byte[] getBytesSHA1Bytes(byte[]):83:83 -> getBytesSHA1Bytes 2:2:byte[] getBytesSHA1Bytes(byte[],int,int):87:87 -> getBytesSHA1Bytes 1:1:byte[] getBytesSha256Bytes(byte[]):75:75 -> getBytesSha256Bytes 1:1:void getFileMD5(java.lang.String,ai.neuvision.sdk.hash.HashUtils$IHashState):133:133 -> getFileMD5 1:24:java.lang.String getFileMd5(java.io.File):186:209 -> getFileMd5 25:25:java.lang.String getFileMd5(java.io.File):187:187 -> getFileMd5 26:26:java.lang.String getFileMd5(java.lang.String):215:215 -> getFileMd5 1:1:void getFileSHA1(java.lang.String,ai.neuvision.sdk.hash.HashUtils$IHashState):137:137 -> getFileSHA1 1:1:java.lang.String getStringMD5(java.lang.String):27:27 -> getStringMD5 1:1:java.lang.String getStringSHA1(java.lang.String):31:31 -> getStringSHA1 1:1:java.lang.String getStringSHA256(java.lang.String):35:35 -> getStringSHA256 1:3:java.lang.String getStringUTF8MD5(java.lang.String):40:42 -> getStringUTF8MD5 1:13:byte[] getStringUTF8MD5Bytes(java.lang.String):255:267 -> getStringUTF8MD5Bytes 1:3:java.lang.String getStringUTF8SHA1(java.lang.String):48:50 -> getStringUTF8SHA1 1:13:byte[] getStringUTF8SHA1Bytes(java.lang.String):271:283 -> getStringUTF8SHA1Bytes 1:5:void updateDigest(java.security.MessageDigest,long):91:95 -> updateDigest 6:10:void updateDigest(java.security.MessageDigest,int):99:103 -> updateDigest ai.neuvision.sdk.hash.HashUtils$1 -> ai.neuvision.sdk.hash.HashUtils$a: java.io.File val$f -> b java.lang.String val$algo -> a ai.neuvision.sdk.hash.HashUtils$IHashState val$cb -> c java.lang.String val$file -> d 1:1:void (java.lang.String,java.io.File,ai.neuvision.sdk.hash.HashUtils$IHashState,java.lang.String):151:151 -> 1:24:void run():156:179 -> run ai.neuvision.sdk.log.CompleteResult -> ai.neuvision.sdk.log.CompleteResult: 1:1:void ():14:14 -> 2:5:void (int,int,java.lang.String):17:20 -> 1:1:java.lang.String toString():29:29 -> toString ai.neuvision.sdk.log.ExceptionHandler -> ai.neuvision.sdk.log.ExceptionHandler: 1:1:void ():28:28 -> 1:26:void lambda$init$0(java.lang.Thread$UncaughtExceptionHandler,java.lang.Thread,java.lang.Throwable):34:59 -> a 27:38:void lambda$init$0(java.lang.Thread$UncaughtExceptionHandler,java.lang.Thread,java.lang.Throwable):49:49 -> a 48:48:void lambda$init$0(java.lang.Thread$UncaughtExceptionHandler,java.lang.Thread,java.lang.Throwable):59:59 -> a 49:62:void lambda$init$0(java.lang.Thread$UncaughtExceptionHandler,java.lang.Thread,java.lang.Throwable) -> a 1:2:void init():32:33 -> init ai.neuvision.sdk.log.LogExceptions -> ai.neuvision.sdk.log.LogExceptions: 1:1:void ():10:10 -> ai.neuvision.sdk.log.LogUploadResult -> ai.neuvision.sdk.log.LogUploadResult: 1:8:void ():12:19 -> ai.neuvision.sdk.log.LogcatCapture -> ai.neuvision.sdk.log.LogcatCapture: android.os.Handler mLogHandler -> c long lastUploadTime -> a java.util.concurrent.ExecutorCompletionService ecs -> d android.os.HandlerThread mLogcatThread -> b 1:1:void ():67:67 -> 2:121:void ():49:168 -> 122:123:void ():68:69 -> 1:8:void _uploadLog(java.lang.String,ai.neuvision.sdk.log.IProcess):178:185 -> _uploadLog 9:9:void _uploadLog(java.lang.String,ai.neuvision.sdk.log.IProcess):182:182 -> _uploadLog 1:1:void lambda$upload$0(java.lang.String):56:56 -> a 2:3:void lambda$new$1(java.lang.String,long):71:72 -> a 4:10:void lambda$uploadLog$2(java.lang.String,ai.neuvision.sdk.log.IProcess):94:100 -> a 11:25:void runThread(java.lang.Runnable,long):150:164 -> a 26:65:ai.neuvision.sdk.log.LogUploadResult zipAndHttpUploadLogFile(java.io.File,java.lang.String):328:367 -> a 26:65:ai.neuvision.sdk.log.LogUploadResult lambda$upload$3(java.io.File,java.lang.String):265 -> a 66:67:ai.neuvision.sdk.log.LogUploadResult zipAndHttpUploadLogFile(java.io.File,java.lang.String):360:361 -> a 66:67:ai.neuvision.sdk.log.LogUploadResult lambda$upload$3(java.io.File,java.lang.String):265 -> a 68:69:ai.neuvision.sdk.log.LogUploadResult zipAndHttpUploadLogFile(java.io.File,java.lang.String):333:334 -> a 68:69:ai.neuvision.sdk.log.LogUploadResult lambda$upload$3(java.io.File,java.lang.String):265 -> a 70:73:java.lang.String getFileDesc():411:414 -> a 1:6:java.io.File getLogDir():125:130 -> getLogDir 1:1:ai.neuvision.sdk.log.LogcatCapture ai.neuvision.sdk.log.LogcatCapture$Holder.access$100():63:63 -> instance 1:1:ai.neuvision.sdk.log.LogcatCapture instance():81 -> instance 1:1:void logSwitch(boolean):138:138 -> logSwitch 1:1:void showLog(java.lang.String):418:418 -> showLog 2:2:void showLog(java.lang.String,java.lang.Throwable):422:422 -> showLog 1:7:void upload(java.lang.String):53:59 -> upload 8:90:void upload(java.lang.String,ai.neuvision.sdk.log.IProcess):210:292 -> upload 91:104:void upload(java.lang.String,ai.neuvision.sdk.log.IProcess):291:304 -> upload 105:118:void upload(java.lang.String,ai.neuvision.sdk.log.IProcess):303:316 -> upload 119:119:void upload(java.lang.String,ai.neuvision.sdk.log.IProcess):308:308 -> upload 1:7:void uploadLog(java.lang.String,ai.neuvision.sdk.log.IProcess):86:92 -> uploadLog 8:8:void runThread(java.lang.Runnable):146:146 -> uploadLog 8:8:void uploadLog(java.lang.String,ai.neuvision.sdk.log.IProcess):92 -> uploadLog ai.neuvision.sdk.log.LogcatCapture$1 -> ai.neuvision.sdk.log.LogcatCapture$a: ai.neuvision.sdk.log.IProcess val$processCB -> a 1:1:void (ai.neuvision.sdk.log.LogcatCapture,ai.neuvision.sdk.log.IProcess):185:185 -> 1:2:void onComplete(ai.neuvision.sdk.log.CompleteResult):195:196 -> onComplete 1:2:void onProcess(ai.neuvision.sdk.log.ProcessResult):188:189 -> onProcess ai.neuvision.sdk.log.LogcatCapture$Holder -> ai.neuvision.sdk.log.LogcatCapture$b: ai.neuvision.sdk.log.LogcatCapture INSTANCE -> a 1:1:void ():64:64 -> 2:2:void ai.neuvision.sdk.log.LogcatCapture.(ai.neuvision.sdk.log.LogcatCapture$1):43:43 -> 2:2:void ():64 -> 3:3:void ():64:64 -> ai.neuvision.sdk.log.ProcessResult -> ai.neuvision.sdk.log.ProcessResult: 1:1:void ():22:22 -> 2:7:void (int,int,boolean,java.io.File,java.lang.String):25:30 -> 1:1:java.lang.String toString():35:35 -> toString ai.neuvision.sdk.log.ShellUtils -> ai.neuvision.sdk.log.ShellUtils: 1:1:void ():29:29 -> 1:1:boolean checkRootPermission():43:43 -> checkRootPermission 1:1:ai.neuvision.sdk.log.ShellUtils$CommandResult execCommand(java.lang.String,boolean,boolean):59:59 -> execCommand 2:64:ai.neuvision.sdk.log.ShellUtils$CommandResult execCommand(java.lang.String[],boolean,boolean):78:140 -> execCommand 65:82:ai.neuvision.sdk.log.ShellUtils$CommandResult execCommand(java.lang.String[],boolean,boolean):123:140 -> execCommand 83:106:ai.neuvision.sdk.log.ShellUtils$CommandResult execCommand(java.lang.String[],boolean,boolean):121:144 -> execCommand 107:122:ai.neuvision.sdk.log.ShellUtils$CommandResult execCommand(java.lang.String[],boolean,boolean):127:142 -> execCommand 123:123:ai.neuvision.sdk.log.ShellUtils$CommandResult execCommand(java.lang.String[],boolean,boolean):79:79 -> execCommand 124:124:ai.neuvision.sdk.log.ShellUtils$CommandResult execCommand(java.lang.String,boolean):159:159 -> execCommand 125:125:ai.neuvision.sdk.log.ShellUtils$CommandResult execCommand(java.util.List,boolean):174:174 -> execCommand 126:126:ai.neuvision.sdk.log.ShellUtils$CommandResult execCommand(java.lang.String[],boolean):189:189 -> execCommand 127:127:ai.neuvision.sdk.log.ShellUtils$CommandResult execCommand(java.util.List,boolean,boolean):205:205 -> execCommand ai.neuvision.sdk.log.ShellUtils$CommandResult -> ai.neuvision.sdk.log.ShellUtils$CommandResult: 1:3:void (int):234:236 -> 4:8:void (int,java.lang.String,java.lang.String):239:243 -> ai.neuvision.sdk.log.http.HttpLog -> ai.neuvision.sdk.log.http.HttpLog: 1:1:void ():33:33 -> 1:36:com.neuvision.http.entity.HttpResponse uploadLog(java.io.File,java.lang.String,java.lang.String):35:70 -> uploadLog 37:38:com.neuvision.http.entity.HttpResponse uploadLog(java.io.File,java.lang.String,java.lang.String):42:43 -> uploadLog ai.neuvision.sdk.log.http.HttpLog$1 -> ai.neuvision.sdk.log.http.HttpLog$a: 1:1:void ():70:70 -> ai.neuvision.sdk.log.util.FileWriteUtil -> ai.neuvision.sdk.log.util.FileWriteUtil: 1:1:void ():22:22 -> 1:13:boolean appendStringToFile(java.io.File,java.lang.String):26:38 -> appendStringToFile 1:23:java.lang.String readLastLine(java.io.File,java.lang.String):48:70 -> readLastLine 24:37:java.lang.String readLastLine(java.io.File,java.lang.String):57:70 -> readLastLine 38:40:java.lang.String readLastLine(java.io.File,java.lang.String):68:70 -> readLastLine 41:62:java.lang.String readLastLine(java.io.File,java.lang.String):50:71 -> readLastLine 1:107:java.util.List splitTextFile(java.io.File,java.io.File,long):86:192 -> splitTextFile ai.neuvision.sdk.pipline.DefaultThreadFactory -> ai.neuvision.sdk.pipline.DefaultThreadFactory: java.util.concurrent.atomic.AtomicInteger poolNumber -> a java.lang.ThreadGroup group -> b java.util.concurrent.atomic.AtomicInteger threadNumber -> c java.lang.String name -> e java.lang.String namePrefix -> d 1:11:void (java.lang.String):12:22 -> 1:1:java.lang.String getName():12:12 -> getName 1:4:java.lang.Thread newThread(java.lang.Runnable):26:26 -> newThread 9:10:java.lang.Thread newThread(java.lang.Runnable):31:32 -> newThread ai.neuvision.sdk.pipline.Pipeline$DefaultImpls -> ai.neuvision.sdk.pipline.Pipeline$DefaultImpls: 1:1:void enqueue$default(ai.neuvision.sdk.pipline.Pipeline,java.lang.Runnable,boolean,int,java.lang.Object):14:14 -> enqueue$default 2:2:void enqueue$default(ai.neuvision.sdk.pipline.Pipeline,java.lang.Runnable,boolean,int,java.lang.Object):0:0 -> enqueue$default ai.neuvision.sdk.pipline.impl.EventPipeline -> ai.neuvision.sdk.pipline.impl.EventPipeline: android.os.Handler mHandler -> c java.lang.Object mLock -> e java.lang.String name -> a android.os.HandlerThread mHandlerThread -> b boolean isRunning -> d 1:22:void (java.lang.String,int):13:34 -> 23:23:void (java.lang.String,int,int,kotlin.jvm.internal.DefaultConstructorMarker):13:13 -> 24:24:void (java.lang.String):14:14 -> 1:1:java.lang.Object access$getMLock$p(ai.neuvision.sdk.pipline.impl.EventPipeline):13:13 -> access$getMLock$p 1:11:void enqueue(java.lang.Runnable,boolean):39:49 -> enqueue 12:12:void enqueue(kotlin.jvm.functions.Function0):55:55 -> enqueue 1:5:void enqueueDelay(java.lang.Runnable,long):59:63 -> enqueueDelay 1:1:android.os.Handler getHandler():67:67 -> getHandler 1:1:java.lang.String getName():16:16 -> getName 1:1:boolean isRunning():23:23 -> isRunning 1:6:void quit():71:76 -> quit 1:2:void setName(java.lang.String):18:19 -> setName 1:1:void setRunning(boolean):23:23 -> setRunning 1:1:void sleep():80:80 -> sleep 2:2:void sleep(long):88:88 -> sleep 1:3:void wake():96:96 -> wake ai.neuvision.sdk.pipline.impl.EventPipeline$1 -> ai.neuvision.sdk.pipline.impl.EventPipeline$1: 1:1:void (ai.neuvision.sdk.pipline.impl.EventPipeline,android.os.Looper):28:28 -> 1:2:void handleMessage(android.os.Message):30:31 -> handleMessage ai.neuvision.sdk.pipline.impl.EventPipeline$enqueue$1 -> ai.neuvision.sdk.pipline.impl.EventPipeline$a: kotlin.jvm.functions.Function0 $task -> a 1:1:void run():55:55 -> run ai.neuvision.sdk.pipline.impl.EventPipeline$sleep$1 -> ai.neuvision.sdk.pipline.impl.EventPipeline$b: ai.neuvision.sdk.pipline.impl.EventPipeline this$0 -> a 1:3:void run():81:81 -> run ai.neuvision.sdk.pipline.impl.EventPipeline$sleep$2 -> ai.neuvision.sdk.pipline.impl.EventPipeline$c: long $time -> b ai.neuvision.sdk.pipline.impl.EventPipeline this$0 -> a 1:3:void run():89:89 -> run ai.neuvision.sdk.pipline.impl.SingleLoopPipeline -> ai.neuvision.sdk.pipline.impl.SingleLoopPipeline: java.util.concurrent.ThreadPoolExecutor mExecutor -> a java.util.concurrent.LinkedBlockingDeque mWorkQueue -> b java.lang.String name -> c 1:7:void (java.lang.String):17:23 -> 1:1:void enqueue(java.lang.Runnable,boolean):27:27 -> enqueue 2:2:void enqueue(kotlin.jvm.functions.Function0):31:31 -> enqueue 1:1:void enqueueDelay(java.lang.Runnable,long):41:41 -> enqueueDelay 1:1:android.os.Handler getHandler():45:45 -> getHandler ai.neuvision.sdk.pipline.impl.SingleLoopPipeline$enqueue$1 -> ai.neuvision.sdk.pipline.impl.SingleLoopPipeline$a: ai.neuvision.sdk.pipline.impl.SingleLoopPipeline this$0 -> a kotlin.jvm.functions.Function0 $task -> b 1:3:void run():33:35 -> run ai.neuvision.sdk.plugin.PluginManager -> ai.neuvision.sdk.plugin.PluginManager: 1:1:void ():25:25 -> 1:1:ai.neuvision.sdk.plugin.PluginManager instance():33:33 -> instance 1:1:void registerAccountPlugin():38:38 -> registerAccountPlugin 1:5:void startNeuVisionService():68:72 -> startNeuVisionService ai.neuvision.sdk.plugin.PluginManager$1 -> ai.neuvision.sdk.plugin.PluginManager$a: ai.neuvision.sdk.plugin.PluginManager this$0 -> a 1:1:void (ai.neuvision.sdk.plugin.PluginManager):38:38 -> 1:1:com.neuvision.account.info.ResultInfo onCheckConnectResult():46:46 -> onCheckConnectResult 1:1:com.neuvision.account.info.ResultInfo onCheckLoginResult():41:41 -> onCheckLoginResult 1:1:void onConnectSuccess(java.lang.Long):57:57 -> onConnectSuccess 2:3:void ai.neuvision.sdk.plugin.PluginManager.onConnectSuccess(java.lang.Long):78:79 -> onConnectSuccess 2:3:void ai.neuvision.sdk.plugin.PluginManager.access$200(ai.neuvision.sdk.plugin.PluginManager,java.lang.Long):24 -> onConnectSuccess 2:3:void onConnectSuccess(java.lang.Long):57 -> onConnectSuccess 1:2:void onLoginSuccess(java.lang.Long,java.lang.String):51:52 -> onLoginSuccess 3:4:void ai.neuvision.sdk.plugin.PluginManager.onConnectSuccess(java.lang.Long):78:79 -> onLoginSuccess 3:4:void ai.neuvision.sdk.plugin.PluginManager.access$200(ai.neuvision.sdk.plugin.PluginManager,java.lang.Long):24 -> onLoginSuccess 3:4:void onLoginSuccess(java.lang.Long,java.lang.String):52 -> onLoginSuccess 1:1:void onLogoutSuccess():62:62 -> onLogoutSuccess ai.neuvision.sdk.plugin.PluginManager$Holder -> ai.neuvision.sdk.plugin.PluginManager$b: ai.neuvision.sdk.plugin.PluginManager INSTANCE -> a 1:1:void ():29:29 -> 2:2:void ai.neuvision.sdk.plugin.PluginManager.(ai.neuvision.sdk.plugin.PluginManager$1):24:24 -> 2:2:void ():29 -> 3:3:void ():29:29 -> ai.neuvision.sdk.raptor.BuildConfig -> ai.neuvision.sdk.raptor.BuildConfig: 1:1:void ():6:6 -> ai.neuvision.sdk.raptor.NanoRaptor -> ai.neuvision.sdk.raptor.NanoRaptor: 1:8:void ():17:24 -> 1:1:void ():11:11 -> 1:20:long raptorJavaBechmark(int,int):110:129 -> raptorJavaBechmark 21:21:long raptorJavaBechmark(int,int):128:128 -> raptorJavaBechmark 22:22:long raptorJavaBechmark(int,int):127:127 -> raptorJavaBechmark 1:14:boolean raptorJavaCheck(int,int):134:147 -> raptorJavaCheck 1:48:long testnano(byte[],int,byte[]):156:203 -> testnano 49:95:long testnano(byte[],int,byte[]):202:248 -> testnano ai.neuvision.sdk.receiver.BatteryChangeReceiver -> ai.neuvision.sdk.receiver.BatteryChangeReceiver: 1:1:void ():16:16 -> 1:15:void onReceive(android.content.Context,android.content.Intent):20:34 -> onReceive ai.neuvision.sdk.receiver.ReceiveInviteReceiver -> ai.neuvision.sdk.receiver.ReceiveInviteReceiver: 1:1:void ():22:22 -> 1:1:android.content.Context getContext():49:49 -> getContext 1:13:void onReceive(android.content.Context,android.content.Intent):29:41 -> onReceive ai.neuvision.sdk.relay.RelayLogin -> ai.neuvision.sdk.relay.RelayLogin: java.lang.Runnable mRelayIntervalRunnable -> d ai.neuvision.sdk.events.NetworkState$NetworkStateTracker mNetworkTracker -> f android.os.Handler mHandler -> c java.lang.Long mLastUpdateRelayTime -> a android.os.HandlerThread mHandlerThread -> b ai.neuvision.sdk.events.EventSource$IntentListener mIntentListener -> e 1:1:void ():43:43 -> 1:5:void lambda$ensureRelayIntervalThreadAlive$2():150:154 -> a 6:6:void lambda$ensureRelayIntervalThreadAlive$2():152:152 -> a 7:11:void lambda$registerLoginRelayReceiver$3(android.content.Intent):174:178 -> a 12:12:void lambda$registerLoginRelayReceiver$4(android.net.NetworkInfo):185:185 -> a 1:7:void lambda$loginRelayInterval$1():129:135 -> b 1:5:void lambda$updateRelays$0():97:101 -> c 1:1:void ensureRelayIntervalThreadAlive():148:148 -> ensureRelayIntervalThreadAlive 1:1:ai.neuvision.sdk.relay.RelayLogin instance():51:51 -> instance 1:14:void loginRelayInterval(long):109:122 -> loginRelayInterval 15:38:void loginRelayInterval(long):121:144 -> loginRelayInterval 1:19:void registerLoginRelayReceiver():169:187 -> registerLoginRelayReceiver 1:30:com.neuvision.account.info.ResultInfo requestRelaysFromServer():58:87 -> requestRelaysFromServer 31:31:com.neuvision.account.info.ResultInfo requestRelaysFromServer():76:76 -> requestRelaysFromServer 32:47:com.neuvision.account.info.ResultInfo requestRelaysFromServer():68:83 -> requestRelaysFromServer 1:2:void stopLoginRelayInterval():161:162 -> stopLoginRelayInterval 1:2:void unRegisterLoginRelayReceiver():191:192 -> unRegisterLoginRelayReceiver 1:5:void updateRelays():92:96 -> updateRelays ai.neuvision.sdk.relay.RelayLogin$Holder -> ai.neuvision.sdk.relay.RelayLogin$a: ai.neuvision.sdk.relay.RelayLogin INSTANCE -> a 1:1:void ():47:47 -> 2:2:void ai.neuvision.sdk.relay.RelayLogin.(ai.neuvision.sdk.relay.RelayLogin$1):36:36 -> 2:2:void ():47 -> 3:3:void ():47:47 -> ai.neuvision.sdk.relay.exception.RelayException -> ai.neuvision.sdk.relay.exception.RelayException: 1:1:void ():10:10 -> ai.neuvision.sdk.relay.http.HttpRelay -> ai.neuvision.sdk.relay.http.HttpRelay: 1:1:void ():16:16 -> 1:4:java.util.List httpSessionRelay():21:24 -> httpSessionRelay 1:4:java.util.List httpUdpRelay():33:36 -> httpUdpRelay ai.neuvision.sdk.relay.http.HttpRelay$1 -> ai.neuvision.sdk.relay.http.HttpRelay$a: 1:1:void ():22:22 -> ai.neuvision.sdk.relay.http.HttpRelay$2 -> ai.neuvision.sdk.relay.http.HttpRelay$b: 1:1:void ():34:34 -> ai.neuvision.sdk.sdwan.BuildConfig -> ai.neuvision.sdk.sdwan.BuildConfig: 1:1:void ():6:6 -> ai.neuvision.sdk.sdwan.GlobalConstants -> ai.neuvision.sdk.sdwan.GlobalConstants: 1:1:void ():12:12 -> 1:1:void ():12:12 -> ai.neuvision.sdk.sdwan.GlobalConstants$AudioFrameMs -> ai.neuvision.sdk.sdwan.GlobalConstants$AudioFrameMs: 1:1:void ():15:15 -> 1:1:void ():15:15 -> ai.neuvision.sdk.sdwan.GlobalConstants$DeviceStatusEvent -> ai.neuvision.sdk.sdwan.GlobalConstants$DeviceStatusEvent: 1:1:void ():23:23 -> 1:1:void ():23:23 -> ai.neuvision.sdk.sdwan.IBinderPoolService$Default -> ai.neuvision.sdk.sdwan.IBinderPoolService$Default: 1:1:void ():10:10 -> ai.neuvision.sdk.sdwan.IBinderPoolService$Stub -> ai.neuvision.sdk.sdwan.IBinderPoolService$Stub: 1:2:void ():30:31 -> 1:5:ai.neuvision.sdk.sdwan.IBinderPoolService asInterface(android.os.IBinder):42:46 -> asInterface 1:1:ai.neuvision.sdk.sdwan.IBinderPoolService getDefaultImpl():134:134 -> getDefaultImpl 1:1:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):74:74 -> onTransact 2:12:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):59:69 -> onTransact 1:5:boolean setDefaultImpl(ai.neuvision.sdk.sdwan.IBinderPoolService):124:128 -> setDefaultImpl 6:6:boolean setDefaultImpl(ai.neuvision.sdk.sdwan.IBinderPoolService):125:125 -> setDefaultImpl ai.neuvision.sdk.sdwan.IBinderPoolService$Stub$Proxy -> ai.neuvision.sdk.sdwan.IBinderPoolService$Stub$a: android.os.IBinder mRemote -> a ai.neuvision.sdk.sdwan.IBinderPoolService sDefaultImpl -> b 1:2:void (android.os.IBinder):82:83 -> 1:1:android.os.IBinder asBinder():87:87 -> asBinder 1:16:android.os.IBinder getService(int):98:113 -> getService 17:22:android.os.IBinder getService(int):108:113 -> getService 23:25:android.os.IBinder getService(int):112:114 -> getService ai.neuvision.sdk.sdwan.IMediaService$Default -> ai.neuvision.sdk.sdwan.IMediaService$Default: 1:1:void ():10:10 -> ai.neuvision.sdk.sdwan.IMediaService$Stub -> ai.neuvision.sdk.sdwan.IMediaService$Stub: 1:2:void ():29:30 -> 1:5:ai.neuvision.sdk.sdwan.IMediaService asInterface(android.os.IBinder):41:45 -> asInterface 1:1:ai.neuvision.sdk.sdwan.IMediaService getDefaultImpl():150:150 -> getDefaultImpl 1:1:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):77:77 -> onTransact 2:16:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):58:72 -> onTransact 17:19:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):63:65 -> onTransact 1:5:boolean setDefaultImpl(ai.neuvision.sdk.sdwan.IMediaService):140:144 -> setDefaultImpl 6:6:boolean setDefaultImpl(ai.neuvision.sdk.sdwan.IMediaService):141:141 -> setDefaultImpl ai.neuvision.sdk.sdwan.IMediaService$Stub$Proxy -> ai.neuvision.sdk.sdwan.IMediaService$Stub$a: android.os.IBinder mRemote -> a ai.neuvision.sdk.sdwan.IMediaService sDefaultImpl -> b 1:2:void (android.os.IBinder):85:86 -> 1:1:android.os.IBinder asBinder():90:90 -> asBinder 1:14:void start():98:111 -> start 15:19:void start():107:111 -> start 20:22:void start():110:112 -> start 1:14:void stop():116:129 -> stop 15:19:void stop():125:129 -> stop 20:22:void stop():128:130 -> stop ai.neuvision.sdk.sdwan.ISignalReceiver$Default -> ai.neuvision.sdk.sdwan.ISignalReceiver$Default: 1:1:void ():10:10 -> ai.neuvision.sdk.sdwan.ISignalReceiver$Stub -> ai.neuvision.sdk.sdwan.ISignalReceiver$Stub: 1:2:void ():29:30 -> 1:5:ai.neuvision.sdk.sdwan.ISignalReceiver asInterface(android.os.IBinder):41:45 -> asInterface 1:1:ai.neuvision.sdk.sdwan.ISignalReceiver getDefaultImpl():130:130 -> getDefaultImpl 1:1:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):72:72 -> onTransact 2:11:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):58:67 -> onTransact 1:5:boolean setDefaultImpl(ai.neuvision.sdk.sdwan.ISignalReceiver):120:124 -> setDefaultImpl 6:6:boolean setDefaultImpl(ai.neuvision.sdk.sdwan.ISignalReceiver):121:121 -> setDefaultImpl ai.neuvision.sdk.sdwan.ISignalReceiver$Stub$Proxy -> ai.neuvision.sdk.sdwan.ISignalReceiver$Stub$a: android.os.IBinder mRemote -> a ai.neuvision.sdk.sdwan.ISignalReceiver sDefaultImpl -> b 1:2:void (android.os.IBinder):80:81 -> 1:1:android.os.IBinder asBinder():85:85 -> asBinder 1:15:void onReceiveSignal(java.lang.String):96:110 -> onReceiveSignal 16:20:void onReceiveSignal(java.lang.String):106:110 -> onReceiveSignal 21:23:void onReceiveSignal(java.lang.String):109:111 -> onReceiveSignal ai.neuvision.sdk.sdwan.ISignalService$Default -> ai.neuvision.sdk.sdwan.ISignalService$Default: 1:1:void ():8:8 -> ai.neuvision.sdk.sdwan.ISignalService$Stub -> ai.neuvision.sdk.sdwan.ISignalService$Stub: 1:2:void ():65:66 -> 1:5:ai.neuvision.sdk.sdwan.ISignalService asInterface(android.os.IBinder):77:81 -> asInterface 1:1:ai.neuvision.sdk.sdwan.ISignalService getDefaultImpl():348:348 -> getDefaultImpl 1:1:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):161:161 -> onTransact 2:6:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):152:156 -> onTransact 7:11:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):143:147 -> onTransact 12:19:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):131:138 -> onTransact 20:25:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):121:126 -> onTransact 26:31:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):111:116 -> onTransact 32:39:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):99:106 -> onTransact 40:40:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):94:94 -> onTransact 1:5:boolean setDefaultImpl(ai.neuvision.sdk.sdwan.ISignalService):338:342 -> setDefaultImpl 6:6:boolean setDefaultImpl(ai.neuvision.sdk.sdwan.ISignalService):339:339 -> setDefaultImpl ai.neuvision.sdk.sdwan.ISignalService$Stub$Proxy -> ai.neuvision.sdk.sdwan.ISignalService$Stub$a: android.os.IBinder mRemote -> a ai.neuvision.sdk.sdwan.ISignalService sDefaultImpl -> b 1:2:void (android.os.IBinder):169:170 -> 1:1:android.os.IBinder asBinder():174:174 -> asBinder 1:16:boolean registerDeviceInfo(java.lang.String):210:225 -> registerDeviceInfo 17:22:boolean registerDeviceInfo(java.lang.String):220:225 -> registerDeviceInfo 23:25:boolean registerDeviceInfo(java.lang.String):224:226 -> registerDeviceInfo 1:15:void registerReceiver(ai.neuvision.sdk.sdwan.ISignalReceiver):286:300 -> registerReceiver 16:20:void registerReceiver(ai.neuvision.sdk.sdwan.ISignalReceiver):296:300 -> registerReceiver 21:23:void registerReceiver(ai.neuvision.sdk.sdwan.ISignalReceiver):299:301 -> registerReceiver 1:17:boolean registerUdpSignalChannel(java.util.List,long):185:201 -> registerUdpSignalChannel 18:23:boolean registerUdpSignalChannel(java.util.List,long):196:201 -> registerUdpSignalChannel 24:26:boolean registerUdpSignalChannel(java.util.List,long):200:202 -> registerUdpSignalChannel 1:17:boolean sendCustomSignal(java.lang.String,long):260:276 -> sendCustomSignal 18:23:boolean sendCustomSignal(java.lang.String,long):271:276 -> sendCustomSignal 24:26:boolean sendCustomSignal(java.lang.String,long):275:277 -> sendCustomSignal 1:16:boolean sendSignal(java.lang.String):235:250 -> sendSignal 17:22:boolean sendSignal(java.lang.String):245:250 -> sendSignal 23:25:boolean sendSignal(java.lang.String):249:251 -> sendSignal 1:15:void unregisterReceiver(ai.neuvision.sdk.sdwan.ISignalReceiver):309:323 -> unregisterReceiver 16:20:void unregisterReceiver(ai.neuvision.sdk.sdwan.ISignalReceiver):319:323 -> unregisterReceiver 21:23:void unregisterReceiver(ai.neuvision.sdk.sdwan.ISignalReceiver):322:324 -> unregisterReceiver ai.neuvision.sdk.sdwan.Sdwan -> ai.neuvision.sdk.sdwan.Sdwan: kotlin.Lazy sdwan$delegate -> e java.util.ArrayList mSessionRelays -> d int p2pEnabledRatio -> c kotlin.Lazy signalManager$delegate -> a ai.neuvision.sdk.sdwan.transport.relay.UdpTester udpTester -> b 1:1:void ():31:31 -> 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):20:20 -> 1:1:void ():20 -> 2:18:void ():22:38 -> 19:19:void (kotlin.jvm.internal.DefaultConstructorMarker):20:20 -> 1:145:java.util.List parse2RelayEntryList(java.util.List,int):80:224 -> a 146:149:java.util.List parse2RelayEntryList(java.util.List,int):82:85 -> a 150:151:java.util.ArrayList getCachedRelays(int):176:177 -> a 152:152:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> a 152:152:java.util.ArrayList getCachedRelays(int):232 -> a 153:153:java.util.ArrayList getCachedRelays(int):177:177 -> a 154:154:java.util.ArrayList getCachedRelays(int):176:176 -> a 1:1:void (kotlin.jvm.internal.DefaultConstructorMarker):20:20 -> access$getSdwan$cp 1:1:kotlin.Lazy access$getSdwan$cp():20 -> access$getSdwan$cp 1:1:void ():25:25 -> getP2pEnabledRatio 1:1:int getP2pEnabledRatio():25 -> getP2pEnabledRatio 1:3:java.util.ArrayList getSessionRelays():109:111 -> getSessionRelays 4:4:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> getSessionRelays 4:4:java.util.ArrayList getSessionRelays():227 -> getSessionRelays 5:16:java.util.ArrayList getSessionRelays():111:122 -> getSessionRelays 17:17:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> getSessionRelays 17:17:java.util.ArrayList getSessionRelays():228 -> getSessionRelays 18:19:java.util.ArrayList getSessionRelays():122:123 -> getSessionRelays 20:20:java.util.ArrayList getSessionRelays():109:109 -> getSessionRelays 1:2:ai.neuvision.sdk.sdwan.transport.YCKTransportSession newTransportSession(long,java.util.List,ai.neuvision.sdk.sdwan.transport.AbstractTransport$SessionType):95:96 -> newTransportSession 3:3:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> newTransportSession 3:3:ai.neuvision.sdk.sdwan.transport.YCKTransportSession newTransportSession(long,java.util.List,ai.neuvision.sdk.sdwan.transport.AbstractTransport$SessionType):226 -> newTransportSession 4:12:ai.neuvision.sdk.sdwan.transport.YCKTransportSession newTransportSession(long,java.util.List,ai.neuvision.sdk.sdwan.transport.AbstractTransport$SessionType):96:104 -> newTransportSession 1:4:void registerSessionRelays(java.util.List):66:69 -> registerSessionRelays 5:5:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> registerSessionRelays 5:5:void registerSessionRelays(java.util.List):223 -> registerSessionRelays 6:9:void registerSessionRelays(java.util.List):69:72 -> registerSessionRelays 10:19:void registerSessionRelays(java.util.List):66:75 -> registerSessionRelays 1:1:void registerUdpRelays(java.util.List):54:54 -> registerUdpRelays 2:2:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> registerUdpRelays 2:2:void registerUdpRelays(java.util.List):222 -> registerUdpRelays 3:9:void registerUdpRelays(java.util.List):54:60 -> registerUdpRelays 1:3:java.util.ArrayList selectUdpRelays():128:130 -> selectUdpRelays 4:4:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> selectUdpRelays 4:4:java.util.ArrayList selectUdpRelays():229 -> selectUdpRelays 5:21:java.util.ArrayList selectUdpRelays():130:146 -> selectUdpRelays 22:22:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> selectUdpRelays 22:22:java.util.ArrayList selectUdpRelays():230 -> selectUdpRelays 23:40:java.util.ArrayList selectUdpRelays():146:163 -> selectUdpRelays 41:41:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> selectUdpRelays 41:41:java.util.ArrayList selectUdpRelays():231 -> selectUdpRelays 42:42:java.util.ArrayList selectUdpRelays():163:163 -> selectUdpRelays 1:1:void ():25:25 -> setP2pEnabledRatio 1:1:void setP2pEnabledRatio(int):25 -> setP2pEnabledRatio ai.neuvision.sdk.sdwan.Sdwan$Companion -> ai.neuvision.sdk.sdwan.Sdwan$Companion: 1:1:void ():27:27 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):27:27 -> 1:1:ai.neuvision.sdk.sdwan.Sdwan getSdwan():0:0 -> getInstance 1:1:ai.neuvision.sdk.sdwan.Sdwan getInstance():34 -> getInstance ai.neuvision.sdk.sdwan.Sdwan$Companion$sdwan$2 -> ai.neuvision.sdk.sdwan.Sdwan$a: ai.neuvision.sdk.sdwan.Sdwan$Companion$sdwan$2 INSTANCE -> a 1:1:ai.neuvision.sdk.sdwan.Sdwan invoke():31:31 -> invoke 1:1:java.lang.Object invoke():27 -> invoke ai.neuvision.sdk.sdwan.Sdwan$signalManager$2 -> ai.neuvision.sdk.sdwan.Sdwan$b: ai.neuvision.sdk.sdwan.Sdwan$signalManager$2 INSTANCE -> a 1:1:ai.neuvision.sdk.sdwan.signal.SignalManager invoke():22:22 -> invoke 1:1:java.lang.Object invoke():20 -> invoke ai.neuvision.sdk.sdwan.executors.BindedExecutors -> ai.neuvision.sdk.sdwan.executors.BindedExecutors: java.util.List execs -> b int poolSize -> a 1:5:void (int):79:83 -> 1:1:ai.neuvision.sdk.sdwan.executors.BindedExecutors$SingleThreadBindedExec getBy(long):88:88 -> getBy ai.neuvision.sdk.sdwan.executors.BindedExecutors$NamedThreadFactory -> ai.neuvision.sdk.sdwan.executors.BindedExecutors$NamedThreadFactory: java.util.concurrent.atomic.AtomicInteger poolNumber -> d java.util.concurrent.atomic.AtomicInteger threadNumber -> b java.lang.ThreadGroup group -> a java.lang.String namePrefix -> c 1:1:void ():25:25 -> 1:1:void (java.lang.String):30:30 -> 2:10:void (java.lang.String):27:35 -> 1:7:java.lang.Thread newThread(java.lang.Runnable):40:46 -> newThread ai.neuvision.sdk.sdwan.executors.BindedExecutors$SingleThreadBindedExec -> ai.neuvision.sdk.sdwan.executors.BindedExecutors$SingleThreadBindedExec: java.lang.Thread myThread -> a 1:5:void ():56:60 -> 1:1:void findMyThread():64:64 -> a 1:1:void lambda$new$0():60 -> a 1:1:void afterExecute(java.lang.Runnable,java.lang.Throwable):72:72 -> afterExecute 1:1:boolean isInEventLoop():68:68 -> isInEventLoop ai.neuvision.sdk.sdwan.executors.SingleThreadExecutors -> ai.neuvision.sdk.sdwan.executors.SingleThreadExecutors: java.util.concurrent.LinkedBlockingQueue workQueue -> a java.util.concurrent.ThreadPoolExecutor mThreadPoolExecutor -> b 1:3:void (java.lang.String,int,int):57:59 -> 4:6:void (java.lang.String,int):64:66 -> 1:3:void lambda$submit$0(java.lang.Runnable):125:127 -> a 1:1:boolean awaitTermination(long,java.util.concurrent.TimeUnit):104:104 -> awaitTermination 1:1:void execute(java.lang.Runnable):156:156 -> execute 1:1:int getBlockingSize():78:78 -> getBlockingSize 1:1:java.util.concurrent.BlockingQueue getQueue():73:73 -> getQueue 1:1:java.util.List invokeAll(java.util.Collection):136:136 -> invokeAll 2:2:java.util.List invokeAll(java.util.Collection,long,java.util.concurrent.TimeUnit):141:141 -> invokeAll 1:1:java.lang.Object invokeAny(java.util.Collection):146:146 -> invokeAny 2:2:java.lang.Object invokeAny(java.util.Collection,long,java.util.concurrent.TimeUnit):151:151 -> invokeAny 1:1:boolean isShutdown():94:94 -> isShutdown 1:1:boolean isTerminated():99:99 -> isTerminated 1:1:void shutdown():84:84 -> shutdown 1:1:java.util.List shutdownNow():89:89 -> shutdownNow 1:1:java.util.concurrent.Future submit(java.util.concurrent.Callable):109:109 -> submit 2:2:java.util.concurrent.Future submit(java.lang.Runnable,java.lang.Object):114:114 -> submit 3:3:java.util.concurrent.Future submit(java.lang.Runnable):123:123 -> submit ai.neuvision.sdk.sdwan.executors.SingleThreadExecutors$DefaultThreadFactory -> ai.neuvision.sdk.sdwan.executors.SingleThreadExecutors$a: java.util.concurrent.atomic.AtomicInteger threadNumber -> b java.lang.ThreadGroup group -> a int priority -> d java.lang.String namePrefix -> c 1:1:void ():29:29 -> 1:1:void (java.lang.String,int):35:35 -> 2:14:void (java.lang.String,int):31:43 -> 1:6:java.lang.Thread newThread(java.lang.Runnable):47:52 -> newThread ai.neuvision.sdk.sdwan.login.Account -> ai.neuvision.sdk.sdwan.login.Account: long uid -> a java.lang.String rid -> c java.lang.String accountId -> b 1:1:void (long,java.lang.String,java.lang.String):9:9 -> 1:1:java.lang.String getAccountId():9:9 -> getAccountId 1:1:java.lang.String getRid():9:9 -> getRid 1:1:long getUid():9:9 -> getUid 1:1:void setAccountId(java.lang.String):9:9 -> setAccountId 1:1:void setRid(java.lang.String):9:9 -> setRid 1:1:void setUid(long):9:9 -> setUid ai.neuvision.sdk.sdwan.login.KickInfo -> ai.neuvision.sdk.sdwan.login.KickInfo: 1:1:void ():9:9 -> ai.neuvision.sdk.sdwan.login.LoginManager -> ai.neuvision.sdk.sdwan.login.LoginManager: 1:1:void ():23:23 -> 1:52:void ():14:65 -> 53:53:void (kotlin.jvm.internal.DefaultConstructorMarker):14:14 -> 1:1:kotlin.Lazy access$getLoginManager$cp():14:14 -> access$getLoginManager$cp 1:8:long getUid():43:50 -> getUid 1:7:void login(long):32:38 -> login 1:3:void logout():54:56 -> logout 1:1:void setRequestUidListener(ai.neuvision.sdk.sdwan.login.IRequestUid):76:76 -> setRequestUidListener 1:5:void updateSignalChannel(boolean):68:72 -> updateSignalChannel 1:1:void updateSignalChannel$default(ai.neuvision.sdk.sdwan.login.LoginManager,boolean,int,java.lang.Object):66:66 -> updateSignalChannel$default ai.neuvision.sdk.sdwan.login.LoginManager$Companion -> ai.neuvision.sdk.sdwan.login.LoginManager$Companion: 1:1:void ():22:22 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):22:22 -> 1:1:ai.neuvision.sdk.sdwan.login.LoginManager getLoginManager():0:0 -> getInstance 1:1:ai.neuvision.sdk.sdwan.login.LoginManager getInstance():26 -> getInstance ai.neuvision.sdk.sdwan.login.LoginManager$Companion$loginManager$2 -> ai.neuvision.sdk.sdwan.login.LoginManager$a: ai.neuvision.sdk.sdwan.login.LoginManager$Companion$loginManager$2 INSTANCE -> a 1:1:ai.neuvision.sdk.sdwan.login.LoginManager invoke():23:23 -> invoke 1:1:java.lang.Object invoke():22 -> invoke ai.neuvision.sdk.sdwan.login.UserDelegate -> ai.neuvision.sdk.sdwan.login.UserDelegate: android.content.Context context -> b java.lang.Object default -> d java.lang.String name -> c kotlin.Lazy prefs$delegate -> a 1:3:void (android.content.Context,java.lang.String,java.lang.Object):15:17 -> 1:1:android.content.Context access$getContext$p(ai.neuvision.sdk.sdwan.login.UserDelegate):15:15 -> access$getContext$p 1:1:android.content.SharedPreferences getPrefs():0:0 -> getValue 1:1:java.lang.Object getValue(java.lang.Object,kotlin.reflect.KProperty):20 -> getValue 2:8:java.lang.Object getValue(java.lang.Object,kotlin.reflect.KProperty):21:27 -> getValue 1:1:android.content.SharedPreferences getPrefs():0:0 -> setValue 1:1:void setValue(java.lang.Object,kotlin.reflect.KProperty,java.lang.Object):33 -> setValue 2:10:void setValue(java.lang.Object,kotlin.reflect.KProperty,java.lang.Object):33:41 -> setValue 11:11:void setValue(java.lang.Object,kotlin.reflect.KProperty,java.lang.Object):40:40 -> setValue ai.neuvision.sdk.sdwan.login.UserDelegate$prefs$2 -> ai.neuvision.sdk.sdwan.login.UserDelegate$a: ai.neuvision.sdk.sdwan.login.UserDelegate this$0 -> a 1:1:android.content.SharedPreferences invoke():17:17 -> invoke 1:1:java.lang.Object invoke():15 -> invoke ai.neuvision.sdk.sdwan.metrix.Metrix -> ai.neuvision.sdk.sdwan.metrix.Metrix: int usPointer -> l java.util.List dataToHitchhike -> p boolean isHighCPULoad -> P long uid -> d0 int bandwidthReduce -> K int timeSlotSend -> h int averageRttDown -> G int thumbBitrate -> C ai.neuvision.sdk.ILogCapture mLogCapture -> b0 java.util.ArrayList bandStatDown -> L ai.neuvision.sdk.sdwan.transport.relay.impl.YCKUmsgStat[] umsgStat -> k int lastBandwidthUp -> y ai.neuvision.sdk.utils.CanWriteFailCopyOnWriteMap memberMetrix -> c int sumTrafficOutP2p -> T int maxPermitBitrate -> u java.lang.Long lastUpdate -> W long lastRecvTimestamp -> m ai.neuvision.sdk.pipline.Pipeline mPipeline -> b int initBandwidth -> q int[] prior -> v java.lang.String relayPrior -> H int accTimeSlotSend -> i int lossRateUp -> D int bandwidthUpperLimit -> e java.util.ArrayList bandStatUp -> M int averageRTT -> z ai.neuvision.sdk.sdwan.metrix.MetrixDataDown lastDataDown -> a0 int repairRate -> r java.util.List relayList -> c0 java.lang.Long lastUpdate1 -> X long lastEnvChange -> O int sumTrafficInRelay -> Q long sessionId -> e0 int policyLimitUp -> I int averageLossRateDown -> E int audioBitrate -> A java.lang.Long lastUpdate2 -> Y long lastLogTimestamp -> V short lastTimestampSlotSend -> j ai.neuvision.sdk.sdwan.metrix.MetrixMember$Callback callback -> N boolean needStopAcceptVideo -> f int priorConfidenceLevel -> w ai.neuvision.sdk.sdwan.metrix.MetrixMember me -> a int sumTrafficInP2p -> R int repairRateJump -> s long lastBatchTimestamp -> o int policyLimitDown -> J int rttUp -> F int mainBitrate -> B int[] bytesSend -> g java.lang.Long lastUpdate3 -> Z long lastReportNetworkInfoTime -> U int lastBandwidth -> x java.util.LinkedList activeParticipants -> d int bitrate -> t long lastMediaDataRecvTimestamp -> n int sumTrafficOutRelay -> S 1:1:void access$printLog(ai.neuvision.sdk.sdwan.metrix.Metrix):32:32 -> 1:1:void (java.util.List,long,long,int):32 -> 2:158:void (java.util.List,long,long,int):38:194 -> 1:10:int getByteSendLastSecond():66:75 -> a 11:11:int getByteSendLastSecond():68:68 -> a 12:12:int getByteSendLastSecond():66:66 -> a 13:60:void processNetworkInfo(int):285:332 -> a 61:64:void processNetworkInfo(int):323:323 -> a 68:190:void processNetworkInfo(int):327:449 -> a 191:1697:void processNetworkInfo(int):445:1951 -> a 1698:1740:void processNetworkInfo(int):510:552 -> a 1741:1788:void processNetworkInfo(int):547:594 -> a 1789:1814:void processNetworkInfo(int):584:584 -> a 1815:1815:void processNetworkInfo(int):445:445 -> a 1816:1834:float leastSquareMethodOf(java.util.List,int,int):1538:1556 -> a 1835:1940:int findPolicyBandwidthLimit(java.util.List):1564:1669 -> a 1:9:void printLog():166:174 -> access$printLog 1:9:void access$printLog(ai.neuvision.sdk.sdwan.metrix.Metrix):32 -> access$printLog 10:1784:void printLog():171:1945 -> access$printLog 10:1784:void access$printLog(ai.neuvision.sdk.sdwan.metrix.Metrix):32 -> access$printLog 1785:1794:void printLog():178:187 -> access$printLog 1785:1794:void access$printLog(ai.neuvision.sdk.sdwan.metrix.Metrix):32 -> access$printLog 1795:1819:void printLog():166:166 -> access$printLog 1795:1819:void access$printLog(ai.neuvision.sdk.sdwan.metrix.Metrix):32 -> access$printLog 1:9:int avgRTT():1326:1326 -> avgRTT 19:19:int avgRTT():1336:1336 -> avgRTT 20:20:int avgRTT():1326:1326 -> avgRTT 21:21:int avgRTT(long):1719:1719 -> avgRTT 1:745:void refreshUiAsBigViewFactor():1221:1965 -> b 746:1487:void refreshUiAsBigViewFactor():1225:1966 -> b 1488:1500:void refreshUiAsBigViewFactor():1226:1238 -> b 1501:1507:void refreshUiAsBigViewFactor():1236:1242 -> b 1:1:int bandwidthDown():1341:1341 -> bandwidthDown 1:1:int bandwidthUp():1360:1360 -> bandwidthUp 1:1:void close():1707:1707 -> close 1:1:void (java.util.List,long,long,int):42:42 -> getActiveParticipants 1:1:java.util.LinkedList getActiveParticipants():42 -> getActiveParticipants 1:1:int getBandwidthDowmOfUid(long):1698:1698 -> getBandwidthDowmOfUid 1:1:void (java.util.List,long,long,int):63:63 -> getBandwidthUpperLimit 1:1:int getBandwidthUpperLimit():63 -> getBandwidthUpperLimit 1:1:void setCallback(ai.neuvision.sdk.sdwan.metrix.MetrixMember$Callback):131:131 -> getCallback 1:1:ai.neuvision.sdk.sdwan.metrix.MetrixMember$Callback getCallback():131 -> getCallback 1:1:java.util.LinkedList getCurrentParticipants():1723:1723 -> getCurrentParticipants 1:37:java.nio.ByteBuffer getHitchhikeDataOfLength(int):1414:1450 -> getHitchhikeDataOfLength 38:72:java.nio.ByteBuffer getHitchhikeDataOfLength(int):1419:1419 -> getHitchhikeDataOfLength 1:1:void setLastEnvChange(long):133:133 -> getLastEnvChange 1:1:long getLastEnvChange():133 -> getLastEnvChange 1:1:void (java.util.List,long,long,int):94:94 -> getLastMediaDataRecvTimestamp 1:1:long getLastMediaDataRecvTimestamp():94 -> getLastMediaDataRecvTimestamp 1:1:void (java.util.List,long,long,int):93:93 -> getLastRecvTimestamp 1:1:long getLastRecvTimestamp():93 -> getLastRecvTimestamp 1:1:void (java.util.List,long,long,int):106:106 -> getMaxPermitBitrate 1:1:int getMaxPermitBitrate():106 -> getMaxPermitBitrate 1:1:void (java.util.List,long,long,int):40:40 -> getMemberMetrix 1:1:ai.neuvision.sdk.utils.CanWriteFailCopyOnWriteMap getMemberMetrix():40 -> getMemberMetrix 1:1:void setNeedStopAcceptVideo(boolean):82:82 -> getNeedStopAcceptVideo 1:1:boolean getNeedStopAcceptVideo():82 -> getNeedStopAcceptVideo 1:1:ai.neuvision.sdk.sdwan.metrix.MetrixDataNetworkInfo getNetworkInfo(long):1730:1730 -> getNetworkInfo 1:1:int getP2pInRate():1353:1353 -> getP2pInRate 1:1:void setSumTrafficInP2p(int):137:137 -> getSumTrafficInP2p 1:1:int getSumTrafficInP2p():137 -> getSumTrafficInP2p 1:1:void setSumTrafficInRelay(int):136:136 -> getSumTrafficInRelay 1:1:int getSumTrafficInRelay():136 -> getSumTrafficInRelay 1:1:void setSumTrafficOutP2p(int):139:139 -> getSumTrafficOutP2p 1:1:int getSumTrafficOutP2p():139 -> getSumTrafficOutP2p 1:1:void setSumTrafficOutRelay(int):138:138 -> getSumTrafficOutRelay 1:1:int getSumTrafficOutRelay():138 -> getSumTrafficOutRelay 1:1:ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout getUILayoutByUid(long):1703:1703 -> getUILayoutByUid 1:1:void setHighCPULoad(boolean):134:134 -> isHighCPULoad 1:1:boolean isHighCPULoad():134 -> isHighCPULoad 1:1:int jitterCount():1374:1374 -> jitterCount 1:1:int lossRateDown():1349:1349 -> lossRateDown 1:1:int lossRateUp():1345:1345 -> lossRateUp 1:4:float maxPermitBitrateExceeded():1309:1312 -> maxPermitBitrateExceeded 1:3:void networkChanged():1525:1525 -> networkChanged 1:5:boolean noReceiveOver3s():1677:1681 -> noReceiveOver3s 6:6:boolean noReceiveOver3s():1678:1678 -> noReceiveOver3s 1:54:void processReceivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):218:271 -> processReceivedUmsg 55:55:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> processReceivedUmsg 55:55:void processReceivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):1948 -> processReceivedUmsg 56:59:void processReceivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):271:274 -> processReceivedUmsg 60:60:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> processReceivedUmsg 60:60:void processReceivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):1949 -> processReceivedUmsg 61:64:void processReceivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):274:277 -> processReceivedUmsg 65:65:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> processReceivedUmsg 65:65:void processReceivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):1950 -> processReceivedUmsg 66:68:void processReceivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):277:279 -> processReceivedUmsg 69:69:void processReceivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):251:251 -> processReceivedUmsg 70:70:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> processReceivedUmsg 70:70:void processReceivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):1947 -> processReceivedUmsg 71:71:void processReceivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):251:251 -> processReceivedUmsg 1:12:void processSendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):614:614 -> processSendUmsg 1:18:void putHitchhikeData(java.nio.ByteBuffer,long):1463:1480 -> putHitchhikeData 19:19:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> putHitchhikeData 19:19:void putHitchhikeData(java.nio.ByteBuffer,long):1973 -> putHitchhikeData 20:56:void putHitchhikeData(java.nio.ByteBuffer,long):1480:1516 -> putHitchhikeData 57:57:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> putHitchhikeData 57:57:void putHitchhikeData(java.nio.ByteBuffer,long):1974 -> putHitchhikeData 58:58:void putHitchhikeData(java.nio.ByteBuffer,long):1516:1516 -> putHitchhikeData 1:3:java.util.ArrayList relayPriority():1736:1738 -> relayPriority 1:1:int relayPriorityConfidenceLevel():1744:1744 -> relayPriorityConfidenceLevel 1:1:int repairRateJump():1319:1319 -> repairRateJump 1:6:void reportAskForNack(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKNackPacket,long):637:642 -> reportAskForNack 1:7:void reportDataUILayout(ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout):662:668 -> reportDataUILayout 8:8:void reportDataUILayout(ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout):664:664 -> reportDataUILayout 1:11:void reportNetworkQuality(int,int,int,int):196:206 -> reportNetworkQuality 12:12:void reportNetworkQuality(int,int,int,int):205:205 -> reportNetworkQuality 1:7:void reportReceiveNack(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKNackPacket,long,int):651:657 -> reportReceiveNack 1:1:int rttDown():1711:1711 -> rttDown 1:1:int rttUp():1715:1715 -> rttUp 1:17:void setActiveParticipants(java.util.LinkedList):44:60 -> setActiveParticipants 1:1:void (java.util.List,long,long,int):63:63 -> setBandwidthUpperLimit 1:1:void setBandwidthUpperLimit(int):63 -> setBandwidthUpperLimit 1:1:void setCallback(ai.neuvision.sdk.sdwan.metrix.MetrixMember$Callback):131:131 -> setCallback 1:1:void setHighCPULoad(boolean):134:134 -> setHighCPULoad 1:16:void setInitNet(int):1387:1402 -> setInitNet 1:1:void setLastEnvChange(long):133:133 -> setLastEnvChange 1:1:void (java.util.List,long,long,int):94:94 -> setLastMediaDataRecvTimestamp 1:1:void setLastMediaDataRecvTimestamp(long):94 -> setLastMediaDataRecvTimestamp 1:1:void (java.util.List,long,long,int):93:93 -> setLastRecvTimestamp 1:1:void setLastRecvTimestamp(long):93 -> setLastRecvTimestamp 1:1:void setLogCaptureListener(ai.neuvision.sdk.ILogCapture):1693:1693 -> setLogCaptureListener 1:1:void (java.util.List,long,long,int):106:106 -> setMaxPermitBitrate 1:1:void setMaxPermitBitrate(int):106 -> setMaxPermitBitrate 1:1:void setNeedStopAcceptVideo(boolean):82:82 -> setNeedStopAcceptVideo 1:1:void setSumTrafficInP2p(int):137:137 -> setSumTrafficInP2p 1:1:void setSumTrafficInRelay(int):136:136 -> setSumTrafficInRelay 1:1:void setSumTrafficOutP2p(int):139:139 -> setSumTrafficOutP2p 1:1:void setSumTrafficOutRelay(int):138:138 -> setSumTrafficOutRelay 1:2:int suggestedAudioBitrate():1214:1215 -> suggestedAudioBitrate 1:1011:int suggestedBitrate():950:1960 -> suggestedBitrate 1012:1968:int suggestedBitrate():1006:1962 -> suggestedBitrate 1969:2044:int suggestedBitrate():1011:1086 -> suggestedBitrate 2045:2110:int suggestedBitrate():1084:1149 -> suggestedBitrate 2111:2111:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> suggestedBitrate 2111:2111:int suggestedBitrate():1964 -> suggestedBitrate 2112:2154:int suggestedBitrate():1149:1191 -> suggestedBitrate 2155:2412:int suggestedBitrate():950:950 -> suggestedBitrate 1:1193:int[] suggestedRelayPriority():765:1957 -> suggestedRelayPriority 1194:1222:int[] suggestedRelayPriority():790:818 -> suggestedRelayPriority 1223:1223:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> suggestedRelayPriority 1223:1223:int[] suggestedRelayPriority():1958 -> suggestedRelayPriority 1224:1343:int[] suggestedRelayPriority():818:937 -> suggestedRelayPriority 1344:1520:int[] suggestedRelayPriority():765:765 -> suggestedRelayPriority 1:1272:int suggestedRepairRate():682:1953 -> suggestedRepairRate 1273:2534:int suggestedRepairRate():694:1955 -> suggestedRepairRate 2535:2569:int suggestedRepairRate():714:748 -> suggestedRepairRate 2570:2577:int suggestedRepairRate():745:752 -> suggestedRepairRate 2578:2652:int suggestedRepairRate():682:682 -> suggestedRepairRate 1:1:int suggestedThumbBitrate():1210:1210 -> suggestedThumbBitrate 1:1:int trafficIn():1365:1365 -> trafficIn 1:1:int trafficOut():1369:1369 -> trafficOut 1:1:int uiAsBigViewCount():1378:1378 -> uiAsBigViewCount 1:1:float uiMaxViewScreenRation():1382:1382 -> uiMaxViewScreenRation ai.neuvision.sdk.sdwan.metrix.Metrix$1 -> ai.neuvision.sdk.sdwan.metrix.Metrix$a: ai.neuvision.sdk.sdwan.metrix.Metrix this$0 -> a 1:1:void run():161:161 -> run ai.neuvision.sdk.sdwan.metrix.Metrix$BandStat -> ai.neuvision.sdk.sdwan.metrix.Metrix$BandStat: long timestamp -> c int count -> b int lossrate -> a 1:1:void ():148:148 -> 1:1:int getCount():150:150 -> getCount 1:1:int getLossrate():149:149 -> getLossrate 1:1:long getTimestamp():151:151 -> getTimestamp 1:1:void setCount(int):150:150 -> setCount 1:1:void setLossrate(int):149:149 -> setLossrate 1:1:void setTimestamp(long):151:151 -> setTimestamp ai.neuvision.sdk.sdwan.metrix.Metrix$Companion -> ai.neuvision.sdk.sdwan.metrix.Metrix$Companion: 1:1:void ():141:141 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):141:141 -> ai.neuvision.sdk.sdwan.metrix.Metrix$printLog$1$recvNack$1 -> x: kotlin.jvm.internal.Ref$IntRef $nackReply -> a 1:1:java.lang.Object invoke(java.lang.Object):32:32 -> invoke 2:2:void invoke(int):169:169 -> invoke 2:2:java.lang.Object invoke(java.lang.Object):32 -> invoke 3:3:java.lang.Object invoke(java.lang.Object):32:32 -> invoke ai.neuvision.sdk.sdwan.metrix.Metrix$printLog$2 -> y: ai.neuvision.sdk.sdwan.metrix.Metrix this$0 -> a 1:1:void run():189:189 -> run ai.neuvision.sdk.sdwan.metrix.MetrixData -> ai.neuvision.sdk.sdwan.metrix.MetrixData: java.nio.ByteBuffer data -> a 1:1:void (java.nio.ByteBuffer):11:11 -> 1:1:java.nio.ByteBuffer getData():11:11 -> getData 1:1:void setData(java.nio.ByteBuffer):11:11 -> setData ai.neuvision.sdk.sdwan.metrix.MetrixData$Type -> ai.neuvision.sdk.sdwan.metrix.MetrixData$Type: 1:1:void ():24:24 -> 1:1:void ():24:24 -> ai.neuvision.sdk.sdwan.metrix.MetrixDataDown -> ai.neuvision.sdk.sdwan.metrix.MetrixDataDown: short[] recv -> h byte jitterCount -> j short[] should -> g short time -> e short relayCount -> i boolean isValidate -> k int bandwidth -> f int bytes -> d long timestamp -> c java.lang.String TAG -> b 1:46:void (java.nio.ByteBuffer):14:59 -> 47:47:void ():31:31 -> 1:4:boolean equals(java.lang.Object):120:123 -> equals 1:1:int getBandwidth():22:22 -> getBandwidth 1:1:int getBytes():18:18 -> getBytes 1:1:byte getJitterCount():27:27 -> getJitterCount 1:1:short[] getRecv():25:25 -> getRecv 1:1:short getRelayCount():26:26 -> getRelayCount 1:1:short[] getShould():24:24 -> getShould 1:1:short getTime():20:20 -> getTime 1:1:long getTimestamp():17:17 -> getTimestamp 1:1:boolean isValidate():29:29 -> isValidate 1:7:short lossrate():89:95 -> lossrate 1:7:short lossrateOfRelay(byte):106:112 -> lossrateOfRelay 1:1:void setBandwidth(int):22:22 -> setBandwidth 1:1:void setBytes(int):18:18 -> setBytes 1:1:void setJitterCount(byte):27:27 -> setJitterCount 1:1:void setRecv(short[]):25:25 -> setRecv 1:1:void setRelayCount(short):26:26 -> setRelayCount 1:1:void setShould(short[]):24:24 -> setShould 1:1:void setTime(short):20:20 -> setTime 1:1:void setTimestamp(long):17:17 -> setTimestamp 1:1:void setValidate(boolean):29:29 -> setValidate 1:17:java.nio.ByteBuffer toData():66:82 -> toData ai.neuvision.sdk.sdwan.metrix.MetrixDataNack -> ai.neuvision.sdk.sdwan.metrix.MetrixDataNack: short seqId -> e long timestamp -> b int bytesReplay -> g long from -> d byte type -> c byte tries -> f 1:20:void (java.nio.ByteBuffer):11:30 -> 21:21:void ():26:26 -> 1:1:int getBytesReplay():19:19 -> getBytesReplay 1:1:long getFrom():15:15 -> getFrom 1:1:short getSeqId():16:16 -> getSeqId 1:1:long getTimestamp():13:13 -> getTimestamp 1:1:byte getTries():18:18 -> getTries 1:1:byte getType():14:14 -> getType 1:1:void setBytesReplay(int):19:19 -> setBytesReplay 1:1:void setFrom(long):15:15 -> setFrom 1:1:void setSeqId(short):16:16 -> setSeqId 1:1:void setTimestamp(long):13:13 -> setTimestamp 1:1:void setTries(byte):18:18 -> setTries 1:1:void setType(byte):14:14 -> setType 1:1:java.nio.ByteBuffer toData():35:35 -> toData ai.neuvision.sdk.sdwan.metrix.MetrixDataNack$Type -> ai.neuvision.sdk.sdwan.metrix.MetrixDataNack$Type: 1:1:void ():21:21 -> 1:1:void ():21:21 -> ai.neuvision.sdk.sdwan.metrix.MetrixDataNetworkInfo -> ai.neuvision.sdk.sdwan.metrix.MetrixDataNetworkInfo: boolean isValid -> g byte quality -> c byte jitterBufferLoss -> f java.lang.String TAG -> b short bandwidthUp -> d byte lossRateUp -> e 1:26:void (java.nio.ByteBuffer):12:37 -> 27:27:void (java.nio.ByteBuffer,int,kotlin.jvm.internal.DefaultConstructorMarker):12:12 -> 1:1:short getBandwidthUp():16:16 -> getBandwidthUp 1:1:byte getJitterBufferLoss():18:18 -> getJitterBufferLoss 1:1:byte getLossRateUp():17:17 -> getLossRateUp 1:1:byte getQuality():15:15 -> getQuality 1:1:boolean isValid():19:19 -> isValid 1:1:void setBandwidthUp(short):16:16 -> setBandwidthUp 1:1:void setJitterBufferLoss(byte):18:18 -> setJitterBufferLoss 1:1:void setLossRateUp(byte):17:17 -> setLossRateUp 1:1:void setQuality(byte):15:15 -> setQuality 1:1:void setValid(boolean):19:19 -> setValid 1:9:java.nio.ByteBuffer toData():44:52 -> toData 1:1:java.lang.String toString():56:56 -> toString ai.neuvision.sdk.sdwan.metrix.MetrixDataRTT -> ai.neuvision.sdk.sdwan.metrix.MetrixDataRTT: short relayCount -> e boolean isValidate -> f long timestamp -> c short[] RTT -> d java.lang.String TAG -> b 1:36:void (java.nio.ByteBuffer):13:48 -> 37:37:void ():23:23 -> 1:1:short[] getRTT():17:17 -> getRTT 1:1:short getRelayCount():18:18 -> getRelayCount 1:1:long getTimestamp():16:16 -> getTimestamp 1:1:boolean isValidate():20:20 -> isValidate 1:1:void setRTT(short[]):17:17 -> setRTT 1:1:void setRelayCount(short):18:18 -> setRelayCount 1:1:void setTimestamp(long):16:16 -> setTimestamp 1:1:void setValidate(boolean):20:20 -> setValidate 1:8:java.nio.ByteBuffer toData():55:62 -> toData ai.neuvision.sdk.sdwan.metrix.MetrixDataRelayPerformance -> ai.neuvision.sdk.sdwan.metrix.MetrixDataRelayPerformance: short relayCount -> f long from -> d boolean isValidate -> g long timestamp -> c java.lang.String TAG -> b short[] performance -> e 1:38:void (java.nio.ByteBuffer):14:51 -> 39:39:void (java.nio.ByteBuffer,int,kotlin.jvm.internal.DefaultConstructorMarker):14:14 -> 1:1:long getFrom():21:21 -> getFrom 1:1:short[] getPerformance():22:22 -> getPerformance 1:1:short getRelayCount():23:23 -> getRelayCount 1:1:long getTimestamp():18:18 -> getTimestamp 1:1:boolean isValidate():25:25 -> isValidate 1:1:void setFrom(long):21:21 -> setFrom 1:1:void setPerformance(short[]):22:22 -> setPerformance 1:1:void setRelayCount(short):23:23 -> setRelayCount 1:1:void setTimestamp(long):18:18 -> setTimestamp 1:1:void setValidate(boolean):25:25 -> setValidate 1:10:java.nio.ByteBuffer toData():58:67 -> toData ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout -> ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout: short screenHeight -> e java.util.ArrayList member -> f boolean isValidate -> g short flags -> c short screenWidth -> d short memberCount -> b 1:77:void (java.nio.ByteBuffer):15:91 -> 78:78:void ():46:46 -> 1:1:void addUI(ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout$MemberUI):97:97 -> addUI 1:1:void setFlags(short):19:19 -> getFlags 1:1:short getFlags():19 -> getFlags 1:4:ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout$MemberUI getMember(int):102:105 -> getMember 1:1:void setMemberCount(short):18:18 -> getMemberCount 1:1:short getMemberCount():18 -> getMemberCount 1:1:void setScreenHeight(short):21:21 -> getScreenHeight 1:1:short getScreenHeight():21 -> getScreenHeight 1:1:void setScreenWidth(short):20:20 -> getScreenWidth 1:1:short getScreenWidth():20 -> getScreenWidth 1:19:boolean hasMember(long):169:169 -> hasMember 1:1:boolean isCameraOn():143:143 -> isCameraOn 1:1:boolean isForeground():147:147 -> isForeground 1:1:boolean isHighCPULoad():159:159 -> isHighCPULoad 1:1:boolean isInterrupted():151:151 -> isInterrupted 1:1:boolean isLowPerformance():164:164 -> isLowPerformance 1:1:boolean isMuted():155:155 -> isMuted 1:1:void (java.nio.ByteBuffer):23:23 -> isValidate 1:1:boolean isValidate():23 -> isValidate 1:1:java.util.ArrayList member():111:111 -> member 1:1:void setFlag(short):139:139 -> setFlag 1:1:void setFlags(short):19:19 -> setFlags 1:1:void setMemberCount(short):18:18 -> setMemberCount 1:1:void setScreenHeight(short):21:21 -> setScreenHeight 1:1:void setScreenWidth(short):20:20 -> setScreenWidth 1:1:void (java.nio.ByteBuffer):23:23 -> setValidate 1:1:void setValidate(boolean):23 -> setValidate 1:20:java.nio.ByteBuffer toData():116:135 -> toData 1:1:java.lang.String toString():180:180 -> toString 1:16:float uiRatioOfMember(long):173:188 -> uiRatioOfMember 17:17:float uiRatioOfMember(long):174:174 -> uiRatioOfMember ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout$Companion -> ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout$Companion: 1:1:void ():41:41 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):41:41 -> ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout$LayoutFlags -> ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout$LayoutFlags: 1:1:void ():32:32 -> 1:1:void ():32:32 -> ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout$MemberUI -> ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout$MemberUI: short h -> e long uid -> a boolean isThumb -> f short y -> c short w -> d short x -> b 1:1:void (long,short,short,short,short,boolean):25:25 -> 2:2:void (long,short,short,short,short,boolean,int,kotlin.jvm.internal.DefaultConstructorMarker):25:25 -> 1:1:float getArea():29:29 -> getArea 1:1:short getH():25:25 -> getH 1:1:long getUid():25:25 -> getUid 1:1:short getW():25:25 -> getW 1:1:short getX():25:25 -> getX 1:1:short getY():25:25 -> getY 1:1:boolean isThumb():25:25 -> isThumb 1:1:void setH(short):25:25 -> setH 1:1:void setThumb(boolean):25:25 -> setThumb 1:1:void setUid(long):25:25 -> setUid 1:1:void setW(short):25:25 -> setW 1:1:void setX(short):25:25 -> setX 1:1:void setY(short):25:25 -> setY ai.neuvision.sdk.sdwan.metrix.MetrixDataUp -> ai.neuvision.sdk.sdwan.metrix.MetrixDataUp: boolean isValidate -> m boolean isP2p -> n int bandwidth -> h int bytes -> f byte tid -> d long timestamp -> c short time -> g short RTT -> e byte rdelay -> l short lastSendTimestamp -> k short should -> i short recv -> j java.lang.String TAG -> b 1:67:void (java.nio.ByteBuffer):13:79 -> 68:68:void (java.nio.ByteBuffer,int,kotlin.jvm.internal.DefaultConstructorMarker):13:13 -> 1:1:int getBandwidth():25:25 -> getBandwidth 1:1:int getBytes():19:19 -> getBytes 1:1:short getLastSendTimestamp():31:31 -> getLastSendTimestamp 1:1:short getRTT():18:18 -> getRTT 1:1:byte getRdelay():34:34 -> getRdelay 1:1:short getRecv():28:28 -> getRecv 1:1:short getShould():27:27 -> getShould 1:1:java.lang.String getTAG():15:15 -> getTAG 1:1:byte getTid():17:17 -> getTid 1:1:short getTime():22:22 -> getTime 1:1:long getTimestamp():16:16 -> getTimestamp 1:1:boolean isP2p():37:37 -> isP2p 1:1:boolean isValidate():35:35 -> isValidate 1:2:short lossrate():85:86 -> lossrate 1:1:void setBandwidth(int):25:25 -> setBandwidth 1:1:void setBytes(int):19:19 -> setBytes 1:1:void setLastSendTimestamp(short):31:31 -> setLastSendTimestamp 1:1:void setP2p(boolean):37:37 -> setP2p 1:1:void setRTT(short):18:18 -> setRTT 1:1:void setRdelay(byte):34:34 -> setRdelay 1:1:void setRecv(short):28:28 -> setRecv 1:1:void setShould(short):27:27 -> setShould 1:1:void setTid(byte):17:17 -> setTid 1:1:void setTime(short):22:22 -> setTime 1:1:void setTimestamp(long):16:16 -> setTimestamp 1:1:void setValidate(boolean):35:35 -> setValidate 1:1:java.nio.ByteBuffer toData():95:95 -> toData 1:15:java.nio.ByteBuffer toDataForMsgExtra():101:115 -> toDataForMsgExtra ai.neuvision.sdk.sdwan.metrix.MetrixFrom -> ai.neuvision.sdk.sdwan.metrix.MetrixFrom: short sentTimestamp -> f int[] accTid -> c long timestamp -> e short[] countTid -> b short[] delayTid -> d int count -> a 1:7:void ():11:17 -> 1:1:int[] getAccTid():16:16 -> getAccTid 1:1:int getCount():13:13 -> getCount 1:1:short[] getCountTid():15:15 -> getCountTid 1:1:short[] getDelayTid():17:17 -> getDelayTid 1:1:short getSentTimestamp():19:19 -> getSentTimestamp 1:1:long getTimestamp():18:18 -> getTimestamp 1:1:void setAccTid(int[]):16:16 -> setAccTid 1:1:void setCount(int):13:13 -> setCount 1:1:void setCountTid(short[]):15:15 -> setCountTid 1:1:void setDelayTid(short[]):17:17 -> setDelayTid 1:1:void setSentTimestamp(short):19:19 -> setSentTimestamp 1:1:void setTimestamp(long):18:18 -> setTimestamp ai.neuvision.sdk.sdwan.metrix.MetrixMember -> ai.neuvision.sdk.sdwan.metrix.MetrixMember: ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout lastUILayout -> j int mHitchHike -> l int mHitchHikeSpace -> m java.util.LinkedList dataRelayPerformances -> h java.util.LinkedList dataNacks -> i ai.neuvision.sdk.sdwan.metrix.MetrixDataNetworkInfo networkInfo -> k float uiMaxViewScreenRatio -> d int uiAsBigViewFactor -> b int uiAsBigViewCount -> c ai.neuvision.sdk.sdwan.metrix.MetrixMember$Callback callback -> n java.util.LinkedList dataDowns -> e int[] performance -> o java.lang.String TAG -> a java.util.LinkedList dataUps -> f java.util.LinkedList dataRTTs -> g long uid -> p 1:403:void (long):21:423 -> 1:10:short[] RTT():485:485 -> a 1:13:int askForNackLastSecond():533:533 -> askForNackLastSecond 1:26:int avgRTT():500:525 -> avgRTT 1:12:int bandwidthDown():150:161 -> bandwidthDown 13:13:int bandwidthDown():151:151 -> bandwidthDown 1:35:int bandwidthUp():291:325 -> bandwidthUp 36:36:int bandwidthUp():292:292 -> bandwidthUp 1:1:void setCallback(ai.neuvision.sdk.sdwan.metrix.MetrixMember$Callback):40:40 -> getCallback 1:1:ai.neuvision.sdk.sdwan.metrix.MetrixMember$Callback getCallback():40 -> getCallback 1:2:int getHitchHike():129:130 -> getHitchHike 1:2:int getHitchHikeSpace():135:136 -> getHitchHikeSpace 1:1:void setLastUILayout(ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout):33:33 -> getLastUILayout 1:1:ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout getLastUILayout():33 -> getLastUILayout 1:1:void setNetworkInfo(ai.neuvision.sdk.sdwan.metrix.MetrixDataNetworkInfo):34:34 -> getNetworkInfo 1:1:ai.neuvision.sdk.sdwan.metrix.MetrixDataNetworkInfo getNetworkInfo():34 -> getNetworkInfo 1:1:void setUiAsBigViewCount(int):25:25 -> getUiAsBigViewCount 1:1:int getUiAsBigViewCount():25 -> getUiAsBigViewCount 1:1:void (long):24:24 -> getUiAsBigViewFactor 1:1:int getUiAsBigViewFactor():24 -> getUiAsBigViewFactor 1:1:void setUiMaxViewScreenRatio(float):26:26 -> getUiMaxViewScreenRatio 1:1:float getUiMaxViewScreenRatio():26 -> getUiMaxViewScreenRatio 1:1:void (long):21:21 -> getUid 1:1:long getUid():21 -> getUid 1:1:boolean isCameraOn():587:587 -> isCameraOn 1:1:boolean isMuted():591:591 -> isMuted 1:22:int jitterCount():262:262 -> jitterCount 1:37:int lossRateDown():188:188 -> lossRateDown 1:24:int lossRateDownOfRelay(byte):231:231 -> lossRateDownOfRelay 1:24:int lossRateUp():333:333 -> lossRateUp 1:26:int lossRateUpOfRelay(byte):391:391 -> lossRateUpOfRelay 1:20:int lossRateUpRecent():364:364 -> lossRateUpRecent 1:13:int realBandwidthDown():167:167 -> realBandwidthDown 1:16:int receiveNackLastSecondWithBytesRelay(kotlin.jvm.functions.Function1):550:550 -> receiveNackLastSecondWithBytesRelay 1:13:int receivedNackLastFiveSecond():570:570 -> receivedNackLastFiveSecond 1:41:int[] relayPerformance():425:425 -> relayPerformance 1:12:short[] relayRTT():469:469 -> relayRTT 1:9:void reportDataDown(ai.neuvision.sdk.sdwan.metrix.MetrixDataDown):48:48 -> reportDataDown 1:5:void reportDataNack(ai.neuvision.sdk.sdwan.metrix.MetrixDataNack):113:113 -> reportDataNack 1:5:void reportDataRTT(ai.neuvision.sdk.sdwan.metrix.MetrixDataRTT):72:72 -> reportDataRTT 1:5:void reportDataRelayPerformance(ai.neuvision.sdk.sdwan.metrix.MetrixDataRelayPerformance):82:82 -> reportDataRelayPerformance 1:7:void reportDataUILayout(ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout):92:98 -> reportDataUILayout 8:18:void reportDataUILayout(ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout):95:105 -> reportDataUILayout 19:25:void reportDataUILayout(ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout):102:108 -> reportDataUILayout 26:26:void reportDataUILayout(ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout):92:92 -> reportDataUILayout 1:5:void reportDataUp(ai.neuvision.sdk.sdwan.metrix.MetrixDataUp):62:62 -> reportDataUp 1:2:void reportHitchHike(int,int):141:142 -> reportHitchHike 1:2:void reportNetworkInfo(ai.neuvision.sdk.sdwan.metrix.MetrixDataNetworkInfo):123:124 -> reportNetworkInfo 1:1:void setCallback(ai.neuvision.sdk.sdwan.metrix.MetrixMember$Callback):40:40 -> setCallback 1:1:void setLastUILayout(ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout):33:33 -> setLastUILayout 1:1:void setNetworkInfo(ai.neuvision.sdk.sdwan.metrix.MetrixDataNetworkInfo):34:34 -> setNetworkInfo 1:1:void setUiAsBigViewCount(int):25:25 -> setUiAsBigViewCount 1:1:void (long):24:24 -> setUiAsBigViewFactor 1:1:void setUiAsBigViewFactor(int):24 -> setUiAsBigViewFactor 1:1:void setUiMaxViewScreenRatio(float):26:26 -> setUiMaxViewScreenRatio 1:53:java.lang.String toString():596:648 -> toString 54:94:java.lang.String toString():610:650 -> toString 95:105:java.lang.String toString():616:626 -> toString ai.neuvision.sdk.sdwan.metrix.TestKt -> ai.neuvision.sdk.sdwan.metrix.TestKt: 1:11:void main():17:27 -> main ai.neuvision.sdk.sdwan.metrix.test -> ai.neuvision.sdk.sdwan.metrix.test: 1:1:void ():12:12 -> ai.neuvision.sdk.sdwan.monitor.ActiveTime -> ai.neuvision.sdk.sdwan.monitor.ActiveTime: android.util.LongSparseArray members -> a 1:3:void ():15:17 -> 1:8:ai.neuvision.sdk.sdwan.monitor.ActiveTime$CountPoint getMember(long):122:122 -> a 1:1:void calculate(long):163:163 -> calculate 1:2:void calculateAll():169:170 -> calculateAll 1:1:void endAudio(long):138:138 -> endAudio 1:1:void endVideo(long):148:148 -> endVideo 1:5:java.util.ArrayList getActiveTimes(long):153:157 -> getActiveTimes 1:7:long getLastMinuteActiveTime(long):179:185 -> getLastMinuteActiveTime 1:1:void startAudio(long):133:133 -> startAudio 1:1:void startVideo(long):143:143 -> startVideo ai.neuvision.sdk.sdwan.monitor.ActiveTime$CountPoint -> ai.neuvision.sdk.sdwan.monitor.ActiveTime$CountPoint: long audioStart -> b long videoStart -> c java.util.ArrayList durations -> d java.util.ArrayList data -> a 1:5:void ():26:30 -> 1:43:void calculate():34:76 -> calculate 1:101:void endAudio():94:194 -> endAudio 102:203:void endAudio():96:96 -> endAudio 204:208:void endAudio():95:95 -> endAudio 1:90:void endVideo():112:201 -> endVideo 91:181:void endVideo():114:114 -> endVideo 182:186:void endVideo():113:113 -> endVideo 1:1:void ():27:27 -> getData 1:1:java.util.ArrayList getData():27 -> getData 1:4:void startAudio():84:87 -> startAudio 5:5:void startAudio():86:86 -> startAudio 1:4:void startVideo():103:106 -> startVideo 5:5:void startVideo():105:105 -> startVideo ai.neuvision.sdk.sdwan.monitor.ActiveTime$Duration -> ai.neuvision.sdk.sdwan.monitor.ActiveTime$Duration: long start -> b long end -> c int type -> a 1:1:void (int,long,long):19:19 -> 1:1:long getDuration():22:22 -> getDuration 1:1:long getEnd():19:19 -> getEnd 1:1:long getStart():19:19 -> getStart 1:1:int getType():19:19 -> getType 1:1:void setEnd(long):19:19 -> setEnd ai.neuvision.sdk.sdwan.monitor.AudioCatonRate -> ai.neuvision.sdk.sdwan.monitor.AudioCatonRate: java.util.Map catonAudioIntervalMap -> a ai.neuvision.sdk.sdwan.monitor.ICalcMetrix catonAudioMetrix -> c java.util.Map catonAudioFlagMap -> b ai.neuvision.sdk.sdwan.monitor.Conditions conditions -> e java.util.Map memberMetrix -> d ai.neuvision.sdk.sdwan.monitor.CatonStatusChangedListener catonStatusChangedListener -> f 1:1:void (ai.neuvision.sdk.sdwan.monitor.Conditions,ai.neuvision.sdk.sdwan.monitor.CatonStatusChangedListener):27:27 -> 2:12:void (ai.neuvision.sdk.sdwan.monitor.Conditions,ai.neuvision.sdk.sdwan.monitor.CatonStatusChangedListener):19:29 -> 1:1:org.json.JSONObject getAudioCaton():94:94 -> getAudioCaton 1:14:org.json.JSONArray getAudioCatonArray(long):120:133 -> getAudioCatonArray 1:5:double getAudioCatonRateByUid(long):99:103 -> getAudioCatonRateByUid 1:5:float getLastMinuteAudioCaton(long):177:181 -> getLastMinuteAudioCaton 1:5:long getStartTime(long):139:143 -> getStartTime 1:3:boolean isMixing(long):168:170 -> isMixing 1:2:void pointAudioCaton():190:191 -> pointAudioCaton 3:8:void pointAudioCaton(long):197:202 -> pointAudioCaton 1:3:java.lang.String printAudioCatonDetail():86:88 -> printAudioCatonDetail 4:7:java.lang.String printAudioCatonDetail():87:90 -> printAudioCatonDetail 1:7:void setMicStatus(java.lang.Long,boolean):108:114 -> setMicStatus 1:23:void startAudioCaton(long):33:55 -> startAudioCaton 1:6:void startMixing(long):149:154 -> startMixing 1:16:void stopAudioCaton(long):59:74 -> stopAudioCaton 1:6:void stopMixing(long):158:163 -> stopMixing ai.neuvision.sdk.sdwan.monitor.AudioIORate -> ai.neuvision.sdk.sdwan.monitor.AudioIORate: double total -> c int bits -> a ai.neuvision.sdk.sdwan.monitor.ICalcMetrix iCalcMetrix -> b 1:3:void ():13:15 -> 1:2:void addBitsLen(int):24:25 -> addBitsLen 1:2:void addPerSecond():19:20 -> addPerSecond 1:5:org.json.JSONObject getData():29:33 -> getData 1:1:double getTotal():39:39 -> getTotal ai.neuvision.sdk.sdwan.monitor.AudioInTimeData -> ai.neuvision.sdk.sdwan.monitor.AudioInTimeData: 1:10:void (long):9:18 -> 11:11:void (long):10:10 -> 1:1:java.lang.String toString():26:26 -> toString ai.neuvision.sdk.sdwan.monitor.CalcM3A -> ai.neuvision.sdk.sdwan.monitor.CalcM3A: ai.neuvision.sdk.sdwan.monitor.ICalcMetrix min -> c ai.neuvision.sdk.sdwan.monitor.ICalcMetrix avg -> d android.util.LongSparseArray holders -> a ai.neuvision.sdk.sdwan.monitor.ICalcMetrix median -> e boolean calc -> f ai.neuvision.sdk.sdwan.monitor.ICalcMetrix max -> b 1:1:void (android.util.LongSparseArray):15:15 -> 2:5:void (android.util.LongSparseArray):13:16 -> 1:15:void calc():20:34 -> a 1:6:void add(long,double,android.util.LongSparseArray):66:71 -> add 1:4:ai.neuvision.sdk.sdwan.monitor.ICalcMetrix getAvg():59:62 -> getAvg 1:4:ai.neuvision.sdk.sdwan.monitor.ICalcMetrix getMax():38:41 -> getMax 1:4:ai.neuvision.sdk.sdwan.monitor.ICalcMetrix getMedian():52:55 -> getMedian 1:4:ai.neuvision.sdk.sdwan.monitor.ICalcMetrix getMin():45:48 -> getMin ai.neuvision.sdk.sdwan.monitor.CalcSkipFrameRate -> ai.neuvision.sdk.sdwan.monitor.CalcSkipFrameRate: android.util.LongSparseArray holders -> c android.util.LongSparseArray members -> a ai.neuvision.sdk.sdwan.monitor.CalcM3A calcM3A -> b 1:6:void ():7:12 -> 1:4:ai.neuvision.sdk.sdwan.monitor.SkipFrameRate get(long):25:28 -> a 1:2:void addFps(long):15:16 -> addFps 1:2:void addJump(long,int):20:21 -> addJump 1:5:void calc():34:38 -> calc 1:1:org.json.JSONObject getVideoSkipFrameRateData():43:43 -> getVideoSkipFrameRateData ai.neuvision.sdk.sdwan.monitor.CalcVideoSize -> ai.neuvision.sdk.sdwan.monitor.CalcVideoSize: android.util.Size min -> b android.util.Size max -> a 1:1:void ():10:10 -> 1:10:void calc(android.util.Size):18:27 -> calc 1:1:org.json.JSONObject getMaxMin():46:46 -> getMaxMin 2:5:java.lang.String getMin():39:42 -> getMaxMin 2:5:org.json.JSONObject getMaxMin():48 -> getMaxMin 6:6:org.json.JSONObject getMaxMin():48:48 -> getMaxMin 7:10:java.lang.String getMax():32:35 -> getMaxMin 7:10:org.json.JSONObject getMaxMin():49 -> getMaxMin 11:13:org.json.JSONObject getMaxMin():49:51 -> getMaxMin ai.neuvision.sdk.sdwan.monitor.CallFirstFrame -> ai.neuvision.sdk.sdwan.monitor.CallFirstFrame: 1:3:void ():6:8 -> ai.neuvision.sdk.sdwan.monitor.CallMonitor -> ai.neuvision.sdk.sdwan.monitor.CallMonitor: ai.neuvision.sdk.sdwan.monitor.CallMonitor$INetworkQuality networkQuality -> s android.util.LongSparseArray jitterBufferLossMaps -> C long sessionId -> i ai.neuvision.sdk.sdwan.monitor.FirstReqVideo firstReqVideo -> l ai.neuvision.sdk.sdwan.monitor.AudioCatonRate audioCatonRate -> m ai.neuvision.sdk.sdwan.monitor.CatonCalc videoCationInterval -> J java.util.List xlaRealtimeAddrs -> S java.util.HashMap mVideoInTimeDataMap -> a ai.neuvision.sdk.sdwan.monitor.CatonCalc videoCationDuration -> w ai.neuvision.sdk.sdwan.monitor.CalcSkipFrameRate calcSkipFrameRate -> K android.util.LongSparseArray videoIORateMap -> O ai.neuvision.sdk.sdwan.monitor.CallMonitor$Transport mTransport -> W ai.neuvision.sdk.sdwan.monitor.Conditions conditions -> h ai.neuvision.sdk.sdwan.monitor.SendRedundantRate sendRedundantRate -> A ai.neuvision.sdk.utils.CpuManager$CpuStatusListener mCpuStatusListener -> a0 ai.neuvision.sdk.sdwan.monitor.CallMonitor curMonitor -> d0 int xlaId -> T ai.neuvision.sdk.sdwan.monitor.CpuUsageStat mCpuUsageStat -> b0 ai.neuvision.sdk.sdwan.monitor.DataEngineFlow dataEngineFlow -> z android.util.LongSparseArray jitterStateMaps -> B boolean canAnalysis -> j ai.neuvision.sdk.sdwan.monitor.VideoCatonRate videoCatonRate -> n android.util.LongSparseArray audioCatonIntervalMaps -> F android.util.LongSparseArray audioIORateMap -> N android.util.LongSparseArray audioCatonDurationMaps -> t java.lang.Runnable task -> f ai.neuvision.sdk.sdwan.monitor.JitterBufferCalc jitterBufferCalc -> D boolean startSchedul -> e ai.neuvision.sdk.sdwan.monitor.CatonCalc audioCationInterval -> G ai.neuvision.sdk.sdwan.monitor.AudioIORate localAudioOutputRate -> x java.util.Map cameraStatus -> q java.util.HashMap instance -> c0 ai.neuvision.sdk.sdwan.monitor.ActiveTime mActiveTime -> c android.util.LongSparseArray videoCatonIntervalMaps -> I ai.neuvision.sdk.sdwan.monitor.CatonCalc audioCationDuration -> u long lastEndP2pTime -> Z ai.neuvision.sdk.sdwan.monitor.FrameData frameData -> g java.util.ArrayList participants -> V ai.neuvision.sdk.sdwan.monitor.VideoEncodeCostTime encodeCostTime -> L int curServerMinute -> R ai.neuvision.sdk.sdwan.monitor.FlowCalc flowCalc -> o ai.neuvision.sdk.sdwan.monitor.VideoDecodeCostTime videoDecodeCostTime -> M java.util.Map videoCatonIntervalStartTimeMaps -> H java.util.Map micStatus -> r java.lang.String uuid -> k java.net.InetSocketAddress sendAddress -> U java.util.HashMap mAudioInTimeDataMap -> b ai.neuvision.sdk.sdwan.monitor.P2pInfo p2pInfo -> X ai.neuvision.sdk.sdwan.monitor.VideoIORate localVideoOutput -> y ai.neuvision.sdk.sdwan.monitor.NetworkQualityData networkQualityData -> p long lastStartP2pTime -> Y android.util.LongSparseArray videoCatonDurationMaps -> v ai.neuvision.sdk.sdwan.monitor.ReportData reportData -> P long callSubmitTime -> Q java.util.concurrent.ScheduledExecutorService scheduledExecutorService -> d java.util.Map audioCatonIntervalStartTimeMaps -> E 1:2:void ():187:188 -> 1:1:void (long):224:224 -> 2:1320:void (long):64:1382 -> 1321:1321:void (long):225:225 -> 1:5:void stopSchedule():238:242 -> a 6:8:void lambda$submitData$0(java.lang.String):1074:1076 -> a 9:48:void collectNetworkLatency():1117:1156 -> a 9:48:void access$700(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57 -> a 49:76:void realtimereportXLA(long):1193:1220 -> a 49:76:void collectNetworkLatency():1157 -> a 49:76:void access$700(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57 -> a 77:101:void realtimeReportNetwork(long):1237:1261 -> a 77:101:void collectNetworkLatency():1158 -> a 77:101:void access$700(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57 -> a 102:112:void realtimeReportCpu(long):1266:1276 -> a 102:112:void collectNetworkLatency():1159 -> a 102:112:void access$700(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57 -> a 113:129:void realtimeReport(ai.neuvision.sdk.sdwan.monitor.RealtimeData,int):1282:1298 -> a 130:132:void sendXLA(ai.neuvision.sdk.sdwan.monitor.RealtimeXLAPackage,java.net.SocketAddress):1318:1320 -> a 130:132:void realtimeReport(ai.neuvision.sdk.sdwan.monitor.RealtimeData,int):1299 -> a 133:141:void realtimeReport(ai.neuvision.sdk.sdwan.monitor.RealtimeData,int):1301:1309 -> a 142:142:void addCpuUsage(float):1390:1390 -> a 1:4:void acceptCall(long):344:347 -> acceptCall 1:4:void addAudioFrameLog(long,ai.neuvision.sdk.sdwan.monitor.CallMonitor$IFrameLog):273:276 -> addAudioFrameLog 1:3:void addBitRate(int,boolean):708:710 -> addBitRate 4:4:void addBitRate(int,boolean,long):854:854 -> addBitRate 5:8:ai.neuvision.sdk.sdwan.monitor.VideoIORate getVideoIORate(ai.neuvision.sdk.sdwan.monitor.CallMonitor,long):861:864 -> addBitRate 5:8:void addBitRate(int,boolean,long):856 -> addBitRate 9:9:void addBitRate(int,boolean,long):856:856 -> addBitRate 1:1:void addCallQuality(ai.neuvision.sdk.sdwan.monitor.NetworkStatus):180:180 -> addCallQuality 1:25:void addCommonInfo(long,java.lang.String,java.lang.Object):91:115 -> addCommonInfo 26:29:void addCommonInfo(long,java.lang.String,java.lang.Object):105:108 -> addCommonInfo 30:30:void addCommonInfo(long,java.lang.String,java.lang.Object):102:102 -> addCommonInfo 31:31:void addCommonInfo(long,java.lang.String,java.lang.Object):99:99 -> addCommonInfo 32:59:void addCommonInfo(long,java.lang.String,java.lang.Object):96:123 -> addCommonInfo 1:3:void addDataEngineFlow(int):727:729 -> addDataEngineFlow 1:3:void addDecoderDelta(int,long):801:803 -> addDecoderDelta 1:3:void addEncodeDelta(int,boolean):794:796 -> addEncodeDelta 1:3:void addFps(long):774:776 -> addFps 1:3:void addFrameRate(int,boolean):701:703 -> addFrameRate 4:4:void addFrameRate(int,boolean,long):846:846 -> addFrameRate 5:8:ai.neuvision.sdk.sdwan.monitor.VideoIORate getVideoIORate(ai.neuvision.sdk.sdwan.monitor.CallMonitor,long):861:864 -> addFrameRate 5:8:void addFrameRate(int,boolean,long):848 -> addFrameRate 9:9:void addFrameRate(int,boolean,long):848:848 -> addFrameRate 1:3:void addJitterBufferLoss(long,int):763:765 -> addJitterBufferLoss 1:3:void addJitterState(long,short):741:743 -> addJitterState 1:3:void addJump(long,int):781:783 -> addJump 1:1:void addP2pfout(int):571:571 -> addP2pfout 1:1:void addP2pin(int):565:565 -> addP2pin 1:13:void addSessionUserInfo(long,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String):71:83 -> addSessionUserInfo 1:1:void addTotalBytes(int,boolean):559:559 -> addTotalBytes 1:3:void addVideoBits(int):715:717 -> addVideoBits 1:4:void addVideoFrameLog(long,ai.neuvision.sdk.sdwan.monitor.CallMonitor$IFrameLog):282:285 -> addVideoFrameLog 1:3:void addVideoSize(android.util.Size,boolean):694:696 -> addVideoSize 4:4:void addVideoSize(android.util.Size,boolean,long):841:841 -> addVideoSize 1:1:void asP2pRelay(long):1351:1351 -> asP2pRelay 1:10:void submitData():1056:1065 -> b 11:116:org.json.JSONArray getMonitorData():933:1038 -> b 11:116:void submitData():1067 -> b 117:136:org.json.JSONArray getMonitorData():1028:1047 -> b 117:136:void submitData():1067 -> b 137:149:void submitData():1067:1079 -> b 150:151:void lambda$submitHeader$1(java.lang.String):1103:1104 -> b 152:159:void realtimeReportCallData():1225:1232 -> b 152:159:void lambda$submitHeader$1(java.lang.String):1105 -> b 1:23:void submitHeader():1085:1107 -> c 1:11:void calcAudioIoBits(long,java.lang.Integer):818:828 -> calcAudioIoBits 1:3:void calcAudioOutputBits(java.lang.Integer):680:682 -> calcAudioOutputBits 1:3:void callFirstFrame(long):449:451 -> callFirstFrame 1:5:void callingStartTime(long):333:337 -> callingStartTime 1:6:void endP2p():1367:1372 -> endP2p 1:8:void endSession(long):407:414 -> endSession 9:9:void stopCpuStat():1394:1394 -> endSession 9:9:void endSession(long):416 -> endSession 10:10:void endSession(long):417:417 -> endSession 11:11:void log(java.lang.String):918:918 -> endSession 11:11:void endSession(long):417 -> endSession 12:14:void endSession(long):418:420 -> endSession 1:3:void failedJoinSession(long):399:401 -> failedJoinSession 1:2:void free():906:907 -> free 1:1:void freeAll():914:914 -> freeAll 1:5:ai.neuvision.sdk.sdwan.monitor.AudioInTimeData getAudioInTimeData(java.lang.Long):140:144 -> getAudioInTimeData 1:13:ai.neuvision.sdk.sdwan.monitor.CallMonitor getInstance(java.lang.Long):249:261 -> getInstance 1:5:ai.neuvision.sdk.sdwan.monitor.VideoInTimeData getVideoInTimeData(java.lang.Long):129:133 -> getVideoInTimeData 1:1:void inCall():362:362 -> inCall 2:3:void createUUID():372:373 -> inCall 2:3:void inCall():363 -> inCall 4:6:void inCall():364:366 -> inCall 7:7:void startCpuStat():1385:1385 -> inCall 7:7:void inCall():367 -> inCall 1:4:boolean isCameOn(long):649:652 -> isCameOn 1:4:boolean isMuted(long):638:641 -> isMuted 1:1:boolean joinSuccess():424:424 -> joinSuccess 1:4:void onGetOut(java.lang.Long):441:444 -> onGetOut 1:2:void onMemberJoin(long):1186:1187 -> onMemberJoin 1:1:void onOffScreen(long):437:437 -> onOffScreen 1:6:void onReceiveRelay(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.SocketAddress):1326:1331 -> onReceiveRelay 1:21:java.lang.String print():876:896 -> print 1:2:java.lang.String printFrameLog():289:290 -> printFrameLog 1:3:void receiveFirstFrame(long,long):457:459 -> receiveFirstFrame 1:7:void setCameraStatus(java.lang.Long,boolean):605:611 -> setCameraStatus 8:8:void onCameraOff(java.lang.Long):433:433 -> setCameraStatus 8:8:void setCameraStatus(java.lang.Long,boolean):614 -> setCameraStatus 9:9:void setCameraStatus(java.lang.Long,boolean):616:616 -> setCameraStatus 1:1:void setCountryCode(java.lang.String):317:317 -> setCountryCode 1:8:void setMicStatus(java.lang.Long,boolean):624:631 -> setMicStatus 1:2:void setNetworkQuality(ai.neuvision.sdk.sdwan.monitor.CallMonitor$INetworkQuality):595:596 -> setNetworkQuality 1:1:void setP2pEnabledRatio(int):1347:1347 -> setP2pEnabledRatio 1:1:void setRelayList(java.util.List):308:308 -> setRelayList 1:1:void setTransport(ai.neuvision.sdk.sdwan.monitor.CallMonitor$Transport):1182:1182 -> setTransport 1:1:void setVideoEncode(java.lang.String):304:304 -> setVideoEncode 1:1:void startAudioCaton(long):482:482 -> startAudioCaton 1:2:void startDisplay(long):533:534 -> startDisplay 1:2:void startMixing(long):492:493 -> startMixing 1:5:void startMultyJoinSession(long):385:389 -> startMultyJoinSession 6:8:void startSchedule():231:233 -> startMultyJoinSession 6:8:void startMultyJoinSession(long):390 -> startMultyJoinSession 9:10:void startMultyJoinSession(long):392:393 -> startMultyJoinSession 1:6:void startP2p():1355:1360 -> startP2p 1:1:void startVideoCaton(long):522:522 -> startVideoCaton 1:1:void stopAudioCaton(long):488:488 -> stopAudioCaton 1:2:void stopDisplay(long):539:540 -> stopDisplay 1:2:void stopMixing(long):497:498 -> stopMixing 1:1:void stopVideoCaton(long):528:528 -> stopVideoCaton ai.neuvision.sdk.sdwan.monitor.CallMonitor$1 -> ai.neuvision.sdk.sdwan.monitor.CallMonitor$a: ai.neuvision.sdk.sdwan.monitor.CallMonitor this$0 -> a 1:1:void (ai.neuvision.sdk.sdwan.monitor.CallMonitor):192:192 -> 1:1:void run():196:196 -> run 2:2:ai.neuvision.sdk.sdwan.monitor.Conditions ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$000(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> run 2:2:void run():196 -> run 3:4:void run():196:197 -> run 5:5:void ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$100(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> run 5:5:void run():197 -> run 6:6:void run():200:200 -> run 7:7:void ai.neuvision.sdk.sdwan.monitor.CallMonitor.resetBytesPerSecond():580:580 -> run 7:7:void ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$200(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57 -> run 7:7:void run():200 -> run 8:8:void run():201:201 -> run 9:12:void ai.neuvision.sdk.sdwan.monitor.CallMonitor.obtainData():659:662 -> run 9:12:void ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$300(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57 -> run 9:12:void run():201 -> run 13:16:void run():202:205 -> run 17:17:ai.neuvision.sdk.sdwan.monitor.AudioIORate ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$400(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> run 17:17:void run():205 -> run 18:19:void run():205:206 -> run 20:20:android.util.LongSparseArray ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$500(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> run 20:20:void run():206 -> run 21:22:void run():206:207 -> run 23:23:android.util.LongSparseArray ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$500(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> run 23:23:void run():207 -> run 24:26:void run():207:209 -> run 27:27:android.util.LongSparseArray ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$500(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> run 27:27:void run():209 -> run 28:34:void run():209:215 -> run 35:35:ai.neuvision.sdk.sdwan.monitor.CalcSkipFrameRate ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$600(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> run 35:35:void run():215 -> run 36:38:void run():215:217 -> run 39:44:void run():214:219 -> run ai.neuvision.sdk.sdwan.monitor.CallMonitor$2 -> ai.neuvision.sdk.sdwan.monitor.CallMonitor$b: ai.neuvision.sdk.sdwan.monitor.CallMonitor this$0 -> a 1:1:void (ai.neuvision.sdk.sdwan.monitor.CallMonitor):466:466 -> 1:1:void onStartCaton(long):469:469 -> onStartCaton 2:2:java.util.Map ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$800(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> onStartCaton 2:2:void onStartCaton(long):469 -> onStartCaton 3:3:android.util.LongSparseArray ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$900(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> onStartCaton 3:3:void onStartCaton(long):469 -> onStartCaton 4:4:void onStartCaton(long):469:469 -> onStartCaton 1:1:void onStopCaton(long,int):474:474 -> onStopCaton 2:2:android.util.LongSparseArray ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$1000(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> onStopCaton 2:2:void onStopCaton(long,int):474 -> onStopCaton 3:4:void onStopCaton(long,int):474:475 -> onStopCaton 5:5:java.util.Map ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$800(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> onStopCaton 5:5:void onStopCaton(long,int):475 -> onStopCaton 6:6:void onStopCaton(long,int):475:475 -> onStopCaton ai.neuvision.sdk.sdwan.monitor.CallMonitor$3 -> ai.neuvision.sdk.sdwan.monitor.CallMonitor$c: ai.neuvision.sdk.sdwan.monitor.CallMonitor this$0 -> a 1:1:void (ai.neuvision.sdk.sdwan.monitor.CallMonitor):506:506 -> 1:1:void onStartCaton(long):509:509 -> onStartCaton 2:2:java.util.Map ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$1100(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> onStartCaton 2:2:void onStartCaton(long):509 -> onStartCaton 3:3:android.util.LongSparseArray ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$1200(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> onStartCaton 3:3:void onStartCaton(long):509 -> onStartCaton 4:4:void onStartCaton(long):509:509 -> onStartCaton 1:1:void onStopCaton(long,int):514:514 -> onStopCaton 2:2:android.util.LongSparseArray ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$1300(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> onStopCaton 2:2:void onStopCaton(long,int):514 -> onStopCaton 3:4:void onStopCaton(long,int):514:515 -> onStopCaton 5:5:java.util.Map ai.neuvision.sdk.sdwan.monitor.CallMonitor.access$1100(ai.neuvision.sdk.sdwan.monitor.CallMonitor):57:57 -> onStopCaton 5:5:void onStopCaton(long,int):515 -> onStopCaton 6:6:void onStopCaton(long,int):515:515 -> onStopCaton ai.neuvision.sdk.sdwan.monitor.CatonCalc -> ai.neuvision.sdk.sdwan.monitor.CatonCalc: ai.neuvision.sdk.sdwan.monitor.CalcM3A calcM3A -> a 1:2:void (android.util.LongSparseArray):13:14 -> 1:1:void addCatonDuration(long,int,android.util.LongSparseArray):22:22 -> addCatonDuration 1:1:org.json.JSONObject getData():18:18 -> getData ai.neuvision.sdk.sdwan.monitor.CatonInterval -> ai.neuvision.sdk.sdwan.monitor.CatonInterval: 1:1:void ():10:10 -> 1:1:void startInterval(long,java.util.Map):13:13 -> startInterval 1:10:void stopInterval(long,java.util.Map,android.util.LongSparseArray):17:26 -> stopInterval ai.neuvision.sdk.sdwan.monitor.CntTime -> ai.neuvision.sdk.sdwan.monitor.CntTime: 1:1:void ():6:6 -> ai.neuvision.sdk.sdwan.monitor.Conditions -> ai.neuvision.sdk.sdwan.monitor.Conditions: android.content.Context context -> a java.lang.String countrycode -> i java.lang.String appId -> h java.util.List relayList -> f java.lang.String videoEncode -> j long callingEndTime -> e long startTime -> b long callingStartTime -> d boolean isJoined -> g long endTime -> c 1:9:void ():30:38 -> 1:189:void ():47:235 -> 190:194:void ():48:52 -> 1:7:void getVerName(android.content.Context):105:111 -> a 1:1:long getCallingEndTime():83:83 -> getCallingEndTime 1:1:long getCallingStartTime():75:75 -> getCallingStartTime 1:26:org.json.JSONObject getDesc(long):159:184 -> getDesc 1:1:long getEndTime():66:66 -> getEndTime 1:7:org.json.JSONObject getJoinSession():224:230 -> getJoinSession 1:1:long getJoinSessionMillis():210:210 -> getJoinSessionMillis 1:1:long getStartEndDeltaTime():206:206 -> getStartEndDeltaTime 1:1:long getStartTime():56:56 -> getStartTime 1:1:void inCall():238:238 -> inCall 1:28:java.lang.String printDesc(long):128:155 -> printDesc 1:7:java.lang.String printResultJoinSessionDetail():214:220 -> printResultJoinSessionDetail 1:1:void setCallingEndTime(long):87:87 -> setCallingEndTime 1:1:void setCallingStartTime(long):79:79 -> setCallingStartTime 1:1:void setCountryCode(java.lang.String):202:202 -> setCountryCode 1:2:void setEndTime():70:71 -> setEndTime 1:2:void setRelayList(java.util.List):194:195 -> setRelayList 1:3:void setStartTime():60:62 -> setStartTime 1:8:void setVideoEncode(java.lang.String):116:123 -> setVideoEncode ai.neuvision.sdk.sdwan.monitor.CpuUsageStat -> ai.neuvision.sdk.sdwan.monitor.CpuUsageStat: ai.neuvision.sdk.sdwan.monitor.StreamNum stream -> a ai.neuvision.sdk.sdwan.monitor.StreamNum streamPerMinute -> b int highCount -> d int count -> c 1:4:void ():11:14 -> 1:4:void addUsage(float):20:23 -> addUsage 1:4:ai.neuvision.sdk.sdwan.monitor.RealtimeCpuData$Data getLastMinuteData():29:29 -> getLastMinuteData 8:8:ai.neuvision.sdk.sdwan.monitor.RealtimeCpuData$Data getLastMinuteData():33:33 -> getLastMinuteData 1:10:org.json.JSONObject getTotalData():38:47 -> getTotalData ai.neuvision.sdk.sdwan.monitor.DataEngineFlow -> ai.neuvision.sdk.sdwan.monitor.DataEngineFlow: double total -> a 1:1:void ():6:6 -> 1:1:void add(int):10:10 -> add 1:1:double getTotal():14:14 -> getTotal ai.neuvision.sdk.sdwan.monitor.FirstReqVideo -> ai.neuvision.sdk.sdwan.monitor.FirstReqVideo: java.util.Map callFirstFrameMap -> a java.util.List members -> b 1:4:void ():23:26 -> 1:30:void callFirstFrame(long):59:88 -> callFirstFrame 1:18:org.json.JSONObject getFirstReqVideo():139:156 -> getFirstReqVideo 1:5:void onCameraOff(java.lang.Long):29:33 -> onCameraOff 1:6:void onGetOut(java.lang.Long):49:54 -> onGetOut 1:5:void onOffScreen(long):39:43 -> onOffScreen 1:23:java.lang.String printFirstFrameDetail():110:132 -> printFirstFrameDetail 1:9:void receiveFirstFrame(long):93:101 -> receiveFirstFrame ai.neuvision.sdk.sdwan.monitor.FlowCalc -> ai.neuvision.sdk.sdwan.monitor.FlowCalc: java.util.concurrent.atomic.AtomicInteger p2pInBytes -> g float bytesPerSecondDown -> f float bytesPerSecondUp -> e long totalBytesDown -> b float maxBytesDown -> d long totalBytesUp -> a float maxBytesUp -> c java.util.concurrent.atomic.AtomicInteger p2pForwardOutBytes -> h 1:1:void ():15:15 -> 1:8:void addP2pfout(int):54:61 -> addP2pfout 1:8:void addP2pin(int):43:50 -> addP2pin 1:5:void addTotalBytes(int,boolean):34:38 -> addTotalBytes 1:4:int getP2pForwardOut():72:75 -> getP2pForwardOut 1:4:int getP2pIn():65:68 -> getP2pIn 1:1:long getTotalBytesUp():137:137 -> getTotalBytesUp 1:26:org.json.JSONObject getTraffic(long):106:131 -> getTraffic 1:10:java.lang.String printBytesDetail(long):93:102 -> printBytesDetail 1:8:void resetBytesPerSecond():82:89 -> resetBytesPerSecond ai.neuvision.sdk.sdwan.monitor.FrameData -> ai.neuvision.sdk.sdwan.monitor.FrameData: java.util.HashMap videoFrameMap -> b java.util.HashMap audioFrameMap -> a long sessionId -> c java.lang.String uuid -> d 1:1:void (long,java.lang.String):25:25 -> 2:9:void (long,java.lang.String):20:27 -> 1:7:void addAudioFrameLog(long,ai.neuvision.sdk.sdwan.monitor.CallMonitor$IFrameLog):31:37 -> addAudioFrameLog 1:7:void addVideoFrameLog(long,ai.neuvision.sdk.sdwan.monitor.CallMonitor$IFrameLog):42:48 -> addVideoFrameLog 1:31:java.lang.String printFrameLog():54:84 -> printFrameLog ai.neuvision.sdk.sdwan.monitor.InTimeData -> ai.neuvision.sdk.sdwan.monitor.InTimeData: 1:1:void ():7:7 -> ai.neuvision.sdk.sdwan.monitor.Interval -> ai.neuvision.sdk.sdwan.monitor.Interval: 1:1:void ():6:6 -> ai.neuvision.sdk.sdwan.monitor.JitterBufferCalc -> ai.neuvision.sdk.sdwan.monitor.JitterBufferCalc: ai.neuvision.sdk.sdwan.monitor.CalcM3A jitterBufferLoss -> b java.util.Map lastStateTimestamp -> c java.util.Map lastLossTimestamp -> d ai.neuvision.sdk.sdwan.monitor.CalcM3A jitterState -> a 1:1:void (android.util.LongSparseArray,android.util.LongSparseArray):16:16 -> 2:7:void (android.util.LongSparseArray,android.util.LongSparseArray):13:18 -> 1:10:void addJitterBufferLoss(long,int,android.util.LongSparseArray):46:55 -> addJitterBufferLoss 1:10:void addJitterState(long,short,android.util.LongSparseArray):30:39 -> addJitterState 1:1:org.json.JSONObject getJitterBufferLossData():26:26 -> getJitterBufferLossData 1:1:org.json.JSONObject getJitterStateData():22:22 -> getJitterStateData ai.neuvision.sdk.sdwan.monitor.JsonUtil -> ai.neuvision.sdk.sdwan.monitor.JsonUtil: 1:1:void ():10:10 -> 1:3:org.json.JSONObject buildData(android.util.LongSparseArray,long):25:27 -> buildData 4:16:org.json.JSONObject buildData(ai.neuvision.sdk.sdwan.monitor.CalcM3A):58:70 -> buildData ai.neuvision.sdk.sdwan.monitor.MedianFinder -> ai.neuvision.sdk.sdwan.monitor.MedianFinder: ai.neuvision.sdk.sdwan.monitor.MedianFinder$Node root -> a 1:2:void ():13:14 -> 1:6:double elementAt(ai.neuvision.sdk.sdwan.monitor.MedianFinder$Node,double):49:54 -> a 1:6:ai.neuvision.sdk.sdwan.monitor.MedianFinder$Node search(double):59:64 -> addNum 1:6:void addNum(double):19 -> addNum 7:19:void addNum(double):22:34 -> addNum 1:1:double findMedian():39:39 -> findMedian 2:2:double elementAt(double):43:43 -> findMedian 2:2:double findMedian():39 -> findMedian 3:3:double findMedian():39:39 -> findMedian 4:4:double elementAt(double):43:43 -> findMedian 4:4:double findMedian():39 -> findMedian 5:5:double findMedian():39:39 -> findMedian 6:6:double elementAt(double):43:43 -> findMedian 6:6:double findMedian():39 -> findMedian ai.neuvision.sdk.sdwan.monitor.MedianFinder$Node -> ai.neuvision.sdk.sdwan.monitor.MedianFinder$Node: 1:3:void (ai.neuvision.sdk.sdwan.monitor.MedianFinder$Node):82:84 -> 4:8:void (int):88:92 -> 1:5:void toNoNull(double):103:107 -> toNoNull 1:2:void update():97:98 -> update ai.neuvision.sdk.sdwan.monitor.NetworkQualityData -> ai.neuvision.sdk.sdwan.monitor.NetworkQualityData: int networkUnReachableCount -> n ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calPerMinuteLossRateDown -> s ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calPerMinuteJitterCount -> t int calCount -> l ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calPerMinuteJitterLossRate -> u int networkReachableCount -> m ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calPerMinuteAvgRtt -> v android.util.LongSparseArray p2pLatency -> h ai.neuvision.sdk.sdwan.monitor.CallMonitor$INetworkQuality networkQuality -> a ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calcBandwithUp -> b ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calcBandwithDown -> c ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calcLossRateUp -> d ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calcLossRateDown -> e ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calcAvgRttUp -> f ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calcAvgRttDown -> g ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calQuality -> i ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calPeriodQuality -> j ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calPerMinuteQuality -> o ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calPerMinuteBandwithUp -> p ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calPerMinuteBandwithDown -> q java.util.List qualities -> k ai.neuvision.sdk.sdwan.monitor.ICalcMetrix calPerMinuteLossRateUp -> r 1:313:void ():21:333 -> 1:29:void addNetworkStatus(ai.neuvision.sdk.sdwan.monitor.NetworkStatus):175:203 -> addNetworkStatus 1:20:void addRtt(long,long,long,int):233:252 -> addRtt 1:2:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getLastMinuteBandwidthDown():343:344 -> getLastMinuteBandwidthDown 1:2:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getLastMinuteBandwidthUp():350:351 -> getLastMinuteBandwidthUp 1:2:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getLastMinuteJitterCount():370:371 -> getLastMinuteJitterCount 1:2:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getLastMinuteJitterLossRate():376:377 -> getLastMinuteJitterLossRate 1:2:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getLastMinuteLossRateDown():357:358 -> getLastMinuteLossRateDown 1:2:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getLastMinuteLossRateUp():364:365 -> getLastMinuteLossRateUp 1:12:float getLastMinuteLowLatencyRate(long,long):297:308 -> getLastMinuteLowLatencyRate 1:2:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getLastMinuteNetworkData():336:337 -> getLastMinuteNetworkData 1:4:int getLastMinuteNetworkReachableRate():389:392 -> getLastMinuteNetworkReachableRate 1:2:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getLastMinuteRtt():382:383 -> getLastMinuteRtt 1:25:org.json.JSONArray getLowLatencyRate(long,java.util.ArrayList):259:283 -> getLowLatencyRate 1:10:org.json.JSONObject getNetworkQuality():209:218 -> getNetworkQuality 1:63:org.json.JSONObject getQos():101:163 -> getQos 1:6:long getXLAStartTime(long):317:322 -> getXLAStartTime 1:1:boolean isNetworkQualityNull():43:43 -> isNetworkQualityNull 1:20:void obtainData(boolean):47:66 -> obtainData 1:26:java.lang.String printQosDetail():72:97 -> printQosDetail 1:7:void setNetworkQuality(ai.neuvision.sdk.sdwan.monitor.CallMonitor$INetworkQuality):33:39 -> setNetworkQuality ai.neuvision.sdk.sdwan.monitor.NetworkStatus -> ai.neuvision.sdk.sdwan.monitor.NetworkStatus: boolean networkReachable -> i int jitterBufferLossRate -> h int lossRateDown -> f int lossRateUp -> g int RTT -> d int jitterCount -> e int bandwidthDown -> b int bandwidthUp -> c int quality -> a 1:1:void (int,int,int,int,int,int,int,int,boolean):9:9 -> 2:2:void (int,int,int,int,int,int,int,int,boolean,int,kotlin.jvm.internal.DefaultConstructorMarker):18:18 -> 1:1:int getBandwidthDown():11:11 -> getBandwidthDown 1:1:int getBandwidthUp():12:12 -> getBandwidthUp 1:1:int getJitterBufferLossRate():17:17 -> getJitterBufferLossRate 1:1:int getJitterCount():14:14 -> getJitterCount 1:1:int getLossRateDown():15:15 -> getLossRateDown 1:1:int getLossRateUp():16:16 -> getLossRateUp 1:1:boolean getNetworkReachable():18:18 -> getNetworkReachable 1:1:int getQuality():10:10 -> getQuality 1:1:int getRTT():13:13 -> getRTT 1:1:void setBandwidthDown(int):11:11 -> setBandwidthDown 1:1:void setBandwidthUp(int):12:12 -> setBandwidthUp 1:1:void setJitterBufferLossRate(int):17:17 -> setJitterBufferLossRate 1:1:void setJitterCount(int):14:14 -> setJitterCount 1:1:void setLossRateDown(int):15:15 -> setLossRateDown 1:1:void setLossRateUp(int):16:16 -> setLossRateUp 1:1:void setNetworkReachable(boolean):18:18 -> setNetworkReachable 1:1:void setQuality(int):10:10 -> setQuality 1:1:void setRTT(int):13:13 -> setRTT ai.neuvision.sdk.sdwan.monitor.P2pInfo -> ai.neuvision.sdk.sdwan.monitor.P2pInfo: 1:22:void ():19:40 -> 1:2:void addTunnelFailedMember(long):65:66 -> addTunnelFailedMember 1:1:void addUnUsedTime(long):61:61 -> addUnUsedTime 1:1:void addUsedTime(long):57:57 -> addUsedTime 1:18:void generateArray(org.json.JSONObject,java.lang.String,java.util.List):85:102 -> generateArray 19:21:void generateArray(org.json.JSONObject,java.lang.String,java.util.List):88:90 -> generateArray 1:1:void ():25:25 -> getDuration 1:1:java.util.ArrayList getDuration():25 -> getDuration 1:1:void ():40:40 -> getFailedList 1:1:java.util.ArrayList getFailedList():40 -> getFailedList 1:1:void ():22:22 -> getInterval 1:1:java.util.ArrayList getInterval():22 -> getInterval 1:1:void setP2pEnabledRatio(int):37:37 -> getP2pEnabledRatio 1:1:int getP2pEnabledRatio():37 -> getP2pEnabledRatio 1:1:void setTrafficInRate(int):34:34 -> getTrafficInRate 1:1:int getTrafficInRate():34 -> getTrafficInRate 1:27:int getUsageRatio():72:72 -> getUsageRatio 28:56:int getUsageRatio():73:73 -> getUsageRatio 59:59:int getUsageRatio():76:76 -> getUsageRatio 1:1:void setUsageTimeRatio(int):31:31 -> getUsageTimeRatio 1:1:int getUsageTimeRatio():31 -> getUsageTimeRatio 1:1:void ():28:28 -> isRelayBeginTime 1:1:long isRelayBeginTime():28 -> isRelayBeginTime 1:1:void ():25:25 -> setDuration 1:1:void setDuration(java.util.ArrayList):25 -> setDuration 1:1:void ():40:40 -> setFailedList 1:1:void setFailedList(java.util.ArrayList):40 -> setFailedList 1:1:void ():22:22 -> setInterval 1:1:void setInterval(java.util.ArrayList):22 -> setInterval 1:1:void setP2pEnabledRatio(int):37:37 -> setP2pEnabledRatio 1:1:void ():28:28 -> setRelayBeginTime 1:1:void setRelayBeginTime(long):28 -> setRelayBeginTime 1:1:void setTrafficInRate(int):34:34 -> setTrafficInRate 1:1:void setUsageTimeRatio(int):31:31 -> setUsageTimeRatio 1:9:org.json.JSONObject toJSONObject():43:51 -> toJSONObject 1:1:java.lang.String toString():81:81 -> toString ai.neuvision.sdk.sdwan.monitor.P2pLatency -> ai.neuvision.sdk.sdwan.monitor.P2pLatency: long uid -> b long startTime -> c java.util.ArrayList latencyPerMinute -> a 1:3:void (long,long):10:12 -> 1:7:void add(int,long):29:35 -> add 1:3:int[] getData():41:43 -> getData 4:4:java.util.ArrayList ai.neuvision.sdk.sdwan.monitor.P2pLatency$MinuteData.getData():16:16 -> getData 4:4:int[] getData():43 -> getData 5:9:int[] getData():43:47 -> getData 10:10:java.util.ArrayList ai.neuvision.sdk.sdwan.monitor.P2pLatency$MinuteData.getData():16:16 -> getData 10:10:int[] getData():52 -> getData 11:11:int[] getData():82:82 -> getData 12:12:int[] getData():70:70 -> getData 1:1:void (long,long):10:10 -> getStartTime 1:1:long getStartTime():10 -> getStartTime 1:1:void (long,long):10:10 -> getUid 1:1:long getUid():10 -> getUid ai.neuvision.sdk.sdwan.monitor.P2pLatency$MinuteData -> ai.neuvision.sdk.sdwan.monitor.P2pLatency$a: int minute -> b java.util.ArrayList data -> a 1:2:void (int):15:16 -> 1:5:boolean add(int,int):19:23 -> a ai.neuvision.sdk.sdwan.monitor.RealtimeCallData -> ai.neuvision.sdk.sdwan.monitor.RealtimeCallData: 1:1:void ():13:13 -> 1:1:long getJoinedTime():19:19 -> getJoinedTime 1:1:boolean isSucceed():16:16 -> isSucceed 1:1:void setJoinedTime(long):19:19 -> setJoinedTime 1:1:void setSucceed(boolean):16:16 -> setSucceed ai.neuvision.sdk.sdwan.monitor.RealtimeCpuData -> ai.neuvision.sdk.sdwan.monitor.RealtimeCpuData: 1:1:void ():13:13 -> 1:1:ai.neuvision.sdk.sdwan.monitor.RealtimeCpuData$CpuData getData():16:16 -> getData 1:1:void setData(ai.neuvision.sdk.sdwan.monitor.RealtimeCpuData$CpuData):16:16 -> setData ai.neuvision.sdk.sdwan.monitor.RealtimeCpuData$CpuData -> ai.neuvision.sdk.sdwan.monitor.RealtimeCpuData$CpuData: 1:1:void ():20:20 -> 1:1:ai.neuvision.sdk.sdwan.monitor.RealtimeCpuData$Data getTotal():21:21 -> getTotal 1:1:ai.neuvision.sdk.sdwan.monitor.RealtimeCpuData$Data getTotalSelf():24:24 -> getTotalSelf 1:1:void setTotal(ai.neuvision.sdk.sdwan.monitor.RealtimeCpuData$Data):21:21 -> setTotal 1:1:void setTotalSelf(ai.neuvision.sdk.sdwan.monitor.RealtimeCpuData$Data):24:24 -> setTotalSelf ai.neuvision.sdk.sdwan.monitor.RealtimeCpuData$Data -> ai.neuvision.sdk.sdwan.monitor.RealtimeCpuData$Data: 1:1:void (int,int,int,int):29:29 -> 1:1:int getAverage():29:29 -> getAverage 1:1:int getMax():29:29 -> getMax 1:1:int getMedian():29:29 -> getMedian 1:1:int getMin():29:29 -> getMin 1:1:void setAverage(int):29:29 -> setAverage 1:1:void setMax(int):29:29 -> setMax 1:1:void setMedian(int):29:29 -> setMedian 1:1:void setMin(int):29:29 -> setMin ai.neuvision.sdk.sdwan.monitor.RealtimeData -> ai.neuvision.sdk.sdwan.monitor.RealtimeData: 1:14:void ():13:26 -> 1:1:long getSessionId():17:17 -> getSessionId 1:1:long getTimestamp():26:26 -> getTimestamp 1:1:long getUid():23:23 -> getUid 1:1:java.lang.String getUuid():20:20 -> getUuid 1:1:void setSessionId(long):17:17 -> setSessionId 1:1:void setTimestamp(long):26:26 -> setTimestamp 1:1:void setUid(long):23:23 -> setUid 1:1:void setUuid(java.lang.String):20:20 -> setUuid ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData -> ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData: 1:1:void ():13:13 -> 1:1:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$NetworkData getData():16:16 -> getData 1:1:void setData(ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$NetworkData):16:16 -> setData ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data -> ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data: 1:1:void (int,int,int):51:51 -> 1:1:int getAverage():51:51 -> getAverage 1:1:int getMax():51:51 -> getMax 1:1:int getMin():51:51 -> getMin 1:1:void setAverage(int):51:51 -> setAverage 1:1:void setMax(int):51:51 -> setMax 1:1:void setMin(int):51:51 -> setMin ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$NetworkData -> ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$NetworkData: 1:1:void ():19:19 -> 1:1:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getBandwidthDown():39:39 -> getBandwidthDown 1:1:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getBandwidthUp():36:36 -> getBandwidthUp 1:1:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getJitterBufferLossRate():42:42 -> getJitterBufferLossRate 1:1:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getJitterCount():30:30 -> getJitterCount 1:1:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getLostDown():24:24 -> getLostDown 1:1:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getLostUp():27:27 -> getLostUp 1:1:int getNetworkReachableRate():45:45 -> getNetworkReachableRate 1:1:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getRtt():33:33 -> getRtt 1:1:ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data getScore():21:21 -> getScore 1:1:void setBandwidthDown(ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data):39:39 -> setBandwidthDown 1:1:void setBandwidthUp(ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data):36:36 -> setBandwidthUp 1:1:void setJitterBufferLossRate(ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data):42:42 -> setJitterBufferLossRate 1:1:void setJitterCount(ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data):30:30 -> setJitterCount 1:1:void setLostDown(ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data):24:24 -> setLostDown 1:1:void setLostUp(ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data):27:27 -> setLostUp 1:1:void setNetworkReachableRate(int):45:45 -> setNetworkReachableRate 1:1:void setRtt(ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data):33:33 -> setRtt 1:1:void setScore(ai.neuvision.sdk.sdwan.monitor.RealtimeNetworkData$Data):21:21 -> setScore ai.neuvision.sdk.sdwan.monitor.RealtimeXLA -> ai.neuvision.sdk.sdwan.monitor.RealtimeXLA: 1:1:void ():13:13 -> 1:1:java.util.List getData():15:15 -> getData 1:1:void setData(java.util.List):15:15 -> setData ai.neuvision.sdk.sdwan.monitor.RealtimeXLA$XLA -> ai.neuvision.sdk.sdwan.monitor.RealtimeXLA$XLA: float videoCaton -> c float auidoCaton -> b long uid -> d float rtt -> a 1:1:void (float,float,float,long):17:17 -> 1:1:float getAuidoCaton():17:17 -> getAuidoCaton 1:1:float getRtt():17:17 -> getRtt 1:1:long getUid():17:17 -> getUid 1:1:float getVideoCaton():17:17 -> getVideoCaton 1:1:void setAuidoCaton(float):17:17 -> setAuidoCaton 1:1:void setRtt(float):17:17 -> setRtt 1:1:void setUid(long):17:17 -> setUid 1:1:void setVideoCaton(float):17:17 -> setVideoCaton ai.neuvision.sdk.sdwan.monitor.RealtimeXLAPackage -> ai.neuvision.sdk.sdwan.monitor.RealtimeXLAPackage: 1:15:void ():13:27 -> 1:1:ai.neuvision.sdk.sdwan.monitor.RealtimeData getBody():29:29 -> getBody 1:1:long getId():23:23 -> getId 1:1:long getTs():25:25 -> getTs 1:1:int getType():27:27 -> getType 1:1:void setBody(ai.neuvision.sdk.sdwan.monitor.RealtimeData):29:29 -> setBody 1:1:void setId(long):23:23 -> setId 1:1:void setTs(long):25:25 -> setTs 1:1:void setType(int):27:27 -> setType 1:1:java.lang.String toData():32:32 -> toData ai.neuvision.sdk.sdwan.monitor.RealtimeXLAPackage$Companion -> ai.neuvision.sdk.sdwan.monitor.RealtimeXLAPackage$Companion: 1:1:void ():15:15 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):15:15 -> ai.neuvision.sdk.sdwan.monitor.ReportData -> ai.neuvision.sdk.sdwan.monitor.ReportData: com.google.gson.reflect.TypeToken typeToken -> c int reqCntFrameData -> b int reqCntCallData -> a 1:1:void ():25:25 -> 1:1:void ():19:19 -> 1:1:void log(java.lang.String):101:101 -> a 1:15:java.util.ArrayList getRealXLAAddress():79:93 -> getRealXLAAddress 1:16:void reportCallData(java.lang.String):29:44 -> reportCallData 1:15:void reportFrameData(java.lang.String):55:69 -> reportFrameData ai.neuvision.sdk.sdwan.monitor.ReportData$1 -> ai.neuvision.sdk.sdwan.monitor.ReportData$a: 1:1:void ():25:25 -> ai.neuvision.sdk.sdwan.monitor.ReportData$2 -> ai.neuvision.sdk.sdwan.monitor.ReportData$b: 1:1:void (ai.neuvision.sdk.sdwan.monitor.ReportData):80:80 -> ai.neuvision.sdk.sdwan.monitor.ScheduleStreamNum -> ai.neuvision.sdk.sdwan.monitor.ScheduleStreamNum: long lastMinuteWorkingTime -> j long limit -> l long startTime -> f boolean isWorking -> k long workingStartTime -> g java.util.ArrayList catonRates -> h double lastMinuteDelay -> i 1:9:void (long):9:17 -> 1:4:void add(double):38:41 -> add 5:5:void add(double):39:39 -> add 1:6:void calculate():28:28 -> calculate 1:1:java.util.ArrayList getCatonRates():17:17 -> getCatonRates 1:1:long getStartTime():11:11 -> getStartTime 1:1:boolean isWorking():24:24 -> isWorking 1:1:void setStartTime(long):11:11 -> setStartTime 1:1:void setWorking(boolean):24:24 -> setWorking 1:7:void start():50:56 -> start 8:12:void start():55:55 -> start 1:4:void stop():66:69 -> stop 5:9:void stop():68:72 -> stop ai.neuvision.sdk.sdwan.monitor.SendRedundantRate -> ai.neuvision.sdk.sdwan.monitor.SendRedundantRate: ai.neuvision.sdk.sdwan.monitor.AudioIORate localAudioOutputRate -> b ai.neuvision.sdk.sdwan.monitor.VideoIORate localVideoOutput -> c ai.neuvision.sdk.sdwan.monitor.FlowCalc flowCalc -> a ai.neuvision.sdk.sdwan.monitor.DataEngineFlow dataEngineFlow -> d 1:5:void (ai.neuvision.sdk.sdwan.monitor.FlowCalc,ai.neuvision.sdk.sdwan.monitor.AudioIORate,ai.neuvision.sdk.sdwan.monitor.VideoIORate,ai.neuvision.sdk.sdwan.monitor.DataEngineFlow):17:21 -> 1:9:double getSendRedundantRate():25:33 -> getSendRedundantRate ai.neuvision.sdk.sdwan.monitor.SkipFrameRate -> ai.neuvision.sdk.sdwan.monitor.SkipFrameRate: int jumpFps -> b int curFps -> a 1:1:void ():3:3 -> 1:1:void addFps():9:9 -> addFps 1:1:void addJump(int):13:13 -> addJump 1:4:double calc():18:21 -> calc ai.neuvision.sdk.sdwan.monitor.StreamNum -> ai.neuvision.sdk.sdwan.monitor.StreamNum: java.util.PriorityQueue maxHeap -> b java.lang.Double min -> e java.lang.Double max -> d java.util.PriorityQueue minHeap -> a double sum -> c 1:4:void ():13:16 -> 1:1:int lambda$new$0(java.lang.Double,java.lang.Double):18:18 -> a 1:27:void add(double):31:57 -> add 1:4:double getAvg():79:82 -> getAvg 1:1:java.lang.Object getAvgValue():119:119 -> getAvgValue 1:8:org.json.JSONObject getGenerateJSONObj():125:132 -> getGenerateJSONObj 1:12:org.json.JSONObject getGenerateJoByDen(ai.neuvision.sdk.sdwan.monitor.ICalcMetrix,long):138:149 -> getGenerateJoByDen 1:13:org.json.JSONObject getGenerateJoDefaultZero(ai.neuvision.sdk.sdwan.monitor.ICalcMetrix):155:167 -> getGenerateJoDefaultZero 1:4:double getMax():88:91 -> getMax 1:1:java.lang.Object getMaxValue():104:104 -> getMaxValue 1:8:double getMedian():64:71 -> getMedian 1:1:java.lang.Object getMedianValue():114:114 -> getMedianValue 1:4:double getMin():96:99 -> getMin 1:1:java.lang.Object getMinValue():109:109 -> getMinValue ai.neuvision.sdk.sdwan.monitor.VideoCatonRate -> ai.neuvision.sdk.sdwan.monitor.VideoCatonRate: java.util.Map catonVideoIntervalMap -> a ai.neuvision.sdk.sdwan.monitor.Conditions conditions -> d java.util.Map memberMetrix -> c ai.neuvision.sdk.sdwan.monitor.CatonStatusChangedListener catonStatusChangedListener -> e ai.neuvision.sdk.sdwan.monitor.ICalcMetrix catonVideoMetrix -> b 1:1:void (ai.neuvision.sdk.sdwan.monitor.Conditions,ai.neuvision.sdk.sdwan.monitor.CatonStatusChangedListener):22:22 -> 2:10:void (ai.neuvision.sdk.sdwan.monitor.Conditions,ai.neuvision.sdk.sdwan.monitor.CatonStatusChangedListener):16:24 -> 1:5:float getLastMinuteVideoCaton(long):147:151 -> getLastMinuteVideoCaton 1:5:long getStartTime(long):109:113 -> getStartTime 1:1:org.json.JSONObject getVideoCaton():66:66 -> getVideoCaton 1:14:org.json.JSONArray getVideoCatonArray(long):91:104 -> getVideoCatonArray 1:5:double getVideoCatonRateByUid(long):71:75 -> getVideoCatonRateByUid 1:3:boolean isDisplay(long):138:140 -> isDisplay 1:2:void pointVideoCaton():159:160 -> pointVideoCaton 3:8:void pointVideoCaton(long):166:171 -> pointVideoCaton 1:3:java.lang.String printVideoCatonDetail():58:60 -> printVideoCatonDetail 4:7:java.lang.String printVideoCatonDetail():59:62 -> printVideoCatonDetail 1:5:void setCameraStatus(java.lang.Long,boolean):80:84 -> setCameraStatus 1:6:void startDisplay(long):118:123 -> startDisplay 1:10:void startVideoCaton(long):28:37 -> startVideoCaton 1:6:void stopDisplay(long):128:133 -> stopDisplay 1:11:void stopVideoCaton(long):41:51 -> stopVideoCaton ai.neuvision.sdk.sdwan.monitor.VideoDecodeCostTime -> ai.neuvision.sdk.sdwan.monitor.VideoDecodeCostTime: android.util.LongSparseArray videoDecoderDeltaMaps -> a ai.neuvision.sdk.sdwan.monitor.CalcM3A videoDecodeDelta -> b 1:4:void ():7:10 -> 1:6:void addDecodeDelta(long,int):13:18 -> addDecodeDelta 1:1:ai.neuvision.sdk.sdwan.monitor.ICalcMetrix getVideoDecodeCalc(long):22:22 -> getVideoDecodeCalc 1:1:org.json.JSONObject getVideoDecodeDeltaData():26:26 -> getVideoDecodeDeltaData ai.neuvision.sdk.sdwan.monitor.VideoEncodeCostTime -> ai.neuvision.sdk.sdwan.monitor.VideoEncodeCostTime: ai.neuvision.sdk.sdwan.monitor.ICalcMetrix thumb -> a ai.neuvision.sdk.sdwan.monitor.ICalcMetrix main -> b 1:3:void ():8:10 -> 1:3:void add(int,boolean):14:16 -> add 1:3:ai.neuvision.sdk.sdwan.monitor.ICalcMetrix getVideoEncodeCalc(boolean):22:24 -> getVideoEncodeCalc 1:6:org.json.JSONObject getVideoEncodeCostTime():29:34 -> getVideoEncodeCostTime ai.neuvision.sdk.sdwan.monitor.VideoIORate -> ai.neuvision.sdk.sdwan.monitor.VideoIORate: ai.neuvision.sdk.sdwan.monitor.ICalcMetrix thumbFrameRate -> c double total -> j ai.neuvision.sdk.sdwan.monitor.ICalcMetrix thumbBitRate -> d long lastAddBitRate -> i ai.neuvision.sdk.sdwan.monitor.ICalcMetrix frameRate -> e int mainBits -> l ai.neuvision.sdk.sdwan.monitor.ICalcMetrix bitRate -> f int thumbBits -> k ai.neuvision.sdk.sdwan.monitor.CalcVideoSize vsthumb -> a long lastAddFrameRate -> h ai.neuvision.sdk.sdwan.monitor.CalcVideoSize vsmain -> b long lastAddVideoSizeTimestamp -> g 1:5:void ():14:18 -> 1:19:void addBitRate(int,boolean):52:70 -> addBitRate 1:9:void addFrameRate(int,boolean):37:45 -> addFrameRate 1:1:void addVideoBits(int):74:74 -> addVideoBits 1:8:void addVideoSize(android.util.Size,boolean):25:32 -> addVideoSize 1:17:org.json.JSONObject getMainVideoOutput():101:117 -> getMainVideoOutput 1:1:double getTotal():124:124 -> getTotal 1:17:org.json.JSONObject getVideoOutput():78:94 -> getVideoOutput ai.neuvision.sdk.sdwan.monitor.VideoInTimeData -> ai.neuvision.sdk.sdwan.monitor.VideoInTimeData: 1:5:void (long):9:13 -> 6:6:void (long):10:10 -> 1:1:java.lang.String toString():40:40 -> toString ai.neuvision.sdk.sdwan.services.BinderPoolManager -> ai.neuvision.sdk.sdwan.services.BinderPoolManager: android.content.Context mContext -> a ai.neuvision.sdk.sdwan.services.BinderPoolManager$OnServiceConnectedListener mListener -> b android.os.IBinder$DeathRecipient mDeathRecipient -> f java.util.concurrent.CountDownLatch mCountDownLatch -> c android.content.ServiceConnection mServiceConnection -> d ai.neuvision.sdk.sdwan.IBinderPoolService mService -> e 1:43:void ():16:58 -> 44:44:void (kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> 1:1:java.util.concurrent.CountDownLatch access$getMCountDownLatch$p(ai.neuvision.sdk.sdwan.services.BinderPoolManager):16:16 -> access$getMCountDownLatch$p 1:1:android.os.IBinder$DeathRecipient access$getMDeathRecipient$p(ai.neuvision.sdk.sdwan.services.BinderPoolManager):16:16 -> access$getMDeathRecipient$p 1:1:ai.neuvision.sdk.sdwan.IBinderPoolService access$getMService$p(ai.neuvision.sdk.sdwan.services.BinderPoolManager):16:16 -> access$getMService$p 1:1:void access$setMCountDownLatch$p(ai.neuvision.sdk.sdwan.services.BinderPoolManager,java.util.concurrent.CountDownLatch):16:16 -> access$setMCountDownLatch$p 1:1:void access$setMService$p(ai.neuvision.sdk.sdwan.services.BinderPoolManager,ai.neuvision.sdk.sdwan.IBinderPoolService):16:16 -> access$setMService$p 1:25:void bindService():68:92 -> bindService 1:1:ai.neuvision.sdk.sdwan.services.BinderPoolManager$OnServiceConnectedListener getMListener():18:18 -> getMListener 1:4:android.os.IBinder getService(int):97:100 -> getService 1:1:void setMListener(ai.neuvision.sdk.sdwan.services.BinderPoolManager$OnServiceConnectedListener):18:18 -> setMListener ai.neuvision.sdk.sdwan.services.BinderPoolManager$Companion -> ai.neuvision.sdk.sdwan.services.BinderPoolManager$Companion: 1:1:void ():20:20 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):20:20 -> 1:1:ai.neuvision.sdk.sdwan.services.BinderPoolManager getInstance():23:23 -> getInstance 2:2:ai.neuvision.sdk.sdwan.services.BinderPoolManager ai.neuvision.sdk.sdwan.services.BinderPoolManager$Holder.getINSTANCE():28:28 -> getInstance 2:2:ai.neuvision.sdk.sdwan.services.BinderPoolManager getInstance():23 -> getInstance ai.neuvision.sdk.sdwan.services.BinderPoolManager$Holder -> ai.neuvision.sdk.sdwan.services.BinderPoolManager$a: ai.neuvision.sdk.sdwan.services.BinderPoolManager INSTANCE -> a ai.neuvision.sdk.sdwan.services.BinderPoolManager$Holder INSTANCE -> b 1:2:void ():27:28 -> 1:1:void ():27:27 -> ai.neuvision.sdk.sdwan.services.BinderPoolManager$mDeathRecipient$1 -> ai.neuvision.sdk.sdwan.services.BinderPoolManager$mDeathRecipient$1: ai.neuvision.sdk.sdwan.services.BinderPoolManager this$0 -> a 1:1:void (ai.neuvision.sdk.sdwan.services.BinderPoolManager):58:58 -> 1:4:void binderDied():60:63 -> binderDied ai.neuvision.sdk.sdwan.services.BinderPoolManager$mServiceConnection$1 -> ai.neuvision.sdk.sdwan.services.BinderPoolManager$mServiceConnection$1: ai.neuvision.sdk.sdwan.services.BinderPoolManager this$0 -> a 1:1:void (ai.neuvision.sdk.sdwan.services.BinderPoolManager):37:37 -> 1:9:void onServiceConnected(android.content.ComponentName,android.os.IBinder):44:52 -> onServiceConnected 1:1:void onServiceDisconnected(android.content.ComponentName):40:40 -> onServiceDisconnected ai.neuvision.sdk.sdwan.services.BinderPoolService -> ai.neuvision.sdk.sdwan.services.BinderPoolService: ai.neuvision.sdk.sdwan.services.BinderPoolServiceImpl mBinderPoolService -> a 1:3:void ():7:9 -> 1:1:android.os.IBinder onBind(android.content.Intent):12:12 -> onBind ai.neuvision.sdk.sdwan.services.BinderPoolServiceImpl -> ai.neuvision.sdk.sdwan.services.BinderPoolServiceImpl: 1:1:void ():6:6 -> 1:1:android.os.IBinder getService(int):16:16 -> getService 2:2:android.os.IBinder getService(int):15:15 -> getService ai.neuvision.sdk.sdwan.services.BinderPoolServiceImpl$Companion -> ai.neuvision.sdk.sdwan.services.BinderPoolServiceImpl$Companion: 1:1:void ():8:8 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> ai.neuvision.sdk.sdwan.services.MediaServiceImpl -> ai.neuvision.sdk.sdwan.services.MediaServiceImpl: ai.neuvision.sdk.sdwan.services.MediaServiceImpl INSTANCE -> a 1:1:void ():9:9 -> 1:1:void ():5:5 -> 1:1:ai.neuvision.sdk.sdwan.services.MediaServiceImpl access$getINSTANCE$cp():5:5 -> access$getINSTANCE$cp ai.neuvision.sdk.sdwan.services.MediaServiceImpl$Companion -> ai.neuvision.sdk.sdwan.services.MediaServiceImpl$Companion: 1:1:void ():8:8 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> 1:1:ai.neuvision.sdk.sdwan.services.MediaServiceImpl getInstance():12:12 -> getInstance ai.neuvision.sdk.sdwan.services.SignalServiceImpl -> ai.neuvision.sdk.sdwan.services.SignalServiceImpl: ai.neuvision.sdk.sdwan.services.SignalServiceImpl INSTANCE -> d ai.neuvision.sdk.sdwan.signal.UdpSignal socket -> c java.lang.String TAG -> a android.os.RemoteCallbackList mListenerList -> b 1:1:void ():23:23 -> 1:19:void ():15:33 -> 1:1:ai.neuvision.sdk.sdwan.services.SignalServiceImpl access$getINSTANCE$cp():15:15 -> access$getINSTANCE$cp 1:2:boolean onTransact(int,android.os.Parcel,android.os.Parcel,int):88:89 -> onTransact 1:10:void receivedSignalPacket(java.lang.String):75:84 -> receivedSignalPacket 1:1:boolean registerDeviceInfo(java.lang.String):60:60 -> registerDeviceInfo 1:2:void registerReceiver(ai.neuvision.sdk.sdwan.ISignalReceiver):69:70 -> registerReceiver 1:3:boolean registerUdpSignalChannel(java.util.List,long):54:56 -> registerUdpSignalChannel 1:5:boolean sendCustomSignal(java.lang.String,long):46:50 -> sendCustomSignal 1:4:boolean sendSignal(java.lang.String):39:42 -> sendSignal 1:1:void unregisterReceiver(ai.neuvision.sdk.sdwan.ISignalReceiver):65:65 -> unregisterReceiver ai.neuvision.sdk.sdwan.services.SignalServiceImpl$Companion -> ai.neuvision.sdk.sdwan.services.SignalServiceImpl$Companion: 1:1:void ():22:22 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):22:22 -> 1:1:ai.neuvision.sdk.sdwan.services.SignalServiceImpl getInstance():26:26 -> getInstance ai.neuvision.sdk.sdwan.signal.CallEndReason -> ai.neuvision.sdk.sdwan.signal.CallEndReason: 1:1:void (int,java.lang.String,long):13:13 -> 1:1:int getCode():14:14 -> getCode 1:1:java.lang.String getMsg():15:15 -> getMsg 1:1:long getUid():16:16 -> getUid 1:1:void setCode(int):14:14 -> setCode 1:1:void setMsg(java.lang.String):15:15 -> setMsg 1:1:void setUid(long):16:16 -> setUid 1:1:java.lang.String toString():19:19 -> toString ai.neuvision.sdk.sdwan.signal.CallOption -> ai.neuvision.sdk.sdwan.signal.CallOption: 1:1:void (int,int):12:12 -> 2:2:void (int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):12:12 -> 1:1:int getMedia():12:12 -> getMedia 1:1:int getNet():12:12 -> getNet 1:1:void setMedia(int):12:12 -> setMedia 1:1:void setNet(int):12:12 -> setNet ai.neuvision.sdk.sdwan.signal.DeviceInfo -> ai.neuvision.sdk.sdwan.signal.DeviceInfo: java.lang.String uuid -> g long rid -> f java.lang.String name -> a java.lang.String version -> c java.lang.String os -> b java.lang.String appVersion -> e java.lang.String appName -> d 1:18:void ():15:32 -> 1:1:java.lang.String getAppName():28:28 -> getAppName 1:1:java.lang.String getAppVersion():32:32 -> getAppVersion 1:1:java.lang.String getName():18:18 -> getName 1:1:java.lang.String getOs():21:21 -> getOs 1:1:long getRid():35:35 -> getRid 1:1:java.lang.String getUuid():38:38 -> getUuid 1:1:java.lang.String getVersion():24:24 -> getVersion 1:1:void setAppName(java.lang.String):28:28 -> setAppName 1:1:void setAppVersion(java.lang.String):32:32 -> setAppVersion 1:1:void setName(java.lang.String):18:18 -> setName 1:1:void setOs(java.lang.String):21:21 -> setOs 1:1:void setRid(long):35:35 -> setRid 1:1:void setUuid(java.lang.String):38:38 -> setUuid 1:1:void setVersion(java.lang.String):24:24 -> setVersion ai.neuvision.sdk.sdwan.signal.RecordType -> ai.neuvision.sdk.sdwan.signal.RecordType: 1:6:void ():11:16 -> 1:1:void (java.lang.String,int,java.lang.String):10:10 -> 1:1:java.lang.String getValue():10:10 -> getValue 1:1:void setValue(java.lang.String):10:10 -> setValue ai.neuvision.sdk.sdwan.signal.Signal -> ai.neuvision.sdk.sdwan.signal.Signal: 1:43:void ():14:56 -> 1:1:int component1():77:77 -> component1 1:1:short component2():81:81 -> component2 1:1:long component3():85:85 -> component3 1:1:long component4():89:89 -> component4 1:1:long component5():93:93 -> component5 1:1:int component6():97:97 -> component6 1:1:long component7():101:101 -> component7 1:1:ai.neuvision.sdk.sdwan.signal.CallOption component8():105:105 -> component8 1:1:ai.neuvision.sdk.sdwan.signal.UserInfo component9():109:109 -> component9 1:1:int getCategory():23:23 -> getCategory 1:1:long getFrom():36:36 -> getFrom 1:1:java.lang.String getId():17:17 -> getId 1:1:ai.neuvision.sdk.sdwan.signal.UserInfo getInfo():74:74 -> getInfo 1:1:ai.neuvision.sdk.sdwan.signal.CallOption getOption():68:68 -> getOption 1:1:long getSessionId():50:50 -> getSessionId 1:1:long getTimestamp():62:62 -> getTimestamp 1:1:long getTo():43:43 -> getTo 1:1:int getTtl():56:56 -> getTtl 1:1:short getType():29:29 -> getType 1:1:void setCategory(int):23:23 -> setCategory 1:1:void setFrom(long):36:36 -> setFrom 1:1:void setId(java.lang.String):17:17 -> setId 1:1:void setInfo(ai.neuvision.sdk.sdwan.signal.UserInfo):74:74 -> setInfo 1:1:void setOption(ai.neuvision.sdk.sdwan.signal.CallOption):68:68 -> setOption 1:1:void setSessionId(long):50:50 -> setSessionId 1:1:void setTimestamp(long):62:62 -> setTimestamp 1:1:void setTo(long):43:43 -> setTo 1:1:void setTtl(int):56:56 -> setTtl 1:1:void setType(short):29:29 -> setType 1:1:java.lang.String toString():113:113 -> toString ai.neuvision.sdk.sdwan.signal.SignalExtension -> ai.neuvision.sdk.sdwan.signal.SignalExtension: 1:1:void (java.lang.String,java.lang.Long,java.lang.Short):13:13 -> 2:2:void (java.lang.String,java.lang.Long,java.lang.Short,int,kotlin.jvm.internal.DefaultConstructorMarker):16:16 -> 1:1:java.lang.Short getInvite():16:16 -> getInvite 1:1:java.lang.String getOutputtype():14:14 -> getOutputtype 1:1:java.lang.Long getPhonenumber():15:15 -> getPhonenumber 1:1:void setInvite(java.lang.Short):16:16 -> setInvite 1:1:void setOutputtype(java.lang.String):14:14 -> setOutputtype 1:1:void setPhonenumber(java.lang.Long):15:15 -> setPhonenumber ai.neuvision.sdk.sdwan.signal.SignalExtension$Companion -> ai.neuvision.sdk.sdwan.signal.SignalExtension$Companion: 1:1:void ():18:18 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):18:18 -> ai.neuvision.sdk.sdwan.signal.SignalManager -> ai.neuvision.sdk.sdwan.signal.SignalManager: ai.neuvision.sdk.sdwan.ISignalReceiver mListener -> d ai.neuvision.sdk.sdwan.ISignalService mService -> c kotlin.Lazy signalManager$delegate -> g android.util.SparseArray signalHandlers -> b boolean mHasRegisterOnceUdpChannel -> e boolean mDelayRegisteringUdpSignal -> f java.lang.String TAG -> a 1:1:void ():67:67 -> 1:8:void ():30:37 -> 9:9:void (kotlin.jvm.internal.DefaultConstructorMarker):30:30 -> 1:6:void registerUdpSignalChannelDelay():148:153 -> a 7:10:void ensureServerAvailable(java.lang.String):187:190 -> a 11:18:void ensureServerAvailable(java.lang.String):189:196 -> a 1:1:boolean access$getMDelayRegisteringUdpSignal$p(ai.neuvision.sdk.sdwan.signal.SignalManager):30:30 -> access$getMDelayRegisteringUdpSignal$p 1:1:android.util.SparseArray access$getSignalHandlers$p(ai.neuvision.sdk.sdwan.signal.SignalManager):30:30 -> access$getSignalHandlers$p 1:1:kotlin.Lazy access$getSignalManager$cp():30:30 -> access$getSignalManager$cp 1:1:java.lang.String access$getTAG$p(ai.neuvision.sdk.sdwan.signal.SignalManager):30:30 -> access$getTAG$p 1:1:void access$setMDelayRegisteringUdpSignal$p(ai.neuvision.sdk.sdwan.signal.SignalManager,boolean):30:30 -> access$setMDelayRegisteringUdpSignal$p 1:5:void close():222:226 -> close 1:15:void initialize():75:89 -> initialize 16:22:void initialize():87:93 -> initialize 23:30:void initialize():92:99 -> initialize 31:31:void initialize():78:78 -> initialize 1:1:boolean registerSignalHandler(ai.neuvision.sdk.sdwan.signal.SignalHandler,int):216:216 -> registerSignalHandler 1:4:void registerUdpSignalChannel():107:110 -> registerUdpSignalChannel 5:36:void registerUdpSignalChannel():109:140 -> registerUdpSignalChannel 37:39:void registerUdpSignalChannel():135:137 -> registerUdpSignalChannel 1:8:boolean sendCustomSignal(ai.neuvision.sdk.sdwan.signal.SignalPacket,long):203:210 -> sendCustomSignal 1:17:boolean sendSignal(ai.neuvision.sdk.sdwan.signal.SignalPacket):165:181 -> sendSignal ai.neuvision.sdk.sdwan.signal.SignalManager$Companion -> ai.neuvision.sdk.sdwan.signal.SignalManager$Companion: 1:1:void ():66:66 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):66:66 -> 1:1:ai.neuvision.sdk.sdwan.signal.SignalManager getSignalManager():0:0 -> getInstance 1:1:ai.neuvision.sdk.sdwan.signal.SignalManager getInstance():69 -> getInstance ai.neuvision.sdk.sdwan.signal.SignalManager$Companion$signalManager$2 -> ai.neuvision.sdk.sdwan.signal.SignalManager$a: ai.neuvision.sdk.sdwan.signal.SignalManager$Companion$signalManager$2 INSTANCE -> a 1:1:ai.neuvision.sdk.sdwan.signal.SignalManager invoke():67:67 -> invoke 1:1:java.lang.Object invoke():66 -> invoke ai.neuvision.sdk.sdwan.signal.SignalManager$mListener$1 -> ai.neuvision.sdk.sdwan.signal.SignalManager$mListener$1: ai.neuvision.sdk.sdwan.signal.SignalManager this$0 -> a 1:1:void (ai.neuvision.sdk.sdwan.signal.SignalManager):37:37 -> 1:9:void onReceiveSignal(java.lang.String):39:47 -> onReceiveSignal 10:23:void onReceiveSignal(java.lang.String):44:57 -> onReceiveSignal 24:24:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> onReceiveSignal 24:24:void onReceiveSignal(java.lang.String):239 -> onReceiveSignal 25:29:void onReceiveSignal(java.lang.String):58:62 -> onReceiveSignal 30:30:void onReceiveSignal(java.lang.String):49:49 -> onReceiveSignal ai.neuvision.sdk.sdwan.signal.SignalManager$registerUdpSignalChannelDelay$1 -> ai.neuvision.sdk.sdwan.signal.SignalManager$b: ai.neuvision.sdk.sdwan.signal.SignalManager this$0 -> a 1:5:void run():154:158 -> run ai.neuvision.sdk.sdwan.signal.SignalPacket -> ai.neuvision.sdk.sdwan.signal.SignalPacket: 1:27:void ():27:53 -> 1:125:void ():19:143 -> 1:1:int getCategory():77:77 -> getCategory 1:1:long getFrom():104:104 -> getFrom 1:1:java.lang.String getId():130:130 -> getId 1:1:java.lang.String getOriginalJson():138:138 -> getOriginalJson 1:1:ai.neuvision.sdk.sdwan.signal.Signal getSignal():72:72 -> getSignal 1:1:int getSource():136:136 -> getSource 1:1:long getTimestamp():95:95 -> getTimestamp 1:1:long getTo():113:113 -> getTo 1:1:int getTtl():122:122 -> getTtl 1:1:short getType():86:86 -> getType 1:5:void initWithData(byte[]):173:177 -> initWithData 6:10:void initWithData(java.lang.String):184:188 -> initWithData 1:5:void initWithDataExcludeI(byte[]):162:166 -> initWithDataExcludeI 1:4:void initWithJsonString(java.lang.String):195:198 -> initWithJsonString 1:4:void initWithJsonStringExcludeI(java.lang.String):205:208 -> initWithJsonStringExcludeI 1:1:void setCategory(int):80:80 -> setCategory 1:1:void setFrom(long):107:107 -> setFrom 1:1:void setId(java.lang.String):133:133 -> setId 1:1:void setOriginalJson(java.lang.String):138:138 -> setOriginalJson 1:1:void setSignal(ai.neuvision.sdk.sdwan.signal.Signal):72:72 -> setSignal 1:1:void setSource(int):136:136 -> setSource 1:1:void setTimestamp(long):98:98 -> setTimestamp 1:1:void setTo(long):116:116 -> setTo 1:1:void setTtl(int):125:125 -> setTtl 1:1:void setType(short):89:89 -> setType 1:3:java.nio.ByteBuffer toData():147:149 -> toData 1:1:java.lang.String toJsonStr():157:157 -> toJsonStr 1:1:java.nio.ByteBuffer toOriginalData():153:153 -> toOriginalData 1:1:java.lang.String toString():214:214 -> toString ai.neuvision.sdk.sdwan.signal.SignalPacket$Category -> ai.neuvision.sdk.sdwan.signal.SignalPacket$Category: 1:1:void ():57:57 -> 1:1:void ():57:57 -> ai.neuvision.sdk.sdwan.signal.SignalPacket$Companion -> ai.neuvision.sdk.sdwan.signal.SignalPacket$Companion: 1:1:void ():21:21 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):21:21 -> ai.neuvision.sdk.sdwan.signal.SignalPacket$Companion$exclusionGson$1 -> ai.neuvision.sdk.sdwan.signal.SignalPacket$Companion$exclusionGson$1: 1:1:void ():27:27 -> 1:1:boolean shouldSkipClass(java.lang.Class):33:33 -> shouldSkipClass ai.neuvision.sdk.sdwan.signal.SignalPacket$Companion$serializeGson$1 -> ai.neuvision.sdk.sdwan.signal.SignalPacket$Companion$serializeGson$1: 1:1:void ():37:37 -> 1:7:boolean shouldSkipField(com.google.gson.FieldAttributes):39:45 -> shouldSkipField ai.neuvision.sdk.sdwan.signal.SignalPacket$Source -> ai.neuvision.sdk.sdwan.signal.SignalPacket$Source: 1:1:void ():66:66 -> 1:1:void ():66:66 -> ai.neuvision.sdk.sdwan.signal.SignalServerDetail -> ai.neuvision.sdk.sdwan.signal.SignalServerDetail: boolean userRegistered -> e java.lang.String server -> a byte tid -> d java.lang.String host -> b int port -> c 1:1:void (java.lang.String,java.lang.String,int,byte,boolean):9:9 -> 2:2:void (java.lang.String,java.lang.String,int,byte,boolean,int,kotlin.jvm.internal.DefaultConstructorMarker):13:13 -> 1:1:java.lang.String getHost():10:10 -> getHost 1:1:int getPort():11:11 -> getPort 1:1:java.lang.String getServer():9:9 -> getServer 1:1:byte getTid():12:12 -> getTid 1:1:boolean getUserRegistered():13:13 -> getUserRegistered 1:1:void setHost(java.lang.String):10:10 -> setHost 1:1:void setPort(int):11:11 -> setPort 1:1:void setServer(java.lang.String):9:9 -> setServer 1:1:void setTid(byte):12:12 -> setTid 1:1:void setUserRegistered(boolean):13:13 -> setUserRegistered ai.neuvision.sdk.sdwan.signal.SignedLongToUnsignedLongAdapter -> ai.neuvision.sdk.sdwan.signal.SignedLongToUnsignedLongAdapter: 1:1:void ():13:13 -> 1:1:java.lang.Object deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext):13:13 -> deserialize 2:8:java.lang.Long deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext):25:25 -> deserialize 1:1:com.google.gson.JsonElement serialize(java.lang.Object,java.lang.reflect.Type,com.google.gson.JsonSerializationContext):13:13 -> serialize 2:5:com.google.gson.JsonElement serialize(java.lang.Long,java.lang.reflect.Type,com.google.gson.JsonSerializationContext):18:21 -> serialize ai.neuvision.sdk.sdwan.signal.UdpSignal -> ai.neuvision.sdk.sdwan.signal.UdpSignal: java.util.Timer regTimer -> f long uid -> i ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket socket -> c java.lang.String regUuid -> h ai.neuvision.sdk.sdwan.signal.UdpSignal$UdpSignalDelegate delegate -> b ai.neuvision.sdk.sdwan.signal.DeviceInfo mDeviceInfo -> j int timerRepeatTimes -> g java.lang.String TAG -> a java.util.TreeSet deduplicate -> d java.util.ArrayList signalServerDetails -> e 1:1:void access$checkUserRegister(ai.neuvision.sdk.sdwan.signal.UdpSignal):24:24 -> 1:1:void ():24 -> 2:23:void ():26:47 -> 1:9:void userRegister(ai.neuvision.sdk.sdwan.signal.SignalServerDetail):128:136 -> a 10:15:void userRegister(ai.neuvision.sdk.sdwan.signal.SignalServerDetail):135:140 -> a 16:16:void userRegister(ai.neuvision.sdk.sdwan.signal.SignalServerDetail):131:131 -> a 17:18:void innerSend(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage,ai.neuvision.sdk.sdwan.signal.SignalServerDetail):145:146 -> a 19:182:void printRegisterInfo():151:314 -> a 183:187:void printRegisterInfo():154:158 -> a 1:201:void checkUserRegister():111:311 -> access$checkUserRegister 1:201:void access$checkUserRegister(ai.neuvision.sdk.sdwan.signal.UdpSignal):24 -> access$checkUserRegister 202:209:void checkUserRegister():114:121 -> access$checkUserRegister 202:209:void access$checkUserRegister(ai.neuvision.sdk.sdwan.signal.UdpSignal):24 -> access$checkUserRegister 210:210:void checkUserRegister():111:111 -> access$checkUserRegister 210:210:void access$checkUserRegister(ai.neuvision.sdk.sdwan.signal.UdpSignal):24 -> access$checkUserRegister 1:1:void access$checkUserRegister(ai.neuvision.sdk.sdwan.signal.UdpSignal):24:24 -> access$getTimerRepeatTimes$p 1:1:int access$getTimerRepeatTimes$p(ai.neuvision.sdk.sdwan.signal.UdpSignal):24 -> access$getTimerRepeatTimes$p 1:1:void access$checkUserRegister(ai.neuvision.sdk.sdwan.signal.UdpSignal):24:24 -> access$printRegisterInfo 1:1:void access$printRegisterInfo(ai.neuvision.sdk.sdwan.signal.UdpSignal):24 -> access$printRegisterInfo 1:1:void access$checkUserRegister(ai.neuvision.sdk.sdwan.signal.UdpSignal):24:24 -> access$setTimerRepeatTimes$p 1:1:void access$setTimerRepeatTimes$p(ai.neuvision.sdk.sdwan.signal.UdpSignal,int):24 -> access$setTimerRepeatTimes$p 1:1:void close():57:57 -> close 1:1:void setDelegate(ai.neuvision.sdk.sdwan.signal.UdpSignal$UdpSignalDelegate):28:28 -> getDelegate 1:1:ai.neuvision.sdk.sdwan.signal.UdpSignal$UdpSignalDelegate getDelegate():28 -> getDelegate 1:1:boolean isConnected():292:292 -> isConnected 1:62:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):221:282 -> onReceivedData 1:1:void registerDeviceInfo(java.lang.String):91:91 -> registerDeviceInfo 1:248:void registerUdpSignalChannel(java.util.List,long):62:309 -> registerUdpSignalChannel 249:260:void registerUdpSignalChannel(java.util.List,long):73:84 -> registerUdpSignalChannel 261:265:void startCheckUserRegister():96:100 -> registerUdpSignalChannel 261:265:void registerUdpSignalChannel(java.util.List,long):86 -> registerUdpSignalChannel 266:268:void registerUdpSignalChannel(java.util.List,long):62:64 -> registerUdpSignalChannel 1:12:void registerVoipToken(java.lang.String):165:176 -> registerVoipToken 13:13:void registerVoipToken(java.lang.String):171:171 -> registerVoipToken 1:111:void sendCustomSignal(ai.neuvision.sdk.sdwan.signal.SignalPacket,long):208:318 -> sendCustomSignal 112:113:void sendCustomSignal(ai.neuvision.sdk.sdwan.signal.SignalPacket,long):214:215 -> sendCustomSignal 114:114:void sendCustomSignal(ai.neuvision.sdk.sdwan.signal.SignalPacket,long):208:208 -> sendCustomSignal 1:134:void sendSignal(ai.neuvision.sdk.sdwan.signal.SignalPacket):183:316 -> sendSignal 135:141:void sendSignal(ai.neuvision.sdk.sdwan.signal.SignalPacket):191:191 -> sendSignal 149:151:void sendSignal(ai.neuvision.sdk.sdwan.signal.SignalPacket):199:201 -> sendSignal 152:152:void sendSignal(ai.neuvision.sdk.sdwan.signal.SignalPacket):183:183 -> sendSignal 1:1:void setDelegate(ai.neuvision.sdk.sdwan.signal.UdpSignal$UdpSignalDelegate):28:28 -> setDelegate ai.neuvision.sdk.sdwan.signal.UdpSignal$startCheckUserRegister$$inlined$timer$1 -> ai.neuvision.sdk.sdwan.signal.UdpSignal$startCheckUserRegister$$inlined$timer$1: ai.neuvision.sdk.sdwan.signal.UdpSignal this$0 -> a 1:1:void (ai.neuvision.sdk.sdwan.signal.UdpSignal):146:146 -> 1:5:void run():149:153 -> run ai.neuvision.sdk.sdwan.signal.UserInfo -> ai.neuvision.sdk.sdwan.signal.UserInfo: 1:1:void (long,long,long,java.util.ArrayList,java.util.ArrayList,java.lang.String,java.util.ArrayList,ai.neuvision.sdk.sdwan.signal.UserInfo,java.util.HashMap,int,ai.neuvision.sdk.sdwan.signal.CallOption,int,long,long,java.lang.String,java.lang.Integer,java.lang.String,java.lang.String,ai.neuvision.sdk.sdwan.signal.CallEndReason,ai.neuvision.sdk.sdwan.signal.SignalExtension,java.lang.String,java.lang.String,boolean,int,long,java.util.ArrayList,java.util.HashMap,int,java.lang.Long,java.util.ArrayList,java.util.ArrayList):13:13 -> 2:2:void (long,long,long,java.util.ArrayList,java.util.ArrayList,java.lang.String,java.util.ArrayList,ai.neuvision.sdk.sdwan.signal.UserInfo,java.util.HashMap,int,ai.neuvision.sdk.sdwan.signal.CallOption,int,long,long,java.lang.String,java.lang.Integer,java.lang.String,java.lang.String,ai.neuvision.sdk.sdwan.signal.CallEndReason,ai.neuvision.sdk.sdwan.signal.SignalExtension,java.lang.String,java.lang.String,boolean,int,long,java.util.ArrayList,java.util.HashMap,int,java.lang.Long,java.util.ArrayList,java.util.ArrayList,int,kotlin.jvm.internal.DefaultConstructorMarker):44:44 -> 1:1:java.lang.String getAppid():35:35 -> getAppid 1:1:java.util.ArrayList getCallees():17:17 -> getCallees 1:1:java.lang.String getChannelname():34:34 -> getChannelname 1:1:boolean getCloseSession():36:36 -> getCloseSession 1:1:java.lang.Integer getCode():29:29 -> getCode 1:1:java.util.ArrayList getCseqIds():44:44 -> getCseqIds 1:1:ai.neuvision.sdk.sdwan.signal.SignalExtension getExtargs():33:33 -> getExtargs 1:1:java.lang.String getExtname():31:31 -> getExtname 1:1:java.lang.String getFn():28:28 -> getFn 1:1:long getFrom():15:15 -> getFrom 1:1:int getIdx():37:37 -> getIdx 1:1:ai.neuvision.sdk.sdwan.signal.UserInfo getInfo():21:21 -> getInfo 1:1:long getLastChangeTime():27:27 -> getLastChangeTime 1:1:java.lang.Long getLastCustomTs():42:42 -> getLastCustomTs 1:1:long getLastRelayChangeTime():38:38 -> getLastRelayChangeTime 1:1:int getMedia():23:23 -> getMedia 1:1:java.util.ArrayList getMembers():20:20 -> getMembers 1:1:java.util.ArrayList getMissed_uuid():43:43 -> getMissed_uuid 1:1:java.lang.String getMsg():30:30 -> getMsg 1:1:java.util.HashMap getNewRelay():40:40 -> getNewRelay 1:1:java.lang.String getOp():19:19 -> getOp 1:1:long getOpsrc():26:26 -> getOpsrc 1:1:ai.neuvision.sdk.sdwan.signal.CallOption getOption():24:24 -> getOption 1:1:int getPriorLevel():41:41 -> getPriorLevel 1:1:ai.neuvision.sdk.sdwan.signal.CallEndReason getReason():32:32 -> getReason 1:1:java.util.ArrayList getRelayPrior():39:39 -> getRelayPrior 1:1:java.util.ArrayList getRelays():18:18 -> getRelays 1:1:long getSid():14:14 -> getSid 1:1:int getSource():25:25 -> getSource 1:1:java.util.HashMap getStates():22:22 -> getStates 1:1:long getTo():16:16 -> getTo 1:1:void setAppid(java.lang.String):35:35 -> setAppid 1:1:void setCallees(java.util.ArrayList):17:17 -> setCallees 1:1:void setChannelname(java.lang.String):34:34 -> setChannelname 1:1:void setCloseSession(boolean):36:36 -> setCloseSession 1:1:void setCode(java.lang.Integer):29:29 -> setCode 1:1:void setCseqIds(java.util.ArrayList):44:44 -> setCseqIds 1:1:void setExtargs(ai.neuvision.sdk.sdwan.signal.SignalExtension):33:33 -> setExtargs 1:1:void setExtname(java.lang.String):31:31 -> setExtname 1:1:void setFn(java.lang.String):28:28 -> setFn 1:1:void setFrom(long):15:15 -> setFrom 1:1:void setInfo(ai.neuvision.sdk.sdwan.signal.UserInfo):21:21 -> setInfo 1:1:void setLastChangeTime(long):27:27 -> setLastChangeTime 1:1:void setLastCustomTs(java.lang.Long):42:42 -> setLastCustomTs 1:1:void setLastRelayChangeTime(long):38:38 -> setLastRelayChangeTime 1:1:void setMedia(int):23:23 -> setMedia 1:1:void setMembers(java.util.ArrayList):20:20 -> setMembers 1:1:void setMissed_uuid(java.util.ArrayList):43:43 -> setMissed_uuid 1:1:void setMsg(java.lang.String):30:30 -> setMsg 1:1:void setNewRelay(java.util.HashMap):40:40 -> setNewRelay 1:1:void setOp(java.lang.String):19:19 -> setOp 1:1:void setOpsrc(long):26:26 -> setOpsrc 1:1:void setOption(ai.neuvision.sdk.sdwan.signal.CallOption):24:24 -> setOption 1:1:void setPriorLevel(int):41:41 -> setPriorLevel 1:1:void setReason(ai.neuvision.sdk.sdwan.signal.CallEndReason):32:32 -> setReason 1:1:void setRelayPrior(java.util.ArrayList):39:39 -> setRelayPrior 1:1:void setRelays(java.util.ArrayList):18:18 -> setRelays 1:1:void setSid(long):14:14 -> setSid 1:1:void setSource(int):25:25 -> setSource 1:1:void setStates(java.util.HashMap):22:22 -> setStates 1:1:void setTo(long):16:16 -> setTo ai.neuvision.sdk.sdwan.signal.UserInfo$Relay -> ai.neuvision.sdk.sdwan.signal.UserInfo$Relay: 1:1:void (java.lang.String,java.lang.String):55:55 -> 1:1:java.lang.String getAddress():56:56 -> getAddress 1:1:java.lang.String getPubkey():57:57 -> getPubkey ai.neuvision.sdk.sdwan.signal.UserInfo$State -> ai.neuvision.sdk.sdwan.signal.UserInfo$State: 1:1:void (int,int,int):48:48 -> 1:1:int getChange():50:50 -> getChange 1:1:int getI():51:51 -> getI 1:1:int getState():49:49 -> getState ai.neuvision.sdk.sdwan.transport.AbstractTransport -> ai.neuvision.sdk.sdwan.transport.AbstractTransport: ai.neuvision.sdk.sdwan.transport.AbstractTransport$TransportVideoListener videoListener -> b ai.neuvision.sdk.sdwan.transport.AbstractTransport$TransportAudioListener audioListener -> a ai.neuvision.sdk.sdwan.transport.AbstractTransport$TransportDataListener dataListener -> c 1:4:void (ai.neuvision.sdk.sdwan.transport.AbstractTransport$SessionType,long,long):49:52 -> 1:1:ai.neuvision.sdk.sdwan.transport.AbstractTransport$TransportAudioListener getAudioListener():106:106 -> getAudioListener 1:1:ai.neuvision.sdk.sdwan.transport.AbstractTransport$TransportDataListener getDataListener():122:122 -> getDataListener 1:1:long getSessionId():130:130 -> getSessionId 1:1:ai.neuvision.sdk.sdwan.transport.AbstractTransport$SessionType getType():134:134 -> getType 1:1:long getUid():138:138 -> getUid 1:1:ai.neuvision.sdk.sdwan.transport.AbstractTransport$TransportVideoListener getVideoListener():114:114 -> getVideoListener 1:1:void setAudioListener(ai.neuvision.sdk.sdwan.transport.AbstractTransport$TransportAudioListener):110:110 -> setAudioListener 1:1:void setDataListener(ai.neuvision.sdk.sdwan.transport.AbstractTransport$TransportDataListener):126:126 -> setDataListener 1:1:void setVideoListener(ai.neuvision.sdk.sdwan.transport.AbstractTransport$TransportVideoListener):118:118 -> setVideoListener ai.neuvision.sdk.sdwan.transport.AbstractTransport$DataCategory -> ai.neuvision.sdk.sdwan.transport.AbstractTransport$DataCategory: 1:1:void ():29:29 -> 2:2:void ():28:28 -> 1:2:void (java.lang.String,int,int):33:34 -> 1:1:int getCategory():38:38 -> getCategory 1:1:ai.neuvision.sdk.sdwan.transport.AbstractTransport$DataCategory valueOf(java.lang.String):28:28 -> valueOf 1:1:ai.neuvision.sdk.sdwan.transport.AbstractTransport$DataCategory[] values():28:28 -> values ai.neuvision.sdk.sdwan.transport.AbstractTransport$SessionType -> ai.neuvision.sdk.sdwan.transport.AbstractTransport$SessionType: 1:1:void ():15:15 -> 2:2:void ():14:14 -> 1:2:void (java.lang.String,int,int):19:20 -> 1:1:int getType():24:24 -> getType 1:1:ai.neuvision.sdk.sdwan.transport.AbstractTransport$SessionType valueOf(java.lang.String):14:14 -> valueOf 1:1:ai.neuvision.sdk.sdwan.transport.AbstractTransport$SessionType[] values():14:14 -> values ai.neuvision.sdk.sdwan.transport.BlackHoleTransport -> ai.neuvision.sdk.sdwan.transport.BlackHoleTransport: 1:1:void ():12:12 -> 2:2:void (ai.neuvision.sdk.sdwan.transport.AbstractTransport$SessionType,long,long):16:16 -> 1:2:void close():46:47 -> close 1:1:int sendAudioData(int,java.nio.ByteBuffer,java.nio.ByteBuffer):22:22 -> sendAudioData 1:2:int sendVideoData(int,boolean,java.nio.ByteBuffer,java.nio.ByteBuffer,boolean):28:29 -> sendVideoData ai.neuvision.sdk.sdwan.transport.LoopBackTransport -> ai.neuvision.sdk.sdwan.transport.LoopBackTransport: 1:1:void (ai.neuvision.sdk.sdwan.transport.AbstractTransport$SessionType,long,long):15:15 -> 1:2:void close():57:58 -> close 1:2:int sendAudioData(int,java.nio.ByteBuffer,java.nio.ByteBuffer):20:21 -> sendAudioData 1:11:int sendVideoData(int,boolean,java.nio.ByteBuffer,java.nio.ByteBuffer,boolean):31:41 -> sendVideoData ai.neuvision.sdk.sdwan.transport.YCKTransportSession -> ai.neuvision.sdk.sdwan.transport.YCKTransportSession: java.util.Map videoQIns -> m ai.neuvision.sdk.sdwan.transport.AbstractTransport$TransportSessionEventListener eventListener -> r int p2pEnabledRatio -> d java.util.ArrayList relayList -> e long logCount -> D ai.neuvision.sdk.sdwan.transport.fec.YCKVideoQueueOut thumbQueueOut -> j java.nio.ByteBuffer lastData -> B int audioReportCount -> C boolean stillReceivingUnexpectedStream -> s int repeatTimes -> A int lastUnicastDataResendCount -> y ai.neuvision.sdk.sdwan.transport.fec.DataQueueOut dataQueueOut -> k java.util.concurrent.ScheduledThreadPoolExecutor sharedScheduledExec -> q java.util.Map dataQIns -> n ai.neuvision.sdk.sdwan.transport.fec.YCKVideoQueueOut videoQOut -> i ai.neuvision.sdk.sdwan.transport.relay.UdpMessage lastUmsgSendUnicastData -> w java.util.LinkedList activeParticipants -> p long lastReportTime -> z ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket udpSocket -> f ai.neuvision.sdk.sdwan.transport.fec.AudioQueueOut audioQOut -> h ai.neuvision.sdk.sdwan.metrix.Metrix metrix -> g ai.neuvision.sdk.sdwan.transport.relay.UdpMessage lastUmsgData -> u long lastDateSendUnicastData -> v int lastDataResendCount -> x ai.neuvision.sdk.sdwan.executors.BindedExecutors execs -> o long lastDateSendTime -> t java.util.Map audioQIns -> l 1:1:void (ai.neuvision.sdk.sdwan.transport.AbstractTransport$SessionType,long,long,int):87:87 -> 2:108:void (ai.neuvision.sdk.sdwan.transport.AbstractTransport$SessionType,long,long,int):70:176 -> 109:112:void (ai.neuvision.sdk.sdwan.transport.AbstractTransport$SessionType,long,long,int):88:91 -> 1:1:void lambda$initWithRelay$0(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):113:113 -> a 2:2:int lambda$getUILayoutAndReport$2(ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout$MemberUI,ai.neuvision.sdk.sdwan.metrix.MetrixDataUILayout$MemberUI):252:252 -> a 3:12:java.lang.String getArrayString(long[],int):521:530 -> a 13:27:void checkLastSendData():589:603 -> a 28:28:void checkLastSendData():594:594 -> a 29:40:void processData(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage,boolean):739:750 -> a 41:43:void sendAskForIFrame(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):904:906 -> a 1:9:void askForDataNack(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKNackPacket,long,boolean):1057:1065 -> askForDataNack 1:5:void askForIFrameFrom(long):878:882 -> askForIFrameFrom 6:6:void askForIFrameFrom(long):880:880 -> askForIFrameFrom 7:16:void askForIFrameFrom(long,boolean):888:897 -> askForIFrameFrom 1:15:void askForNack(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKNackPacket,long,boolean):851:865 -> askForNack 1:1:int avgRTT():977:977 -> avgRTT 1:5:int getPoolSize():96:100 -> b 6:13:void processDataNack(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage,boolean):723:730 -> b 14:16:void sendAskForNack(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):870:872 -> b 1:1:int bandwidthDown():981:981 -> bandwidthDown 1:1:int bandwidthUp():985:985 -> bandwidthUp 1:1:int bandwidthUpperLimit():941:941 -> bandwidthUpperLimit 1:4:void lambda$initWithRelay$1():144:147 -> c 5:31:void processVideoNackStream(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage,boolean):754:780 -> c 1:4:void changeRelay(java.util.HashMap):1087:1090 -> changeRelay 1:5:void close():648:652 -> close 1:4:void processVideoStream(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage,boolean):784:787 -> d 5:6:ai.neuvision.sdk.sdwan.transport.fec.YCKVideoQueueIn makeVideoIn(long):823:824 -> d 5:6:void processVideoStream(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage,boolean):787 -> d 7:35:void processVideoStream(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage,boolean):788:816 -> d 1:1:long getLastMediaDataReceiveTime():1076:1076 -> getLastMediaDataReceiveTime 1:1:long getLastReceiveTime():1071:1071 -> getLastReceiveTime 1:1:ai.neuvision.sdk.sdwan.metrix.Metrix getMetrix():1018:1018 -> getMetrix 1:1:ai.neuvision.sdk.sdwan.metrix.MetrixDataNetworkInfo getNetworkInfo(long):1104:1104 -> getNetworkInfo 1:107:void getUILayoutAndReport():179:285 -> getUILayoutAndReport 108:165:void getUILayoutAndReport():283:340 -> getUILayoutAndReport 166:207:void getUILayoutAndReport():339:380 -> getUILayoutAndReport 208:229:void getUILayoutAndReport():346:367 -> getUILayoutAndReport 230:339:void getUILayoutAndReport():318:427 -> getUILayoutAndReport 340:393:void getUILayoutAndReport():425:478 -> getUILayoutAndReport 394:428:void getUILayoutAndReport():477:511 -> getUILayoutAndReport 1:46:void initWithRelay(java.util.List):104:149 -> initWithRelay 47:47:void initWithRelay(java.util.List):142:142 -> initWithRelay 1:4:boolean isCameraOnById(long):1033:1036 -> isCameraOnById 1:2:boolean isMutedById(long):1043:1044 -> isMutedById 1:1:int jitterCount():998:998 -> jitterCount 1:1:int lossRateDown():1002:1002 -> lossRateDown 1:1:int lossRateUp():1006:1006 -> lossRateUp 1:1:float maxPermitBitrateExceeded():965:965 -> maxPermitBitrateExceeded 1:1:boolean networkAvailable():961:961 -> networkAvailable 1:2:void onEvent(int,long):1027:1028 -> onEvent 1:2:void onReceiveAudio(java.nio.ByteBuffer,java.nio.ByteBuffer,short,long):837:838 -> onReceiveAudio 1:2:void onReceiveData(java.nio.ByteBuffer,java.nio.ByteBuffer,short,long):1050:1051 -> onReceiveData 1:2:void onReceiveVideo(java.nio.ByteBuffer,java.nio.ByteBuffer,short,long):844:845 -> onReceiveVideo 1:57:void receivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):658:714 -> receivedUmsg 58:58:void receivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):709:709 -> receivedUmsg 59:62:void receivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):703:706 -> receivedUmsg 63:63:void receivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):700:700 -> receivedUmsg 64:64:void receivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):697:697 -> receivedUmsg 65:65:void receivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):691:691 -> receivedUmsg 66:75:void receivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):685:694 -> receivedUmsg 76:76:void receivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):688:688 -> receivedUmsg 77:77:void receivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):681:681 -> receivedUmsg 78:83:void receivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):667:672 -> receivedUmsg 84:86:ai.neuvision.sdk.sdwan.transport.fec.AudioQueueIn makeAudioIn(long):829:831 -> receivedUmsg 84:86:void receivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):672 -> receivedUmsg 87:91:void receivedUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):673:677 -> receivedUmsg 1:1:java.util.ArrayList relayPriority():1081:1081 -> relayPriority 1:1:int relayPriorityConfidenceLevel():1094:1094 -> relayPriorityConfidenceLevel 1:1:int repairRate():1010:1010 -> repairRate 1:1:int repairRateJump():969:969 -> repairRateJump 1:1:void reportNetworkQuality(int,int,int,int):1099:1099 -> reportNetworkQuality 1:1:void reportUIChange():517:517 -> reportUIChange 1:14:int sendAudioData(int,java.nio.ByteBuffer,java.nio.ByteBuffer):535:548 -> sendAudioData 1:14:int sendData(short,java.nio.ByteBuffer,java.nio.ByteBuffer):610:623 -> sendData 15:15:int sendData(short,java.nio.ByteBuffer,java.nio.ByteBuffer):622:622 -> sendData 16:28:void sendData(short,java.nio.ByteBuffer,java.nio.ByteBuffer,long):630:642 -> sendData 1:24:int sendVideoData(int,boolean,java.nio.ByteBuffer,java.nio.ByteBuffer,boolean):557:580 -> sendVideoData 1:26:void setActiveParticipants(java.util.LinkedList):911:936 -> setActiveParticipants 1:1:void setBandwidthUpperLimit(int):945:945 -> setBandwidthUpperLimit 1:1:void setEventListener(ai.neuvision.sdk.sdwan.transport.AbstractTransport$TransportSessionEventListener):1022:1022 -> setEventListener 1:1:void setInitNet(int):1014:1014 -> setInitNet 1:1:int suggestedAudioBitrate():957:957 -> suggestedAudioBitrate 1:1:int suggestedBitrate():949:949 -> suggestedBitrate 1:1:int suggestedThumbBitrate():953:953 -> suggestedThumbBitrate 1:1:int trafficIn():989:989 -> trafficIn 1:1:int trafficOut():994:994 -> trafficOut 1:1:float uiMaxViewScreenRation():973:973 -> uiMaxViewScreenRation ai.neuvision.sdk.sdwan.transport.fec.AudioGroup -> ai.neuvision.sdk.sdwan.transport.fec.AudioGroup: java.util.ArrayList packets -> b int state -> c short sourceMap -> d short seqId -> a 1:11:void ():11:21 -> 1:20:boolean addPacket(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKRaptorPacket):27:46 -> addPacket 21:30:boolean addPacket(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKRaptorPacket):31:40 -> addPacket 1:1:void ():21:21 -> getPackets 1:1:java.util.ArrayList getPackets():21 -> getPackets 1:1:void setSeqId(short):20:20 -> getSeqId 1:1:short getSeqId():20 -> getSeqId 1:1:void setSourceMap(short):23:23 -> getSourceMap 1:1:short getSourceMap():23 -> getSourceMap 1:1:void setState(int):22:22 -> getState 1:1:int getState():22 -> getState 1:1:void ():21:21 -> setPackets 1:1:void setPackets(java.util.ArrayList):21 -> setPackets 1:1:void setSeqId(short):20:20 -> setSeqId 1:1:void setSourceMap(short):23:23 -> setSourceMap 1:1:void setState(int):22:22 -> setState ai.neuvision.sdk.sdwan.transport.fec.AudioGroup$State -> ai.neuvision.sdk.sdwan.transport.fec.AudioGroup$State: 1:1:void ():13:13 -> 1:1:void ():13:13 -> ai.neuvision.sdk.sdwan.transport.fec.AudioQueueIn -> ai.neuvision.sdk.sdwan.transport.fec.AudioQueueIn: ai.neuvision.sdk.sdwan.transport.fec.YCKRaptor raptor -> d ai.neuvision.sdk.sdwan.transport.fec.AudioQueueIn$AudioInListener listener -> c long from -> f java.util.LinkedList inQueue -> e java.lang.String TAG -> a ai.neuvision.sdk.sdwan.executors.BindedExecutors$SingleThreadBindedExec exec -> g int MAX_AUDIO_INQUEUE_SIZE -> b 1:13:void (long,ai.neuvision.sdk.sdwan.executors.BindedExecutors$SingleThreadBindedExec):21:33 -> 1:1:long getFrom():21:21 -> getFrom 1:1:ai.neuvision.sdk.sdwan.transport.fec.AudioQueueIn$AudioInListener getListener():31:31 -> getListener 1:1:ai.neuvision.sdk.sdwan.metrix.Metrix getMetrix():30:30 -> getMetrix 1:68:void processAudioPayload(java.nio.ByteBuffer):37:104 -> processAudioPayload 69:122:void checkIfGroupCanDecode(ai.neuvision.sdk.sdwan.transport.fec.AudioGroup,ai.neuvision.sdk.sdwan.transport.fec.packet.YCKRaptorPacket):108:161 -> processAudioPayload 69:122:void processAudioPayload(java.nio.ByteBuffer):104 -> processAudioPayload 1:1:void setListener(ai.neuvision.sdk.sdwan.transport.fec.AudioQueueIn$AudioInListener):31:31 -> setListener 1:1:void setMetrix(ai.neuvision.sdk.sdwan.metrix.Metrix):30:30 -> setMetrix ai.neuvision.sdk.sdwan.transport.fec.AudioQueueIn$processAudioPayload$1 -> ai.neuvision.sdk.sdwan.transport.fec.AudioQueueIn$a: ai.neuvision.sdk.sdwan.transport.fec.AudioQueueIn this$0 -> a java.nio.ByteBuffer $payload -> b 1:1:void run():38:38 -> run ai.neuvision.sdk.sdwan.transport.fec.AudioQueueOut -> ai.neuvision.sdk.sdwan.transport.fec.AudioQueueOut: ai.neuvision.sdk.sdwan.transport.fec.YCKRaptor raptor -> e java.util.ArrayList contextGroup -> c java.util.ArrayList audioGroup -> b short firstSeqId -> d int maxAudioGroupSize -> a 1:8:void ():13:20 -> 1:86:java.util.ArrayList processHitchhikeData():59:144 -> a 87:112:java.util.ArrayList processHitchhikeData():63:88 -> a 113:113:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> a 113:113:java.util.ArrayList processHitchhikeData():146 -> a 114:173:java.util.ArrayList processHitchhikeData():88:147 -> a 174:175:java.util.ArrayList processHitchhikeData():134:135 -> a 1:1:void setMetrix(ai.neuvision.sdk.sdwan.metrix.Metrix):15:15 -> getMetrix 1:1:ai.neuvision.sdk.sdwan.metrix.Metrix getMetrix():15 -> getMetrix 1:6:java.util.List groupAndRaptorAudioData(java.nio.ByteBuffer,java.nio.ByteBuffer,short):28:33 -> groupAndRaptorAudioData 7:7:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> groupAndRaptorAudioData 7:7:java.util.List groupAndRaptorAudioData(java.nio.ByteBuffer,java.nio.ByteBuffer,short):142 -> groupAndRaptorAudioData 8:26:java.util.List groupAndRaptorAudioData(java.nio.ByteBuffer,java.nio.ByteBuffer,short):33:51 -> groupAndRaptorAudioData 27:27:java.util.List groupAndRaptorAudioData(java.nio.ByteBuffer,java.nio.ByteBuffer,short):48:48 -> groupAndRaptorAudioData 28:28:java.lang.String ai.neuvision.sdk.utils.TemplatesKt.getTAG(java.lang.Object):58:58 -> groupAndRaptorAudioData 28:28:java.util.List groupAndRaptorAudioData(java.nio.ByteBuffer,java.nio.ByteBuffer,short):143 -> groupAndRaptorAudioData 29:32:java.util.List groupAndRaptorAudioData(java.nio.ByteBuffer,java.nio.ByteBuffer,short):48:51 -> groupAndRaptorAudioData 1:1:void setMetrix(ai.neuvision.sdk.sdwan.metrix.Metrix):15:15 -> setMetrix ai.neuvision.sdk.sdwan.transport.fec.AudioQueueOut$Companion -> ai.neuvision.sdk.sdwan.transport.fec.AudioQueueOut$Companion: 1:1:void ():22:22 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):22:22 -> ai.neuvision.sdk.sdwan.transport.fec.DataFrameIn -> ai.neuvision.sdk.sdwan.transport.fec.DataFrameIn: java.util.List packets -> b long nackTime -> f byte state -> d short blockNums -> c byte nackTries -> e short seqId -> a 1:10:void ():13:22 -> 1:66:boolean addPacket(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKRaptorPacket):32:97 -> addPacket 67:109:boolean addPacket(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKRaptorPacket):47:89 -> addPacket 1:1:void setBlk(short[]):24:24 -> getBlk 1:1:short[] getBlk():24 -> getBlk 1:1:void setBlksMap(long[]):25:25 -> getBlksMap 1:1:long[] getBlksMap():25 -> getBlksMap 1:1:void setBlockNums(short):23:23 -> getBlockNums 1:1:short getBlockNums():23 -> getBlockNums 1:1:void setNackTime(long):28:28 -> getNackTime 1:1:long getNackTime():28 -> getNackTime 1:1:void setNackTries(byte):27:27 -> getNackTries 1:1:byte getNackTries():27 -> getNackTries 1:1:void ():22:22 -> getPackets 1:1:java.util.List getPackets():22 -> getPackets 1:1:void setSeqId(short):21:21 -> getSeqId 1:1:short getSeqId():21 -> getSeqId 1:1:void setState(byte):26:26 -> getState 1:1:byte getState():26 -> getState 1:1:void setBlk(short[]):24:24 -> setBlk 1:1:void setBlksMap(long[]):25:25 -> setBlksMap 1:1:void setBlockNums(short):23:23 -> setBlockNums 1:1:void setNackTime(long):28:28 -> setNackTime 1:1:void setNackTries(byte):27:27 -> setNackTries 1:1:void ():22:22 -> setPackets 1:1:void setPackets(java.util.List):22 -> setPackets 1:1:void setSeqId(short):21:21 -> setSeqId 1:1:void setState(byte):26:26 -> setState ai.neuvision.sdk.sdwan.transport.fec.DataFrameIn$FrameState -> ai.neuvision.sdk.sdwan.transport.fec.DataFrameIn$FrameState: 1:1:void ():15:15 -> 1:1:void ():15:15 -> ai.neuvision.sdk.sdwan.transport.fec.DataFrameOut -> ai.neuvision.sdk.sdwan.transport.fec.DataFrameOut: java.util.List packets -> b long nackAckTime -> d byte nackAckTries -> c short seqId -> a 1:4:void ():11:14 -> 1:1:long getNackAckTime():16:16 -> getNackAckTime 1:1:byte getNackAckTries():15:15 -> getNackAckTries 1:1:java.util.List getPackets():14:14 -> getPackets 1:1:short getSeqId():13:13 -> getSeqId 1:1:void setNackAckTime(long):16:16 -> setNackAckTime 1:1:void setNackAckTries(byte):15:15 -> setNackAckTries 1:1:void setPackets(java.util.List):14:14 -> setPackets 1:1:void setSeqId(short):13:13 -> setSeqId ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn -> ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn: long lastUnicastWaitTime -> i boolean hasDelayProcess -> n long lastRecvTime -> l boolean hasDelayProcessUnicast -> o boolean waitingForData -> j long lastWaitTime -> h boolean waitingForUnicastData -> k java.util.Map nacksForNonexistedFrame -> p ai.neuvision.sdk.pipline.impl.EventPipeline mPipeline -> r java.util.List inQueue -> b short lastUnicastSeqId -> e java.util.List unicastInQueue -> c boolean lastSeqidRealExisted -> f boolean lastUnicastSeqidRealExisted -> g long from -> s ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$Callback callback -> a short lastSeqId -> d long lastUnicastRecvTime -> m ai.neuvision.sdk.sdwan.transport.fec.YCKRaptor raptor -> q 1:1:void access$checkIfNeedNack(ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn):21:21 -> 1:1:void (long):21 -> 2:33:void (long):26:57 -> 1:81:void innerProcessDataPayload(java.nio.ByteBuffer,boolean):67:147 -> a 82:112:void innerProcessDataPayload(java.nio.ByteBuffer,boolean):143:173 -> a 113:191:void innerProcessDataPayload(java.nio.ByteBuffer):182:260 -> a 192:228:void innerProcessDataPayload(java.nio.ByteBuffer):256:292 -> a 229:328:void checkIfNeedNack():298:397 -> a 329:329:void checkIfNeedNack():303:303 -> a 330:352:void checkIfNeedNack():302:324 -> a 353:433:void checkIfNeedNack():320:400 -> a 434:457:void checkIfNeedNack():342:365 -> a 458:482:void checkIfNeedNack():364:388 -> a 1:1:void access$checkIfNeedNack(ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn):21:21 -> access$checkIfNeedNack 1:1:void access$checkIfNeedNack(ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn):21:21 -> access$innerProcessDataPayload 1:1:void access$innerProcessDataPayload(ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn,java.nio.ByteBuffer):21 -> access$innerProcessDataPayload 2:2:void access$checkIfNeedNack(ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn):21:21 -> access$innerProcessDataPayload 2:2:void access$innerProcessDataPayload(ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn,java.nio.ByteBuffer,boolean):21 -> access$innerProcessDataPayload 1:1:void close():392:392 -> close 1:1:void setCallback(ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$Callback):24:24 -> getCallback 1:1:ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$Callback getCallback():24 -> getCallback 1:1:void access$checkIfNeedNack(ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn):21:21 -> getFrom 1:1:long getFrom():21 -> getFrom 1:1:void setMetrix(ai.neuvision.sdk.sdwan.metrix.Metrix):23:23 -> getMetrix 1:1:ai.neuvision.sdk.sdwan.metrix.Metrix getMetrix():23 -> getMetrix 1:1:void processDataPayload(java.nio.ByteBuffer,boolean):61:61 -> processDataPayload 1:1:void setCallback(ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$Callback):24:24 -> setCallback 1:1:void setMetrix(ai.neuvision.sdk.sdwan.metrix.Metrix):23:23 -> setMetrix ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$1 -> ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$a: ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn this$0 -> a 1:1:void run():57:57 -> run ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$Companion -> ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$Companion: 1:1:void ():51:51 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):51:51 -> ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$checkIfNeedNack$3 -> ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$b: ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn this$0 -> a 1:1:void run():388:388 -> run ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$innerProcessDataPayload$1 -> ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$c: ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn this$0 -> a java.nio.ByteBuffer $payload -> b boolean $isUnicast -> c 1:2:void run():127:128 -> run ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$innerProcessDataPayload$3 -> ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$d: ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn this$0 -> a java.nio.ByteBuffer $payload -> b 1:2:void run():241:242 -> run ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$processDataPayload$1 -> ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn$e: ai.neuvision.sdk.sdwan.transport.fec.DataQueueIn this$0 -> a java.nio.ByteBuffer $payload -> b boolean $isUnicast -> c 1:1:void invoke():61:61 -> invoke 1:1:java.lang.Object invoke():21 -> invoke 2:2:java.lang.Object invoke():21:21 -> invoke ai.neuvision.sdk.sdwan.transport.fec.DataQueueOut -> ai.neuvision.sdk.sdwan.transport.fec.DataQueueOut: ai.neuvision.sdk.sdwan.transport.fec.YCKRaptor raptor -> f java.util.Map outQueueDict -> c java.util.LinkedList unicastOutQueue -> d java.util.Map unicastOutQueueDict -> e java.util.LinkedList outQueue -> b int maxPacketSize -> a 1:10:void ():20:29 -> 1:1:void ():23:23 -> getMaxPacketSize 1:1:int getMaxPacketSize():23 -> getMaxPacketSize 1:1:void setMetrix(ai.neuvision.sdk.sdwan.metrix.Metrix):22:22 -> getMetrix 1:1:ai.neuvision.sdk.sdwan.metrix.Metrix getMetrix():22 -> getMetrix 1:6:java.util.List processDataNack(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKNackPacket,long,boolean):85:90 -> processDataNack 7:86:java.util.List processDataNack(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKNackPacket,long,boolean):89:168 -> processDataNack 87:106:java.util.List processDataNack(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKNackPacket,long,boolean):129:148 -> processDataNack 107:107:java.util.List processDataNack(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKNackPacket,long,boolean):89:89 -> processDataNack 1:34:java.util.List raptorData(java.nio.ByteBuffer,java.nio.ByteBuffer,short,boolean):37:70 -> raptorData 35:35:java.util.List raptorData(java.nio.ByteBuffer,java.nio.ByteBuffer,short,boolean):68:68 -> raptorData 36:143:java.util.List raptorData(java.nio.ByteBuffer,java.nio.ByteBuffer,short,boolean):59:166 -> raptorData 144:145:java.util.List raptorData(java.nio.ByteBuffer,java.nio.ByteBuffer,short,boolean):77:78 -> raptorData 146:146:java.util.List raptorData(java.nio.ByteBuffer,java.nio.ByteBuffer,short,boolean):59:59 -> raptorData 147:147:java.util.List raptorData(java.nio.ByteBuffer,java.nio.ByteBuffer,short,boolean):52:52 -> raptorData 1:1:void ():23:23 -> setMaxPacketSize 1:1:void setMaxPacketSize(int):23 -> setMaxPacketSize 1:1:void setMetrix(ai.neuvision.sdk.sdwan.metrix.Metrix):22:22 -> setMetrix ai.neuvision.sdk.sdwan.transport.fec.DataQueueOut$Companion -> ai.neuvision.sdk.sdwan.transport.fec.DataQueueOut$Companion: 1:1:void ():31:31 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):31:31 -> ai.neuvision.sdk.sdwan.transport.fec.VideoRawFrame -> ai.neuvision.sdk.sdwan.transport.fec.VideoRawFrame: 1:16:void (short,java.nio.ByteBuffer):14:29 -> 17:17:void (short,java.nio.ByteBuffer):24:24 -> 18:21:void (java.nio.ByteBuffer,java.nio.ByteBuffer,short):32:35 -> 1:5:java.nio.ByteBuffer toRawData():40:44 -> toRawData ai.neuvision.sdk.sdwan.transport.fec.YCKAudioGroupIn -> ai.neuvision.sdk.sdwan.transport.fec.YCKAudioGroupIn: 1:13:void ():12:24 -> 1:16:boolean addPacket(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKRaptorPacket):27:42 -> addPacket ai.neuvision.sdk.sdwan.transport.fec.YCKAudioGroupIn$GroupState -> ai.neuvision.sdk.sdwan.transport.fec.YCKAudioGroupIn$GroupState: 1:1:void ():15:15 -> 2:2:void ():14:14 -> 1:1:void (java.lang.String,int):14:14 -> 1:1:ai.neuvision.sdk.sdwan.transport.fec.YCKAudioGroupIn$GroupState valueOf(java.lang.String):14:14 -> valueOf 1:1:ai.neuvision.sdk.sdwan.transport.fec.YCKAudioGroupIn$GroupState[] values():14:14 -> values ai.neuvision.sdk.sdwan.transport.fec.YCKRaptor -> ai.neuvision.sdk.sdwan.transport.fec.YCKRaptor: ai.neuvision.sdk.raptor.NanoRaptor nanoRaptor -> a ai.neuvision.sdk.sdwan.transport.fec.YCKRaptor _inst -> b boolean $assertionsDisabled -> c 1:4:void ():15:18 -> 1:5:void ():15:19 -> 1:54:java.nio.ByteBuffer decode(java.util.List):27:80 -> decode 55:55:java.nio.ByteBuffer decode(java.util.List):28:28 -> decode 1:49:java.util.List encode(java.nio.ByteBuffer,int,int):84:132 -> encode 1:1:ai.neuvision.sdk.sdwan.transport.fec.YCKRaptor getInstance():22:22 -> getInstance ai.neuvision.sdk.sdwan.transport.fec.YCKVideoFrameIn -> ai.neuvision.sdk.sdwan.transport.fec.YCKVideoFrameIn: 1:24:void ():12:35 -> 1:63:boolean addPacket(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKRaptorPacket):38:100 -> addPacket ai.neuvision.sdk.sdwan.transport.fec.YCKVideoFrameIn$FrameState -> ai.neuvision.sdk.sdwan.transport.fec.YCKVideoFrameIn$FrameState: 1:1:void ():15:15 -> 2:2:void ():14:14 -> 1:1:void (java.lang.String,int):14:14 -> 1:1:ai.neuvision.sdk.sdwan.transport.fec.YCKVideoFrameIn$FrameState valueOf(java.lang.String):14:14 -> valueOf 1:1:ai.neuvision.sdk.sdwan.transport.fec.YCKVideoFrameIn$FrameState[] values():14:14 -> values ai.neuvision.sdk.sdwan.transport.fec.YCKVideoFrameOut -> ai.neuvision.sdk.sdwan.transport.fec.YCKVideoFrameOut: 1:1:void ():10:10 -> ai.neuvision.sdk.sdwan.transport.fec.YCKVideoQueueIn -> ai.neuvision.sdk.sdwan.transport.fec.YCKVideoQueueIn: long lastNackTime -> j boolean isLowEndDevice -> m long lastTimeAskForIFrame -> i long lastRecvTime -> k long from -> c int videoRequestMode -> b ai.neuvision.sdk.sdwan.executors.BindedExecutors$SingleThreadBindedExec exec -> e short lastSeqId -> g ai.neuvision.sdk.sdwan.transport.fec.YCKVideoQueueIn$VideoInListener listener -> d java.lang.String TAG -> a java.util.LinkedList inQueue -> f boolean waitingForIFrame -> h ai.neuvision.sdk.sdwan.transport.fec.YCKRaptor raptor -> l 1:1:void (long,ai.neuvision.sdk.sdwan.transport.fec.YCKVideoQueueIn$VideoInListener,ai.neuvision.sdk.sdwan.executors.BindedExecutors$SingleThreadBindedExec):59:59 -> 2:45:void (long,ai.neuvision.sdk.sdwan.transport.fec.YCKVideoQueueIn$VideoInListener,ai.neuvision.sdk.sdwan.executors.BindedExecutors$SingleThreadBindedExec):21:64 -> 1:3:void lambda$processVideoPayload$0(java.nio.ByteBuffer,short,boolean,boolean):71:73 -> a 4:11:void needAskForIframe(boolean):319:326 -> a 1:1:int getVideoRequestMode():349:349 -> getVideoRequestMode 1:88:void processVideoPayload(java.nio.ByteBuffer,short,boolean,boolean):68:155 -> processVideoPayload 89:97:void processVideoPayload(java.nio.ByteBuffer,short,boolean,boolean):154:162 -> processVideoPayload 98:105:void processVideoPayload(java.nio.ByteBuffer,short,boolean,boolean):161:168 -> processVideoPayload 106:117:ai.neuvision.sdk.sdwan.transport.fec.YCKVideoFrameIn checkIfFrameCanDecode():291:302 -> processVideoPayload 106:117:void processVideoPayload(java.nio.ByteBuffer,short,boolean,boolean):176 -> processVideoPayload 118:130:ai.neuvision.sdk.sdwan.transport.fec.YCKVideoFrameIn checkIfFrameCanDecode():301:313 -> processVideoPayload 118:130:void processVideoPayload(java.nio.ByteBuffer,short,boolean,boolean):176 -> processVideoPayload 131:143:void cleanInQueueIfNeed(ai.neuvision.sdk.sdwan.transport.fec.YCKVideoFrameIn,boolean):253:265 -> processVideoPayload 131:143:void processVideoPayload(java.nio.ByteBuffer,short,boolean,boolean):178 -> processVideoPayload 144:166:void cleanInQueueIfNeed(ai.neuvision.sdk.sdwan.transport.fec.YCKVideoFrameIn,boolean):264:286 -> processVideoPayload 144:166:void processVideoPayload(java.nio.ByteBuffer,short,boolean,boolean):178 -> processVideoPayload 167:167:void processVideoPayload(java.nio.ByteBuffer,short,boolean,boolean):181:181 -> processVideoPayload 168:225:void checkIfNeedNack(int,boolean):189:246 -> processVideoPayload 168:225:void processVideoPayload(java.nio.ByteBuffer,short,boolean,boolean):182 -> processVideoPayload 226:226:void checkIfNeedNack(int,boolean):244:244 -> processVideoPayload 226:226:void processVideoPayload(java.nio.ByteBuffer,short,boolean,boolean):182 -> processVideoPayload 1:13:void setVideoRequestMode(int):331:343 -> setVideoRequestMode ai.neuvision.sdk.sdwan.transport.fec.YCKVideoQueueIn$RequestMode -> ai.neuvision.sdk.sdwan.transport.fec.YCKVideoQueueIn$RequestMode: 1:1:void ():52:52 -> ai.neuvision.sdk.sdwan.transport.fec.YCKVideoQueueOut -> ai.neuvision.sdk.sdwan.transport.fec.YCKVideoQueueOut: java.util.List outQueue -> a java.util.Map outQueueDict -> b ai.neuvision.sdk.sdwan.transport.fec.YCKRaptor raptor -> d int maxPacketSize -> c 1:1:void ():31:31 -> 2:10:void ():24:32 -> 1:74:android.util.Pair processNack(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKNackPacket,long):79:152 -> processNack 75:80:android.util.Pair processNack(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKNackPacket,long):151:156 -> processNack 81:81:android.util.Pair processNack(ai.neuvision.sdk.sdwan.transport.fec.packet.YCKNackPacket,long):83:83 -> processNack 1:11:java.util.List raptorVideoData(java.nio.ByteBuffer,java.nio.ByteBuffer,short,boolean):36:46 -> raptorVideoData 12:40:java.util.List raptorVideoData(java.nio.ByteBuffer,java.nio.ByteBuffer,short,boolean):45:73 -> raptorVideoData 41:41:java.util.List raptorVideoData(java.nio.ByteBuffer,java.nio.ByteBuffer,short,boolean):67:67 -> raptorVideoData 42:42:java.util.List raptorVideoData(java.nio.ByteBuffer,java.nio.ByteBuffer,short,boolean):49:49 -> raptorVideoData ai.neuvision.sdk.sdwan.transport.fec.packet.YCKNackPacket -> ai.neuvision.sdk.sdwan.transport.fec.packet.YCKNackPacket: 1:1:void ():15:15 -> 2:18:void (java.nio.ByteBuffer):18:34 -> 19:19:void (java.nio.ByteBuffer):20:20 -> 1:11:java.nio.ByteBuffer toData():41:51 -> toData ai.neuvision.sdk.sdwan.transport.fec.packet.YCKRaptorPacket -> ai.neuvision.sdk.sdwan.transport.fec.packet.YCKRaptorPacket: short seqId -> a short esi -> b 1:1:void ():42:42 -> 2:19:void (java.nio.ByteBuffer):46:63 -> 1:2:int get3ByteInt(java.nio.ByteBuffer):67:68 -> a 1:4:boolean equals(java.lang.Object):114:117 -> equals 1:1:int getEsi():26:26 -> getEsi 1:1:short getSeqId():81:81 -> getSeqId 1:6:boolean isSourceSymbol():34:39 -> isSourceSymbol 1:1:void setEsi(int):30:30 -> setEsi 1:1:void setSeqId(short):85:85 -> setSeqId 1:4:java.nio.ByteBuffer toData():90:93 -> toData 5:6:void put3ByteInt(java.nio.ByteBuffer,int):106:107 -> toData 5:6:java.nio.ByteBuffer toData():93 -> toData 7:12:java.nio.ByteBuffer toData():94:99 -> toData ai.neuvision.sdk.sdwan.transport.relay.AddressInfo -> ai.neuvision.sdk.sdwan.transport.relay.AddressInfo: 1:1:void (long,java.lang.String,int):46:46 -> 1:1:long getId():48:48 -> getId 1:1:java.lang.String getIp():50:50 -> getIp 1:1:int getPort():52:52 -> getPort 1:1:java.lang.String toJson():55:55 -> toJson 1:1:byte[] toJsonData():59:59 -> toJsonData ai.neuvision.sdk.sdwan.transport.relay.P2pInfo -> ai.neuvision.sdk.sdwan.transport.relay.P2pInfo: 1:10:void ():13:22 -> 1:1:boolean getChanged():28:28 -> getChanged 1:1:long getId():16:16 -> getId 1:1:java.lang.String getInnerIp():25:25 -> getInnerIp 1:1:int getSeq():19:19 -> getSeq 1:1:java.lang.String getUdp():22:22 -> getUdp 1:1:void setChanged(boolean):28:28 -> setChanged 1:1:void setId(long):16:16 -> setId 1:1:void setInnerIp(java.lang.String):25:25 -> setInnerIp 1:1:void setSeq(int):19:19 -> setSeq 1:1:void setUdp(java.lang.String):22:22 -> setUdp 1:1:java.lang.String toString():33:33 -> toString ai.neuvision.sdk.sdwan.transport.relay.P2pParam -> ai.neuvision.sdk.sdwan.transport.relay.P2pParam: 1:1:void (int,java.lang.String):24:24 -> 1:1:int getRatio():24:24 -> getRatio 1:1:java.lang.String getReason():24:24 -> getReason 1:1:java.lang.String toJson():26:26 -> toJson 1:1:byte[] toJsonData():30:30 -> toJsonData ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail -> ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail: short p2pRelayTseq -> x java.lang.String outerIp -> j long uid -> a short tseq -> p boolean p2pRelayEnabled -> w int count -> C java.util.HashMap outerIpFromRelay -> c short timesForConeScan -> h long createTimestamp -> y java.net.InetSocketAddress address -> b short portForDetect -> f ai.neuvision.sdk.sdwan.metrix.MetrixDataUp pendingExtra -> z java.util.HashMap mediaControlAudioRepeatFactor -> v java.util.HashMap mediaControlVideoList -> t short maxSeq -> A boolean isSymmetricNat -> d int p2pSuggestedRatio -> o java.lang.String innerIp -> i int p2pProbeRecvNum -> m int turnSeq -> k long lastBatchTimestamp -> E boolean p2pSuccess -> l byte tid -> D short pendingTimestamp -> s short portForConeScan -> g ai.neuvision.sdk.sdwan.transport.relay.UdpMessage pendingUmsg -> q boolean canPortDetect -> e long pendingTime -> r long p2pLastRecvTime -> n java.util.HashMap mediaControlThumbVideoList -> u short minSeq -> B 1:52:void ():17:68 -> 1:110:void analyseOuterIpFromRelay():82:191 -> analyseOuterIpFromRelay 111:163:void analyseOuterIpFromRelay():94:146 -> analyseOuterIpFromRelay 1:1:void setAddress(java.net.InetSocketAddress):22:22 -> getAddress 1:1:java.net.InetSocketAddress getAddress():22 -> getAddress 1:1:void setCanPortDetect(boolean):27:27 -> getCanPortDetect 1:1:boolean getCanPortDetect():27 -> getCanPortDetect 1:1:void ():68:68 -> getCreateTimestamp 1:1:long getCreateTimestamp():68 -> getCreateTimestamp 1:1:void setInnerIp(java.lang.String):31:31 -> getInnerIp 1:1:java.lang.String getInnerIp():31 -> getInnerIp 1:1:void ():58:58 -> getMediaControlAudioRepeatFactor 1:1:java.util.HashMap getMediaControlAudioRepeatFactor():58 -> getMediaControlAudioRepeatFactor 1:1:void ():57:57 -> getMediaControlThumbVideoList 1:1:java.util.HashMap getMediaControlThumbVideoList():57 -> getMediaControlThumbVideoList 1:1:void ():56:56 -> getMediaControlVideoList 1:1:java.util.HashMap getMediaControlVideoList():56 -> getMediaControlVideoList 1:1:void ():32:32 -> getOuterIp 1:1:java.lang.String getOuterIp():32 -> getOuterIp 1:1:void ():25:25 -> getOuterIpFromRelay 1:1:java.util.HashMap getOuterIpFromRelay():25 -> getOuterIpFromRelay 1:1:void setP2pLastRecvTime(long):40:40 -> getP2pLastRecvTime 1:1:long getP2pLastRecvTime():40 -> getP2pLastRecvTime 1:1:void setP2pProbeRecvNum(int):37:37 -> getP2pProbeRecvNum 1:1:int getP2pProbeRecvNum():37 -> getP2pProbeRecvNum 1:1:void setP2pRelayEnabled(boolean):64:64 -> getP2pRelayEnabled 1:1:boolean getP2pRelayEnabled():64 -> getP2pRelayEnabled 1:1:void setP2pRelayTseq(short):67:67 -> getP2pRelayTseq 1:1:short getP2pRelayTseq():67 -> getP2pRelayTseq 1:1:void setP2pSuccess(boolean):36:36 -> getP2pSuccess 1:1:boolean getP2pSuccess():36 -> getP2pSuccess 1:1:void setP2pSuggestedRatio(int):44:44 -> getP2pSuggestedRatio 1:1:int getP2pSuggestedRatio():44 -> getP2pSuggestedRatio 1:1:void setPendingExtra(ai.neuvision.sdk.sdwan.metrix.MetrixDataUp):69:69 -> getPendingExtra 1:1:ai.neuvision.sdk.sdwan.metrix.MetrixDataUp getPendingExtra():69 -> getPendingExtra 1:1:void setPendingTime(long):48:48 -> getPendingTime 1:1:long getPendingTime():48 -> getPendingTime 1:1:void setPendingTimestamp(short):51:51 -> getPendingTimestamp 1:1:short getPendingTimestamp():51 -> getPendingTimestamp 1:1:void setPendingUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):47:47 -> getPendingUmsg 1:1:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage getPendingUmsg():47 -> getPendingUmsg 1:1:void setPortForConeScan(short):29:29 -> getPortForConeScan 1:1:short getPortForConeScan():29 -> getPortForConeScan 1:1:void setPortForDetect(short):28:28 -> getPortForDetect 1:1:short getPortForDetect():28 -> getPortForDetect 1:1:void setTimesForConeScan(short):30:30 -> getTimesForConeScan 1:1:short getTimesForConeScan():30 -> getTimesForConeScan 1:1:void setTseq(short):46:46 -> getTseq 1:1:short getTseq():46 -> getTseq 1:1:void setTurnSeq(int):35:35 -> getTurnSeq 1:1:int getTurnSeq():35 -> getTurnSeq 1:1:void setUid(long):19:19 -> getUid 1:1:long getUid():19 -> getUid 1:1:void setSymmetricNat(boolean):26:26 -> isSymmetricNat 1:1:boolean isSymmetricNat():26 -> isSymmetricNat 1:27:ai.neuvision.sdk.sdwan.metrix.MetrixDataUp metrixProcess(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):152:178 -> metrixProcess 28:28:ai.neuvision.sdk.sdwan.metrix.MetrixDataUp metrixProcess(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):161:161 -> metrixProcess 1:1:void setAddress(java.net.InetSocketAddress):22:22 -> setAddress 1:1:void setCanPortDetect(boolean):27:27 -> setCanPortDetect 1:1:void ():68:68 -> setCreateTimestamp 1:1:void setCreateTimestamp(long):68 -> setCreateTimestamp 1:1:void setInnerIp(java.lang.String):31:31 -> setInnerIp 1:1:void ():58:58 -> setMediaControlAudioRepeatFactor 1:1:void setMediaControlAudioRepeatFactor(java.util.HashMap):58 -> setMediaControlAudioRepeatFactor 1:1:void ():57:57 -> setMediaControlThumbVideoList 1:1:void setMediaControlThumbVideoList(java.util.HashMap):57 -> setMediaControlThumbVideoList 1:1:void ():56:56 -> setMediaControlVideoList 1:1:void setMediaControlVideoList(java.util.HashMap):56 -> setMediaControlVideoList 1:1:void ():32:32 -> setOuterIp 1:1:void setOuterIp(java.lang.String):32 -> setOuterIp 1:1:void ():25:25 -> setOuterIpFromRelay 1:1:void setOuterIpFromRelay(java.util.HashMap):25 -> setOuterIpFromRelay 1:1:void setP2pLastRecvTime(long):40:40 -> setP2pLastRecvTime 1:1:void setP2pProbeRecvNum(int):37:37 -> setP2pProbeRecvNum 1:1:void setP2pRelayEnabled(boolean):64:64 -> setP2pRelayEnabled 1:1:void setP2pRelayTseq(short):67:67 -> setP2pRelayTseq 1:1:void setP2pSuccess(boolean):36:36 -> setP2pSuccess 1:1:void setP2pSuggestedRatio(int):44:44 -> setP2pSuggestedRatio 1:1:void setPendingExtra(ai.neuvision.sdk.sdwan.metrix.MetrixDataUp):69:69 -> setPendingExtra 1:1:void setPendingTime(long):48:48 -> setPendingTime 1:1:void setPendingTimestamp(short):51:51 -> setPendingTimestamp 1:1:void setPendingUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):47:47 -> setPendingUmsg 1:1:void setPortForConeScan(short):29:29 -> setPortForConeScan 1:1:void setPortForDetect(short):28:28 -> setPortForDetect 1:1:void setSymmetricNat(boolean):26:26 -> setSymmetricNat 1:1:void setTimesForConeScan(short):30:30 -> setTimesForConeScan 1:1:void setTseq(short):46:46 -> setTseq 1:1:void setTurnSeq(int):35:35 -> setTurnSeq 1:1:void setUid(long):19:19 -> setUid 1:1:java.lang.String toString():186:186 -> toString ai.neuvision.sdk.sdwan.transport.relay.RegisterInfo -> ai.neuvision.sdk.sdwan.transport.relay.RegisterInfo: 1:1:void (int,java.lang.String):35:35 -> 1:1:java.lang.String getInnerIp():35:35 -> getInnerIp 1:1:int getSeq():35:35 -> getSeq 1:1:java.lang.String toJson():37:37 -> toJson 1:1:byte[] toJsonData():41:41 -> toJsonData ai.neuvision.sdk.sdwan.transport.relay.SeqPair -> ai.neuvision.sdk.sdwan.transport.relay.SeqPair: 1:1:void (int,int):13:13 -> 1:1:int getMe():13:13 -> getMe 1:1:int getPeer():13:13 -> getPeer 1:1:java.lang.String toJson():15:15 -> toJson 1:1:byte[] toJsonData():19:19 -> toJsonData ai.neuvision.sdk.sdwan.transport.relay.UdpMessage -> ai.neuvision.sdk.sdwan.transport.relay.UdpMessage: 1:1:void ():227:227 -> 2:8:void (ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType,long,long,long,java.nio.ByteBuffer,java.nio.ByteBuffer):230:236 -> 1:8:int getRawDataLen():370:377 -> a 1:7:java.lang.String byteBufferToString(java.nio.ByteBuffer):431:437 -> byteBufferToString 1:1:java.lang.Object clone():16:16 -> clone 2:13:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage clone():272:283 -> clone 1:22:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage copy():396:417 -> copy 1:18:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage createFromObfuscatedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf):325:342 -> createFromObfuscatedData 19:20:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage createFromObfuscatedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf):331:332 -> createFromObfuscatedData 1:39:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage createFromRawBytes(java.nio.ByteBuffer):184:222 -> createFromRawBytes 1:1:boolean hasFlag(int):383:383 -> hasFlag 1:1:int netTrafficSize():365:365 -> netTrafficSize 1:1:void removeFlag(int):391:391 -> removeFlag 1:11:void reset():258:268 -> reset 1:5:void setDest(long):240:244 -> setDest 1:5:void setExtra(java.nio.ByteBuffer):249:253 -> setExtra 1:1:void setFlag(int):387:387 -> setFlag 1:6:java.nio.ByteBuffer toObfucatedData():316:321 -> toObfucatedData 1:22:java.nio.ByteBuffer toRawBuffer(java.nio.ByteBuffer):289:310 -> toRawBuffer 1:1:java.lang.String toString():425:425 -> toString ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgExtraType -> ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgExtraType: 1:1:void ():141:141 -> ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType -> ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType: 1:39:void ():20:58 -> 40:40:void ():19:19 -> 1:2:void (java.lang.String,int,int):60:61 -> 1:2:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):123:124 -> getByType 3:3:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):121:121 -> getByType 4:4:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):119:119 -> getByType 5:5:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):117:117 -> getByType 6:6:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):111:111 -> getByType 7:7:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):109:109 -> getByType 8:8:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):107:107 -> getByType 9:9:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):105:105 -> getByType 10:10:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):101:101 -> getByType 11:11:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):99:99 -> getByType 12:12:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):97:97 -> getByType 13:13:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):95:95 -> getByType 14:14:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):93:93 -> getByType 15:15:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):91:91 -> getByType 16:16:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):87:87 -> getByType 17:17:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):85:85 -> getByType 18:18:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):83:83 -> getByType 19:19:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):81:81 -> getByType 20:20:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):79:79 -> getByType 21:21:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):77:77 -> getByType 22:22:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):75:75 -> getByType 23:65:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):73:115 -> getByType 66:66:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):113:113 -> getByType 67:67:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):103:103 -> getByType 68:68:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType getByType(int):89:89 -> getByType 1:1:short getType():67:67 -> getType 1:1:boolean isVideo():134:134 -> isVideo 1:1:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType valueOf(java.lang.String):19:19 -> valueOf 1:1:ai.neuvision.sdk.sdwan.transport.relay.UdpMessage$UdpMsgType[] values():19:19 -> values ai.neuvision.sdk.sdwan.transport.relay.UdpTester -> ai.neuvision.sdk.sdwan.transport.relay.UdpTester: int[] last -> f ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket socket -> b int[] rtt -> d int countLast -> h short testSeq -> i java.util.List relayList -> c int[] best -> e int countBest -> g java.lang.String TAG -> a 1:1:int[] access$getLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20:20 -> 1:1:void ():20 -> 2:7:void ():21:26 -> 1:8:void stopTest():137:144 -> a 1:1:int[] access$getLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20:20 -> access$getBest$p 1:1:int[] access$getBest$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20 -> access$getBest$p 1:1:int[] access$getLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20:20 -> access$getCountBest$p 1:1:int access$getCountBest$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20 -> access$getCountBest$p 1:1:int[] access$getLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20:20 -> access$getCountLast$p 1:1:int access$getCountLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20 -> access$getCountLast$p 1:1:int[] access$getLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20:20 -> access$getLast$p 1:1:int[] access$getLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20:20 -> access$getRelayList$p 1:1:java.util.List access$getRelayList$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20 -> access$getRelayList$p 1:1:int[] access$getLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20:20 -> access$getRtt$p 1:1:int[] access$getRtt$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20 -> access$getRtt$p 1:1:int[] access$getLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20:20 -> access$getTestSeq$p 1:1:short access$getTestSeq$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20 -> access$getTestSeq$p 1:1:int[] access$getLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20:20 -> access$setCountBest$p 1:1:void access$setCountBest$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester,int):20 -> access$setCountBest$p 1:1:int[] access$getLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20:20 -> access$setCountLast$p 1:1:void access$setCountLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester,int):20 -> access$setCountLast$p 1:1:int[] access$getLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20:20 -> access$setRelayList$p 1:1:void access$setRelayList$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester,java.util.List):20 -> access$setRelayList$p 1:1:int[] access$getLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20:20 -> access$setTestSeq$p 1:1:void access$setTestSeq$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester,short):20 -> access$setTestSeq$p 1:1:int[] access$getLast$p(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20:20 -> access$stopTest 1:1:void access$stopTest(ai.neuvision.sdk.sdwan.transport.relay.UdpTester):20 -> access$stopTest 1:33:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):149:181 -> onReceivedData 34:34:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):154:154 -> onReceivedData 1:94:java.util.ArrayList suggestedRelays():95:188 -> suggestedRelays 95:128:java.util.ArrayList suggestedRelays():98:131 -> suggestedRelays 129:129:java.util.ArrayList suggestedRelays():95:95 -> suggestedRelays 1:38:void testRelays(java.util.List):33:33 -> testRelays ai.neuvision.sdk.sdwan.transport.relay.UdpTester$testRelays$$inlined$synchronized$lambda$1 -> ai.neuvision.sdk.sdwan.transport.relay.UdpTester$a: int $num -> b short $currSeq -> a ai.neuvision.sdk.sdwan.transport.relay.UdpTester this$0 -> c 1:18:void run():70:87 -> run ai.neuvision.sdk.sdwan.transport.relay.YCKRelayDetail -> ai.neuvision.sdk.sdwan.transport.relay.YCKRelayDetail: boolean turnRegistered -> a ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail correspondParticipant -> b 1:1:void ():8:8 -> 1:6:ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail getCorrespondParticipant():48:53 -> getCorrespondParticipant 1:9:boolean getTurnRegistered():30:38 -> getTurnRegistered 1:1:void setCorrespondParticipant(ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail):57:57 -> setCorrespondParticipant 1:1:void setTurnRegistered(boolean):43:43 -> setTurnRegistered 1:1:java.lang.String toString():63:63 -> toString ai.neuvision.sdk.sdwan.transport.relay.YCKUdpSocket -> ai.neuvision.sdk.sdwan.transport.relay.YCKUdpSocket: 1:3:void (long,long):13:15 -> 1:1:ai.neuvision.sdk.sdwan.transport.relay.YCKUdpSocket$OnReceivedUmsgListener getListener():39:39 -> getListener 1:1:void setListener(ai.neuvision.sdk.sdwan.transport.relay.YCKUdpSocket$OnReceivedUmsgListener):43:43 -> setListener ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf -> ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf: ai.neuvision.sdk.sdwan.transport.relay.impl.SharedBuffer container -> b long startTime -> a java.nio.ByteBuffer buffer -> d int position -> c 1:2:void (ai.neuvision.sdk.sdwan.transport.relay.impl.SharedBuffer,int,java.nio.ByteBuffer):16:17 -> 1:1:java.nio.ByteBuffer getBuffer():16:16 -> getBuffer 1:1:int getPosition():16:16 -> getPosition 1:15:void recycle():24:38 -> recycle 1:1:void start():20:20 -> start ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket -> ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket: int sThumbVideoICount -> O int[] relaySend -> s int sVideoICount -> K ai.neuvision.sdk.sdwan.transport.relay.YCKUdpSocket$OnReceivedUmsgListener listener -> b int sAudioCount -> G long uid -> l0 ai.neuvision.sdk.utils.CanWriteFailCopyOnWriteMap turnParticipants -> k java.util.TreeSet deduplicate -> f int sVideoPCountRecv -> X int sumRelaySend -> y java.lang.String TAG -> a int sOtherBytes -> T int relaySendPerSecond -> u int sThumbVideoIBytes -> P int sThumbVideoICountRecv -> d0 int sVideoIBytes -> L int sThumbVideoPCountRecv -> b0 int currentTurnSeq -> m int[] p2pRecv -> r int sOtherCountRecv -> h0 int sAudioBytes -> H int sDataCountRecv -> f0 int readCount -> j0 long lastUpdateTime -> C int p2pEnabledRatio -> n0 java.util.Timer timer -> i int sumRelayRecv -> z java.util.List relays -> k0 int sVideoPBytesRecv -> Y int p2pSendPerSecond -> v int[] p2pSend -> q int logCountR -> U int sDataCount -> Q int currentMaxP2pRelayNum -> n int sThumbVideoPCount -> M ai.neuvision.sdk.sdwan.transport.relay.UdpMessage pendingUmsg -> e int p2pSuggestRatio -> j int sVideoPCount -> I java.util.ArrayList relayDetails -> c long sessionId -> m0 int sumP2pSend -> A com.google.gson.Gson gson -> D int sVideoICountRecv -> Z ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail me -> l boolean realClose -> E int sAudioCountRecv -> V int p2pForward -> w int sDataBytes -> R int sThumbVideoPBytes -> N int bandwidthMarginRatioForP2pRelay -> o int sThumbVideoPBytesRecv -> c0 int sVideoIBytesRecv -> a0 int sVideoPBytes -> J int sDataBytesRecv -> g0 int[] relayRecv -> t int sThumbVideoIBytesRecv -> e0 int sTiCount -> F int timerRepeatTime -> g int sOtherBytesRecv -> i0 ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket socket -> h int sumP2pRecv -> B int p2pRecvForward -> x java.util.LinkedList activeParticipants -> d int sAudioBytesRecv -> W int sOtherCount -> S int repeatTimeOfSendRelayEnable -> p 1:1:void access$setMe$li(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket,ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail):35:35 -> 1:1:void (java.util.List,long,long,int):35 -> 2:2460:void (java.util.List,long,long,int):39:2497 -> 2461:2481:void (java.util.List,long,long,int):110:130 -> 1:2262:void stopUdpSocket(java.lang.String):197:2458 -> a 2263:2270:void stopUdpSocket(java.lang.String):200:207 -> a 2271:2271:void stopUdpSocket(java.lang.String):198:198 -> a 2272:2274:void startCheckTurnRegister():220:222 -> a 2275:2286:void turnRegister(ai.neuvision.sdk.sdwan.transport.relay.YCKRelayDetail):271:282 -> a 2287:2295:void turnUnRegister(ai.neuvision.sdk.sdwan.transport.relay.YCKRelayDetail,java.nio.ByteBuffer):286:294 -> a 2287:2295:void turnUnRegister$default(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket,ai.neuvision.sdk.sdwan.transport.relay.YCKRelayDetail,java.nio.ByteBuffer,int,java.lang.Object):285 -> a 2296:2296:void innerSend(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage,java.net.InetSocketAddress):301:301 -> a 2297:3894:void checkIfCanBeP2pRelay(int):873:2470 -> a 3895:3896:void checkIfCanBeP2pRelay(int):876:877 -> a 3897:5496:void checkIfCanBeP2pRelay(int):873:2472 -> a 5497:5502:void checkIfCanBeP2pRelay(int):972:977 -> a 5503:5519:void checkIfCanBeP2pRelay(int):970:970 -> a 5537:5537:void checkIfCanBeP2pRelay(int):988:988 -> a 5538:5538:void checkIfCanBeP2pRelay(int):873:873 -> a 5539:5586:ai.neuvision.sdk.sdwan.transport.relay.YCKRelayDetail selectBestPriorRelayIncludeP2pRelay(boolean):1088:1135 -> a 5587:5607:boolean p2pRelayHandleMessage(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):2173:2193 -> a 5608:5667:boolean p2pRelayHandleMessage(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):2192:2251 -> a 5668:5678:boolean p2pRelayHandleMessage(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):2238:2248 -> a 5679:5688:boolean p2pRelayHandleMessage(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):2226:2235 -> a 5689:5840:boolean p2pRelayHandleMessage(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):2214:2365 -> a 5841:5852:boolean p2pRelayHandleMessage(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):2265:2276 -> a 5853:6071:boolean p2pRelayHandleMessage(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):2274:2492 -> a 6072:6080:boolean p2pRelayHandleMessage(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):2287:2295 -> a 6081:6150:boolean p2pRelayHandleMessage(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):2291:2360 -> a 6151:6151:boolean p2pRelayHandleMessage(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):2352:2352 -> a 6152:6152:boolean p2pRelayHandleMessage(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):2285:2285 -> a 6153:6153:boolean p2pRelayHandleMessage(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):2192:2192 -> a 1:32:void checkTurnRegister():233:264 -> access$checkTurnRegister 1:32:void access$checkTurnRegister(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket):35 -> access$checkTurnRegister 33:33:void checkTurnRegister():234:234 -> access$checkTurnRegister 33:33:void access$checkTurnRegister(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket):35 -> access$checkTurnRegister 1:1:void access$setMe$li(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket,ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail):35:35 -> access$getMe$li 1:1:ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail access$getMe$li(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket):35 -> access$getMe$li 1:1:void access$setMe$li(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket,ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail):35:35 -> access$getMe$p 1:1:ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail access$getMe$p(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket):35 -> access$getMe$p 1:1:void access$setMe$li(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket,ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail):35:35 -> access$getTimer$p 1:1:java.util.Timer access$getTimer$p(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket):35 -> access$getTimer$p 1:1:void access$setMe$li(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket,ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail):35:35 -> access$getTimerRepeatTime$p 1:1:int access$getTimerRepeatTime$p(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket):35 -> access$getTimerRepeatTime$p 1:1:void access$setMe$li(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket,ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail):35:35 -> access$setMe$li 1:1:void access$setMe$li(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket,ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail):35:35 -> access$setMe$p 1:1:void access$setMe$p(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket,ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail):35 -> access$setMe$p 1:1:void access$setMe$li(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket,ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail):35:35 -> access$setTimer$p 1:1:void access$setTimer$p(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket,java.util.Timer):35 -> access$setTimer$p 1:1:void access$setMe$li(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket,ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail):35:35 -> access$setTimerRepeatTime$p 1:1:void access$setTimerRepeatTime$p(ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket,int):35 -> access$setTimerRepeatTime$p 1:8:int innerSendWithRandomExtra(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage,java.net.InetSocketAddress):305:312 -> b 9:1489:java.util.List selectBestRelaysIncludeP2pRelay(boolean):994:2474 -> b 1490:1499:java.util.List selectBestRelaysIncludeP2pRelay(boolean):1021:1030 -> b 1:41:ai.neuvision.sdk.sdwan.transport.relay.YCKRelayDetail selectPriorRelayIncludeP2pRelay(boolean):1039:1079 -> c 1:104:void changeRelay(java.util.HashMap):2391:2494 -> changeRelay 105:148:void changeRelay(java.util.HashMap):2394:2437 -> changeRelay 149:193:void changeRelay(java.util.HashMap):2396:2440 -> changeRelay 1:3:void close():213:215 -> close 1:13:ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail correspondParticipantOfTid(int):2372:2384 -> correspondParticipantOfTid 14:14:ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail correspondParticipantOfTid(int):2383:2383 -> correspondParticipantOfTid 15:15:ai.neuvision.sdk.sdwan.transport.relay.ParticipantDetail correspondParticipantOfTid(int):2378:2378 -> correspondParticipantOfTid 1:1:void (java.util.List,long,long,int):43:43 -> getActiveParticipants 1:1:java.util.LinkedList getActiveParticipants():43 -> getActiveParticipants 1:1:void setListener(ai.neuvision.sdk.sdwan.transport.relay.YCKUdpSocket$OnReceivedUmsgListener):40:40 -> getListener 1:1:ai.neuvision.sdk.sdwan.transport.relay.YCKUdpSocket$OnReceivedUmsgListener getListener():40 -> getListener 1:1:void setMetrix(ai.neuvision.sdk.sdwan.metrix.Metrix):41:41 -> getMetrix 1:1:ai.neuvision.sdk.sdwan.metrix.Metrix getMetrix():41 -> getMetrix 1:3:void onNetworkStateChange(android.net.NetworkInfo):2445:2447 -> onNetworkStateChange 1:25:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1143:1167 -> onReceivedData 26:34:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1166:1166 -> onReceivedData 47:92:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1179:1224 -> onReceivedData 93:94:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1201:1202 -> onReceivedData 95:96:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1196:1197 -> onReceivedData 97:118:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1191:1212 -> onReceivedData 119:148:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1206:1235 -> onReceivedData 149:154:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1234:1234 -> onReceivedData 163:167:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1243:1247 -> onReceivedData 168:175:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1246:1246 -> onReceivedData 189:1416:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1260:2487 -> onReceivedData 1417:1445:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1704:1732 -> onReceivedData 1446:2233:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1702:2489 -> onReceivedData 2234:2237:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1751:1754 -> onReceivedData 2238:2248:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1752:1762 -> onReceivedData 2249:2280:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1749:1780 -> onReceivedData 2281:2281:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1769:1769 -> onReceivedData 2282:2282:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1749:1749 -> onReceivedData 2283:2420:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1702:1839 -> onReceivedData 2421:2451:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1838:1868 -> onReceivedData 2452:2477:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1845:1870 -> onReceivedData 2478:2520:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1838:1880 -> onReceivedData 2521:2563:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1879:1921 -> onReceivedData 2564:2564:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1919:1919 -> onReceivedData 2565:2565:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1888:1888 -> onReceivedData 2566:2606:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1884:1924 -> onReceivedData 2607:2655:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1879:1927 -> onReceivedData 2656:2660:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1797:1801 -> onReceivedData 2661:3506:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1298:2143 -> onReceivedData 3507:3507:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):2124:2124 -> onReceivedData 3508:3508:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):2120:2120 -> onReceivedData 3509:3533:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1991:2015 -> onReceivedData 3534:3563:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):2014:2043 -> onReceivedData 3564:3569:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):2019:2024 -> onReceivedData 3570:3570:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):2014:2014 -> onReceivedData 3571:3638:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):2008:2075 -> onReceivedData 3639:3663:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):2074:2074 -> onReceivedData 3664:3664:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):2067:2067 -> onReceivedData 3665:3689:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1932:1956 -> onReceivedData 3690:3722:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1955:1955 -> onReceivedData 3723:3727:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1946:1950 -> onReceivedData 3728:4884:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1320:2476 -> onReceivedData 4885:4889:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1378:1382 -> onReceivedData 4890:4912:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1376:1398 -> onReceivedData 4913:4926:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1397:1410 -> onReceivedData 4927:4957:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1409:1439 -> onReceivedData 4958:5040:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1438:1438 -> onReceivedData 5041:5041:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1409:1409 -> onReceivedData 5042:6123:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1397:2478 -> onReceivedData 6124:6153:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1525:1554 -> onReceivedData 6154:7082:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1553:2481 -> onReceivedData 7083:7088:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1561:1566 -> onReceivedData 7089:8006:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1565:2482 -> onReceivedData 8007:8007:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1587:1587 -> onReceivedData 8008:8907:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1585:2484 -> onReceivedData 8908:8908:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1607:1607 -> onReceivedData 8909:8990:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1604:1604 -> onReceivedData 8991:8991:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1565:1565 -> onReceivedData 8992:9329:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1353:1690 -> onReceivedData 9330:9330:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1340:1340 -> onReceivedData 9331:9335:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1289:1293 -> onReceivedData 9336:10219:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1275:2158 -> onReceivedData 10220:10222:void onReceivedData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):1283:1285 -> onReceivedData 1:28:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):355:382 -> sendUmsg 29:30:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):365:366 -> sendUmsg 31:32:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):361:362 -> sendUmsg 33:54:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):357:378 -> sendUmsg 55:56:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):373:374 -> sendUmsg 57:76:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):369:388 -> sendUmsg 77:82:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):387:392 -> sendUmsg 83:104:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):391:412 -> sendUmsg 105:111:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):410:416 -> sendUmsg 112:2158:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):414:2460 -> sendUmsg 2159:2167:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):460:468 -> sendUmsg 2168:2195:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):448:448 -> sendUmsg 2223:4209:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):476:2462 -> sendUmsg 4210:4213:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):556:559 -> sendUmsg 4214:4230:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):554:554 -> sendUmsg 4248:6140:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):572:2464 -> sendUmsg 6141:6151:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):582:592 -> sendUmsg 6152:8040:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):578:2466 -> sendUmsg 8041:8043:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):615:617 -> sendUmsg 8044:8044:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):613:613 -> sendUmsg 8045:8045:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):578:578 -> sendUmsg 8046:8498:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):391:843 -> sendUmsg 8499:8511:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):835:847 -> sendUmsg 8512:8517:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):815:820 -> sendUmsg 8518:8526:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):659:667 -> sendUmsg 8527:8565:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):666:704 -> sendUmsg 8566:8665:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):676:775 -> sendUmsg 8666:8723:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):750:807 -> sendUmsg 8724:8724:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):659:659 -> sendUmsg 8725:8731:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):644:650 -> sendUmsg 8732:10566:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):634:2468 -> sendUmsg 10567:10790:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):635:858 -> sendUmsg 10791:10791:void sendUmsg(ai.neuvision.sdk.sdwan.transport.relay.UdpMessage):387:387 -> sendUmsg 1:2408:void setActiveParticipants(java.util.LinkedList):45:2452 -> setActiveParticipants 2409:2411:void setActiveParticipants(java.util.LinkedList):52:54 -> setActiveParticipants 2412:2429:void setActiveParticipants(java.util.LinkedList):50:50 -> setActiveParticipants 1:1:void setListener(ai.neuvision.sdk.sdwan.transport.relay.YCKUdpSocket$OnReceivedUmsgListener):40:40 -> setListener 1:1:void setMetrix(ai.neuvision.sdk.sdwan.metrix.Metrix):41:41 -> setMetrix 1:2320:void startUdpSocket():135:2454 -> startUdpSocket 2321:2328:void startUdpSocket():145:152 -> startUdpSocket 2329:2338:void startUdpSocket():149:158 -> startUdpSocket 2339:4631:void resetInitialization():164:2456 -> startUdpSocket 2339:4631:void startUdpSocket():159 -> startUdpSocket 4632:4634:void resetInitialization():166:168 -> startUdpSocket 4632:4634:void startUdpSocket():159 -> startUdpSocket 4635:4659:void resetInitialization():164:164 -> startUdpSocket 4635:4659:void startUdpSocket():159 -> startUdpSocket ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket$onReceivedData$10 -> ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket$onReceivedData$10: 1:1:void ():1795:1795 -> ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket$onReceivedData$5 -> ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket$onReceivedData$5: 1:1:void ():1338:1338 -> ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket$startCheckTurnRegister$$inlined$timer$1 -> ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket$startCheckTurnRegister$$inlined$timer$1: ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket this$0 -> a 1:1:void (ai.neuvision.sdk.sdwan.transport.relay.impl.MediaUdpSocket):146:146 -> 1:5:void run():149:153 -> run ai.neuvision.sdk.sdwan.transport.relay.impl.SharedBuffer -> ai.neuvision.sdk.sdwan.transport.relay.impl.SharedBuffer: int mIncreaseStep -> f int mBufferSize -> e int mCapacity -> b byte[] mBufferPositions -> d byte[] mBuffer -> c int MAX_CAPACITY -> a 1:13:void (int,int,int):15:27 -> 14:14:void (int,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):15:15 -> 1:31:ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf get():38:68 -> get 1:1:void recycle(int):73:73 -> recycle ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket -> ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket: long lastSendFailedTotalSize -> j long opNotPermittedStartTime -> k int count -> m java.nio.channels.DatagramChannel datagramChannel -> b boolean sendSucceeded -> l int localPort -> f java.lang.String name -> o ai.neuvision.sdk.sdwan.executors.SingleThreadExecutors readExecutor -> g ai.neuvision.sdk.sdwan.executors.SingleThreadExecutors sendExecutor -> h ai.neuvision.sdk.sdwan.transport.relay.impl.SharedBuffer mBuffer -> i java.lang.Thread readThread -> e java.lang.String TAG -> a ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket$OnReceivedDataListener listener -> c long lastReceiveTime -> n boolean isClosed -> d 1:43:void (java.lang.String,int):26:68 -> 44:46:void (java.lang.String,int):61:63 -> 47:106:void (java.lang.String,int):56:115 -> 1:6:void bindPort(int):89:94 -> a 1:13:void doRead():161:173 -> access$doRead 1:13:void access$doRead(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket):26 -> access$doRead 14:14:void doRead():162:162 -> access$doRead 14:14:void access$doRead(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket):26 -> access$doRead 1:1:java.nio.channels.DatagramChannel access$getDatagramChannel$p(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket):26:26 -> access$getDatagramChannel$p 1:1:long access$getLastSendFailedTotalSize$p(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket):26:26 -> access$getLastSendFailedTotalSize$p 1:1:long access$getOpNotPermittedStartTime$p(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket):26:26 -> access$getOpNotPermittedStartTime$p 1:1:ai.neuvision.sdk.sdwan.executors.SingleThreadExecutors access$getReadExecutor$p(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket):26:26 -> access$getReadExecutor$p 1:1:java.lang.Thread access$getReadThread$p(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket):26:26 -> access$getReadThread$p 1:1:ai.neuvision.sdk.sdwan.executors.SingleThreadExecutors access$getSendExecutor$p(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket):26:26 -> access$getSendExecutor$p 1:1:boolean access$getSendSucceeded$p(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket):26:26 -> access$getSendSucceeded$p 1:206:void processReceiveData(ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):0:205 -> access$processReceiveData 1:206:void access$processReceiveData(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket,ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf,java.net.InetSocketAddress):26 -> access$processReceiveData 1:1:void access$setDatagramChannel$p(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket,java.nio.channels.DatagramChannel):26:26 -> access$setDatagramChannel$p 1:1:void access$setLastSendFailedTotalSize$p(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket,long):26:26 -> access$setLastSendFailedTotalSize$p 1:1:void access$setOpNotPermittedStartTime$p(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket,long):26:26 -> access$setOpNotPermittedStartTime$p 1:1:void access$setReadThread$p(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket,java.lang.Thread):26:26 -> access$setReadThread$p 1:1:void access$setSendSucceeded$p(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket,boolean):26:26 -> access$setSendSucceeded$p 1:2:void close():210:211 -> close 1:1:java.lang.String getInnerIp():225:225 -> getInnerIp 1:14:java.lang.String getIpAddress():231:244 -> getIpAddress 1:1:ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket$OnReceivedDataListener getListener():29:29 -> getListener 1:1:boolean isClosed():32:32 -> isClosed 1:2:void send(java.nio.ByteBuffer,java.net.SocketAddress):117:118 -> send 3:9:void send(byte[],java.net.SocketAddress):251:257 -> send 1:1:void setClosed(boolean):32:32 -> setClosed 1:1:void setListener(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket$OnReceivedDataListener):29:29 -> setListener 1:7:void start(boolean):75:81 -> start 8:8:void initReadThread():99:99 -> start 8:8:void start(boolean):82 -> start 9:9:void start(boolean):75:75 -> start 1:1:void start$default(ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket,boolean,int,java.lang.Object):74:74 -> start$default ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket$Companion -> ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket$Companion: 1:1:void ():41:41 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):41:41 -> ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket$close$1 -> ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket$a: ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket this$0 -> a 1:6:void run():212:217 -> run 7:7:void run():213:213 -> run 8:10:void run():212:212 -> run ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket$doRead$1 -> z: java.net.InetSocketAddress $address -> c ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket this$0 -> a ai.neuvision.sdk.sdwan.transport.relay.impl.ByteBuf $buf -> b 1:1:void run():173:173 -> run ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket$initReadThread$1 -> a0: ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket this$0 -> a 1:3:void invoke():100:102 -> invoke 1:3:java.lang.Object invoke():26 -> invoke 4:4:java.lang.Object invoke():26:26 -> invoke ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket$send$1 -> ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket$b: java.net.SocketAddress $address -> c ai.neuvision.sdk.sdwan.transport.relay.impl.UdpSocket this$0 -> a java.nio.ByteBuffer $src -> b 1:19:void run():125:143 -> run 20:26:void run():134:140 -> run ai.neuvision.sdk.sdwan.transport.relay.impl.YCKUmsgStat -> ai.neuvision.sdk.sdwan.transport.relay.impl.YCKUmsgStat: 1:1:void ():6:6 -> 1:1:java.lang.String toString():19:19 -> toString ai.neuvision.sdk.sdwan.utils.CallUtils -> ai.neuvision.sdk.sdwan.utils.CallUtils: 1:1:void ():4:4 -> 1:1:void ():4:4 -> ai.neuvision.sdk.sdwan.utils.CallUtilsKt -> ai.neuvision.sdk.sdwan.utils.CallUtilsKt: 1:1:boolean isRecordRobot(long):17:17 -> isRecordRobot 1:2:boolean isRobot(long):11:12 -> isRobot ai.neuvision.sdk.sdwan.utils.GZipUtils -> ai.neuvision.sdk.sdwan.utils.GZipUtils: 1:1:void ():15:15 -> 1:1:void ():15:15 -> 1:8:byte[] compress(byte[]):18:25 -> compress 9:16:byte[] compress(byte[]):23:30 -> compress 17:17:byte[] compress(byte[]):27:27 -> compress 18:18:byte[] compress(byte[]):23:23 -> compress 1:10:byte[] compress2(byte[]):35:44 -> compress2 1:8:byte[] decompress(byte[]):49:56 -> decompress 9:16:byte[] decompress(byte[]):54:61 -> decompress 17:17:byte[] decompress(byte[]):58:58 -> decompress 18:18:byte[] decompress(byte[]):54:54 -> decompress 1:7:byte[] decompress2(byte[]):66:72 -> decompress2 8:15:byte[] decompress2(byte[]):70:77 -> decompress2 16:16:byte[] decompress2(byte[]):74:74 -> decompress2 17:17:byte[] decompress2(byte[]):70:70 -> decompress2 1:6:void main(java.lang.String[]):104:109 -> main ai.neuvision.sdk.sdwan.utils.NumberUtil -> ai.neuvision.sdk.sdwan.utils.NumberUtil: 1:1:void ():6:6 -> ai.neuvision.sdk.sdwan.utils.RandomKt -> ai.neuvision.sdk.sdwan.utils.RandomKt: 1:1:boolean randomOutput(int):12:12 -> randomOutput 1:1:boolean randomOutput$default(int,int,java.lang.Object):11:11 -> randomOutput$default ai.neuvision.sdk.sdwan.utils.YCKObfuscate -> ai.neuvision.sdk.sdwan.utils.YCKObfuscate: char[] obfDict -> a byte[] obfDictReal -> b 1:520:void ():10:529 -> 1:1:void ():8:8 -> 1:1:int XorJava(byte[],int,int,byte[],long,int):538:538 -> XorJava 1:11:byte[] geDataFromObfuscated(byte[],int,int,boolean):564:574 -> geDataFromObfuscated 1:8:byte[] obfuscateData(byte[],int,int,byte[]):544:551 -> obfuscateData ai.neuvision.sdk.service.NeuVisionService -> ai.neuvision.sdk.service.NeuVisionService: ai.neuvision.kit.session.interf.ISessionState mSessionStateListener -> a 1:23:void ():35:57 -> 1:1:void onCreate():94:94 -> onCreate 2:2:void startForeground():106:106 -> onCreate 2:2:void onCreate():95 -> onCreate 1:3:void onDestroy():100:102 -> onDestroy 1:1:void startForeground():106:106 -> onStartCommand 1:1:int onStartCommand(android.content.Intent,int,int):86 -> onStartCommand 2:3:int onStartCommand(android.content.Intent,int,int):87:88 -> onStartCommand ai.neuvision.sdk.service.NeuVisionService$1 -> ai.neuvision.sdk.service.NeuVisionService$a: ai.neuvision.sdk.service.NeuVisionService this$0 -> a 1:1:void (ai.neuvision.sdk.service.NeuVisionService):57:57 -> 1:13:void onReceiveInvite(long,long,java.lang.String,java.util.List,boolean,ai.neuvision.kit.session.CallType,boolean):62:74 -> onReceiveInvite ai.neuvision.sdk.thread.BackgroundThread -> ai.neuvision.sdk.thread.BackgroundThread: 1:1:void ():11:11 -> 2:2:void (java.lang.Runnable):15:15 -> 3:3:void (java.lang.ThreadGroup,java.lang.Runnable):19:19 -> 4:4:void (java.lang.String):23:23 -> 5:5:void (java.lang.ThreadGroup,java.lang.String):27:27 -> 6:6:void (java.lang.Runnable,java.lang.String):31:31 -> 7:7:void (java.lang.ThreadGroup,java.lang.Runnable,java.lang.String):35:35 -> 8:8:void (java.lang.ThreadGroup,java.lang.Runnable,java.lang.String,long):39:39 -> 1:2:void run():44:45 -> run 1:1:void runT():49:49 -> runT ai.neuvision.sdk.thread.CancelableRunnable -> ai.neuvision.sdk.thread.CancelableRunnable: 1:2:void ():3:4 -> 1:1:boolean isCancelled():7:7 -> isCancelled 1:1:void setCancelled(boolean):11:11 -> setCancelled ai.neuvision.sdk.thread.ShowExceptionRunnable -> ai.neuvision.sdk.thread.ShowExceptionRunnable: java.lang.Runnable mOrigin -> b boolean mCheckDuration -> a java.lang.Exception mStackTrace -> c 1:1:void (java.lang.Runnable):14:14 -> 2:14:void (java.lang.Runnable):9:21 -> 15:15:void (java.lang.Runnable):16:16 -> 16:16:void (java.lang.Runnable,boolean):24:24 -> 17:40:void (java.lang.Runnable,boolean):9:32 -> 41:41:void (java.lang.Runnable,boolean):26:26 -> 1:31:void run():38:68 -> run 32:49:void run():42:59 -> run 50:64:void run():55:69 -> run 1:1:java.lang.String toString():74:74 -> toString ai.neuvision.sdk.thread.ShowExceptionRunnable$1 -> ai.neuvision.sdk.thread.ShowExceptionRunnable$a: java.lang.Throwable val$e -> a 1:1:void (ai.neuvision.sdk.thread.ShowExceptionRunnable,java.lang.Throwable):47:47 -> 1:1:void run():51:51 -> run ai.neuvision.sdk.thread.ThreadPool -> ai.neuvision.sdk.thread.ThreadPool: 1:8:void ():34:41 -> 1:1:void ():31:31 -> 1:1:java.util.concurrent.ThreadFactory createThreadFactory(java.lang.String,boolean):185:185 -> createThreadFactory 1:1:java.util.concurrent.ExecutorService getPoolExecutor():60:60 -> getPoolExecutor 1:1:android.os.Handler getUiHandler():79:79 -> getUiHandler 1:2:android.os.Handler getWorkerHandler():112:113 -> getWorkerHandler 1:2:android.os.Looper getWorkerLooper():107:108 -> getWorkerLooper 1:10:void initWorkHandler():117:126 -> initWorkHandler 1:1:void postOnPoolDelayed(java.lang.Runnable,int):51:51 -> postOnPoolDelayed 1:4:void postOnUiDelayed(java.lang.Runnable,int):72:75 -> postOnUiDelayed 1:5:void postOnWorkerDelayed(java.lang.Runnable,int):99:103 -> postOnWorkerDelayed 1:4:void runOnPool(java.lang.Runnable):44:47 -> runOnPool 1:1:void runOnScheduleQueue(java.lang.Runnable):138:138 -> runOnScheduleQueue 1:1:void runOnUi(java.lang.Runnable):68:68 -> runOnUi 1:1:void runOnUiWithPriority(java.lang.Runnable):64:64 -> runOnUiWithPriority 1:5:void runOnWorker(java.lang.Runnable):91:95 -> runOnWorker 1:5:void runOnWorkerWithPriority(java.lang.Runnable):83:87 -> runOnWorkerWithPriority 1:1:java.util.concurrent.ScheduledFuture schedule(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit):134:134 -> schedule 1:2:void shutdown():179:180 -> shutdown 1:21:void startup(boolean):143:163 -> startup ai.neuvision.sdk.thread.ThreadPool$1 -> ai.neuvision.sdk.thread.ThreadPool$a: java.lang.Runnable val$r -> a 1:1:void (java.lang.Runnable):51:51 -> 1:1:void run():54:54 -> run ai.neuvision.sdk.thread.ThreadPool$3 -> ai.neuvision.sdk.thread.ThreadPool$b: java.lang.String val$purpose -> b boolean val$highPriority -> c int count -> a 1:2:void (java.lang.String,boolean):185:186 -> 1:8:java.lang.Thread newThread(java.lang.Runnable):190:197 -> newThread ai.neuvision.sdk.utils.AbstractMetrixItem -> ai.neuvision.sdk.utils.AbstractMetrixItem: java.util.List history -> a java.lang.Object currValue -> b 1:1:void (ai.neuvision.sdk.utils.AbstractMetrixItem$MetrixSameTickBase):100:100 -> 2:88:void (ai.neuvision.sdk.utils.AbstractMetrixItem$MetrixSameTickBase):15:101 -> 1:11:boolean addValue(java.lang.Object):137:147 -> addValue 1:4:void clear():130:133 -> clear 1:1:java.lang.Object getCurrValue():95:95 -> getCurrValue 1:1:java.util.List getHistory():156:156 -> getHistory 1:2:java.lang.Object lastMeasuredValue():164:165 -> lastMeasuredValue ai.neuvision.sdk.utils.AbstractMetrixItem$MetrixSameTickBase -> ai.neuvision.sdk.utils.AbstractMetrixItem$MetrixSameTickBase: 1:6:void (int,java.util.concurrent.ScheduledExecutorService):63:68 -> 7:8:void (int,java.util.concurrent.ScheduledExecutorService):64:65 -> 1:1:void lambda$onValueAdd$0():31:31 -> a 1:10:void measureTask():43:52 -> b 1:10:void onValueAdd():26:35 -> c 1:11:ai.neuvision.sdk.utils.AbstractMetrixItem ai.neuvision.sdk.utils.AbstractMetrixItem.measure(long):109:119 -> measureItem 1:11:ai.neuvision.sdk.utils.AbstractMetrixItem measureItem(ai.neuvision.sdk.utils.AbstractMetrixItem,long):56 -> measureItem 12:12:ai.neuvision.sdk.utils.AbstractMetrixItem ai.neuvision.sdk.utils.AbstractMetrixItem.measure(long):117:117 -> measureItem 12:12:ai.neuvision.sdk.utils.AbstractMetrixItem measureItem(ai.neuvision.sdk.utils.AbstractMetrixItem,long):56 -> measureItem 1:1:void stop():71:71 -> stop ai.neuvision.sdk.utils.AgentUtils -> ai.neuvision.sdk.utils.AgentUtils: 1:1:void ():13:13 -> 1:4:boolean startService(android.content.Context,android.content.Intent):29:32 -> startService ai.neuvision.sdk.utils.AppUtils -> ai.neuvision.sdk.utils.AppUtils: 1:1:void ():28:28 -> 1:3:java.lang.String getAppName(android.content.Context):194:196 -> getAppName 4:8:java.lang.String getAppName(android.content.Context):195:199 -> getAppName 1:8:java.lang.String getAppVersion(android.content.Context):208:215 -> getAppVersion 1:5:int getAppVersionCode(android.content.Context):222:226 -> getAppVersionCode 1:5:java.lang.String getAvailMemory():36:40 -> getAvailMemory 1:5:java.lang.String getAvailableExternalMemorySize():147:151 -> getAvailableExternalMemorySize 1:5:java.lang.String getAvailableInternalMemorySize():120:124 -> getAvailableInternalMemorySize 1:21:float getCpuUsed():80:100 -> getCpuUsed 1:3:boolean getEglSupport(android.content.Context):232:234 -> getEglSupport 1:5:java.lang.String getTotalExternalMemorySize():163:167 -> getTotalExternalMemorySize 1:5:java.lang.String getTotalInternalMemorySize():133:137 -> getTotalInternalMemorySize 1:16:java.lang.String getTotalMemory():54:69 -> getTotalMemory 1:5:boolean isAppInBackground(android.content.Context):180:184 -> isAppInBackground 1:1:boolean isExternalStorageAvailable():110:110 -> isExternalStorageAvailable ai.neuvision.sdk.utils.CalendarUtils -> ai.neuvision.sdk.utils.CalendarUtils: androidx.core.util.Pools$SynchronizedPool sPools -> a 1:1:void ():17:17 -> 1:1:void ():16:16 -> 1:34:java.util.Calendar getInstance():23:56 -> getInstance 1:1:void recycle(java.util.Calendar):61:61 -> recycle ai.neuvision.sdk.utils.CanWriteFailCopyOnWriteMap -> ai.neuvision.sdk.utils.CanWriteFailCopyOnWriteMap: java.util.Map map -> a 1:2:void ():26:27 -> 3:4:void (java.util.Map):30:31 -> 1:1:void clear():87:87 -> clear 1:1:boolean containsKey(java.lang.Object):46:46 -> containsKey 1:1:boolean containsValue(java.lang.Object):51:51 -> containsValue 1:1:java.util.Set entrySet():102:102 -> entrySet 1:1:java.lang.Object get(java.lang.Object):56:56 -> get 1:1:boolean isEmpty():41:41 -> isEmpty 1:1:java.util.Set keySet():92:92 -> keySet 1:5:java.lang.Object put(java.lang.Object,java.lang.Object):61:65 -> put 1:3:void putAll(java.util.Map):80:82 -> putAll 1:4:java.lang.Object remove(java.lang.Object):71:74 -> remove 1:3:void removeList(java.util.List):106:108 -> removeList 1:1:int size():36:36 -> size 1:1:java.util.Collection values():97:97 -> values ai.neuvision.sdk.utils.CodecHelper -> ai.neuvision.sdk.utils.CodecHelper: 1:1:void ():20:20 -> 1:57:boolean supportsProfileLevel(int,java.lang.Integer,android.media.MediaCodecInfo$CodecProfileLevel[],java.lang.String):94:150 -> a 1:2:android.media.MediaCodec$BufferInfo copy(android.media.MediaCodec$BufferInfo):22:23 -> copy 1:132:android.media.MediaCodecInfo getCodecInfo(java.lang.String,boolean):28:159 -> getCodecInfo 133:263:android.media.MediaCodecInfo getCodecInfo(java.lang.String,boolean):31:161 -> getCodecInfo 264:393:android.media.MediaCodecInfo getCodecInfo(java.lang.String,boolean):33:162 -> getCodecInfo 394:526:android.media.MediaCodecInfo getCodecInfo(java.lang.String,boolean):34:166 -> getCodecInfo 527:655:android.media.MediaCodecInfo getCodecInfo(java.lang.String,boolean):42:170 -> getCodecInfo 656:785:android.media.MediaCodecInfo getCodecInfo(java.lang.String,boolean):43:172 -> getCodecInfo 786:914:android.media.MediaCodecInfo getCodecInfo(java.lang.String,boolean):45:173 -> getCodecInfo 915:915:android.media.MediaCodecInfo getCodecInfo(java.lang.String,boolean):46:46 -> getCodecInfo 1:25:void setProfileLevel(android.media.MediaCodecInfo,android.media.MediaFormat):57:81 -> setProfileLevel 26:28:void setProfileLevel(android.media.MediaFormat,int,int):86:88 -> setProfileLevel 26:28:void setProfileLevel(android.media.MediaCodecInfo,android.media.MediaFormat):81 -> setProfileLevel ai.neuvision.sdk.utils.CpuManager -> ai.neuvision.sdk.utils.CpuManager: long lastGCTime -> i java.lang.ref.ReferenceQueue queue -> g int gcCount -> h java.lang.Object obj -> e float lastCpuUsage -> d java.lang.ref.PhantomReference reference -> f ai.neuvision.sdk.utils.CpuManager$CpuInfo[] cpuInfos -> a ai.neuvision.sdk.pipline.Pipeline pipeline -> b java.util.LinkedList mListeners -> c 1:1:void access$setLastGCTime$p(ai.neuvision.sdk.utils.CpuManager,long):23:23 -> 1:1:void ():23 -> 2:233:void ():26:257 -> 234:404:void ():48:218 -> 1:1:void access$setLastGCTime$p(ai.neuvision.sdk.utils.CpuManager,long):23:23 -> 1:1:void ():23 -> 1:160:float getTotalUsage():91:250 -> a 161:319:float getTotalUsage():95:253 -> a 320:466:float getTotalUsage():109:255 -> a 467:600:float getTotalUsage():122:255 -> a 601:601:float getTotalUsage():253:253 -> a 602:602:float getTotalUsage():129:129 -> a 603:611:int getProcessorCurrentFrequency(int):179:187 -> a 1:1:void access$setLastGCTime$p(ai.neuvision.sdk.utils.CpuManager,long):23:23 -> access$getGcCount$p 1:1:int access$getGcCount$p(ai.neuvision.sdk.utils.CpuManager):23 -> access$getGcCount$p 1:1:void access$setLastGCTime$p(ai.neuvision.sdk.utils.CpuManager,long):23:23 -> access$getLastGCTime$p 1:1:long access$getLastGCTime$p(ai.neuvision.sdk.utils.CpuManager):23 -> access$getLastGCTime$p 1:1:void access$setLastGCTime$p(ai.neuvision.sdk.utils.CpuManager,long):23:23 -> access$getObj$p 1:1:java.lang.Object access$getObj$p(ai.neuvision.sdk.utils.CpuManager):23 -> access$getObj$p 1:1:void access$setLastGCTime$p(ai.neuvision.sdk.utils.CpuManager,long):23:23 -> access$getQueue$p 1:1:java.lang.ref.ReferenceQueue access$getQueue$p(ai.neuvision.sdk.utils.CpuManager):23 -> access$getQueue$p 1:1:void access$setLastGCTime$p(ai.neuvision.sdk.utils.CpuManager,long):23:23 -> access$getReference$p 1:1:java.lang.ref.PhantomReference access$getReference$p(ai.neuvision.sdk.utils.CpuManager):23 -> access$getReference$p 1:1:void access$setLastGCTime$p(ai.neuvision.sdk.utils.CpuManager,long):23:23 -> access$schedule 1:1:void access$schedule(ai.neuvision.sdk.utils.CpuManager):23 -> access$schedule 1:1:void access$setLastGCTime$p(ai.neuvision.sdk.utils.CpuManager,long):23:23 -> access$setGcCount$p 1:1:void access$setGcCount$p(ai.neuvision.sdk.utils.CpuManager,int):23 -> access$setGcCount$p 1:1:void access$setLastGCTime$p(ai.neuvision.sdk.utils.CpuManager,long):23:23 -> access$setLastGCTime$p 1:1:void access$setLastGCTime$p(ai.neuvision.sdk.utils.CpuManager,long):23:23 -> access$setObj$p 1:1:void access$setObj$p(ai.neuvision.sdk.utils.CpuManager,java.lang.Object):23 -> access$setObj$p 1:1:void access$setLastGCTime$p(ai.neuvision.sdk.utils.CpuManager,long):23:23 -> access$setQueue$p 1:1:void access$setQueue$p(ai.neuvision.sdk.utils.CpuManager,java.lang.ref.ReferenceQueue):23 -> access$setQueue$p 1:1:void access$setLastGCTime$p(ai.neuvision.sdk.utils.CpuManager,long):23:23 -> access$setReference$p 1:1:void access$setReference$p(ai.neuvision.sdk.utils.CpuManager,java.lang.ref.PhantomReference):23 -> access$setReference$p 1:170:void schedule():77:246 -> b 171:341:void schedule():78:248 -> b 342:342:void schedule():83:83 -> b 343:349:void schedule():81:81 -> b 350:357:int initProcessorMaxFrequency(int):142:149 -> b 1:8:int initProcessorMinFrequency(int):164:171 -> c 1:1:int getAvailableCoreNumber():137:137 -> getAvailableCoreNumber 1:1:float getCpuUsage():200:200 -> getCpuUsage 1:4:ai.neuvision.sdk.utils.CpuManager$CpuInfo getProcessorInfo(int):156:159 -> getProcessorInfo 1:2:boolean isHighCpuLoad():205:206 -> isHighCpuLoad 1:3:void power(android.content.Context):194:194 -> power 1:4:void registerListener(ai.neuvision.sdk.utils.CpuManager$CpuStatusListener):61:61 -> registerListener 1:1:void startCountGC():220:220 -> startCountGC 1:3:void unregisterListener(ai.neuvision.sdk.utils.CpuManager$CpuStatusListener):70:70 -> unregisterListener ai.neuvision.sdk.utils.CpuManager$CpuInfo -> ai.neuvision.sdk.utils.CpuManager$CpuInfo: int maxFreq -> d int processor -> b int minFreq -> c int curFreq -> a 1:1:void (int,int,int):31:31 -> 2:2:void (int,int,int,int,kotlin.jvm.internal.DefaultConstructorMarker):31:31 -> 1:1:int getCurFreq():34:34 -> getCurFreq 1:1:float getCurUsage():36:36 -> getCurUsage 1:1:int getMaxFreq():31:31 -> getMaxFreq 1:1:int getMinFreq():31:31 -> getMinFreq 1:1:int getProcessor():31:31 -> getProcessor 1:1:int getTotal():33:33 -> getTotal 1:1:void setCurFreq(int):34:34 -> setCurFreq 1:1:void setMaxFreq(int):31:31 -> setMaxFreq 1:1:void setMinFreq(int):31:31 -> setMinFreq 1:1:void setProcessor(int):31:31 -> setProcessor ai.neuvision.sdk.utils.CpuManager$schedule$3 -> ai.neuvision.sdk.utils.CpuManager$a: ai.neuvision.sdk.utils.CpuManager$schedule$3 INSTANCE -> a 1:1:void run():86:86 -> run ai.neuvision.sdk.utils.CpuManager$startCountGC$1 -> ai.neuvision.sdk.utils.CpuManager$b: ai.neuvision.sdk.utils.CpuManager$startCountGC$1 INSTANCE -> a 1:16:void invoke():222:237 -> invoke 1:16:java.lang.Object invoke():23 -> invoke ai.neuvision.sdk.utils.CryptoHelper -> ai.neuvision.sdk.utils.CryptoHelper: java.security.SecureRandom sr -> a 1:2:void ():11:12 -> 1:1:void ():11:11 -> 1:1:java.security.SecureRandom getSr():12:12 -> getSr 1:3:byte[] secRandomBytes(int):15:17 -> secRandomBytes ai.neuvision.sdk.utils.DebuggerKt -> ai.neuvision.sdk.utils.DebuggerKt: java.util.Map mIntervalMap -> a 1:1:void ():68:68 -> 1:5:java.lang.String getTag(java.lang.Object):59:63 -> a 6:123:void printLog(int,java.lang.String,java.lang.Object[]):110:227 -> a 124:241:void printLog(int,java.lang.String,java.lang.Object[]):113:230 -> a 242:333:void printLog(int,java.lang.String,java.lang.Object[]):139:230 -> a 1:4:void logD(java.lang.Object,java.lang.Object[]):30:33 -> logD 1:4:void logE(java.lang.Object,java.lang.Object[]):51:54 -> logE 1:4:void logI(java.lang.Object,java.lang.Object[]):37:40 -> logI 1:5:void logInterval(java.lang.Object,int,java.lang.Object,long,java.lang.Object[]):74:78 -> logInterval 6:6:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilderKt.join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):102:102 -> logInterval 6:6:void logInterval(java.lang.Object,int,java.lang.Object,long,java.lang.Object[]):208 -> logInterval 7:7:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):92:92 -> logInterval 7:7:void logInterval(java.lang.Object,int,java.lang.Object,long,java.lang.Object[]):209 -> logInterval 8:8:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilderKt.join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):103:103 -> logInterval 8:8:void logInterval(java.lang.Object,int,java.lang.Object,long,java.lang.Object[]):211 -> logInterval 9:9:void logInterval(java.lang.Object,int,java.lang.Object,long,java.lang.Object[]):213:213 -> logInterval 10:10:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilderKt.join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):105:105 -> logInterval 10:10:void logInterval(java.lang.Object,int,java.lang.Object,long,java.lang.Object[]):214 -> logInterval 11:11:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilderKt.join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):106:106 -> logInterval 11:11:void logInterval(java.lang.Object,int,java.lang.Object,long,java.lang.Object[]):215 -> logInterval 12:12:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilderKt.join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):107:107 -> logInterval 12:12:void logInterval(java.lang.Object,int,java.lang.Object,long,java.lang.Object[]):216 -> logInterval 14:14:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilderKt.join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):109:109 -> logInterval 14:14:void logInterval(java.lang.Object,int,java.lang.Object,long,java.lang.Object[]):218 -> logInterval 15:15:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):94:94 -> logInterval 15:15:void logInterval(java.lang.Object,int,java.lang.Object,long,java.lang.Object[]):223 -> logInterval 16:16:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):95:95 -> logInterval 16:16:void logInterval(java.lang.Object,int,java.lang.Object,long,java.lang.Object[]):224 -> logInterval 17:25:void logInterval(java.lang.Object,int,java.lang.Object,long,java.lang.Object[]):79:87 -> logInterval 1:6:void logRandom(java.lang.Object,int,int,java.lang.Object[]):99:104 -> logRandom 1:1:void logRandom$default(java.lang.Object,int,int,java.lang.Object[],int,java.lang.Object):98:98 -> logRandom$default 1:4:void logV(java.lang.Object,java.lang.Object[]):23:26 -> logV 1:4:void logW(java.lang.Object,java.lang.Object[]):44:47 -> logW 1:82:void trace(java.lang.Object[]):151:232 -> trace 83:93:void trace(java.lang.Object[]):155:165 -> trace ai.neuvision.sdk.utils.DeviceManager -> ai.neuvision.sdk.utils.DeviceManager: float batteryTemperature -> a int i_interval -> e java.lang.String[] useAECSocs -> f boolean isCharging -> b int socLevel -> c java.lang.String soc -> d 1:316:void ():20:335 -> 1:1:void ():20:20 -> 1:1:void ():20 -> 1:10:void getSoc():213:222 -> a 11:11:void getSoc():221:221 -> a 12:21:void getSoc():219:228 -> a 1:1:void ():22:22 -> getBatteryTemperature 1:1:float getBatteryTemperature():22 -> getBatteryTemperature 1:5:float getCPUTemperature():44:48 -> getCPUTemperature 1:4:float getCPUusage():89:89 -> getCPUusage 9:16:float getCPUusage():94:101 -> getCPUusage 1:1:int getCameraFps():263:263 -> getCameraFps 1:63:int getCpuLevel():144:206 -> getCpuLevel 1:299:float getCpuUsed():58:356 -> getCpuUsed 300:595:float getCpuUsed():63:358 -> getCpuUsed 596:879:float getCpuUsed():75:358 -> getCpuUsed 880:880:float getCpuUsed():356:356 -> getCpuUsed 1:1:int getEncoderFps():272:272 -> getEncoderFps 1:1:int getIFrameInterval():281:281 -> getIFrameInterval 1:1:void ():26:26 -> getI_interval 1:1:int getI_interval():26 -> getI_interval 1:4:android.util.Size getMaxEncodeSize():291:294 -> getMaxEncodeSize 5:5:android.util.Size getMaxEncodeSize():293:293 -> getMaxEncodeSize 6:6:android.util.Size getMaxEncodeSize():292:292 -> getMaxEncodeSize 1:1:int getP2pRatio():253:253 -> getP2pRatio 1:1:int getUILayoutReportInterval():326:326 -> getUILayoutReportInterval 1:1:int getUdpSocketBufferIncreaseStep():308:308 -> getUdpSocketBufferIncreaseStep 1:1:int getUdpSocketBufferMaxSize():317:317 -> getUdpSocketBufferMaxSize 1:1:int getUdpSocketInitBufferSize():300:300 -> getUdpSocketInitBufferSize 1:1:int getUpperBandwidth():244:244 -> getUpperBandwidth 1:1:void setCharging(boolean):23:23 -> isCharging 1:1:boolean isCharging():23 -> isCharging 1:1:boolean isHighPerformanceDevice():239:239 -> isHighPerformanceDevice 1:1:boolean isLowPerformanceDevice():234:234 -> isLowPerformanceDevice 1:1:void ():22:22 -> setBatteryTemperature 1:1:void setBatteryTemperature(float):22 -> setBatteryTemperature 1:1:void setCharging(boolean):23:23 -> setCharging 1:2:void setCpuLevel(int):36:37 -> setCpuLevel 1:1:void ():26:26 -> setI_interval 1:1:void setI_interval(int):26 -> setI_interval 1:22:boolean useSoftwareAECBySoc():338:359 -> useSoftwareAECBySoc 23:24:boolean useSoftwareAECBySoc():344:345 -> useSoftwareAECBySoc ai.neuvision.sdk.utils.DeviceManager$CpuInfo -> ai.neuvision.sdk.utils.DeviceManager$CpuInfo: float mips -> b java.lang.String features -> c int processor -> a 1:1:void (int,float,java.lang.String):136:136 -> 2:2:void (int,float,java.lang.String,int,kotlin.jvm.internal.DefaultConstructorMarker):136:136 -> 1:1:java.lang.String getFeatures():136:136 -> getFeatures 1:1:float getMips():136:136 -> getMips 1:1:int getProcessor():136:136 -> getProcessor 1:1:void setFeatures(java.lang.String):136:136 -> setFeatures 1:1:void setMips(float):136:136 -> setMips 1:1:void setProcessor(int):136:136 -> setProcessor ai.neuvision.sdk.utils.DevicesUtils -> ai.neuvision.sdk.utils.DevicesUtils: java.lang.String deviceDesc -> f java.lang.Boolean isSamsungGalaxyNote -> k java.lang.Boolean isHuaweiC8812E -> i java.lang.Boolean isI9100 -> o java.util.HashSet jZPMagicNotSupportedSet -> g java.lang.Boolean mIsHuaWeiDevice -> m int memoryMB -> b java.lang.String sMainIMSI -> r java.lang.String sPhoneNumber -> t java.lang.Boolean sIsXiaomi -> x java.lang.Boolean sIsLenovoK900 -> v java.lang.Boolean sLowRamDevice -> c java.lang.Boolean isJZPMagicNotSupported -> h java.lang.Boolean isSamsungDevice -> l java.lang.Boolean isHuaweiU8825D -> j java.lang.Boolean isZTEModernDevice -> p long sPhysicalMemory -> d java.lang.String sMainIMEI -> q int sHeapSize -> e java.lang.Boolean isHtcG14 -> n java.lang.String sSerialNumber -> s java.lang.String sSimContryCode -> u int numOfCpuCores -> a java.lang.Boolean sIsMX4Pro -> w java.lang.Boolean sIsNexus6 -> y 1:1:void ():34:34 -> 1:1:boolean extremeLowMemoryDevices():189:189 -> extremeLowMemoryDevices 1:26:java.lang.String getDeviceDescription():211:236 -> getDeviceDescription 1:44:java.lang.String getDeviceId():616:659 -> getDeviceId 1:9:java.lang.String getFreeMemoryKBs():597:605 -> getFreeMemoryKBs 1:7:int getHeapSize():199:205 -> getHeapSize 1:13:java.lang.String getIMEI():369:381 -> getIMEI 1:13:java.lang.String getIMSI():387:399 -> getIMSI 1:21:java.lang.String getMmcID():568:588 -> getMmcID 1:53:java.lang.String getNetMode(android.content.Context):678:730 -> getNetMode 1:37:int getNumCores():84:120 -> getNumCores 1:16:java.lang.String getPhoneNumber():420:435 -> getPhoneNumber 1:27:java.lang.Long getPhysicalMemoryKBs():156:182 -> getPhysicalMemoryKBs 28:34:java.lang.Long getPhysicalMemoryKBs():179:185 -> getPhysicalMemoryKBs 1:9:java.lang.String getSN():406:414 -> getSN 1:13:java.lang.String getSimCountryCode():441:453 -> getSimCountryCode 1:4:java.lang.String getWifiMac():553:556 -> getWifiMac 1:1:boolean honeyCombDevices():44:44 -> honeyCombDevices 1:5:boolean isAirplaneModeOn():464:468 -> isAirplaneModeOn 1:7:boolean isGalaxyNote():289:295 -> isGalaxyNote 8:14:boolean isGalaxyNote():293:299 -> isGalaxyNote 1:11:boolean isHtcG14():324:334 -> isHtcG14 1:4:boolean isHuaWei():315:318 -> isHuaWei 1:5:boolean isHuaweiC8812E():269:273 -> isHuaweiC8812E 1:5:boolean isHuaweiU8825D():279:283 -> isHuaweiU8825D 1:7:boolean isI9100():340:346 -> isI9100 8:13:boolean isI9100():344:349 -> isI9100 1:11:boolean isJZPMagicNotSupported():242:252 -> isJZPMagicNotSupported 1:11:boolean isLenovoK900():479:489 -> isLenovoK900 1:2:boolean isMeizuM9():257:258 -> isMeizuM9 1:2:boolean isMeizuMX2():262:263 -> isMeizuMX2 1:8:boolean isMeizuMX4Pro():495:502 -> isMeizuMX4Pro 1:8:boolean isNexus6():539:546 -> isNexus6 1:5:boolean isSamsung():305:309 -> isSamsung 1:25:boolean isXiaomi():509:533 -> isXiaomi 1:9:boolean isZTEModernDevice():355:363 -> isZTEModernDevice 1:1:boolean jellyBeanDevices():64:64 -> jellyBeanDevices 1:1:boolean jellyBeanMR1Devices():56:56 -> jellyBeanMR1Devices 1:1:boolean jellyBeanMR2Devices():60:60 -> jellyBeanMR2Devices 1:1:boolean kitkatDevices():52:52 -> kitkatDevices 1:1:boolean legacyDevices():36:36 -> legacyDevices 1:1:boolean lollipopDevices():48:48 -> lollipopDevices 1:1:boolean lowMemoryDevices():193:193 -> lowMemoryDevices 1:10:boolean lowRamDevice():138:147 -> lowPhysicalMemoryDevices 1:10:boolean lowPhysicalMemoryDevices():126 -> lowPhysicalMemoryDevices 11:15:boolean lowPhysicalMemoryDevices():129:133 -> lowPhysicalMemoryDevices 1:1:boolean marshmallowDevices():68:68 -> marshmallowDevices 1:1:boolean modernDevices():40:40 -> modernDevices 1:1:boolean oreoDevices():73:73 -> oreoDevices ai.neuvision.sdk.utils.DevicesUtils$1CpuFilter -> ai.neuvision.sdk.utils.DevicesUtils$a: 1:1:void ():89:89 -> 1:1:boolean accept(java.io.File):93:93 -> accept ai.neuvision.sdk.utils.ExceptionUtils -> ai.neuvision.sdk.utils.ExceptionUtils: 1:1:void ():16:16 -> 1:6:java.lang.String getStackTrace(java.lang.Throwable):24:29 -> getStackTrace 7:10:java.lang.String getStackTrace(java.lang.Throwable):26:29 -> getStackTrace ai.neuvision.sdk.utils.FileUtils -> ai.neuvision.sdk.utils.FileUtils: 1:1:void ():24:24 -> 1:1:int lambda$orderFileByLastModifiedDate$1(java.io.File,java.io.File):276:276 -> a 1:1:int lambda$orderFileByLength$2(java.io.File,java.io.File):293:293 -> b 1:4:boolean bytes2file(java.lang.String,byte[],boolean):196:199 -> bytes2file 5:12:boolean bytes2file(java.io.File,byte[],boolean):208:215 -> bytes2file 13:16:boolean bytes2file(java.io.File,byte[],boolean):213:216 -> bytes2file 1:5:int lambda$orderFileByName$0(java.io.File,java.io.File):261:265 -> c 1:14:long caculateFileSize(java.io.File):143:156 -> caculateFileSize 1:19:void copyDirectory(java.lang.String,java.lang.String):28:46 -> copyDirectory 20:20:void copyDirectory(java.lang.String,java.lang.String):32:32 -> copyDirectory 1:17:void copyFile(java.io.File,java.io.File):94:110 -> copyFile 18:21:void copyFile(java.io.File,java.io.File):108:111 -> copyFile 1:16:void delete(java.io.File):116:131 -> delete 17:17:void delete(java.io.File):124:124 -> delete 18:20:void delete(java.lang.String):136:138 -> delete 1:6:byte[] file2bytes(java.lang.String):162:167 -> file2bytes 7:25:byte[] file2bytes(java.io.File):172:190 -> file2bytes 26:28:byte[] file2bytes(java.io.File):189:191 -> file2bytes 29:29:byte[] file2bytes(java.io.File):173:173 -> file2bytes 1:7:int getDirCount(java.io.File):235:241 -> getDirCount 1:4:java.io.File[] getDirDeep1Files(java.io.File):249:252 -> getDirDeep1Files 1:7:long getDirSize(java.io.File):305:311 -> getDirSize 1:1:java.io.File getFileByPath(java.lang.String):52:52 -> getFileByPath 1:7:int getFileCount(java.io.File):221:227 -> getFileCount 1:1:boolean moveFile(java.io.File,java.lang.String):316:316 -> moveFile 1:14:java.io.File[] orderFileByLastModifiedDate(java.io.File[]):271:284 -> orderFileByLastModifiedDate 1:14:java.io.File[] orderFileByLength(java.io.File[]):288:301 -> orderFileByLength 1:12:java.io.File[] orderFileByName(java.io.File[]):256:267 -> orderFileByName 1:1:boolean writeFileFromString(java.lang.String,java.lang.String,boolean):58:58 -> writeFileFromString 2:20:boolean writeFileFromString(java.io.File,java.lang.String,boolean):66:84 -> writeFileFromString 21:29:boolean writeFileFromString(java.io.File,java.lang.String,boolean):76:84 -> writeFileFromString 30:35:boolean writeFileFromString(java.io.File,java.lang.String,boolean):81:86 -> writeFileFromString ai.neuvision.sdk.utils.HexUtils -> ai.neuvision.sdk.utils.HexUtils: char[] symbols -> a 1:1:void ():9:9 -> 1:1:void ():8:8 -> 1:1:int hexCharToByte(char):159:159 -> a 1:1:java.lang.String byteArrayToHexString(byte[]):14:14 -> byteArrayToHexString 2:15:java.lang.String byteArrayToHexString(byte[],int,int):18:31 -> byteArrayToHexString 1:8:int byteArrayToInt(byte[]):115:122 -> byteArrayToInt 1:8:long byteArrayToLong(byte[]):102:109 -> byteArrayToLong 1:4:java.lang.String byteToHexString(int):58:61 -> byteToHexString 1:12:java.lang.String decode(java.lang.String):166:177 -> decode 1:18:byte[] hexStringToByteArray(java.lang.String):128:145 -> hexStringToByteArray 19:19:byte[] hexStringToByteArray(java.lang.String):135:135 -> hexStringToByteArray 20:20:byte[] hexStringToByteArray(java.lang.String):129:129 -> hexStringToByteArray 1:3:byte[] intToByteArray(int):75:77 -> intToByteArray 1:7:java.lang.String intToHexString(int):65:71 -> intToHexString 1:3:byte[] longToByteArray(long):94:96 -> longToByteArray 1:7:java.lang.String longToHexString(long):84:90 -> longToHexString 1:1:java.lang.String shortArrayToHexString(short[]):35:35 -> shortArrayToHexString 2:17:java.lang.String shortArrayToHexString(short[],int,int):39:54 -> shortArrayToHexString ai.neuvision.sdk.utils.IntObjectHashMap -> ai.neuvision.sdk.utils.IntObjectHashMap: java.lang.Object[] values -> d java.util.Collection valueCollection -> e java.lang.Object NULL_VALUE -> g int[] keys -> c int size -> f float loadFactor -> b int maxSize -> a 1:1:void ():30:30 -> 1:1:void ():44:44 -> 2:2:void (int):48:48 -> 3:26:void (int,float):51:74 -> 27:27:void (int,float):59:59 -> 28:28:void (int,float):53:53 -> int adjustCapacity(int) -> a 1:1:java.lang.Object toExternal(java.lang.Object):78:78 -> a 1:1:int calcMaxSize(int):408:408 -> b 1:1:int hashIndex(int):341:341 -> c 1:3:void clear():168:170 -> clear 1:1:boolean containsKey(int):175:175 -> containsKey 1:1:java.lang.Object toInternal(java.lang.Object):83:83 -> containsValue 1:1:boolean containsValue(java.lang.Object):180 -> containsValue 2:4:boolean containsValue(java.lang.Object):181:183 -> containsValue 1:14:int indexOf(int):317:330 -> d 1:1:int probeNext(int):121:121 -> e 1:18:boolean equals(java.lang.Object):285:302 -> equals 1:7:void rehash(int):417:423 -> f 8:8:int calcMaxSize(int):408:408 -> f 8:8:void rehash(int):425 -> f 9:28:void rehash(int):425:444 -> f 1:22:void removeAt(int):375:396 -> g 23:23:void removeAt(int):387:387 -> g 1:2:java.lang.Object get(int):88:89 -> get 1:2:int hashCode():266:267 -> hashCode 1:1:boolean isEmpty():163:163 -> isEmpty 1:1:java.util.Iterator iterator():197:197 -> iterator 2:2:void ai.neuvision.sdk.utils.IntObjectHashMap$IteratorImpl.(ai.neuvision.sdk.utils.IntObjectHashMap,ai.neuvision.sdk.utils.IntObjectHashMap$1):453:453 -> iterator 2:2:java.util.Iterator iterator():197 -> iterator 1:1:java.lang.String keyToString(int):536:536 -> keyToString 1:5:int[] keys():202:206 -> keys 1:7:java.lang.Object put(int,java.lang.Object):94:100 -> put 8:8:java.lang.Object toInternal(java.lang.Object):83:83 -> put 8:8:java.lang.Object put(int,java.lang.Object):101 -> put 9:9:java.lang.Object put(int,java.lang.Object):101:101 -> put 10:19:void growSize():348:357 -> put 10:19:java.lang.Object put(int,java.lang.Object):102 -> put 20:22:java.lang.Object put(int,java.lang.Object):105:107 -> put 23:23:java.lang.Object toInternal(java.lang.Object):83:83 -> put 23:23:java.lang.Object put(int,java.lang.Object):108 -> put 24:31:java.lang.Object put(int,java.lang.Object):108:115 -> put 1:15:void putAll(ai.neuvision.sdk.utils.IntObjectMap):126:140 -> putAll 1:8:java.lang.Object remove(int):146:153 -> remove 1:1:int size():158:158 -> size 1:12:java.lang.String toString():518:529 -> toString 1:5:java.lang.Object[] values(java.lang.Class):215:219 -> values 6:8:java.util.Collection values():227:229 -> values ai.neuvision.sdk.utils.IntObjectHashMap$1 -> ai.neuvision.sdk.utils.IntObjectHashMap$a: ai.neuvision.sdk.utils.IntObjectHashMap this$0 -> a 1:1:void (ai.neuvision.sdk.utils.IntObjectHashMap):229:229 -> 1:1:java.util.Iterator iterator():232:232 -> iterator 1:1:int size():253:253 -> size 2:2:int ai.neuvision.sdk.utils.IntObjectHashMap.access$100(ai.neuvision.sdk.utils.IntObjectHashMap):19:19 -> size 2:2:int size():253 -> size ai.neuvision.sdk.utils.IntObjectHashMap$1$1 -> ai.neuvision.sdk.utils.IntObjectHashMap$a$a: java.util.Iterator iter -> a ai.neuvision.sdk.utils.IntObjectHashMap$1 this$1 -> b 1:2:void (ai.neuvision.sdk.utils.IntObjectHashMap$1):232:233 -> 1:1:boolean hasNext():236:236 -> hasNext 1:1:java.lang.Object next():241:241 -> next 1:1:void remove():246:246 -> remove ai.neuvision.sdk.utils.IntObjectHashMap$IteratorImpl -> ai.neuvision.sdk.utils.IntObjectHashMap$b: ai.neuvision.sdk.utils.IntObjectHashMap this$0 -> d int nextIndex -> b int entryIndex -> c int prevIndex -> a 1:4:void (ai.neuvision.sdk.utils.IntObjectHashMap):453:456 -> 1:1:void scanNext():460:460 -> a 2:2:java.lang.Object[] ai.neuvision.sdk.utils.IntObjectHashMap.access$200(ai.neuvision.sdk.utils.IntObjectHashMap):19:19 -> a 2:2:void scanNext():460 -> a 3:3:void scanNext():460:460 -> a 1:4:boolean hasNext():468:471 -> hasNext 5:5:int[] ai.neuvision.sdk.utils.IntObjectHashMap.access$300(ai.neuvision.sdk.utils.IntObjectHashMap):19:19 -> hasNext 5:5:boolean hasNext():471 -> hasNext 6:6:boolean hasNext():471:471 -> hasNext 1:1:int key():502:502 -> key 2:2:int[] ai.neuvision.sdk.utils.IntObjectHashMap.access$300(ai.neuvision.sdk.utils.IntObjectHashMap):19:19 -> key 2:2:int key():502 -> key 3:3:int key():502:502 -> key 1:9:ai.neuvision.sdk.utils.IntObjectMap$Entry next():476:484 -> next 1:9:java.lang.Object next():453 -> next 10:10:ai.neuvision.sdk.utils.IntObjectMap$Entry next():477:477 -> next 10:10:java.lang.Object next():453 -> next 1:4:void remove():490:493 -> remove 5:24:void ai.neuvision.sdk.utils.IntObjectHashMap.access$400(ai.neuvision.sdk.utils.IntObjectHashMap,int):0:19 -> remove 5:24:void remove():493 -> remove 25:25:void remove():494:494 -> remove 26:26:void remove():491:491 -> remove 1:1:void setValue(java.lang.Object):512:512 -> setValue 2:2:java.lang.Object[] ai.neuvision.sdk.utils.IntObjectHashMap.access$200(ai.neuvision.sdk.utils.IntObjectHashMap):19:19 -> setValue 2:2:void setValue(java.lang.Object):512 -> setValue 3:3:void setValue(java.lang.Object):512:512 -> setValue 4:4:java.lang.Object ai.neuvision.sdk.utils.IntObjectHashMap.toInternal(java.lang.Object):83:83 -> setValue 4:4:java.lang.Object ai.neuvision.sdk.utils.IntObjectHashMap.access$600(java.lang.Object):19 -> setValue 4:4:void setValue(java.lang.Object):512 -> setValue 5:5:void setValue(java.lang.Object):512:512 -> setValue 1:1:java.lang.Object value():507:507 -> value 2:2:java.lang.Object[] ai.neuvision.sdk.utils.IntObjectHashMap.access$200(ai.neuvision.sdk.utils.IntObjectHashMap):19:19 -> value 2:2:java.lang.Object value():507 -> value 3:3:java.lang.Object value():507:507 -> value 4:4:java.lang.Object ai.neuvision.sdk.utils.IntObjectHashMap.access$500(java.lang.Object):19:19 -> value 4:4:java.lang.Object value():507 -> value ai.neuvision.sdk.utils.IntervalCount -> ai.neuvision.sdk.utils.IntervalCount: long lastPrintTime -> a int totalCnt -> b 1:1:void (long,int):70:70 -> 1:1:long getLastPrintTime():70:70 -> getLastPrintTime 1:1:int getTotalCnt():70:70 -> getTotalCnt 1:1:void setLastPrintTime(long):70:70 -> setLastPrintTime 1:1:void setTotalCnt(int):70:70 -> setTotalCnt ai.neuvision.sdk.utils.JsonUtils -> ai.neuvision.sdk.utils.JsonUtils: 1:1:void ():21:21 -> 1:15:java.lang.String decodeJsonLanguageString(java.lang.String):160:174 -> decodeJsonLanguageString 16:16:java.lang.String decodeJsonLanguageString(java.lang.String):172:172 -> decodeJsonLanguageString 1:10:long getJsonContentTimestamp(java.lang.String):112:121 -> getJsonContentTimestamp 11:11:long getJsonContentTimestamp(java.lang.String):119:119 -> getJsonContentTimestamp 1:1:java.lang.String getLanguage():184:184 -> getLanguage 1:10:java.lang.String getSID(java.lang.String):144:153 -> getSID 11:11:java.lang.String getSID(java.lang.String):151:151 -> getSID 1:10:java.lang.String getSession(java.lang.String):128:137 -> getSession 11:11:java.lang.String getSession(java.lang.String):135:135 -> getSession 1:7:boolean is304Response(java.lang.String):80:86 -> is304Response 1:13:boolean isNewDataAvailable(java.lang.String):45:57 -> isNewDataAvailable 14:14:boolean isNewDataAvailable(java.lang.String):55:55 -> isNewDataAvailable 1:14:boolean isSessionTimeOut(java.lang.String):92:105 -> isSessionTimeOut 15:15:boolean isSessionTimeOut(java.lang.String):103:103 -> isSessionTimeOut 1:10:boolean isValidResponseContent(java.lang.String):64:73 -> isValidResponseContent 11:11:boolean isValidResponseContent(java.lang.String):71:71 -> isValidResponseContent 1:11:java.lang.String readFromStream(java.io.InputStream):27:37 -> readFromStream ai.neuvision.sdk.utils.MathUtils -> ai.neuvision.sdk.utils.MathUtils: 1:1:void ():9:9 -> 1:1:void ():9:9 -> ai.neuvision.sdk.utils.NetWorkUtils -> ai.neuvision.sdk.utils.NetWorkUtils: 1:1:void ():25:25 -> 1:1:void closeQuietly(java.net.DatagramSocket):67:67 -> a 1:7:int getAvailableUDPPort(int,int):31:37 -> getAvailableUDPPort 8:14:boolean udpPortAvailable(int):55:61 -> getAvailableUDPPort 8:14:int getAvailableUDPPort(int,int):40 -> getAvailableUDPPort 15:15:boolean udpPortAvailable(int):60:60 -> getAvailableUDPPort 15:15:int getAvailableUDPPort(int,int):40 -> getAvailableUDPPort 16:16:int getAvailableUDPPort(int,int):43:43 -> getAvailableUDPPort 1:3:java.lang.String getNetWork():74:76 -> getNetWork 1:70:java.lang.Object[] getVpnConnectedOrConnectingInfo(android.content.Context):81:150 -> getVpnConnectedOrConnectingInfo 1:2:boolean isVpnConnectedOrConnecting(android.content.Context):156:157 -> isVpnConnectedOrConnecting ai.neuvision.sdk.utils.NoLeakHandler -> ai.neuvision.sdk.utils.NoLeakHandler: java.lang.reflect.Method sGetActivity -> c java.lang.ref.WeakReference mContext -> a java.lang.Class sFragmentClass -> b 1:3:void ():18:18 -> 5:9:void ():20:24 -> 1:2:void (java.lang.Object):30:31 -> 1:18:void handleMessage(android.os.Message):36:53 -> handleMessage ai.neuvision.sdk.utils.PRNGFixes -> ai.neuvision.sdk.utils.PRNGFixes: byte[] BUILD_FINGERPRINT_AND_DEVICE_SERIAL -> a 1:4:byte[] getBuildFingerprintAndDeviceSerial():308:311 -> 1:4:void ():53 -> 5:5:java.lang.String getDeviceSerialNumber():301:301 -> 5:5:byte[] getBuildFingerprintAndDeviceSerial():313 -> 5:5:void ():53 -> 6:9:byte[] getBuildFingerprintAndDeviceSerial():315:318 -> 6:9:void ():53 -> 10:10:void ():53:53 -> 11:11:byte[] getBuildFingerprintAndDeviceSerial():320:320 -> 11:11:void ():53 -> 1:1:void ():56:56 -> 1:11:byte[] generateSeed():278:288 -> a 1:13:void applyOpenSSLFix():76:88 -> apply 1:13:void apply():65 -> apply 14:20:void applyOpenSSLFix():87:93 -> apply 14:20:void apply():65 -> apply 21:43:void installLinuxPRNGSecureRandom():112:134 -> apply 21:43:void apply():66 -> apply 44:44:void installLinuxPRNGSecureRandom():130:130 -> apply 44:44:void apply():66 -> apply 45:45:void installLinuxPRNGSecureRandom():123:123 -> apply 45:45:void apply():66 -> apply ai.neuvision.sdk.utils.PRNGFixes$LinuxPRNGSecureRandom -> ai.neuvision.sdk.utils.PRNGFixes$LinuxPRNGSecureRandom: 1:3:void ():173:175 -> 1:1:void ():159:159 -> 1:2:byte[] engineGenerateSeed(int):240:241 -> engineGenerateSeed 1:1:void engineNextBytes(byte[]):220:220 -> engineNextBytes 2:2:byte[] ai.neuvision.sdk.utils.PRNGFixes.access$000():49:49 -> engineNextBytes 2:2:void engineNextBytes(byte[]):222 -> engineNextBytes 3:13:void engineNextBytes(byte[]):222:232 -> engineNextBytes 14:19:void engineNextBytes(byte[]):229:234 -> engineNextBytes 1:11:void engineSetSeed(byte[]):204:214 -> engineSetSeed 12:21:void engineSetSeed(byte[]):206:215 -> engineSetSeed 1:14:java.io.DataInputStream getUrandomInputStream():246:259 -> getUrandomInputStream 1:6:java.io.OutputStream getUrandomOutputStream():263:268 -> getUrandomOutputStream ai.neuvision.sdk.utils.PRNGFixes$LinuxPRNGSecureRandomProvider -> ai.neuvision.sdk.utils.PRNGFixes$a: 1:7:void ():145:151 -> ai.neuvision.sdk.utils.PackageUtils -> ai.neuvision.sdk.utils.PackageUtils: android.content.pm.PackageManager sPackageManager -> c java.security.cert.Certificate sApkSigningCertitifcate -> e java.lang.String sMyversionName -> b int sMyVersionCode -> a java.lang.String sSelfBuildTime -> d 1:1:void ():46:46 -> 1:2:void ensureService():57:58 -> a 1:7:void getMyversion():63:69 -> b 1:36:java.util.List getInstalledPackages(android.content.Context,int):277:312 -> getInstalledPackages 37:43:java.util.List getInstalledPackages(android.content.Context,int):306:312 -> getInstalledPackages 44:49:java.util.List getInstalledPackages(android.content.Context,int):310:315 -> getInstalledPackages 1:1:java.lang.String getPackageName():76:76 -> getPackageName 1:21:java.lang.String getTopPackageName():372:392 -> getTopPackageName 22:35:android.app.Activity getRunningActivity():451:464 -> getTopPackageName 22:35:java.lang.String getTopPackageName():393 -> getTopPackageName 36:80:java.lang.String getTopPackageName():395:439 -> getTopPackageName 1:2:int getVersionCode():80:81 -> getVersionCode 3:7:int getVersionCode(java.lang.String):85:89 -> getVersionCode 1:2:java.lang.String getVersionName():97:98 -> getVersionName 3:7:java.lang.String getVersionName(java.lang.String):102:106 -> getVersionName 1:4:java.lang.String guessBuildTime():114:117 -> guessBuildTime 5:12:long guessBuildTime(java.lang.String):121:128 -> guessBuildTime 1:1:boolean installPackage(android.content.Context,java.lang.String):141:141 -> installPackage 2:13:boolean installPackage(android.content.Context,java.lang.String,java.lang.String):146:157 -> installPackage 1:5:boolean isActivityInstalled(android.content.Context,java.lang.String,java.lang.String):177:181 -> isActivityInstalled 1:1:boolean isComponentTaskTop(android.content.Context,java.lang.String,java.lang.String):235:235 -> isComponentTaskTop 2:21:boolean isComponentTaskTop(android.content.Context,android.content.ComponentName):242:261 -> isComponentTaskTop 1:1:boolean isLegacyDevice():137:137 -> isLegacyDevice 1:8:boolean isLockedOrScreenOff():265:272 -> isLockedOrScreenOff 1:17:boolean isPackageTaskTop(android.content.Context,java.lang.String):215:231 -> isPackageTaskTop 1:5:boolean isPkgInstalled(android.content.Context,java.lang.String):165:169 -> isPkgInstalled 1:6:boolean isPkgInstalledByAction(android.content.Context,java.lang.String,java.lang.String):194:199 -> isPkgInstalledByAction 1:2:boolean isPkgInstalledByIntent(android.content.Context,android.content.Intent):207:208 -> isPkgInstalledByIntent 1:5:boolean isReceiverInstalled(android.content.Context,java.lang.String,java.lang.String):185:189 -> isReceiverInstalled 1:2:boolean isTaskTopPackage():366:367 -> isTaskTopPackage 1:39:java.security.cert.Certificate loadApkSigningCertificate():321:359 -> loadApkSigningCertificate ai.neuvision.sdk.utils.PermissionUtil -> ai.neuvision.sdk.utils.PermissionUtil: 1:1:void ():15:15 -> 1:1:boolean lacksPermissions(android.content.Context,java.lang.String[]):22:22 -> lacksPermissions 2:2:boolean lacksPermission(android.content.Context,java.lang.String):34:34 -> lacksPermissions 2:2:boolean lacksPermissions(android.content.Context,java.lang.String[]):23 -> lacksPermissions ai.neuvision.sdk.utils.PresentationTimer -> ai.neuvision.sdk.utils.PresentationTimer: long presentationTimeUs -> b long timestamp -> c int fps -> a 1:1:void (int,long,long):3:3 -> 2:2:void (int,long,long,int,kotlin.jvm.internal.DefaultConstructorMarker):5:5 -> 1:1:int getFps():3:3 -> getFps 1:1:long getPresentationTimeUs():4:4 -> getPresentationTimeUs 1:3:void record():12:14 -> record 1:2:void reset():18:19 -> reset 1:1:void setFps(int):3:3 -> setFps 1:1:void setPresentationTimeUs(long):4:4 -> setPresentationTimeUs 1:1:void start():8:8 -> start ai.neuvision.sdk.utils.ProcessUtils -> ai.neuvision.sdk.utils.ProcessUtils: 1:1:void ():27:27 -> 1:2:void ensureMainProcess():33:34 -> ensureMainProcess 1:10:android.app.Application getApplication():49:58 -> getApplication 1:16:java.lang.String getProcessName(android.content.Context):65:80 -> getProcessName 17:35:java.lang.String getProcessName():84:102 -> getProcessName 1:4:java.lang.String getProcessTag():114:117 -> getProcessTag 1:2:java.lang.String getSafeProcessName():109:110 -> getSafeProcessName 1:4:boolean isMainProcess():39:42 -> isMainProcess 1:4:void killSelf():121:124 -> killSelf ai.neuvision.sdk.utils.RecycleStringBuilder -> ai.neuvision.sdk.utils.RecycleStringBuilder: androidx.core.util.Pools$SynchronizedPool sPools -> b java.lang.StringBuilder sBuilder -> a 1:1:void ():85:85 -> 1:2:void ():10:11 -> 1:1:androidx.core.util.Pools$SynchronizedPool access$getSPools$cp():10:10 -> access$getSPools$cp 1:14:ai.neuvision.sdk.utils.RecycleStringBuilder append(java.lang.Object):58:71 -> append 1:1:int getLength():13:13 -> getLength 1:1:java.lang.StringBuilder getSBuilder():11:11 -> getSBuilder 1:1:int indexOf(char,int):29:29 -> indexOf 2:2:int indexOf(java.lang.String):33:33 -> indexOf 3:3:int indexOf(java.lang.String,int):37:37 -> indexOf 1:1:boolean isEmpty():25:25 -> isEmpty 1:1:int lastIndexOf(java.lang.String):41:41 -> lastIndexOf 2:2:int lastIndexOf(java.lang.String,int):45:45 -> lastIndexOf 1:2:void recycle():16:17 -> recycle 1:1:void setEmpty():21:21 -> setEmpty 1:1:java.lang.String substring(int):49:49 -> substring 2:2:java.lang.String substring(int,int):53:53 -> substring 1:1:java.lang.String toString():79:79 -> toString ai.neuvision.sdk.utils.RecycleStringBuilder$Companion -> ai.neuvision.sdk.utils.RecycleStringBuilder$Companion: 1:1:void ():84:84 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):84:84 -> 1:2:ai.neuvision.sdk.utils.RecycleStringBuilder obtain():87:88 -> obtain ai.neuvision.sdk.utils.RecycleStringBuilderKt -> ai.neuvision.sdk.utils.RecycleStringBuilderKt: 1:2:java.lang.String join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):101:102 -> join$default 3:3:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):92:92 -> join$default 3:3:java.lang.String join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):114 -> join$default 4:17:java.lang.String join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):103:116 -> join$default 18:22:java.lang.String join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):105:109 -> join$default 23:23:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):94:94 -> join$default 23:23:java.lang.String join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):118 -> join$default 24:24:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):95:95 -> join$default 24:24:java.lang.String join$default(java.lang.String,java.lang.Object[],java.lang.String,int,java.lang.Object):119 -> join$default ai.neuvision.sdk.utils.ResourceUtils -> ai.neuvision.sdk.utils.ResourceUtils: 1:1:void ():17:17 -> 1:8:android.graphics.drawable.Drawable getDrawableFromPakcage(android.content.Context,java.lang.String,java.lang.String):42:49 -> getDrawableFromPakcage 9:18:android.graphics.drawable.Drawable getDrawableFromPakcage(android.content.Context,java.lang.String,int):60:69 -> getDrawableFromPakcage 19:19:android.graphics.drawable.Drawable getDrawableFromPakcage(android.content.Context,java.lang.String,int):66:66 -> getDrawableFromPakcage 1:10:android.graphics.drawable.Drawable getIcon(android.content.Context,android.content.ComponentName):21:30 -> getIcon 1:7:java.lang.String getStringFromPakcage(android.content.Context,java.lang.String,java.lang.String):79:85 -> getStringFromPakcage ai.neuvision.sdk.utils.SDCardUtils -> ai.neuvision.sdk.utils.SDCardUtils: 1:1:void ():8:8 -> 1:6:boolean sdcardWriteable():13:18 -> sdcardWriteable 7:7:boolean sdcardWriteable():15:15 -> sdcardWriteable ai.neuvision.sdk.utils.StreamFinder -> ai.neuvision.sdk.utils.StreamFinder: 1:1:void ():12:12 -> 1:2:int readOrReset(java.io.InputStream,ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer,boolean):59:60 -> a 3:3:boolean ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer.isWritable():96:96 -> a 3:3:void ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer.write(byte):99 -> a 3:3:int readOrReset(java.io.InputStream,ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer,boolean):63 -> a 4:4:void ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer.write(byte):99:99 -> a 4:4:int readOrReset(java.io.InputStream,ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer,boolean):63 -> a 5:5:int readOrReset(java.io.InputStream,ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer,boolean):64:64 -> a 6:6:void ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer.write(byte):99:99 -> a 6:6:int readOrReset(java.io.InputStream,ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer,boolean):63 -> a 7:8:int readOrReset(java.io.InputStream,ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer,boolean):67:68 -> a 9:9:void ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer.resetIndex(int,int):101:101 -> a 9:9:void ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer.clear():102 -> a 9:9:int readOrReset(java.io.InputStream,ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer,boolean):68 -> a 1:1:int find(java.io.InputStream,byte[],int):15:15 -> find 2:3:int find(java.io.InputStream,byte[],int,byte[],int):19:20 -> find 4:4:void ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer.resetIndex(int,int):101:101 -> find 4:4:void ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer.clear():102 -> find 4:4:int find(java.io.InputStream,byte[],int,byte[],int):21 -> find 5:5:int readOrReset(java.io.InputStream,ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer):54:54 -> find 5:5:int find(java.io.InputStream,byte[],int,byte[],int):23 -> find 6:8:int find(java.io.InputStream,byte[],int,byte[],int):27:29 -> find 9:9:int ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer.getReadIndex():77:77 -> find 9:9:int find(java.io.InputStream,byte[],int,byte[],int):31 -> find 10:14:int find(java.io.InputStream,byte[],int,byte[],int):32:36 -> find 15:15:void ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer.setReadIndex(int):81:81 -> find 15:15:int find(java.io.InputStream,byte[],int,byte[],int):42 -> find 16:16:int find(java.io.InputStream,byte[],int,byte[],int):46:46 -> find 1:14:void main(java.lang.String[]):118:131 -> main ai.neuvision.sdk.utils.StreamFinder$SimpleBuffer -> ai.neuvision.sdk.utils.StreamFinder$a: byte[] buf -> a int readIndex -> b int writeIndex -> c 1:3:void (byte[]):104:106 -> 1:1:boolean isAvailable():95:95 -> a 1:1:int read():98:98 -> b ai.neuvision.sdk.utils.StreamUtils -> ai.neuvision.sdk.utils.StreamUtils: 1:1:void ():13:13 -> 1:1:byte[] byteArrayFromStream(java.io.InputStream):35:35 -> byteArrayFromStream 2:23:byte[] byteArrayFromStream(java.io.InputStream,int):40:61 -> byteArrayFromStream 1:10:java.lang.String stringFromStream(java.io.InputStream):19:28 -> stringFromStream ai.neuvision.sdk.utils.StrongReference -> ai.neuvision.sdk.utils.StrongReference: java.lang.Object mObj -> a 1:2:void ():7:8 -> 1:1:void clear():11:11 -> clear 1:1:java.lang.Object get():21:21 -> get 1:2:java.lang.Object set(java.lang.Object):15:16 -> set ai.neuvision.sdk.utils.TemplatesKt -> ai.neuvision.sdk.utils.TemplatesKt: 1:7:void save2file(java.lang.String,java.lang.Exception):64:70 -> save2file 1:1:void save2file$default(java.lang.String,java.lang.Exception,int,java.lang.Object):63:63 -> save2file$default ai.neuvision.sdk.utils.TemplatesKt$runOnUiThread$1 -> ai.neuvision.sdk.utils.TemplatesKt$runOnUiThread$1: kotlin.jvm.functions.Function0 $action -> a ai.neuvision.sdk.utils.ThreadUtils -> ai.neuvision.sdk.utils.ThreadUtils: 1:1:void ():18:18 -> 1:6:void ensureNonUiThread():32:37 -> ensureNonUiThread 7:7:void ensureNonUiThread():35:35 -> ensureNonUiThread 1:6:void ensureUiThread():21:26 -> ensureUiThread 7:7:void ensureUiThread():24:24 -> ensureUiThread 1:4:boolean isUiThread():43:46 -> isUiThread ai.neuvision.sdk.utils.TimeUtils -> ai.neuvision.sdk.utils.TimeUtils: 1:1:void ():17:17 -> 1:5:void addZero(int,ai.neuvision.sdk.utils.RecycleStringBuilder):90:94 -> a 1:1:java.lang.String getCurrentTimeString():19:19 -> getCurrentTimeString 1:12:java.lang.String getCurrentTimeStringX(long):32:43 -> getCurrentTimeStringX 13:49:java.lang.String getCurrentTimeStringX():48:84 -> getCurrentTimeStringX 1:5:java.lang.String getHttpTimeZone():110:114 -> getHttpTimeZone 1:6:java.lang.String getTimeString(long):23:28 -> getTimeString 1:5:java.lang.String getTimeZone():120:124 -> getTimeZone 1:7:java.lang.String longToDateString(long):99:105 -> longToDateString ai.neuvision.sdk.utils.TypeUtils -> ai.neuvision.sdk.utils.TypeUtils: 1:1:void ():10:10 -> 1:3:boolean isEmptyString(java.lang.String):21:23 -> isEmptyString ai.neuvision.sdk.utils.Utilities -> ai.neuvision.sdk.utils.Utilities: 1:1:void ():30:30 -> 1:1:boolean createOrExistsDir(java.io.File):58:58 -> createOrExistsDir 2:2:boolean createOrExistsDir(java.lang.String):62:62 -> createOrExistsDir 1:1:boolean createOrExistsFile(java.lang.String):72:72 -> createOrExistsFile 2:7:boolean createOrExistsFile(java.io.File):83:88 -> createOrExistsFile 1:9:boolean ensureDirectory(java.lang.String):37:45 -> ensureDirectory 1:2:android.content.Context getApplicationContext():104:105 -> getApplicationContext 1:1:java.lang.String getApplicationName():124:124 -> getApplicationName 1:1:java.lang.String getCurrentLanguage():187:187 -> getCurrentLanguage 1:5:java.lang.Object getSystemService(java.lang.String):116:120 -> getSystemService 6:6:java.lang.Object getSystemService(java.lang.String):117:117 -> getSystemService 1:1:boolean hasInit():112:112 -> hasInit 1:1:void initAppContext(android.content.Context):94:94 -> initAppContext 1:3:void initEnvironment(android.content.Context,java.lang.String,java.lang.String):98:100 -> initEnvironment 1:7:boolean isLargeScreen():193:199 -> isLargeScreen 1:1:boolean isSDCardMounted():129:129 -> isSDCardMounted 1:16:java.lang.String join(java.lang.CharSequence,int[]):203:218 -> join 1:10:void printArray(java.lang.String,int[]):222:231 -> printArray 11:20:void printArray(java.lang.String,float[]):235:244 -> printArray 21:30:void printArray(java.lang.String,java.lang.Object[]):248:257 -> printArray 1:1:void silentlyClose(java.io.Closeable):135:135 -> silentlyClose 2:2:void silentlyClose(android.database.Cursor):144:144 -> silentlyClose 3:3:void silentlyClose(android.database.sqlite.SQLiteDatabase):153:153 -> silentlyClose 4:4:void silentlyClose(java.net.Socket):162:162 -> silentlyClose 5:5:void silentlyClose(java.net.DatagramSocket):171:171 -> silentlyClose 6:6:void silentlyClose(android.content.res.AssetFileDescriptor):180:180 -> silentlyClose ai.neuvision.sdk.utils.UtilsBridge -> ai.neuvision.sdk.utils.UtilsBridge: 1:1:void ():8:8 -> 1:4:java.io.File getFileByPath(java.lang.String):65:68 -> a 1:1:java.lang.String byte2FitMemorySize(int):30:30 -> byte2FitMemorySize 2:2:java.lang.String byte2FitMemorySize(long):35:35 -> byte2FitMemorySize 3:9:java.lang.String byte2FitMemorySize(long,int):54:60 -> byte2FitMemorySize 10:10:java.lang.String byte2FitMemorySize(long,int):52:52 -> byte2FitMemorySize 11:11:java.lang.String byte2FitMemorySize(long,int):49:49 -> byte2FitMemorySize 1:1:boolean createOrExistsDir(java.io.File):72:72 -> createOrExistsDir 1:1:boolean createOrExistsFile(java.lang.String):76:76 -> createOrExistsFile 2:2:boolean createOrExistsFile(java.io.File):79:79 -> createOrExistsFile 1:1:boolean isSDCardEnableByEnvironment():25:25 -> isSDCardEnableByEnvironment 1:2:boolean isSpace(java.lang.String):16:17 -> isSpace ai.neuvision.sdk.utils.ZipUtil -> ai.neuvision.sdk.utils.ZipUtil: 1:2:void ():25:26 -> 1:11:boolean zipFile(java.io.File,java.lang.String,java.util.zip.ZipOutputStream,java.lang.String):188:198 -> a 12:38:boolean zipFile(java.io.File,java.lang.String,java.util.zip.ZipOutputStream,java.lang.String):192:218 -> a 39:60:boolean unzipChildFile(java.io.File,java.util.List,java.util.zip.ZipFile,java.util.zip.ZipEntry,java.lang.String):319:340 -> a 61:66:boolean unzipChildFile(java.io.File,java.util.List,java.util.zip.ZipFile,java.util.zip.ZipEntry,java.lang.String):337:342 -> a 1:4:java.io.File ai.neuvision.sdk.utils.UtilsBridge.getFileByPath(java.lang.String):65:68 -> getComments 1:4:java.util.List getComments(java.lang.String):394 -> getComments 5:5:java.util.List getComments(java.lang.String):394:394 -> getComments 6:13:java.util.List getComments(java.io.File):407:414 -> getComments 1:4:java.io.File ai.neuvision.sdk.utils.UtilsBridge.getFileByPath(java.lang.String):65:68 -> getFilesPath 1:4:java.util.List getFilesPath(java.lang.String):356 -> getFilesPath 5:5:java.util.List getFilesPath(java.lang.String):356:356 -> getFilesPath 6:18:java.util.List getFilesPath(java.io.File):369:381 -> getFilesPath 1:1:java.util.List unzipFile(java.lang.String,java.lang.String):234:234 -> unzipFile 2:2:java.util.List unzipFile(java.io.File,java.io.File):248:248 -> unzipFile 1:5:java.io.File ai.neuvision.sdk.utils.UtilsBridge.getFileByPath(java.lang.String):65:65 -> unzipFileByKeyword 1:5:java.util.List unzipFileByKeyword(java.lang.String,java.lang.String,java.lang.String):264 -> unzipFileByKeyword 8:8:java.io.File ai.neuvision.sdk.utils.UtilsBridge.getFileByPath(java.lang.String):68:68 -> unzipFileByKeyword 8:8:java.util.List unzipFileByKeyword(java.lang.String,java.lang.String,java.lang.String):264 -> unzipFileByKeyword 9:9:java.util.List unzipFileByKeyword(java.lang.String,java.lang.String,java.lang.String):264:264 -> unzipFileByKeyword 10:38:java.util.List unzipFileByKeyword(java.io.File,java.io.File,java.lang.String):281:309 -> unzipFileByKeyword 39:53:java.util.List unzipFileByKeyword(java.io.File,java.io.File,java.lang.String):296:310 -> unzipFileByKeyword 1:5:java.io.File ai.neuvision.sdk.utils.UtilsBridge.getFileByPath(java.lang.String):65:65 -> zipFile 1:5:boolean zipFile(java.lang.String,java.lang.String):125 -> zipFile 8:8:java.io.File ai.neuvision.sdk.utils.UtilsBridge.getFileByPath(java.lang.String):68:68 -> zipFile 8:8:boolean zipFile(java.lang.String,java.lang.String):125 -> zipFile 9:9:boolean zipFile(java.lang.String,java.lang.String):125:125 -> zipFile 10:14:java.io.File ai.neuvision.sdk.utils.UtilsBridge.getFileByPath(java.lang.String):65:65 -> zipFile 10:14:boolean zipFile(java.lang.String,java.lang.String,java.lang.String):141 -> zipFile 17:17:java.io.File ai.neuvision.sdk.utils.UtilsBridge.getFileByPath(java.lang.String):68:68 -> zipFile 17:17:boolean zipFile(java.lang.String,java.lang.String,java.lang.String):141 -> zipFile 18:18:boolean zipFile(java.lang.String,java.lang.String,java.lang.String):141:141 -> zipFile 19:19:boolean zipFile(java.io.File,java.io.File):155:155 -> zipFile 20:26:boolean zipFile(java.io.File,java.io.File,java.lang.String):174:180 -> zipFile 1:1:boolean zipFiles(java.util.Collection,java.lang.String):40:40 -> zipFiles 2:10:boolean zipFiles(java.util.Collection,java.lang.String,java.lang.String):59:67 -> zipFiles 11:13:boolean zipFiles(java.util.Collection,java.lang.String,java.lang.String):66:66 -> zipFiles 14:16:boolean zipFiles(java.util.Collection,java.lang.String,java.lang.String):67:69 -> zipFiles 17:17:boolean zipFiles(java.util.Collection,java.io.File):82:82 -> zipFiles 18:26:boolean zipFiles(java.util.Collection,java.io.File,java.lang.String):101:109 -> zipFiles 27:29:boolean zipFiles(java.util.Collection,java.io.File,java.lang.String):108:108 -> zipFiles 30:32:boolean zipFiles(java.util.Collection,java.io.File,java.lang.String):109:111 -> zipFiles com.neuvision.account.BuildConfig -> com.neuvision.account.BuildConfig: 1:1:void ():6:6 -> com.neuvision.account.NeuAccount -> com.neuvision.account.NeuAccount: com.neuvision.account.NeuAccount$AccountStateListener mAccountStateListener -> f boolean isInCall -> i java.util.List mAccountStatusPlugin -> d com.neuvision.account.entity.AccountEntry mAccountEntry -> a long lastRefreshTime -> g boolean hasKicked -> h java.lang.String mLoginAppSecret -> c boolean mRunningLogin -> b java.util.concurrent.CountDownLatch mInitCountDownLatch -> e 1:1:void ():69:69 -> 2:804:void ():65:867 -> 805:805:void ():70:70 -> 1:1:boolean access$1402(com.neuvision.account.NeuAccount,boolean):56:56 -> a 2:3:boolean saveAccountToStorage(com.neuvision.account.entity.AccountEntry,boolean):211:212 -> a 4:4:com.neuvision.account.entity.AccountEntry getInnerAccountEntry():275:275 -> a 4:4:boolean saveAccountToStorage(com.neuvision.account.entity.AccountEntry,boolean):216 -> a 5:13:boolean saveAccountToStorage(com.neuvision.account.entity.AccountEntry,boolean):218:226 -> a 14:46:boolean saveAccountToStorage(com.neuvision.account.entity.AccountEntry,boolean):224:256 -> a 47:55:boolean clearAccountInStorage(java.lang.Long):261:269 -> a 56:58:void lambda$switchUser$0(java.lang.Long,com.neuvision.account.interf.IRefreshTokenStatus):410:412 -> a 59:59:void lambda$refreshToken$1(com.neuvision.account.interf.IRefreshTokenStatus):524:524 -> a 60:60:void refreshTokenImpl(com.neuvision.account.interf.IRefreshTokenStatus,boolean):533:533 -> a 60:60:void lambda$refreshToken$2(com.neuvision.account.interf.IRefreshTokenStatus,boolean):529 -> a 61:74:void logoutInBgImpl(java.lang.Long,com.neuvision.account.interf.ILogoutStatus):758:771 -> a 61:74:void lambda$logout$3(java.lang.Long,com.neuvision.account.interf.ILogoutStatus):754 -> a 75:75:com.neuvision.account.entity.AccountEntry getInnerAccountEntry():275:275 -> a 75:75:void logoutInBgImpl(java.lang.Long,com.neuvision.account.interf.ILogoutStatus):774 -> a 75:75:void lambda$logout$3(java.lang.Long,com.neuvision.account.interf.ILogoutStatus):754 -> a 76:85:void logoutInBgImpl(java.lang.Long,com.neuvision.account.interf.ILogoutStatus):774:783 -> a 76:85:void lambda$logout$3(java.lang.Long,com.neuvision.account.interf.ILogoutStatus):754 -> a 86:88:com.neuvision.account.info.ResultInfo checkLoginResult(com.neuvision.account.entity.AccountEntry,java.lang.String):912:912 -> a 86:88:com.neuvision.account.info.ResultInfo access$300(com.neuvision.account.NeuAccount,com.neuvision.account.entity.AccountEntry,java.lang.String):56 -> a 90:93:com.neuvision.account.info.ResultInfo checkLoginResult(com.neuvision.account.entity.AccountEntry,java.lang.String):914:917 -> a 90:93:com.neuvision.account.info.ResultInfo access$300(com.neuvision.account.NeuAccount,com.neuvision.account.entity.AccountEntry,java.lang.String):56 -> a 94:130:com.neuvision.account.info.ResultInfo checkLoginResult(com.neuvision.account.entity.AccountEntry,java.lang.String):916:952 -> a 94:130:com.neuvision.account.info.ResultInfo access$300(com.neuvision.account.NeuAccount,com.neuvision.account.entity.AccountEntry,java.lang.String):56 -> a 131:132:com.neuvision.account.info.ResultInfo checkLoginResult(com.neuvision.account.entity.AccountEntry,java.lang.String):933:934 -> a 131:132:com.neuvision.account.info.ResultInfo access$300(com.neuvision.account.NeuAccount,com.neuvision.account.entity.AccountEntry,java.lang.String):56 -> a 133:133:com.neuvision.account.info.ResultInfo checkLoginResult(com.neuvision.account.entity.AccountEntry,java.lang.String):924:924 -> a 133:133:com.neuvision.account.info.ResultInfo access$300(com.neuvision.account.NeuAccount,com.neuvision.account.entity.AccountEntry,java.lang.String):56 -> a 134:139:void dispatchLoginSuccess():982:987 -> a 134:139:void access$500(com.neuvision.account.NeuAccount):56 -> a 140:144:void dispatchLoginFailed(int,java.lang.String):992:996 -> a 140:144:void access$600(com.neuvision.account.NeuAccount,int,java.lang.String):56 -> a 145:149:void dispatchLogoutSuccess():1019:1023 -> a 150:150:void logProgress(java.lang.String):1042:1042 -> a 1:5:void accountKicked():820:824 -> accountKicked 1:1:void addPlugin(com.neuvision.account.interf.AccountPlugin):506:506 -> addPlugin 1:1:boolean access$802(com.neuvision.account.NeuAccount,boolean):56:56 -> b 2:3:long getOnlineUid():154:155 -> b 4:17:com.neuvision.account.entity.AccountEntry getAccountFromStorage(java.lang.Long):172:185 -> b 18:23:void lambda$onLogoutSuccessImpl$4(java.lang.Long,com.neuvision.account.interf.ILogoutStatus):808:813 -> b 24:28:void dispatchConnectFailed(int,java.lang.String):1010:1014 -> b 24:28:void access$900(com.neuvision.account.NeuAccount,int,java.lang.String):56 -> b 1:1:void lambda$logoutLocal$5(java.lang.Long):889:889 -> c 2:2:boolean hasPlugin():1038:1038 -> c 1:8:void connect(com.neuvision.account.interf.IConnectStatus):700:707 -> connect 1:31:void initAccountEntry():114:144 -> d 32:34:void initAccountEntry():122:124 -> d 35:45:com.neuvision.account.entity.AccountEntry getOldLoginAccountFromStorage():190:200 -> d 35:45:void initAccountEntry():126 -> d 46:62:void initAccountEntry():128:144 -> d 63:73:void initAccountEntry():134:144 -> d 74:77:void initAccountEntry():141:144 -> d 78:80:void initAccountEntry():143:145 -> d 81:83:void resetOnlineUid(java.lang.Long):165:167 -> d 1:11:void directLogin(java.lang.String,java.lang.String,java.lang.String,com.neuvision.account.interf.ILoginStatus):653:663 -> directLogin 12:12:void directLogin(java.lang.String,java.lang.String,java.lang.String,com.neuvision.account.interf.ILoginStatus):659:659 -> directLogin 1:1:com.neuvision.account.entity.AccountEntry getAccountEntry():295:295 -> getAccountEntry 1:1:com.neuvision.account.NeuAccount$AccountStateListener getAccountStateListener():98:98 -> getAccountStateListener 1:4:java.lang.String getAliveToken():318:321 -> getAliveToken 5:5:com.neuvision.account.entity.AccountEntry getInnerAccountEntry():275:275 -> getAliveToken 5:5:java.lang.String getAliveToken():321 -> getAliveToken 6:6:java.lang.String getAliveToken():322:322 -> getAliveToken 1:4:java.lang.String getAppId():445:448 -> getAppId 5:5:com.neuvision.account.entity.AccountEntry getInnerAccountEntry():275:275 -> getAppId 5:5:java.lang.String getAppId():448 -> getAppId 6:6:java.lang.String getAppId():449:449 -> getAppId 1:1:java.lang.String getAppSecret():459:459 -> getAppSecret 2:2:com.neuvision.account.entity.AccountEntry getInnerAccountEntry():275:275 -> getAppSecret 2:2:java.lang.String getAppSecret():459 -> getAppSecret 3:6:java.lang.String getAppSecret():460:463 -> getAppSecret 7:7:java.lang.String getAppSecret():462:462 -> getAppSecret 1:1:java.lang.String getLoginAppSecret():308:308 -> getLoginAppSecret 1:6:java.util.List getLoginUsers():399:404 -> getLoginUsers 1:4:long getRefreshTokenTs():333:336 -> getRefreshTokenTs 5:5:com.neuvision.account.entity.AccountEntry getInnerAccountEntry():275:275 -> getRefreshTokenTs 5:5:long getRefreshTokenTs():336 -> getRefreshTokenTs 6:6:long getRefreshTokenTs():337:337 -> getRefreshTokenTs 1:4:long getSelfUid():385:388 -> getSelfUid 5:5:com.neuvision.account.entity.AccountEntry getInnerAccountEntry():275:275 -> getSelfUid 5:5:long getSelfUid():388 -> getSelfUid 6:7:long getSelfUid():390:391 -> getSelfUid 1:3:long getServerTime():347:349 -> getServerTime 4:4:com.neuvision.account.entity.AccountEntry getInnerAccountEntry():275:275 -> getServerTime 4:4:long getServerTime():351 -> getServerTime 5:13:long getServerTime():353:361 -> getServerTime 1:1:long getServersTime():342:342 -> getServersTime 1:1:long getUid():374:374 -> getUid 1:1:long getUidInBg():378:378 -> getUidInBg 2:436:java.lang.Long getSelfUidInBg():0:434 -> getUidInBg 2:436:long getUidInBg():378 -> getUidInBg 437:437:com.neuvision.account.entity.AccountEntry getInnerAccountEntry():275:275 -> getUidInBg 437:437:com.neuvision.account.entity.AccountEntry getInnerAccountEntryInBg():279 -> getUidInBg 437:437:java.lang.Long getSelfUidInBg():434 -> getUidInBg 437:437:long getUidInBg():378 -> getUidInBg 438:442:com.neuvision.account.entity.AccountEntry getInnerAccountEntryInBg():283:287 -> getUidInBg 438:442:java.lang.Long getSelfUidInBg():434 -> getUidInBg 438:442:long getUidInBg():378 -> getUidInBg 443:443:java.lang.Long getSelfUidInBg():435:435 -> getUidInBg 443:443:long getUidInBg():378 -> getUidInBg 444:444:long getUidInBg():379:379 -> getUidInBg 1:14:boolean hasLogin():895:908 -> hasLogin 1:1:com.neuvision.account.NeuAccount com.neuvision.account.NeuAccount$Holder.access$100():73:73 -> instance 1:1:com.neuvision.account.NeuAccount instance():79 -> instance 1:1:boolean isLoginSuccess():499:499 -> isLoginSuccess 1:2:boolean isSelf(long):470:471 -> isSelf 1:10:void login(java.lang.String,java.lang.String,long,java.lang.String,java.lang.String,com.neuvision.account.interf.ILoginStatus):605:614 -> login 11:11:void login(java.lang.String,java.lang.String,long,java.lang.String,java.lang.String,com.neuvision.account.interf.ILoginStatus):611:611 -> login 1:1:void logout(com.neuvision.account.interf.ILogoutStatus):749:749 -> logout 2:2:void logout(java.lang.Long,com.neuvision.account.interf.ILogoutStatus):754:754 -> logout 1:1:void logoutLocal():880:880 -> logoutLocal 2:6:void logoutLocal(java.lang.Long):886:890 -> logoutLocal 1:1:boolean needRefreshToken():483:483 -> needRefreshToken 2:2:com.neuvision.account.entity.AccountEntry getInnerAccountEntry():275:275 -> needRefreshToken 2:2:boolean needRefreshToken():483 -> needRefreshToken 3:4:boolean needRefreshToken():487:488 -> needRefreshToken 1:2:void onAppCreate():106:107 -> onAppCreate 1:1:void onLogoutSuccessImpl(java.lang.Long,com.neuvision.account.interf.ILogoutStatus):807:807 -> onLogoutSuccessImpl 1:1:void refreshToken(com.neuvision.account.interf.IRefreshTokenStatus):511:511 -> refreshToken 2:10:void refreshToken(com.neuvision.account.interf.IRefreshTokenStatus,boolean):521:529 -> refreshToken 1:1:com.neuvision.http.entity.HttpResponse refreshTokenSync():566:566 -> refreshTokenSync 2:15:com.neuvision.http.entity.HttpResponse refreshTokenSync(boolean):575:588 -> refreshTokenSync 1:1:void setAccountStateListener(com.neuvision.account.NeuAccount$AccountStateListener):94:94 -> setAccountStateListener 1:5:void setCallStatus(boolean):870:874 -> setCallStatus 1:1:void switchUser(java.lang.Long,com.neuvision.account.interf.IRefreshTokenStatus):409:409 -> switchUser com.neuvision.account.NeuAccount$1 -> com.neuvision.account.NeuAccount$a: com.neuvision.account.interf.IRefreshTokenStatus val$callBack -> a com.neuvision.account.NeuAccount this$0 -> c java.lang.Long val$uid -> b 1:1:void (com.neuvision.account.NeuAccount,com.neuvision.account.interf.IRefreshTokenStatus,java.lang.Long):412:412 -> 1:4:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):424:427 -> onRefreshTokenFailed 5:5:void com.neuvision.account.NeuAccount.access$400(com.neuvision.account.NeuAccount,java.lang.String):56:56 -> onRefreshTokenFailed 5:5:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):427 -> onRefreshTokenFailed 1:5:void onRefreshTokenSuccess(com.neuvision.account.entity.AccountEntry):415:419 -> onRefreshTokenSuccess 6:6:void com.neuvision.account.NeuAccount.access$400(com.neuvision.account.NeuAccount,java.lang.String):56:56 -> onRefreshTokenSuccess 6:6:void onRefreshTokenSuccess(com.neuvision.account.entity.AccountEntry):419 -> onRefreshTokenSuccess com.neuvision.account.NeuAccount$2 -> b0: com.neuvision.account.interf.IRefreshTokenStatus val$callBack -> b com.neuvision.account.NeuAccount this$0 -> c boolean val$forceRefresh -> a 1:1:void (com.neuvision.account.NeuAccount,boolean,com.neuvision.account.interf.IRefreshTokenStatus):533:533 -> 1:3:void lambda$onRefreshTokenSuccess$0(boolean,com.neuvision.account.interf.IRefreshTokenStatus,com.neuvision.account.entity.AccountEntry):545:547 -> a 4:4:void lambda$onRefreshTokenFailed$1(com.neuvision.account.interf.IRefreshTokenStatus,int,java.lang.String,com.neuvision.account.entity.AccountEntry):559:559 -> a 1:6:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):554:559 -> onRefreshTokenFailed 1:1:void onRefreshTokenSuccess(com.neuvision.account.entity.AccountEntry):536:536 -> onRefreshTokenSuccess 2:2:boolean com.neuvision.account.NeuAccount.access$200(com.neuvision.account.NeuAccount,com.neuvision.account.entity.AccountEntry,boolean):56:56 -> onRefreshTokenSuccess 2:2:void onRefreshTokenSuccess(com.neuvision.account.entity.AccountEntry):536 -> onRefreshTokenSuccess 3:8:void onRefreshTokenSuccess(com.neuvision.account.entity.AccountEntry):538:543 -> onRefreshTokenSuccess com.neuvision.account.NeuAccount$3 -> com.neuvision.account.NeuAccount$b: com.neuvision.account.NeuAccount this$0 -> c java.lang.String val$rid -> a com.neuvision.account.interf.ILoginStatus val$loginStatus -> b 1:1:void (com.neuvision.account.NeuAccount,java.lang.String,com.neuvision.account.interf.ILoginStatus):614:614 -> 1:3:void lambda$onLoginSuccess$0(com.neuvision.account.interf.ILoginStatus,com.neuvision.account.entity.AccountEntry):624:624 -> a 4:4:void lambda$onLoginSuccess$1(com.neuvision.account.interf.ILoginStatus,com.neuvision.account.info.ResultInfo):631:631 -> a 5:5:void lambda$onLoginFailed$2(com.neuvision.account.interf.ILoginStatus,int,java.lang.String):644:644 -> a 1:1:void onLoginFailed(int,java.lang.String):637:637 -> onLoginFailed 2:2:java.lang.String com.neuvision.account.NeuAccount.access$702(com.neuvision.account.NeuAccount,java.lang.String):56:56 -> onLoginFailed 2:2:void onLoginFailed(int,java.lang.String):637 -> onLoginFailed 3:6:void onLoginFailed(int,java.lang.String):638:641 -> onLoginFailed 7:7:void com.neuvision.account.NeuAccount.access$400(com.neuvision.account.NeuAccount,java.lang.String):56:56 -> onLoginFailed 7:7:void onLoginFailed(int,java.lang.String):641 -> onLoginFailed 8:10:void onLoginFailed(int,java.lang.String):642:644 -> onLoginFailed 11:11:void onLoginFailed(int,java.lang.String):640:640 -> onLoginFailed 1:2:void onLoginSuccess(com.neuvision.account.entity.AccountEntry):617:618 -> onLoginSuccess 3:3:void com.neuvision.account.NeuAccount.access$400(com.neuvision.account.NeuAccount,java.lang.String):56:56 -> onLoginSuccess 3:3:void onLoginSuccess(com.neuvision.account.entity.AccountEntry):618 -> onLoginSuccess 4:16:void onLoginSuccess(com.neuvision.account.entity.AccountEntry):619:631 -> onLoginSuccess com.neuvision.account.NeuAccount$4 -> com.neuvision.account.NeuAccount$c: com.neuvision.account.NeuAccount this$0 -> c java.lang.String val$rid -> a com.neuvision.account.interf.ILoginStatus val$status -> b 1:1:void (com.neuvision.account.NeuAccount,java.lang.String,com.neuvision.account.interf.ILoginStatus):663:663 -> 1:1:void lambda$onLoginSuccess$0(com.neuvision.account.interf.ILoginStatus,com.neuvision.account.entity.AccountEntry):674:674 -> a 2:2:void lambda$onLoginSuccess$1(com.neuvision.account.interf.ILoginStatus,com.neuvision.account.info.ResultInfo):680:680 -> a 3:3:void lambda$onLoginFailed$2(com.neuvision.account.interf.ILoginStatus,int,java.lang.String):692:692 -> a 1:1:void onLoginFailed(int,java.lang.String):686:686 -> onLoginFailed 2:2:java.lang.String com.neuvision.account.NeuAccount.access$702(com.neuvision.account.NeuAccount,java.lang.String):56:56 -> onLoginFailed 2:2:void onLoginFailed(int,java.lang.String):686 -> onLoginFailed 3:8:void onLoginFailed(int,java.lang.String):687:692 -> onLoginFailed 9:9:void onLoginFailed(int,java.lang.String):689:689 -> onLoginFailed 1:14:void onLoginSuccess(com.neuvision.account.entity.AccountEntry):667:680 -> onLoginSuccess com.neuvision.account.NeuAccount$5 -> com.neuvision.account.NeuAccount$d: com.neuvision.account.interf.IConnectStatus val$status -> a com.neuvision.account.NeuAccount this$0 -> b 1:1:void (com.neuvision.account.NeuAccount,com.neuvision.account.interf.IConnectStatus):707:707 -> 1:1:void lambda$null$0(com.neuvision.account.interf.IConnectStatus):717:717 -> a 2:2:void lambda$null$1(com.neuvision.account.interf.IConnectStatus,com.neuvision.account.info.ResultInfo):723:723 -> a 3:7:void lambda$onRefreshTokenFailed$4(int,java.lang.String,com.neuvision.account.interf.IConnectStatus):731:735 -> a 8:8:void lambda$null$3(com.neuvision.account.interf.IConnectStatus,int,java.lang.String):735:735 -> a 1:1:void lambda$onRefreshTokenSuccess$2(com.neuvision.account.interf.IConnectStatus):711:711 -> b 2:973:com.neuvision.account.info.ResultInfo com.neuvision.account.NeuAccount.checkConnectResult():0:971 -> b 2:973:com.neuvision.account.info.ResultInfo com.neuvision.account.NeuAccount.access$1000(com.neuvision.account.NeuAccount):56 -> b 2:973:void lambda$onRefreshTokenSuccess$2(com.neuvision.account.interf.IConnectStatus):711 -> b 974:975:void lambda$onRefreshTokenSuccess$2(com.neuvision.account.interf.IConnectStatus):712:713 -> b 976:980:void com.neuvision.account.NeuAccount.dispatchConnectSuccess():1001:1005 -> b 976:980:void com.neuvision.account.NeuAccount.access$1100(com.neuvision.account.NeuAccount):56 -> b 976:980:void lambda$onRefreshTokenSuccess$2(com.neuvision.account.interf.IConnectStatus):713 -> b 981:987:void lambda$onRefreshTokenSuccess$2(com.neuvision.account.interf.IConnectStatus):717:723 -> b 1:7:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):730:736 -> onRefreshTokenFailed 1:16:void onRefreshTokenSuccess(com.neuvision.account.entity.AccountEntry):710:725 -> onRefreshTokenSuccess com.neuvision.account.NeuAccount$6 -> c0: com.neuvision.account.NeuAccount this$0 -> c com.neuvision.account.entity.AccountEntry val$accountEntry -> a com.neuvision.account.interf.ILogoutStatus val$logoutStatus -> b 1:1:void (com.neuvision.account.NeuAccount,com.neuvision.account.entity.AccountEntry,com.neuvision.account.interf.ILogoutStatus):783:783 -> 1:1:void onLogoutFailed(int,java.lang.String):792:792 -> onLogoutFailed 2:2:void com.neuvision.account.NeuAccount.access$400(com.neuvision.account.NeuAccount,java.lang.String):56:56 -> onLogoutFailed 2:2:void onLogoutFailed(int,java.lang.String):792 -> onLogoutFailed 3:3:void onLogoutFailed(int,java.lang.String):797:797 -> onLogoutFailed 4:8:void com.neuvision.account.NeuAccount.dispatchLogoutFailed(int,java.lang.String):1028:1032 -> onLogoutFailed 4:8:void com.neuvision.account.NeuAccount.access$1200(com.neuvision.account.NeuAccount,int,java.lang.String):56 -> onLogoutFailed 4:8:void onLogoutFailed(int,java.lang.String):797 -> onLogoutFailed 9:12:void onLogoutFailed(int,java.lang.String):798:801 -> onLogoutFailed 13:13:void onLogoutFailed(int,java.lang.String):794:794 -> onLogoutFailed 1:2:void onLogoutSuccess():786:787 -> onLogoutSuccess 3:3:void com.neuvision.account.NeuAccount.access$400(com.neuvision.account.NeuAccount,java.lang.String):56:56 -> onLogoutSuccess 3:3:void onLogoutSuccess():787 -> onLogoutSuccess com.neuvision.account.NeuAccount$7 -> com.neuvision.account.NeuAccount$e: com.neuvision.account.NeuAccount this$0 -> a 1:1:void (com.neuvision.account.NeuAccount):824:824 -> 1:1:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):853:853 -> onRefreshTokenFailed 2:2:com.neuvision.account.NeuAccount$AccountStateListener com.neuvision.account.NeuAccount.access$1300(com.neuvision.account.NeuAccount):56:56 -> onRefreshTokenFailed 2:2:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):853 -> onRefreshTokenFailed 3:6:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):854:857 -> onRefreshTokenFailed 7:7:com.neuvision.account.NeuAccount$AccountStateListener com.neuvision.account.NeuAccount.access$1300(com.neuvision.account.NeuAccount):56:56 -> onRefreshTokenFailed 7:7:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):857 -> onRefreshTokenFailed 8:8:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):857:857 -> onRefreshTokenFailed 9:13:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):836:840 -> onRefreshTokenFailed 14:14:boolean com.neuvision.account.NeuAccount.access$1500(com.neuvision.account.NeuAccount):56:56 -> onRefreshTokenFailed 14:14:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):840 -> onRefreshTokenFailed 15:15:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):841:841 -> onRefreshTokenFailed 16:16:void com.neuvision.account.NeuAccount.access$400(com.neuvision.account.NeuAccount,java.lang.String):56:56 -> onRefreshTokenFailed 16:16:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):841 -> onRefreshTokenFailed 17:23:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):842:848 -> onRefreshTokenFailed 24:24:com.neuvision.account.NeuAccount$AccountStateListener com.neuvision.account.NeuAccount.access$1300(com.neuvision.account.NeuAccount):56:56 -> onRefreshTokenFailed 24:24:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):848 -> onRefreshTokenFailed 25:25:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):849:849 -> onRefreshTokenFailed 1:1:void onRefreshTokenSuccess(com.neuvision.account.entity.AccountEntry):827:827 -> onRefreshTokenSuccess 2:2:com.neuvision.account.NeuAccount$AccountStateListener com.neuvision.account.NeuAccount.access$1300(com.neuvision.account.NeuAccount):56:56 -> onRefreshTokenSuccess 2:2:void onRefreshTokenSuccess(com.neuvision.account.entity.AccountEntry):827 -> onRefreshTokenSuccess 3:3:void onRefreshTokenSuccess(com.neuvision.account.entity.AccountEntry):828:828 -> onRefreshTokenSuccess com.neuvision.account.NeuAccount$Holder -> com.neuvision.account.NeuAccount$f: com.neuvision.account.NeuAccount INSTANCE -> a 1:1:void ():74:74 -> 2:2:void com.neuvision.account.NeuAccount.(com.neuvision.account.NeuAccount$1):56:56 -> 2:2:void ():74 -> 3:3:void ():74:74 -> com.neuvision.account.dao.RelayDao_Impl -> com.neuvision.account.dao.RelayDao_Impl: 1:20:void (androidx.room.RoomDatabase):26:45 -> 1:9:java.util.List insertOrReplaceIps(java.util.List):56:64 -> insertOrReplaceIps 1:16:java.util.List queryRelays(int):86:101 -> queryRelays 17:19:java.util.List queryRelays(int):100:102 -> queryRelays 1:11:void removeAllRelaysByType(int):69:79 -> removeAllRelaysByType 12:14:void removeAllRelaysByType(int):78:80 -> removeAllRelaysByType com.neuvision.account.dao.RelayDao_Impl$1 -> com.neuvision.account.dao.RelayDao_Impl$1: 1:1:void (com.neuvision.account.dao.RelayDao_Impl,androidx.room.RoomDatabase):28:28 -> 1:1:void bind(androidx.sqlite.db.SupportSQLiteStatement,java.lang.Object):28:28 -> bind 2:8:void bind(androidx.sqlite.db.SupportSQLiteStatement,com.neuvision.account.entity.RelayEntry):36:42 -> bind com.neuvision.account.dao.RelayDao_Impl$2 -> com.neuvision.account.dao.RelayDao_Impl$2: 1:1:void (com.neuvision.account.dao.RelayDao_Impl,androidx.room.RoomDatabase):45:45 -> com.neuvision.account.dao.UserDao -> com.neuvision.account.dao.UserDao: 1:1:void ():22:22 -> com.neuvision.account.dao.UserDao_Impl -> com.neuvision.account.dao.UserDao_Impl: 1:100:void (androidx.room.RoomDatabase):30:129 -> 1:16:int deleteUser(java.lang.Long):165:180 -> deleteUser 17:19:int deleteUser(java.lang.Long):179:181 -> deleteUser 1:9:java.lang.Long insertOrReplaceAccount(com.neuvision.account.entity.AccountEntry):140:148 -> insertOrReplaceAccount 1:18:java.util.List queryAllUid():341:358 -> queryAllUid 19:21:java.util.List queryAllUid():357:359 -> queryAllUid 1:68:java.util.List queryTop1User():187:254 -> queryTop1User 69:71:java.util.List queryTop1User():253:255 -> queryTop1User 1:74:java.util.List queryUser(java.lang.Long):261:334 -> queryUser 75:77:java.util.List queryUser(java.lang.Long):333:335 -> queryUser 1:8:void updateUser(com.neuvision.account.entity.AccountEntry):153:160 -> updateUser com.neuvision.account.dao.UserDao_Impl$1 -> com.neuvision.account.dao.UserDao_Impl$1: 1:1:void (com.neuvision.account.dao.UserDao_Impl,androidx.room.RoomDatabase):32:32 -> 1:1:void bind(androidx.sqlite.db.SupportSQLiteStatement,java.lang.Object):32:32 -> bind 2:39:void bind(androidx.sqlite.db.SupportSQLiteStatement,com.neuvision.account.entity.AccountEntry):40:77 -> bind com.neuvision.account.dao.UserDao_Impl$2 -> com.neuvision.account.dao.UserDao_Impl$2: 1:1:void (com.neuvision.account.dao.UserDao_Impl,androidx.room.RoomDatabase):80:80 -> 1:1:void bind(androidx.sqlite.db.SupportSQLiteStatement,java.lang.Object):80:80 -> bind 2:40:void bind(androidx.sqlite.db.SupportSQLiteStatement,com.neuvision.account.entity.AccountEntry):88:126 -> bind com.neuvision.account.dao.UserDao_Impl$3 -> com.neuvision.account.dao.UserDao_Impl$3: 1:1:void (com.neuvision.account.dao.UserDao_Impl,androidx.room.RoomDatabase):129:129 -> com.neuvision.account.entity.AccountEntry -> com.neuvision.account.entity.AccountEntry: 1:38:void ():23:60 -> 1:1:java.lang.Object clone():20:20 -> clone 2:2:com.neuvision.account.entity.AccountEntry clone():183:183 -> clone 1:1:java.lang.String getAppId():118:118 -> getAppId 1:1:java.lang.String getAppSecret():126:126 -> getAppSecret 1:1:java.lang.String getAtoken():150:150 -> getAtoken 1:1:long getCtimestamp():142:142 -> getCtimestamp 1:1:java.lang.String getDeviceName():203:203 -> getDeviceName 1:1:long getDiffTimeWithServer():94:94 -> getDiffTimeWithServer 1:1:long getExpire():158:158 -> getExpire 1:1:long getId():102:102 -> getId 1:1:java.lang.String getIkey():166:166 -> getIkey 1:1:java.lang.String getIp():195:195 -> getIp 1:1:long getKickTime():211:211 -> getKickTime 1:1:java.lang.String getRid():134:134 -> getRid 1:1:long getStimestamp():174:174 -> getStimestamp 1:1:java.lang.Long getUid():110:110 -> getUid 1:1:boolean isActivated():187:187 -> isActivated 1:11:void refresh(com.neuvision.account.entity.AccountEntry):80:90 -> refresh 1:1:void setActivated(boolean):191:191 -> setActivated 1:1:void setAppId(java.lang.String):122:122 -> setAppId 1:1:void setAppSecret(java.lang.String):130:130 -> setAppSecret 1:1:void setAtoken(java.lang.String):154:154 -> setAtoken 1:1:void setCtimestamp(long):146:146 -> setCtimestamp 1:1:void setDeviceName(java.lang.String):207:207 -> setDeviceName 1:1:void setDiffTimeWithServer(long):98:98 -> setDiffTimeWithServer 1:1:void setExpire(long):162:162 -> setExpire 1:1:void setId(long):106:106 -> setId 1:1:void setIkey(java.lang.String):170:170 -> setIkey 1:1:void setIp(java.lang.String):199:199 -> setIp 1:1:void setKickTime(long):215:215 -> setKickTime 1:1:void setRid(java.lang.String):138:138 -> setRid 1:1:void setStimestamp(long):178:178 -> setStimestamp 1:1:void setUid(java.lang.Long):114:114 -> setUid 1:1:java.lang.String toString():220:220 -> toString com.neuvision.account.entity.BindAccountEntry -> com.neuvision.account.entity.BindAccountEntry: 1:1:void ():13:13 -> 1:1:java.lang.String getAccountId():50:50 -> getAccountId 1:1:java.lang.String getAccountType():58:58 -> getAccountType 1:1:java.lang.String getAppId():26:26 -> getAppId 1:1:java.lang.String getCountryCode():42:42 -> getCountryCode 1:1:long getCtimestamp():98:98 -> getCtimestamp 1:1:java.lang.String getRid():66:66 -> getRid 1:1:java.lang.String getSecret():82:82 -> getSecret 1:1:java.lang.String getServerSecret():34:34 -> getServerSecret 1:1:long getStimestamp():90:90 -> getStimestamp 1:1:java.lang.Long getUid():74:74 -> getUid 1:1:void setAccountId(java.lang.String):54:54 -> setAccountId 1:1:void setAccountType(java.lang.String):62:62 -> setAccountType 1:1:void setAppId(java.lang.String):30:30 -> setAppId 1:1:void setCountryCode(java.lang.String):46:46 -> setCountryCode 1:1:void setCtimestamp(long):102:102 -> setCtimestamp 1:1:void setRid(java.lang.String):70:70 -> setRid 1:1:void setSecret(java.lang.String):86:86 -> setSecret 1:1:void setServerSecret(java.lang.String):38:38 -> setServerSecret 1:1:void setStimestamp(long):94:94 -> setStimestamp 1:1:void setUid(java.lang.Long):78:78 -> setUid com.neuvision.account.entity.RelayEntry -> com.neuvision.account.entity.RelayEntry: 1:1:void ():23:23 -> 1:1:long getId():34:34 -> getId 1:1:java.lang.String getIp():42:42 -> getIp 1:1:int getType():50:50 -> getType 1:1:void setId(long):38:38 -> setId 1:1:void setIp(java.lang.String):46:46 -> setIp 1:1:void setType(int):54:54 -> setType 1:1:java.lang.String toString():59:59 -> toString com.neuvision.account.exception.AccountExceptions -> com.neuvision.account.exception.AccountExceptions: 1:1:void ():13:13 -> com.neuvision.account.http.HttpAccount -> com.neuvision.account.http.HttpAccount: com.google.gson.reflect.TypeToken accountToken -> a java.lang.Object REFRESH_TOKEN_LOCK -> b 1:165:void ():53:217 -> 1:1:void ():42:42 -> 1:23:void httpDirectLogin(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.neuvision.account.interf.IHttpLoginStatus):127:149 -> httpDirectLogin 1:33:void httpLogin(java.lang.String,java.lang.String,java.lang.Long,java.lang.String,java.lang.String,com.neuvision.account.interf.IHttpLoginStatus):59:91 -> httpLogin 1:10:void httpLogout(com.neuvision.account.entity.AccountEntry,com.neuvision.account.interf.ILogoutStatus):275:284 -> httpLogout 1:1:void httpRefreshToken(com.neuvision.account.entity.AccountEntry,com.neuvision.account.interf.IRefreshTokenStatus):183:183 -> httpRefreshToken 2:14:void httpRefreshToken(com.neuvision.account.entity.AccountEntry,com.neuvision.account.interf.IRefreshTokenStatus,boolean):196:208 -> httpRefreshToken 1:1:com.neuvision.http.entity.HttpResponse refreshTokenSync(com.neuvision.account.entity.AccountEntry,long):213:213 -> refreshTokenSync 2:20:com.neuvision.http.entity.HttpResponse refreshTokenSync(com.neuvision.account.entity.AccountEntry,long,boolean):223:241 -> refreshTokenSync 21:45:com.neuvision.http.entity.HttpResponse refreshTokenSync(com.neuvision.account.entity.AccountEntry,long,boolean):239:263 -> refreshTokenSync com.neuvision.account.http.HttpAccount$1 -> com.neuvision.account.http.HttpAccount$a: 1:1:void ():53:53 -> com.neuvision.account.http.HttpAccount$2 -> com.neuvision.account.http.HttpAccount$b: com.neuvision.account.interf.IHttpLoginStatus val$loginStatus -> a long val$ts -> f java.lang.Long val$uid -> b java.lang.String val$appId -> c java.lang.String val$rid -> e java.lang.String val$appSecret -> d 1:1:void (com.neuvision.account.interf.IHttpLoginStatus,java.lang.Long,java.lang.String,java.lang.String,java.lang.String,long):92:92 -> 1:4:void onFailed(int,java.lang.String):116:119 -> onFailed 1:1:void onSuccess(java.lang.Object):92:92 -> onSuccess 2:17:void onSuccess(com.neuvision.account.entity.AccountEntry):95:110 -> onSuccess 2:17:void onSuccess(java.lang.Object):92 -> onSuccess com.neuvision.account.http.HttpAccount$3 -> com.neuvision.account.http.HttpAccount$c: com.neuvision.account.interf.IHttpLoginStatus val$loginStatus -> a long val$ts -> e java.lang.String val$appSecret -> c java.lang.String val$appId -> b java.lang.String val$rid -> d 1:1:void (com.neuvision.account.interf.IHttpLoginStatus,java.lang.String,java.lang.String,java.lang.String,long):150:150 -> 1:4:void onFailed(int,java.lang.String):173:176 -> onFailed 1:1:void onSuccess(java.lang.Object):150:150 -> onSuccess 2:16:void onSuccess(com.neuvision.account.entity.AccountEntry):153:167 -> onSuccess 2:16:void onSuccess(java.lang.Object):150 -> onSuccess com.neuvision.account.http.HttpAccount$4 -> com.neuvision.account.http.HttpAccount$d: 1:1:void ():284:284 -> com.neuvision.account.http.HttpAccount$5 -> com.neuvision.account.http.HttpAccount$e: com.neuvision.account.interf.ILogoutStatus val$logoutStatus -> a 1:1:void (com.neuvision.account.interf.ILogoutStatus):285:285 -> 1:4:void onFailed(int,java.lang.String):301:304 -> onFailed 1:1:void onSuccess(java.lang.Object):285:285 -> onSuccess 2:8:void onSuccess(java.lang.String):288:294 -> onSuccess 2:8:void onSuccess(java.lang.Object):285 -> onSuccess com.neuvision.account.info.ResultInfo -> com.neuvision.account.info.ResultInfo: 1:3:void ():13:15 -> 1:1:com.neuvision.account.info.ResultInfo get():18:18 -> get com.neuvision.account.interf.AccountPlugin -> com.neuvision.account.interf.AccountPlugin: 1:1:void ():13:13 -> com.neuvision.base.App -> com.neuvision.base.App: 1:7:void ():40:46 -> 1:1:int access$100(com.neuvision.base.App):40:40 -> access$100 1:1:int access$108(com.neuvision.base.App):40:40 -> access$108 1:1:int access$110(com.neuvision.base.App):40:40 -> access$110 1:1:void access$200(com.neuvision.base.App):40:40 -> access$200 1:1:boolean access$300(com.neuvision.base.App):40:40 -> access$300 1:1:void access$400(com.neuvision.base.App,android.app.Activity):40:40 -> access$400 1:1:void access$500(com.neuvision.base.App,android.app.Activity):40:40 -> access$500 1:3:void back2App(android.app.Activity):195:197 -> back2App 1:2:boolean checkApplicationAndProcess(android.app.Application):90:91 -> checkApplicationAndProcess 3:3:boolean checkApplicationAndProcess(android.app.Application):87:87 -> checkApplicationAndProcess 1:3:void connect():201:203 -> connect 1:1:com.neuvision.base.App get():53:53 -> get 1:1:android.content.Context getAppContext():222:222 -> getAppContext 1:1:android.content.Context getAppContextInner():96:96 -> getAppContextInner 1:1:android.content.pm.ApplicationInfo getAppInfo():238:238 -> getAppInfo 1:6:android.content.pm.ApplicationInfo getAppInfoInner():115:120 -> getAppInfoInner 1:1:java.lang.String getPackageName():226:226 -> getPackageName 1:2:java.lang.String getPackageNameInner():100:101 -> getPackageNameInner 1:1:java.lang.String getProcessName():230:230 -> getProcessName 1:2:java.lang.String getProcessNameInner():105:106 -> getProcessNameInner 1:1:boolean inBackground():218:218 -> inBackground 1:13:void initApp(android.app.Application):69:81 -> initApp 1:9:void initAppBase(android.app.Application):57:65 -> initAppBase 1:2:void initBackgroundCallBack():132:133 -> initBackgroundCallBack 1:1:boolean isMainProcess():234:234 -> isMainProcess 1:2:boolean isMainProcessInner():110:111 -> isMainProcessInner 1:6:void lambda$initApp$0(android.app.Application):71:76 -> lambda$initApp$0 1:1:void lambda$initApp$1(android.app.Application):81:81 -> lambda$initApp$1 1:2:void leaveApp(android.app.Activity):213:214 -> leaveApp 1:3:void onFirstActivityCreate():178:180 -> onFirstActivityCreate 1:2:void setAppListener(com.neuvision.base.IApp):185:186 -> setAppListener 1:2:void throwNoInitApp():126:127 -> throwNoInitApp com.neuvision.base.App$1 -> com.neuvision.base.App$1: 1:1:void (com.neuvision.base.App):133:133 -> 1:7:void onActivityStarted(android.app.Activity):140:146 -> onActivityStarted 1:4:void onActivityStopped(android.app.Activity):160:163 -> onActivityStopped com.neuvision.base.App$Holder -> com.neuvision.base.App$Holder: 1:1:void ():49:49 -> 1:1:void ():48:48 -> 1:1:com.neuvision.base.App access$000():48:48 -> access$000 com.neuvision.build.NeuBuild -> com.neuvision.build.NeuBuild: 1:1:void ():13:13 -> 1:1:java.lang.String buildInfo():51:51 -> buildInfo 1:1:com.neuvision.build.IBuild get():21:21 -> get com.neuvision.build.NeuBuild$Holder -> com.neuvision.build.NeuBuild$a: com.neuvision.build.NeuBuild INSTANCE -> a 1:1:void ():17:17 -> 2:2:void com.neuvision.build.NeuBuild.(com.neuvision.build.NeuBuild$1):12:12 -> 2:2:void ():17 -> 3:3:void ():17:17 -> com.neuvision.dns.NeuDns -> com.neuvision.dns.NeuDns: 1:10:void ():34:43 -> 1:8:java.net.InetAddress getInetAddressByIpString(java.lang.String,java.lang.String):102:109 -> getInetAddressByIpString 1:3:boolean isOversea():117:119 -> isOversea 1:45:java.util.List lookup(java.lang.String):50:94 -> lookup 1:14:java.util.List queryFromAliyun(java.lang.String):131:144 -> queryFromAliyun 1:22:java.util.List queryFromDoH(java.lang.String):161:182 -> queryFromDoH com.neuvision.dns.client.App -> com.neuvision.dns.client.App: 1:1:void ():5:5 -> 1:4:void main(java.lang.String[]):8:11 -> main com.neuvision.dns.client.DNSRecord -> com.neuvision.dns.client.DNSRecord: com.neuvision.dns.client.QueryType queryType -> g int byteLength -> i boolean auth -> h int rdLength -> b int mxPreference -> c java.lang.String domain -> e byte[] queryClass -> f int timeToLive -> a java.lang.String name -> d 1:2:void (boolean):14:15 -> 1:1:void showLog(java.lang.String):130:130 -> a 1:1:int getByteLength():58:58 -> getByteLength 1:1:java.lang.String getDomain():98:98 -> getDomain 1:1:int getMxPreference():82:82 -> getMxPreference 1:1:java.lang.String getName():90:90 -> getName 1:1:byte[] getQueryClass():106:106 -> getQueryClass 1:1:com.neuvision.dns.client.QueryType getQueryType():114:114 -> getQueryType 1:1:int getRdLength():74:74 -> getRdLength 1:1:int getTimeToLive():66:66 -> getTimeToLive 1:1:boolean isAuth():122:122 -> isAuth 1:1:void outputRecord():19:19 -> outputRecord 2:3:void outputCNameTypeRecords():53:54 -> outputRecord 2:3:void outputRecord():30 -> outputRecord 4:5:void outputMXTypeRecords():48:49 -> outputRecord 4:5:void outputRecord():27 -> outputRecord 6:7:void outputNSTypeRecords():43:44 -> outputRecord 6:7:void outputRecord():24 -> outputRecord 8:9:void outputATypeRecords():38:39 -> outputRecord 8:9:void outputRecord():21 -> outputRecord 1:1:void setAuth(boolean):126:126 -> setAuth 1:1:void setByteLength(int):62:62 -> setByteLength 1:1:void setDomain(java.lang.String):102:102 -> setDomain 1:1:void setMxPreference(int):86:86 -> setMxPreference 1:1:void setName(java.lang.String):94:94 -> setName 1:1:void setQueryClass(byte[]):110:110 -> setQueryClass 1:1:void setQueryType(com.neuvision.dns.client.QueryType):118:118 -> setQueryType 1:1:void setRdLength(int):78:78 -> setRdLength 1:1:void setTimeToLive(int):70:70 -> setTimeToLive com.neuvision.dns.client.DnsClient -> com.neuvision.dns.client.DnsClient: int port -> f int maxRetries -> b byte[] server -> c java.lang.String name -> e int timeout -> a java.lang.String address -> d 1:1:void (java.lang.String[]):27:27 -> 2:18:void (java.lang.String[]):18:34 -> 19:19:void (java.lang.String[]):31:31 -> 1:40:com.neuvision.dns.client.DNSRecord[] pollRequest(int):46:85 -> a 41:43:com.neuvision.dns.client.DNSRecord[] pollRequest(int):81:83 -> a 44:44:com.neuvision.dns.client.DNSRecord[] pollRequest(int):79:79 -> a 45:45:com.neuvision.dns.client.DNSRecord[] pollRequest(int):77:77 -> a 46:77:void parseInputArguments(java.lang.String[]):91:122 -> a 78:82:void parseInputArguments(java.lang.String[]):120:124 -> a 83:83:void parseInputArguments(java.lang.String[]):110:110 -> a 84:84:void parseInputArguments(java.lang.String[]):107:107 -> a 85:91:void parseInputArguments(java.lang.String[]):98:104 -> a 92:92:void showLog(java.lang.String):132:132 -> a 1:4:com.neuvision.dns.client.DNSRecord[] makeRequest():39:42 -> makeRequest com.neuvision.dns.client.DnsRequest -> com.neuvision.dns.client.DnsRequest: com.neuvision.dns.client.QueryType type -> b java.lang.String domain -> a 1:3:void (java.lang.String,com.neuvision.dns.client.QueryType):11:13 -> 1:5:int getQNameLength():40:44 -> getRequest 1:5:byte[] getRequest():17 -> getRequest 6:6:byte[] getRequest():18:18 -> getRequest 7:17:byte[] createRequestHeader():25:35 -> getRequest 7:17:byte[] getRequest():19 -> getRequest 18:18:byte[] getRequest():19:19 -> getRequest 19:34:byte[] createQuestionHeader(int):50:65 -> getRequest 19:34:byte[] getRequest():20 -> getRequest 35:37:char hexValueFromQueryType(com.neuvision.dns.client.QueryType):74:76 -> getRequest 35:37:byte[] createQuestionHeader(int):65 -> getRequest 35:37:byte[] getRequest():20 -> getRequest 38:38:byte[] createQuestionHeader(int):65:65 -> getRequest 38:38:byte[] getRequest():20 -> getRequest 39:43:byte[] hexStringToByteArray(java.lang.String):84:88 -> getRequest 39:43:byte[] createQuestionHeader(int):65 -> getRequest 39:43:byte[] getRequest():20 -> getRequest 44:49:byte[] createQuestionHeader(int):65:70 -> getRequest 44:49:byte[] getRequest():20 -> getRequest 50:51:byte[] getRequest():20:21 -> getRequest com.neuvision.dns.client.DnsResponse -> com.neuvision.dns.client.DnsResponse: byte[] response -> a boolean noRecords -> k int NSCount -> f int ARCount -> g int RCode -> d int ANCount -> e com.neuvision.dns.client.DNSRecord[] answerRecords -> h com.neuvision.dns.client.QueryType queryType -> j boolean QR -> b com.neuvision.dns.client.DNSRecord[] additionalRecords -> i boolean AA -> c 1:1:void (byte[],int,com.neuvision.dns.client.QueryType):21:21 -> 2:34:void (byte[],int,com.neuvision.dns.client.QueryType):19:51 -> int getBit(byte,int) -> a 1:14:void checkRCodeForErrors():80:93 -> a 15:15:void checkRCodeForErrors():91:91 -> a 16:16:void checkRCodeForErrors():89:89 -> a 17:17:void checkRCodeForErrors():87:87 -> a 18:18:void checkRCodeForErrors():85:85 -> a 19:36:com.neuvision.dns.client.rDataEntry getDomainFromIndex(int):262:279 -> a 37:39:java.lang.String getWordFromIndex(int):293:295 -> a 37:39:com.neuvision.dns.client.rDataEntry getDomainFromIndex(int):279 -> a 40:49:com.neuvision.dns.client.rDataEntry getDomainFromIndex(int):279:288 -> a 50:64:com.neuvision.dns.client.QueryType getQTYPEFromByteArray(byte[]):305:319 -> a 65:65:void showLog(java.lang.String):325:325 -> a 1:41:void parseHeader():100:140 -> b 42:85:com.neuvision.dns.client.DNSRecord parseAnswer(int):144:187 -> b 86:87:java.lang.String parseCNAMETypeRDATA(int,int):235:236 -> b 86:87:com.neuvision.dns.client.DNSRecord parseAnswer(int):198 -> b 88:88:com.neuvision.dns.client.DNSRecord parseAnswer(int):198:198 -> b 89:92:java.lang.String parseMXTypeRDATA(int,int,com.neuvision.dns.client.DNSRecord):228:231 -> b 89:92:com.neuvision.dns.client.DNSRecord parseAnswer(int):195 -> b 93:93:com.neuvision.dns.client.DNSRecord parseAnswer(int):195:195 -> b 94:95:java.lang.String parseNSTypeRDATA(int,int):221:222 -> b 94:95:com.neuvision.dns.client.DNSRecord parseAnswer(int):192 -> b 96:96:com.neuvision.dns.client.DNSRecord parseAnswer(int):192:192 -> b 97:102:java.lang.String parseATypeRDATA(int,int):209:214 -> b 97:102:com.neuvision.dns.client.DNSRecord parseAnswer(int):189 -> b 103:117:com.neuvision.dns.client.DNSRecord parseAnswer(int):189:203 -> b 1:2:void validateQueryTypeIsResponse():242:243 -> c 1:7:void validateResponseQuestionType():251:257 -> d 1:21:com.neuvision.dns.client.DNSRecord[] outputResponse():55:75 -> outputResponse 22:22:com.neuvision.dns.client.DNSRecord[] outputResponse():57:57 -> outputResponse com.neuvision.dns.client.MissingDomainException -> com.neuvision.dns.client.MissingDomainException: 1:1:void ():5:5 -> com.neuvision.dns.client.QueryType -> com.neuvision.dns.client.QueryType: 1:5:void ():4:8 -> 6:6:void ():3:3 -> 1:1:void (java.lang.String,int):3:3 -> 1:1:com.neuvision.dns.client.QueryType valueOf(java.lang.String):3:3 -> valueOf 1:1:com.neuvision.dns.client.QueryType[] values():3:3 -> values com.neuvision.dns.client.rDataEntry -> com.neuvision.dns.client.rDataEntry: java.lang.String domain -> b int bytes -> a 1:1:void ():3:3 -> 1:1:int getBytes():7:7 -> getBytes 1:1:java.lang.String getDomain():13:13 -> getDomain 1:1:void setBytes(int):10:10 -> setBytes 1:1:void setDomain(java.lang.String):16:16 -> setDomain com.neuvision.http.NeuEnvironment -> com.neuvision.http.NeuEnvironment: 1:1:void (com.neuvision.http.NeuEnvironment$1):15:15 -> 2:2:void ():29:29 -> 3:3:void ():22:22 -> 1:1:java.lang.String getHost():66:66 -> getHost 1:1:com.neuvision.http.NeuEnvironment com.neuvision.http.NeuEnvironment$Holder.access$100():25:25 -> instance 1:1:com.neuvision.http.NeuEnvironment instance():33 -> instance 1:7:boolean isOnline():54:60 -> isOnline 1:2:void setEnvironmentHost(java.lang.String):75:76 -> setEnvironmentHost 1:5:void setMode(boolean):42:46 -> setMode 1:1:void setOnGetEnvironmentListener(com.neuvision.http.IGetEnvironment):37:37 -> setOnGetEnvironmentListener com.neuvision.http.NeuEnvironment$1 -> com.neuvision.http.NeuEnvironment$a: com.neuvision.http.NeuEnvironment$Holder -> com.neuvision.http.NeuEnvironment$b: com.neuvision.http.NeuEnvironment INSTANCE -> a 1:1:void ():26:26 -> com.neuvision.http.NeuHttp -> com.neuvision.http.NeuHttp: 1:1:void (com.neuvision.http.NeuHttp$1):67:67 -> 2:3:void ():94:95 -> 1:1:void access$200(com.neuvision.http.NeuHttp,com.neuvision.http.RequestParam,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):67:67 -> access$200 1:1:void access$300(java.lang.String,int,java.lang.String):67:67 -> access$300 1:1:com.neuvision.http.entity.HttpResponse access$400(com.neuvision.http.NeuHttp,java.lang.String,okhttp3.Response,com.google.gson.reflect.TypeToken):67:67 -> access$400 1:98:okhttp3.Request buildRequest(com.neuvision.http.RequestParam):121:218 -> buildRequest 99:99:okhttp3.Request buildRequest(com.neuvision.http.RequestParam):198:198 -> buildRequest 100:167:okhttp3.Request buildRequest(com.neuvision.http.RequestParam):197:264 -> buildRequest 168:173:okhttp3.Request buildRequest(com.neuvision.http.RequestParam):263:268 -> buildRequest 1:68:com.neuvision.http.entity.HttpResponse handleResponse(java.lang.String,okhttp3.Response,com.google.gson.reflect.TypeToken):276:343 -> handleResponse 69:73:com.neuvision.http.entity.HttpResponse handleResponse(java.lang.String,okhttp3.Response,com.google.gson.reflect.TypeToken):342:346 -> handleResponse 1:20:void httpAsync(com.neuvision.http.RequestParam,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):378:397 -> httpAsync 21:21:void httpAsync(com.neuvision.http.RequestParam,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):389:389 -> httpAsync 1:7:void httpAsyncImpl(com.neuvision.http.RequestParam,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):417:423 -> httpAsyncImpl 1:4:com.neuvision.http.entity.HttpResponse httpGet(java.lang.String,com.google.gson.reflect.TypeToken):674:677 -> httpGet 5:9:com.neuvision.http.entity.HttpResponse httpGet(java.lang.String,java.util.Map,com.google.gson.reflect.TypeToken):682:686 -> httpGet 10:15:com.neuvision.http.entity.HttpResponse httpGet(java.lang.String,java.util.LinkedHashSet,java.util.Map,com.google.gson.reflect.TypeToken):699:704 -> httpGet 1:4:void httpGetAsync(java.lang.String,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):709:712 -> httpGetAsync 5:9:void httpGetAsync(java.lang.String,java.util.Map,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):719:723 -> httpGetAsync 10:15:void httpGetAsync(java.lang.String,java.util.LinkedHashSet,java.util.Map,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):743:748 -> httpGetAsync 16:21:void httpGetAsync(java.lang.String,java.util.Map,java.util.IdentityHashMap,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):754:759 -> httpGetAsync 1:5:com.neuvision.http.entity.HttpResponse httpPost(java.lang.String,java.util.Map,com.google.gson.reflect.TypeToken):510:514 -> httpPost 6:11:com.neuvision.http.entity.HttpResponse httpPost(java.lang.String,java.util.Map,java.util.Map,com.google.gson.reflect.TypeToken):521:526 -> httpPost 12:18:com.neuvision.http.entity.HttpResponse httpPost(java.lang.String,java.util.Map,java.util.Map,com.google.gson.reflect.TypeToken,boolean):533:539 -> httpPost 19:25:com.neuvision.http.entity.HttpResponse httpPost(java.lang.String,java.util.LinkedHashSet,java.util.Map,java.util.Map,com.google.gson.reflect.TypeToken):555:561 -> httpPost 1:5:void httpPostAsync(java.lang.String,java.util.Map,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):612:616 -> httpPostAsync 6:11:void httpPostAsync(java.lang.String,java.util.Map,java.util.Map,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):622:627 -> httpPostAsync 12:18:void httpPostAsync(java.lang.String,java.util.Map,java.util.Map,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult,boolean):633:639 -> httpPostAsync 19:25:void httpPostAsync(java.lang.String,java.util.LinkedHashSet,java.util.Map,java.util.Map,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):664:670 -> httpPostAsync 1:7:com.neuvision.http.entity.HttpResponse httpPostJson(java.lang.String,java.lang.String,com.google.gson.reflect.TypeToken):566:572 -> httpPostJson 8:15:com.neuvision.http.entity.HttpResponse httpPostJson(java.lang.String,java.util.Map,java.lang.String,com.google.gson.reflect.TypeToken):577:584 -> httpPostJson 1:7:void httpPostJsonAsync(java.lang.String,java.lang.String,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):589:595 -> httpPostJsonAsync 8:15:void httpPostJsonAsync(java.lang.String,java.util.Map,java.lang.String,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):600:607 -> httpPostJsonAsync 1:18:com.neuvision.http.entity.HttpResponse httpRequestPreCheck(com.neuvision.http.RequestParam):354:371 -> httpRequestPreCheck 19:19:com.neuvision.http.entity.HttpResponse httpRequestPreCheck(com.neuvision.http.RequestParam):355:355 -> httpRequestPreCheck 1:24:com.neuvision.http.entity.HttpResponse httpSync(com.neuvision.http.RequestParam,com.google.gson.reflect.TypeToken):455:478 -> httpSync 25:25:com.neuvision.http.entity.HttpResponse httpSync(com.neuvision.http.RequestParam,com.google.gson.reflect.TypeToken):463:463 -> httpSync 1:18:com.neuvision.http.entity.HttpResponse httpSyncImpl(com.neuvision.http.RequestParam,com.google.gson.reflect.TypeToken):486:503 -> httpSyncImpl 1:14:void initSettings():103:116 -> initSettings 1:1:com.neuvision.http.NeuHttp com.neuvision.http.NeuHttp$Holder.access$100():90:90 -> instance 1:1:com.neuvision.http.NeuHttp instance():99 -> instance 1:3:void logHttpException(java.lang.String,int,java.lang.String):791:791 -> logHttpException 1:1:void logHttpStart(java.lang.String):776:776 -> logHttpStart 1:1:void logHttpSuccess(java.lang.String,java.lang.String):780:780 -> logHttpSuccess 2:4:void logHttpSuccess(java.lang.String,java.lang.Iterable):786:786 -> logHttpSuccess 1:1:void logProgress(java.lang.String):772:772 -> logProgress 1:1:com.neuvision.http.entity.HttpResponse request(com.neuvision.http.RequestParam,com.google.gson.reflect.TypeToken):763:763 -> request 1:1:void requestAsync(com.neuvision.http.RequestParam,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):768:768 -> requestAsync com.neuvision.http.NeuHttp$1 -> com.neuvision.http.NeuHttp$a: com.google.gson.reflect.TypeToken val$typeToken -> b com.neuvision.http.NeuHttp$IHttpResult val$httpCallback -> c com.neuvision.http.RequestParam val$requestParam -> a com.neuvision.http.NeuHttp this$0 -> d 1:1:void (com.neuvision.http.NeuHttp,com.neuvision.http.RequestParam,com.google.gson.reflect.TypeToken,com.neuvision.http.NeuHttp$IHttpResult):397:397 -> 1:3:void onRefreshTokenFailed(int,java.lang.String,com.neuvision.account.entity.AccountEntry):406:408 -> onRefreshTokenFailed 1:2:void onRefreshTokenSuccess(com.neuvision.account.entity.AccountEntry):400:401 -> onRefreshTokenSuccess com.neuvision.http.NeuHttp$2 -> com.neuvision.http.NeuHttp$b: com.neuvision.http.NeuHttp$IHttpResult val$httpCallback -> a com.neuvision.http.RequestParam val$requestParam -> b com.google.gson.reflect.TypeToken val$typeToken -> c com.neuvision.http.NeuHttp this$0 -> d 1:1:void (com.neuvision.http.NeuHttp,com.neuvision.http.NeuHttp$IHttpResult,com.neuvision.http.RequestParam,com.google.gson.reflect.TypeToken):423:423 -> 1:5:void onFailure(okhttp3.Call,java.io.IOException):426:430 -> onFailure 1:9:void onResponse(okhttp3.Call,okhttp3.Response):438:446 -> onResponse com.neuvision.http.NeuHttp$Holder -> com.neuvision.http.NeuHttp$c: com.neuvision.http.NeuHttp INSTANCE -> a 1:1:void ():91:91 -> com.neuvision.http.RequestParam -> com.neuvision.http.RequestParam: 1:15:void ():19:33 -> com.neuvision.http.entity.HttpResponse -> com.neuvision.http.entity.HttpResponse: 1:24:void ():13:36 -> 1:1:java.lang.String toString():42:42 -> toString com.neuvision.http.entity.ResponseHeader -> com.neuvision.http.entity.ResponseHeader: 1:1:void ():15:15 -> 1:1:java.lang.String toString():24:24 -> toString com.neuvision.http.interceptor.HttpLogger -> com.neuvision.http.interceptor.HttpLogger: 1:1:void ():20:20 -> 1:1:void log(java.lang.String):27:27 -> log com.neuvision.http.interceptor.TokenInterceptor -> com.neuvision.http.interceptor.TokenInterceptor: int refreshTokenCnt -> a 1:1:void access$setRefreshTokenCnt$cp(int):34:34 -> 1:1:void ():34 -> 1:1:void access$setRefreshTokenCnt$cp(int):34:34 -> access$getRefreshTokenCnt$cp 1:1:int access$getRefreshTokenCnt$cp():34 -> access$getRefreshTokenCnt$cp 1:1:void access$setRefreshTokenCnt$cp(int):34:34 -> access$setRefreshTokenCnt$cp 1:31:okhttp3.Response intercept(okhttp3.Interceptor$Chain):36:66 -> intercept 32:49:okhttp3.Response intercept(okhttp3.Interceptor$Chain):64:81 -> intercept 50:74:okhttp3.Response intercept(okhttp3.Interceptor$Chain):80:104 -> intercept 75:75:okhttp3.Response intercept(okhttp3.Interceptor$Chain):86:86 -> intercept 76:87:com.neuvision.http.entity.HttpResponse refreshToken():132:143 -> intercept 76:87:okhttp3.Response intercept(okhttp3.Interceptor$Chain):87 -> intercept 88:88:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):92:92 -> intercept 88:88:com.neuvision.http.entity.HttpResponse refreshToken():163 -> intercept 88:88:okhttp3.Response intercept(okhttp3.Interceptor$Chain):87 -> intercept 89:92:com.neuvision.http.entity.HttpResponse refreshToken():144:147 -> intercept 89:92:okhttp3.Response intercept(okhttp3.Interceptor$Chain):87 -> intercept 93:93:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):94:94 -> intercept 93:93:com.neuvision.http.entity.HttpResponse refreshToken():165 -> intercept 93:93:okhttp3.Response intercept(okhttp3.Interceptor$Chain):87 -> intercept 94:94:java.lang.String ai.neuvision.sdk.utils.RecycleStringBuilder$Companion.string(kotlin.jvm.functions.Function1):95:95 -> intercept 94:94:com.neuvision.http.entity.HttpResponse refreshToken():166 -> intercept 94:94:okhttp3.Response intercept(okhttp3.Interceptor$Chain):87 -> intercept 95:100:com.neuvision.http.entity.HttpResponse refreshToken():149:154 -> intercept 95:100:okhttp3.Response intercept(okhttp3.Interceptor$Chain):87 -> intercept 101:101:okhttp3.Response intercept(okhttp3.Interceptor$Chain):88:88 -> intercept 102:114:okhttp3.Request buildNewRequest(okhttp3.Request):116:128 -> intercept 102:114:okhttp3.Response intercept(okhttp3.Interceptor$Chain):89 -> intercept 115:119:okhttp3.Response intercept(okhttp3.Interceptor$Chain):89:93 -> intercept 120:140:okhttp3.Response intercept(okhttp3.Interceptor$Chain):91:111 -> intercept com.neuvision.http.interceptor.TokenInterceptor$Companion -> com.neuvision.http.interceptor.TokenInterceptor$Companion: 1:1:void ():158:158 -> 2:2:void (kotlin.jvm.internal.DefaultConstructorMarker):158:158 -> 1:1:int getRefreshTokenCnt():160:160 -> getRefreshTokenCnt 1:1:void setRefreshTokenCnt(int):160:160 -> setRefreshTokenCnt com.neuvision.http.util.HTTPSCerUtils -> com.neuvision.http.util.HTTPSCerUtils: 1:1:void ():23:23 -> boolean lambda$setCertificate$1(java.lang.String,javax.net.ssl.SSLSession) -> a boolean lambda$setCertificate$2(java.lang.String,javax.net.ssl.SSLSession) -> b boolean lambda$setCertificates$3(java.lang.String,javax.net.ssl.SSLSession) -> c boolean lambda$setTrustAllCertificate$0(java.lang.String,javax.net.ssl.SSLSession) -> d 1:19:void setCertificate(okhttp3.OkHttpClient$Builder,java.lang.String):60:78 -> setCertificate 20:38:void setCertificate(android.content.Context,okhttp3.OkHttpClient$Builder,int):85:103 -> setCertificate 1:18:void setCertificates(android.content.Context,okhttp3.OkHttpClient$Builder,int[]):110:127 -> setCertificates 1:24:void setTrustAllCertificate(okhttp3.OkHttpClient$Builder):30:53 -> setTrustAllCertificate com.neuvision.http.util.HTTPSCerUtils$1 -> com.neuvision.http.util.HTTPSCerUtils$a: 1:1:void ():31:31 -> 1:1:java.security.cert.X509Certificate[] getAcceptedIssuers():44:44 -> getAcceptedIssuers com.neuvision.kv.KVDao_Impl -> com.neuvision.kv.KVDao_Impl: 1:70:void (androidx.room.RoomDatabase):32:101 -> 1:9:long insertOrReplaceKV(com.neuvision.kv.entry.KVEntry):112:120 -> insertOrReplaceKV 1:32:java.lang.Boolean queryBooleanValue(java.lang.String,java.lang.Long):472:503 -> queryBooleanValue 33:35:java.lang.Boolean queryBooleanValue(java.lang.String,java.lang.Long):502:504 -> queryBooleanValue 1:30:java.lang.Byte queryByteValue(java.lang.String,java.lang.Long):510:539 -> queryByteValue 31:33:java.lang.Byte queryByteValue(java.lang.String,java.lang.Long):538:540 -> queryByteValue 1:30:java.lang.Character queryCharValue(java.lang.String,java.lang.Long):546:575 -> queryCharValue 31:33:java.lang.Character queryCharValue(java.lang.String,java.lang.Long):574:576 -> queryCharValue 1:30:java.lang.Double queryDoubleValue(java.lang.String,java.lang.Long):436:465 -> queryDoubleValue 31:33:java.lang.Double queryDoubleValue(java.lang.String,java.lang.Long):464:466 -> queryDoubleValue 1:30:java.lang.Float queryFloatValue(java.lang.String,java.lang.Long):400:429 -> queryFloatValue 31:33:java.lang.Float queryFloatValue(java.lang.String,java.lang.Long):428:430 -> queryFloatValue 1:30:java.lang.Integer queryIntValue(java.lang.String,java.lang.Long):328:357 -> queryIntValue 31:33:java.lang.Integer queryIntValue(java.lang.String,java.lang.Long):356:358 -> queryIntValue 1:30:java.lang.Long queryLongValue(java.lang.String,java.lang.Long):364:393 -> queryLongValue 31:33:java.lang.Long queryLongValue(java.lang.String,java.lang.Long):392:394 -> queryLongValue 1:30:java.lang.Short queryShortValue(java.lang.String,java.lang.Long):292:321 -> queryShortValue 31:33:java.lang.Short queryShortValue(java.lang.String,java.lang.Long):320:322 -> queryShortValue 1:26:java.lang.String queryStrValue(java.lang.String,java.lang.Long):260:285 -> queryStrValue 27:29:java.lang.String queryStrValue(java.lang.String,java.lang.Long):284:286 -> queryStrValue 1:108:com.neuvision.kv.entry.KVEntry queryValue(java.lang.String,java.lang.Long):146:253 -> queryValue 109:111:com.neuvision.kv.entry.KVEntry queryValue(java.lang.String,java.lang.Long):252:254 -> queryValue 1:15:void removeKKV(java.lang.String):125:139 -> removeKKV 16:18:void removeKKV(java.lang.String):138:140 -> removeKKV com.neuvision.kv.KVDao_Impl$1 -> com.neuvision.kv.KVDao_Impl$1: 1:1:void (com.neuvision.kv.KVDao_Impl,androidx.room.RoomDatabase):34:34 -> 1:1:void bind(androidx.sqlite.db.SupportSQLiteStatement,java.lang.Object):34:34 -> bind 2:57:void bind(androidx.sqlite.db.SupportSQLiteStatement,com.neuvision.kv.entry.KVEntry):42:97 -> bind com.neuvision.kv.KVDao_Impl$2 -> com.neuvision.kv.KVDao_Impl$2: 1:1:void (com.neuvision.kv.KVDao_Impl,androidx.room.RoomDatabase):101:101 -> com.neuvision.kv.KeyValue -> com.neuvision.kv.KeyValue: 1:1:void ():17:17 -> 1:1:com.neuvision.kv.abs.AbsKV global():23:23 -> global 1:1:com.neuvision.kv.abs.AbsKV user():19:19 -> user com.neuvision.kv.abs.AbsKV -> com.neuvision.kv.abs.AbsKV: 1:1:void ():20:20 -> 1:1:java.lang.Boolean getBoolean(java.lang.String,java.lang.Boolean):121:121 -> getBoolean 1:1:java.lang.Byte getByte(java.lang.String,java.lang.Byte):91:91 -> getByte 1:1:com.neuvision.kv.KVDao getDao():23:23 -> getDao 1:1:java.lang.Double getDouble(java.lang.String,java.lang.Double):116:116 -> getDouble 1:1:java.lang.Float getFloat(java.lang.String,java.lang.Float):111:111 -> getFloat 1:1:java.lang.Integer getInt(java.lang.String,java.lang.Integer):101:101 -> getInt 1:1:java.lang.Long getLong(java.lang.String,java.lang.Long):106:106 -> getLong 1:1:java.lang.Short getShort(java.lang.String,java.lang.Short):96:96 -> getShort 1:1:java.lang.String getString(java.lang.String,java.lang.String):126:126 -> getString 1:6:com.neuvision.kv.entry.KVEntry queryKVEntry(java.lang.String):28:33 -> queryKVEntry 1:1:void save(com.neuvision.kv.entry.KVEntry):39:39 -> save 1:3:void setBoolean(java.lang.String,java.lang.Boolean):79:81 -> setBoolean 1:3:void setByte(java.lang.String,java.lang.Byte):43:45 -> setByte 1:3:void setDouble(java.lang.String,java.lang.Double):73:75 -> setDouble 1:3:void setFloat(java.lang.String,java.lang.Float):67:69 -> setFloat 1:3:void setInt(java.lang.String,java.lang.Integer):55:57 -> setInt 1:3:void setLong(java.lang.String,java.lang.Long):61:63 -> setLong 1:3:void setShort(java.lang.String,java.lang.Short):49:51 -> setShort 1:3:void setString(java.lang.String,java.lang.String):85:87 -> setString com.neuvision.kv.entry.KVEntry -> com.neuvision.kv.entry.KVEntry: 1:1:void ():23:23 -> 1:1:java.lang.Boolean getBoolValue():134:134 -> getBoolValue 1:1:java.lang.Byte getByteValue():126:126 -> getByteValue 1:1:java.lang.Character getCharValue():118:118 -> getCharValue 1:1:java.lang.Double getDoubleValue():110:110 -> getDoubleValue 1:1:java.lang.Float getFloatValue():102:102 -> getFloatValue 1:1:java.lang.Integer getIntValue():78:78 -> getIntValue 1:1:java.lang.String getKeyName():62:62 -> getKeyName 1:1:java.lang.Long getLongValue():94:94 -> getLongValue 1:1:java.lang.Short getShortValue():86:86 -> getShortValue 1:1:java.lang.String getStrValue():70:70 -> getStrValue 1:1:java.lang.Long getUser():146:146 -> getUser 1:1:void setBoolValue(java.lang.Boolean):138:138 -> setBoolValue 1:1:void setByteValue(java.lang.Byte):130:130 -> setByteValue 1:1:void setCharValue(java.lang.Character):122:122 -> setCharValue 1:1:void setDoubleValue(java.lang.Double):114:114 -> setDoubleValue 1:1:void setFloatValue(java.lang.Float):106:106 -> setFloatValue 1:1:void setIntValue(java.lang.Integer):82:82 -> setIntValue 1:1:void setKeyName(java.lang.String):66:66 -> setKeyName 1:1:void setLongValue(java.lang.Long):98:98 -> setLongValue 1:1:void setShortValue(java.lang.Short):90:90 -> setShortValue 1:1:void setStrValue(java.lang.String):74:74 -> setStrValue 1:1:void setUser(java.lang.Long):142:142 -> setUser 1:1:java.lang.String toString():151:151 -> toString com.neuvision.kv.impl.GlobalKV -> com.neuvision.kv.impl.GlobalKV: 1:1:void (com.neuvision.kv.impl.GlobalKV$1):13:13 -> 2:2:void ():15:15 -> 1:1:java.lang.Long getUser():28:28 -> getUser 1:1:com.neuvision.kv.abs.AbsKV instance():23:23 -> instance com.neuvision.kv.impl.GlobalKV$Holder -> com.neuvision.kv.impl.GlobalKV$Holder: 1:1:void ():19:19 -> 1:1:void ():18:18 -> 1:1:com.neuvision.kv.impl.GlobalKV access$100():18:18 -> access$100 com.neuvision.kv.impl.UserKV -> com.neuvision.kv.impl.UserKV: 1:1:void (com.neuvision.kv.impl.UserKV$1):13:13 -> 2:2:void ():15:15 -> 1:1:java.lang.Long getUser():28:28 -> getUser 1:1:com.neuvision.kv.abs.AbsKV instance():23:23 -> instance com.neuvision.kv.impl.UserKV$Holder -> com.neuvision.kv.impl.UserKV$Holder: 1:1:void ():19:19 -> 1:1:void ():18:18 -> 1:1:com.neuvision.kv.impl.UserKV access$100():18:18 -> access$100 com.neuvision.log.InitLog -> com.neuvision.log.InitLog: 1:1:void ():12:12 -> 1:1:void log(java.lang.String):14:14 -> log com.neuvision.push3.NeuPush3 -> com.neuvision.push3.NeuPush3: 1:1:void (com.neuvision.push3.NeuPush3$1):19:19 -> 2:2:void ():34:34 -> 3:4:void ():21:22 -> 1:1:void access$000(com.neuvision.push3.NeuPush3,com.neuvision.push3.Push3Message):19:19 -> access$000 1:1:void access$100(com.neuvision.push3.NeuPush3,com.neuvision.push3.Push3Message):19:19 -> access$100 1:3:void initPush3(android.content.Context,com.neuvision.push3.IPush3Engine):49:51 -> initPush3 1:1:com.neuvision.push3.NeuPush3 com.neuvision.push3.NeuPush3$Holder.access$300():37:37 -> instance 1:1:com.neuvision.push3.NeuPush3 instance():42 -> instance 1:4:void onLauncherOpened(android.content.Intent):61:64 -> onLauncherOpened 1:2:void onLoginSuccess(android.content.Context):55:56 -> onLoginSuccess 1:5:void onNotificationClicked(com.neuvision.push3.Push3Message):68:72 -> onNotificationClicked 1:5:void onTransferMessageReceived(com.neuvision.push3.Push3Message):77:81 -> onTransferMessageReceived 1:4:void registerPush3Receiver(com.neuvision.push3.IPush3Receive):86:89 -> registerPush3Receiver 1:4:void unRegisterPush3Receiver(com.neuvision.push3.IPush3Receive):93:96 -> unRegisterPush3Receiver com.neuvision.push3.NeuPush3$1 -> com.neuvision.push3.NeuPush3$a: com.neuvision.push3.NeuPush3 this$0 -> a 1:1:void (com.neuvision.push3.NeuPush3):22:22 -> 1:1:void onNotificationClicked(com.neuvision.push3.Push3Message):25:25 -> onNotificationClicked 1:1:void onTransferMessageReceived(com.neuvision.push3.Push3Message):30:30 -> onTransferMessageReceived com.neuvision.push3.NeuPush3$Holder -> com.neuvision.push3.NeuPush3$b: com.neuvision.push3.NeuPush3 INSTANCE -> a 1:1:void ():38:38 -> com.neuvision.push3.Push3Message -> com.neuvision.push3.Push3Message: 1:1:void (java.lang.String,boolean,com.neuvision.push3.Push3Message$1):13:13 -> 2:4:void (java.lang.String,boolean):20:22 -> 1:1:java.lang.String access$102(com.neuvision.push3.Push3Message,java.lang.String):13:13 -> access$102 1:1:java.lang.String access$202(com.neuvision.push3.Push3Message,java.lang.String):13:13 -> access$202 1:1:java.lang.String access$302(com.neuvision.push3.Push3Message,java.lang.String):13:13 -> access$302 1:1:java.lang.String getBody():53:53 -> getBody 1:1:boolean getIsBackgroundMessage():41:41 -> getIsBackgroundMessage 1:1:java.lang.String getPush3Type():37:37 -> getPush3Type 1:1:java.lang.String getSignal():45:45 -> getSignal 1:1:java.lang.String getTitle():49:49 -> getTitle 1:1:java.lang.String toString():27:27 -> toString com.neuvision.push3.Push3Message$1 -> com.neuvision.push3.Push3Message$a: com.neuvision.push3.Push3Message$Push3MessageBuilder -> com.neuvision.push3.Push3Message$Push3MessageBuilder: java.lang.String push3Type -> a java.lang.String signal -> c boolean isBackgroundMessage -> b java.lang.String body -> e java.lang.String title -> d 1:3:void (java.lang.String,boolean):63:65 -> 1:4:com.neuvision.push3.Push3Message build():84:87 -> build 1:1:com.neuvision.push3.Push3Message$Push3MessageBuilder buildBody(java.lang.String):79:79 -> buildBody 1:1:com.neuvision.push3.Push3Message$Push3MessageBuilder buildSignal(java.lang.String):69:69 -> buildSignal 1:1:com.neuvision.push3.Push3Message$Push3MessageBuilder buildTitle(java.lang.String):74:74 -> buildTitle com.neuvision.storage.AppDatabase -> com.neuvision.storage.AppDatabase: 1:1:void ():23:23 -> com.neuvision.storage.AppDatabase_Impl -> com.neuvision.storage.AppDatabase_Impl: 1:1:void ():32:32 -> 1:1:java.util.List access$000(com.neuvision.storage.AppDatabase_Impl):32:32 -> access$000 1:1:java.util.List access$100(com.neuvision.storage.AppDatabase_Impl):32:32 -> access$100 1:1:java.util.List access$1000(com.neuvision.storage.AppDatabase_Impl):32:32 -> access$1000 1:1:java.util.List access$200(com.neuvision.storage.AppDatabase_Impl):32:32 -> access$200 1:1:java.util.List access$300(com.neuvision.storage.AppDatabase_Impl):32:32 -> access$300 1:1:java.util.List access$400(com.neuvision.storage.AppDatabase_Impl):32:32 -> access$400 1:1:java.util.List access$500(com.neuvision.storage.AppDatabase_Impl):32:32 -> access$500 1:1:androidx.sqlite.db.SupportSQLiteDatabase access$602(com.neuvision.storage.AppDatabase_Impl,androidx.sqlite.db.SupportSQLiteDatabase):32:32 -> access$602 1:1:void access$700(com.neuvision.storage.AppDatabase_Impl,androidx.sqlite.db.SupportSQLiteDatabase):32:32 -> access$700 1:1:java.util.List access$800(com.neuvision.storage.AppDatabase_Impl):32:32 -> access$800 1:1:java.util.List access$900(com.neuvision.storage.AppDatabase_Impl):32:32 -> access$900 1:13:void clearAllTables():172:184 -> clearAllTables 14:19:void clearAllTables():181:186 -> clearAllTables 1:3:androidx.room.InvalidationTracker createInvalidationTracker():165:167 -> createInvalidationTracker 1:119:androidx.sqlite.db.SupportSQLiteOpenHelper createOpenHelper(androidx.room.DatabaseConfiguration):41:159 -> createOpenHelper 1:9:com.neuvision.kv.KVDao kvDao():219:227 -> kvDao 1:9:com.neuvision.account.dao.RelayDao relayDao():205:213 -> relayDao 1:9:com.neuvision.account.dao.UserDao userDao():191:199 -> userDao com.neuvision.storage.AppDatabase_Impl$1 -> com.neuvision.storage.AppDatabase_Impl$1: 1:1:void (com.neuvision.storage.AppDatabase_Impl,int):41:41 -> 1:6:void createAllTables(androidx.sqlite.db.SupportSQLiteDatabase):44:49 -> createAllTables 1:6:void dropAllTables(androidx.sqlite.db.SupportSQLiteDatabase):54:59 -> dropAllTables 1:3:void onCreate(androidx.sqlite.db.SupportSQLiteDatabase):66:68 -> onCreate 1:5:void onOpen(androidx.sqlite.db.SupportSQLiteDatabase):75:79 -> onOpen 1:1:void onPreMigrate(androidx.sqlite.db.SupportSQLiteDatabase):86:86 -> onPreMigrate 1:58:androidx.room.RoomOpenHelper$ValidationResult onValidateSchema(androidx.sqlite.db.SupportSQLiteDatabase):95:152 -> onValidateSchema com.neuvision.storage.DataBaseManager -> com.neuvision.storage.DataBaseManager: 1:1:void (com.neuvision.storage.DataBaseManager$1):23:23 -> 2:11:void ():27:36 -> 1:4:boolean checkDatabaseInit():70:73 -> checkDatabaseInit 1:4:com.neuvision.kv.KVDao getKVDao():63:66 -> getKVDao 1:4:com.neuvision.account.dao.RelayDao getRelayDao():56:59 -> getRelayDao 1:4:com.neuvision.account.dao.UserDao getUserDao():49:52 -> getUserDao 1:1:com.neuvision.storage.DataBaseManager instance():45:45 -> instance com.neuvision.storage.DataBaseManager$Holder -> com.neuvision.storage.DataBaseManager$Holder: 1:1:void ():41:41 -> 1:1:void ():40:40 -> 1:1:com.neuvision.storage.DataBaseManager access$100():40:40 -> access$100 com.neuvision.storage.migration.Migration1_2 -> com.neuvision.storage.migration.Migration1_2: 1:1:void ():18:18 -> 1:14:void migrate(androidx.sqlite.db.SupportSQLiteDatabase):24:37 -> migrate com.neuvision.utils.AESUtils -> com.neuvision.utils.AESUtils: 1:1:void ():14:14 -> 1:10:java.lang.String decrypt(java.lang.String,java.lang.String,java.lang.String):82:91 -> decrypt 1:1:java.lang.String decryptAppData(java.lang.String,java.lang.String,java.lang.String):45:45 -> decryptAppData 2:2:void com.neuvision.utils.AESUtils$GeneralKeys.(java.lang.String,java.lang.String,com.neuvision.utils.AESUtils$1):96:96 -> decryptAppData 2:2:java.lang.String decryptAppData(java.lang.String,java.lang.String,java.lang.String):45 -> decryptAppData 3:3:java.lang.String decryptAppData(java.lang.String,java.lang.String,java.lang.String):45:45 -> decryptAppData 4:4:java.lang.String com.neuvision.utils.AESUtils$GeneralKeys.getAesKey():106:106 -> decryptAppData 4:4:java.lang.String com.neuvision.utils.AESUtils$GeneralKeys.access$200(com.neuvision.utils.AESUtils$GeneralKeys):96 -> decryptAppData 4:4:java.lang.String decryptAppData(java.lang.String,java.lang.String,java.lang.String):46 -> decryptAppData 5:5:java.lang.String com.neuvision.utils.AESUtils$GeneralKeys.getAesIv():110:110 -> decryptAppData 5:5:java.lang.String com.neuvision.utils.AESUtils$GeneralKeys.access$300(com.neuvision.utils.AESUtils$GeneralKeys):96 -> decryptAppData 5:5:java.lang.String decryptAppData(java.lang.String,java.lang.String,java.lang.String):47 -> decryptAppData 6:6:java.lang.String decryptAppData(java.lang.String,java.lang.String,java.lang.String):48:48 -> decryptAppData 1:9:java.lang.String encrypt(java.lang.String,java.lang.String,java.lang.String):60:68 -> encrypt 1:1:java.lang.String encryptAppData(java.lang.String,java.lang.String,java.lang.String):30:30 -> encryptAppData 2:2:void com.neuvision.utils.AESUtils$GeneralKeys.(java.lang.String,java.lang.String,com.neuvision.utils.AESUtils$1):96:96 -> encryptAppData 2:2:java.lang.String encryptAppData(java.lang.String,java.lang.String,java.lang.String):30 -> encryptAppData 3:3:java.lang.String encryptAppData(java.lang.String,java.lang.String,java.lang.String):30:30 -> encryptAppData 4:4:java.lang.String com.neuvision.utils.AESUtils$GeneralKeys.getAesKey():106:106 -> encryptAppData 4:4:java.lang.String com.neuvision.utils.AESUtils$GeneralKeys.access$200(com.neuvision.utils.AESUtils$GeneralKeys):96 -> encryptAppData 4:4:java.lang.String encryptAppData(java.lang.String,java.lang.String,java.lang.String):31 -> encryptAppData 5:5:java.lang.String com.neuvision.utils.AESUtils$GeneralKeys.getAesIv():110:110 -> encryptAppData 5:5:java.lang.String com.neuvision.utils.AESUtils$GeneralKeys.access$300(com.neuvision.utils.AESUtils$GeneralKeys):96 -> encryptAppData 5:5:java.lang.String encryptAppData(java.lang.String,java.lang.String,java.lang.String):32 -> encryptAppData 6:6:java.lang.String encryptAppData(java.lang.String,java.lang.String,java.lang.String):33:33 -> encryptAppData com.neuvision.utils.AESUtils$GeneralKeys -> com.neuvision.utils.AESUtils$a: java.lang.String aesKey -> a java.lang.String aesIv -> b 1:3:void (java.lang.String,java.lang.String):100:102 -> 1:20:com.neuvision.utils.AESUtils$GeneralKeys invoke():114:133 -> a 1:20:com.neuvision.utils.AESUtils$GeneralKeys access$100(com.neuvision.utils.AESUtils$GeneralKeys):96 -> a com.neuvision.utils.Constants -> com.neuvision.utils.Constants: 1:2:void ():14:15 -> 1:1:void ():13:13 -> com.neuvision.utils.CryptoUtil -> com.neuvision.utils.CryptoUtil: java.lang.ThreadLocal local -> a 1:1:void ():103:103 -> 1:1:void ():14:14 -> 1:1:long ByteArrayToLong(byte[]):196:196 -> ByteArrayToLong 2:4:long ByteArrayToLong(byte[],int):201:203 -> ByteArrayToLong 1:6:byte[] LongTo8ByteArray(long):186:191 -> LongTo8ByteArray 1:7:byte[] LongToByteArrayOmitLeading0(long):172:178 -> LongToByteArrayOmitLeading0 1:5:byte[] XOR(byte[],byte[]):29:29 -> XOR 1:4:byte[] XORContinus(byte[],byte[]):40:40 -> XORContinus 5:5:byte[] XORContinus(byte[],byte[]):39:39 -> XORContinus 1:4:byte[] XORInPlace(byte[],byte[]):19:19 -> XORInPlace 1:3:javax.crypto.Cipher getAESCipher():114:116 -> a 4:4:void com.neuvision.utils.CryptoUtil$LocalStatic.(com.neuvision.utils.CryptoUtil$1):105:105 -> a 4:4:javax.crypto.Cipher getAESCipher():116 -> a 5:14:javax.crypto.Cipher getAESCipher():117:126 -> a 1:6:byte[] decryptAES(byte[],byte[]):82:87 -> decryptAES 1:6:byte[] encryptAES(byte[],byte[]):63:68 -> encryptAES 1:6:javax.crypto.Cipher getAESCipherForSameThread(byte[],boolean):94:99 -> getAESCipherForSameThread 1:3:java.security.KeyFactory getRSAKeyFactory():156:158 -> getPriKeyBy 1:3:java.security.interfaces.RSAPrivateKey getPriKeyBy(java.security.spec.PKCS8EncodedKeySpec):210 -> getPriKeyBy 4:4:void com.neuvision.utils.CryptoUtil$LocalStatic.(com.neuvision.utils.CryptoUtil$1):105:105 -> getPriKeyBy 4:4:java.security.KeyFactory getRSAKeyFactory():158 -> getPriKeyBy 4:4:java.security.interfaces.RSAPrivateKey getPriKeyBy(java.security.spec.PKCS8EncodedKeySpec):210 -> getPriKeyBy 5:14:java.security.KeyFactory getRSAKeyFactory():159:168 -> getPriKeyBy 5:14:java.security.interfaces.RSAPrivateKey getPriKeyBy(java.security.spec.PKCS8EncodedKeySpec):210 -> getPriKeyBy 15:17:java.security.interfaces.RSAPrivateKey getPriKeyBy(java.security.spec.PKCS8EncodedKeySpec):210:212 -> getPriKeyBy com.neuvision.utils.CryptoUtil$LocalStatic -> com.neuvision.utils.CryptoUtil$a: javax.crypto.Cipher aesCBCCipher -> a java.security.KeyFactory rsaKeyFactory -> b 1:1:void ():105:105 -> com.neuvision.utils.FilePathUtils -> com.neuvision.utils.FilePathUtils: 1:1:void ():17:17 -> 1:1:void showLog(java.lang.String):79:79 -> a 1:6:boolean ensureDirectory(java.lang.String):65:70 -> ensureDirectory 1:3:java.io.File getCacheDir(java.lang.String):53:55 -> getCacheDir 1:1:java.io.File getHttpCacheDir():60:60 -> getHttpCacheDir 1:1:java.io.File getLogDir():49:49 -> getLogDir 1:13:java.io.File getLogFile(java.lang.String):21:33 -> getLogFile 14:25:java.io.File getLogFile(java.lang.String):32:43 -> getLogFile com.neuvision.utils.GsonUtil -> com.neuvision.utils.GsonUtil: 1:5:void ():39:43 -> 1:1:void ():46:46 -> 1:1:java.lang.String GsonString(java.lang.Object):113:113 -> GsonString 1:1:java.lang.Object fromJson(java.lang.String,java.lang.Class):78:78 -> fromJson 2:8:com.neuvision.http.entity.HttpResponse fromJson(java.lang.String,com.google.gson.reflect.TypeToken):122:128 -> fromJson 1:8:java.util.List fromJsonArray(java.lang.String,java.lang.Class):83:90 -> fromJsonArray 1:1:java.lang.Object fromJsonObject(java.lang.String,java.lang.Class):74:74 -> fromJsonObject 1:1:java.lang.Object gsonByTypeToken(java.lang.String,com.google.gson.reflect.TypeToken):118:118 -> gsonByTypeToken 1:3:java.util.List gsonToListMaps(java.lang.String):103:103 -> gsonToListMaps 1:3:java.util.Map gsonToMaps(java.lang.String):108:108 -> gsonToMaps 1:1:java.lang.String mapToJson(java.util.Map):66:66 -> mapToJson 1:8:com.google.gson.Gson requireGson():50:57 -> requireGson 1:1:java.lang.String toJson(java.lang.Object):70:70 -> toJson com.neuvision.utils.GsonUtil$1 -> com.neuvision.utils.GsonUtil$a: 1:1:void ():103:103 -> com.neuvision.utils.GsonUtil$2 -> com.neuvision.utils.GsonUtil$b: 1:1:void ():108:108 -> com.neuvision.utils.GsonUtil$TypeTokenParameterizedType -> com.neuvision.utils.GsonUtil$c: java.lang.reflect.Type[] types -> a 1:3:void (java.lang.Class,java.lang.reflect.Type[]):135:137 -> 1:1:java.lang.reflect.Type[] getActualTypeArguments():142:142 -> getActualTypeArguments 1:1:java.lang.reflect.Type getRawType():147:147 -> getRawType com.neuvision.utils.HmacSHA256Util -> com.neuvision.utils.HmacSHA256Util: 1:1:void ():13:13 -> 1:7:byte[] encrypt(java.lang.String,java.lang.String):17:23 -> encrypt 8:13:byte[] encrypt(byte[],java.lang.String):30:35 -> encrypt com.neuvision.utils.JsonFormatParser -> com.neuvision.utils.JsonFormatParser: com.google.gson.reflect.TypeToken mTypeToken -> a 1:2:void (com.google.gson.reflect.TypeToken):20:21 -> 1:1:java.lang.Object deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext):17:17 -> deserialize 2:26:com.neuvision.http.entity.HttpResponse deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext):26:50 -> deserialize com.neuvision.utils.ProcessUtils -> com.neuvision.utils.ProcessUtils: 1:1:void ():22:22 -> 1:7:java.lang.String getProcessName():30:36 -> getProcessName 8:22:java.lang.String getProcessName(int):50:64 -> getProcessName 23:30:java.lang.String getProcessName(int):57:64 -> getProcessName 31:36:java.lang.String getProcessName(int):61:66 -> getProcessName com.neuvision.utils.RegexUtils -> com.neuvision.utils.RegexUtils: androidx.collection.SimpleArrayMap CITY_MAP -> a 1:1:void ():18:18 -> 1:2:void ():140:141 -> 1:1:java.lang.String extractEmailProvider(java.lang.String):166:166 -> extractEmailProvider 1:1:java.lang.String extractEmailUsername(java.lang.String):176:176 -> extractEmailUsername 1:6:java.util.List getMatches(java.lang.String,java.lang.CharSequence):406:411 -> getMatches 1:1:java.lang.String getReplaceAll(java.lang.String,java.lang.String,java.lang.String):461:461 -> getReplaceAll 1:1:java.lang.String getReplaceFirst(java.lang.String,java.lang.String,java.lang.String):443:443 -> getReplaceFirst 1:2:java.lang.String[] getSplits(java.lang.String,java.lang.String):424:425 -> getSplits 1:1:boolean isDate(java.lang.CharSequence):374:374 -> isDate 1:1:boolean isEmail(java.lang.CharSequence):331:331 -> isEmail 1:1:boolean isFromEmailProvider(java.lang.String,java.lang.String):188:188 -> isFromEmailProvider 1:1:boolean isIDCard15(java.lang.CharSequence):244:244 -> isIDCard15 1:1:boolean isIDCard18(java.lang.CharSequence):254:254 -> isIDCard18 1:55:boolean isIDCard18Exact(java.lang.CharSequence):264:318 -> isIDCard18Exact 1:1:boolean isIP(java.lang.CharSequence):384:384 -> isIP 1:1:boolean isMatch(java.lang.String,java.lang.CharSequence):395:395 -> isMatch 1:1:boolean isMobileExact(java.lang.CharSequence):198:198 -> isMobileExact 2:13:boolean isMobileExact(java.lang.CharSequence,java.util.List):209:220 -> isMobileExact 1:1:boolean isMobileSimple(java.lang.CharSequence):155:155 -> isMobileSimple 1:1:boolean isTel(java.lang.CharSequence):234:234 -> isTel 1:1:boolean isURL(java.lang.CharSequence):341:341 -> isURL 1:1:boolean isUsername(java.lang.CharSequence):364:364 -> isUsername 1:1:boolean isZh(java.lang.CharSequence):351:351 -> isZh com.neuvision.utils.SignatureUtil -> com.neuvision.utils.SignatureUtil: 1:1:void ():23:23 -> 1:8:java.lang.String decryptIkey(java.lang.String,java.lang.String,long):133:140 -> decryptIkey 1:5:java.lang.String encrypt(java.lang.String,java.lang.String):110:114 -> encrypt 1:6:java.lang.String encryptIkey(java.lang.String,long,java.lang.String):120:125 -> encryptIkey 1:45:java.lang.String getEncrypt(java.lang.String,java.lang.String,java.util.LinkedHashSet,java.lang.String,java.lang.String,java.lang.String):29:73 -> getEncrypt com.neuvision.utils.UIUtils -> com.neuvision.utils.UIUtils: 1:1:void ():15:15 -> 1:1:int dip2px(android.content.Context,float):17:17 -> dip2px com.neuvision.utils.UserAgentUtil -> com.neuvision.utils.UserAgentUtil: 1:1:void ():13:13 -> 1:11:java.lang.String getUserAgent():15:25 -> getUserAgent 12:17:java.lang.String getUserAgent():23:28 -> getUserAgent