package Ġio . bid machine . qr _ ad _ fetcher . activity Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . PointF Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġcom . dl az aro 6 6 . qr coder e ader view . QR Code Reader View Ċ import Ġio . bid machine . qr _ ad _ fetcher . Ad Type Ċ import Ġio . bid machine . qr _ ad _ fetcher . databinding . Activity Qr Scanner Binding Ċ import Ġjava . net . URL Ċ Ċ class ĠQR Scanner Activity Ġ: ĠBinding Activity < Activity Qr Scanner Binding >(), ĊĠĠĠ ĠQR Code Reader View . On QR Code Read Listener Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠB UNDLE _ AD _ TYPE Ġ= Ġ" bundle _ ad _ type " ĊĊĠĠĠĠĠĠĠ Ġfun Ġget New Intent ( context : ĠContext , Ġad Type : ĠAd Type ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠQR Scanner Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( B UNDLE _ AD _ TYPE , Ġad Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġad Type : ĠAd Type ĊĠĠĠ Ġprivate Ġvar Ġis Qr Code Read Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġinf late ( in flater : ĠLayoutInflater ) Ġ= ĠActivity Qr Scanner Binding . inflate ( in flater ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġad Type Ġ= Ġintent . get Serializable Extra ( B UNDLE _ AD _ TYPE ) Ġas ĠAd Type ĊĊĠĠĠĠĠĠĠ Ġbinding . qr Code Scanner . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset QR De coding Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Aut of ocus Interval ( 2 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Back Camera () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset On QR Code Read Listener ( this @ QR Scanner Activity ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĊĠĠĠĠĠĠĠ Ġis Qr Code Read Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġbinding . qr Code Scanner . start Camera () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĊĠĠĠĠĠĠĠ Ġbinding . qr Code Scanner . stop Camera () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon QR Code Read ( text : ĠString ?, Ġpoints : ĠArray < out ĠPoint F > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Qr Code Read ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtext ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠgetUrl ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( url Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Qr Code Read Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠAd Manager Activity . getNew Intent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ QR Scanner Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġad Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetUrl ( value : ĠString ): ĠURL ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠURL ( value ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }