package Ġscience . cred o . mobile detector 2 . detector . old Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . inst ac art . library . true time . True Time Rx Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . async Ċ import Ġkotlinx . coroutines . launch Ċ import Ġscience . cred o . mobile detector 2 . R Ċ import Ġscience . cred o . mobile detector 2 . analytics . Old Detector Start Event Ċ import Ġscience . cred o . mobile detector 2 . settings . Old Camera Settings Ċ import Ġscience . cred o . mobile detector 2 . utils . Prefs Ċ import Ġscience . cred o . mobile detector 2 . detector .* ĊĊ Ċ class ĠOld Detector Fragment Ġprivate Ġconstructor () Ġ: ĠBase Detector Fragment ( R . layout . fragment _ detector ), ĊĠĠĠ ĠCamera Interface . Frame Callback Ġ{ ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġinstance (): ĠOld Detector Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠOld Detector Fragment () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġcalibration Finder : ĠOld Calibration Finder Ġ= ĠOld Calibration Finder () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv Ġ= Ġsuper . onCreate View ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĊĊĠĠĠĠĠĠĠ Ġsettings Ġ= ĠP refs . get ( context !! , ĠOld Camera Settings :: class . java ) !! ĊĠĠĠĠĠĠĠ Ġinfo Dialog Fragment Ġ= ĠInfo Dialog Fragment . newInstance ( settings ) ĊĊĠĠĠĠĠĠĠ Ġcamera Interface Ġ= ĠOld Camera Interface ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsettings Ġas ĠOld Camera Settings ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġcamera Interface ?. start ( context !! ) ĊĠĠĠĠĠĠĠ Ġstart Timer () ĊĠĠĠĠĠĠĠ Ġreturn Ġv ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Frame Received ( frame : ĠFrame , Ġsame Frame Timestamp : ĠLong ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠGlobal Scope . async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġts Ġ= Ġsame Frame Timestamp Ġ?: ĠTrue Time Rx . now (). time ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( J ni Wrapper . is Busy ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" =========== status Ġskipped ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ async ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" =========== status Ġrunning ") Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġframe Result Ġ= Ġframe Analyzer . base Calculation ( calibration Result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġframe Result Ġ= ĠJ ni Wrapper . calculate Frame ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġframe . byteArray , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġframe . width , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġframe . height , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( calibration Result Ġas ĠOld Calibration Result ). black Threshold ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo Dialog Fragment ?. set Frame Results ( frame Result ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( frame Result . is Cover ed ( calibration Result )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( calibration Result Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalibration Result Ġ= Ġcalibration Finder . next Frame ( frame Result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" == =$ this ==== t 2 Ġ= Ġ${ True Time Rx . now (). time Ġ- Ġts }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalibration Result ?. save ( context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo Dialog Fragment ?. set Calibration Results ( calibration Result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprogress Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( calibration Finder . counter . toFloat () Ġ/ ĠOld Calibration Finder . CAL IB RATION _ LEN G HT ) Ġ* Ġ 1 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate State ( State . CAL IB RATION , Ġ"${ String . format ("% . 2 f ", Ġprogress )} % ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( calibration Result != null ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOld Detector Start Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsettings , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalibration Result !! Ġas ĠOld Calibration Result ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĠĠ Ġ. send () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhit Ġ= ĠOld Frame Analyzer . check Hit ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġframe , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġframe Result , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcalibration Result !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" == =$ this ==== t 3 Ġ= Ġ${ True Time Rx . now (). time Ġ- Ġts } Ġ$ hit ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhit ?. send ( context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhit ?. save To Storage ( context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( hit Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Frame Received ( frame , Ġsame Frame Timestamp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate State ( State . RUNNING , Ġframe , Ġhit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate State ( State . NOT _ COVER ED , Ġframe ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate State ( state : ĠState , Ġadditional Msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . update State ( state , Ġnull ) ĊĠĠĠĠĠĠĠ ĠGlobal Scope . launch ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv State ?. text Ġ= Ġ"${ tv State ?. text . toString () }\ n $ additional Msg " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }