/* Ċ Ġ* Ġ ĠCopyright Ġ 2 0 1 5 ĠThe ĠWeb RTC ĠProject ĠAuthors . ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* Ġ ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġa ĠBSD - style Ġlicense Ċ Ġ* Ġ Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile Ġin Ġthe Ġroot Ġof Ġthe Ġsource Ċ Ġ* Ġ Ġtree . ĠAn Ġadditional Ġintel lectual Ġproperty Ġrights Ġgrant Ġcan Ġbe Ġfound Ċ Ġ* Ġ Ġin Ġthe Ġfile ĠPAT ENTS . Ġ ĠAll Ġcontributing Ġproject Ġauthors Ġmay Ċ Ġ* Ġ Ġbe Ġfound Ġin Ġthe ĠAUTHORS Ġfile Ġin Ġthe Ġroot Ġof Ġthe Ġsource Ġtree . Ċ Ġ*/ Ċ package Ġorg . app spot . app rtc Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġorg . app spot . app rtc . databinding . Fragment Hud Binding Ċ import Ġorg . webrtc . RTC Stats Report Ċ Ċ /** Ċ Ġ* ĠFragment Ġfor ĠH UD Ġstatistics Ġdisplay . Ċ Ġ*/ Ċ class ĠH ud Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠFragment Hud Binding ĊĊĠĠĠ Ġprivate Ġvar Ġvideo Call Enabled Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġdisplay Hud Ġ= Ġfalse ĊĊĠĠĠ Ġ@ Volatile ĊĠĠĠ Ġprivate Ġvar Ġis Running Ġ= Ġfalse ĊĊĠĠĠ Ġprivate Ġval Ġcpu Monitor Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Cpu Monitor . is Supported ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠC pu Monitor ( require Context ()) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFragment Hud Binding . inflate ( in flater , Ġcontainer , Ġfalse ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ}. root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding . button Toggle Debug . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( display Hud ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvisibility Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( binding . h ud Stat Call . visibility Ġ== ĠView . VISIBLE ) ĠView . IN VISIBLE Ġelse ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . h ud Stat Call . visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġarguments ?. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvideo Call Enabled Ġ= Ġit . getBoolean ( Call Activity . EXTRA _ VIDEO _ CALL , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay Hud Ġ= Ġit . getBoolean ( Call Activity . EXTRA _ DISPLAY _ HUD , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġvisibility Ġ= Ġif Ġ( display Hud ) ĠView . VISIBLE Ġelse ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġbinding . h ud Stat Call . visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġbinding . button Toggle Debug . visibility Ġ= Ġvisibility ĊĠĠĠĠĠĠĠ Ġis Running Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġcpu Monitor ?. resume () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġis Running Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġcpu Monitor ?. pause () ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Encoder Statistics ( report : ĠRTC Stats Report ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! isRunning Ġ|| Ġ! display Hud ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġstat Ġ= Ġbuild String Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcpu Monitor ?. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" CPU % : Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( it . getC pu Usage Current ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ("/") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( it . getC pu Usage Average ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend (". ĠF req : Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( it . get Frequency Scale Average ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ('\ n ') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport . stats Map . values . filter Ġ{ Ġit . type Ġ== Ġ" codec " Ġ}. join To ( this , Ġ"\ n ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . h ud Stat Call . text Ġ= Ġstat ĊĠĠĠ Ġ} Ċ }