package Ġcom . new relic . core test . tests Ċ Ċ import Ġandroid . util . Log Ċ import Ġcom . new relic . video agent . core . NR Def Ċ import Ġcom . new relic . video agent . core . New Rel ic Video Agent Ċ import Ġcom . new relic . video agent . core . tracker . NR Video Tracker Ċ Ċ // ĠTest Ġbasic Ġtracker Ġworkflow . Ċ Ċ private Ġconst Ġval Ġtest Name Ġ= Ġ" Test Ġ 1 " Ċ Ċ class ĠTest 1 Ġ: ĠTest Interface Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġcallback Ġ: Ġ( String , ĠBoolean ) Ġ-> ĠUnit ĊĠĠĠ Ġval Ġtracker Id Ġ= ĠNew Rel ic Video Agent . getInstance (). start ( Test Content Tracker ()) ĊĊĠĠĠ Ġoverride Ġfun Ġdo Test ( callback : Ġ( String , ĠBoolean ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . callback Ġ= Ġcallback ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠTest Content Tracker ). set Player ( null ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġset Player ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Request () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Request ( 1 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Request () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Request ( 2 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Start () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Start ( 1 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Start () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Start ( 2 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Pause () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Pause ( 1 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Seek End () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Seek End ( 1 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Buffer End () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Buffer End ( 1 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Pause () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Pause ( 2 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Resume () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Resume ( 1 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Resume () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Resume ( 2 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Buffer Start () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Buffer Start ( 1 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Buffer Start () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Buffer Start ( 2 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Buffer End () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Buffer End ( 2 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Buffer End () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Buffer End ( 3 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Seek Start () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Seek Start ( 1 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Seek Start () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Seek Start ( 2 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Seek End () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Seek End ( 2 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Seek End () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Seek End ( 3 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send Heartbeat () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend Heartbeat ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send End () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend End ( 1 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠNR Video Tracker ). send End () ĊĠĠĠĠĠĠĠ Ġif Ġ(! check Partial Result ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġsend End ( 2 )", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠNew Rel ic Video Agent . getInstance (). release Tracker ( tracker Id ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . callback ( test Name Ġ+ Ġ" Ġrelease ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . callback ( test Name , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck Partial Result () Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( New Rel ic Video Agent . getInstance (). getContent Tracker ( tracker Id ) Ġas ĠTest Content Tracker ). partial Result ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠTest Content Tracker Ġ: ĠNR Video Tracker () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġpartial Result Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġvar Ġevent Counter Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpre Send ( action : ĠString ?, Ġattributes : ĠMutable Map < String , ĠAny >? ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . v (" Core Test ", Ġ" Send Ġevent Ġ= Ġ" Ġ+ Ġaction Ġ+ Ġ" Ġ, Ġattr Ġ= Ġ" Ġ+ Ġattributes ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( action Ġ== ĠNR Def . TRACK ER _ READY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc Partial result ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( action Ġ== ĠNR Def . PLAYER _ READY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc Partial result ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( action Ġ== ĠNR Def . CONTENT _ REQUEST ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc Partial result ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( action Ġ== ĠNR Def . CONTENT _ START ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc Partial result ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( action Ġ== ĠNR Def . CONTENT _ PAUSE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc Partial result ( 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( action Ġ== ĠNR Def . CONTENT _ RE SU ME ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc Partial result ( 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( action Ġ== ĠNR Def . CONTENT _ BUFFER _ START ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc Partial result ( 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( action Ġ== ĠNR Def . CONTENT _ BUFFER _ END ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc Partial result ( 7 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( action Ġ== ĠNR Def . CONTENT _ SEEK _ START ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc Partial result ( 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( action Ġ== ĠNR Def . CONTENT _ SEEK _ END ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc Partial result ( 9 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( action Ġ== ĠNR Def . CONTENT _ HE ART BE AT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc Partial result ( 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ( action Ġ== ĠNR Def . CONTENT _ END ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalc Partial result ( 1 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġcalc Partial result ( index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( event Counter Ġ!= Ġindex ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpartial Result Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevent Counter Ġ= Ġevent Counter Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }