package Ġcom . h azz . ku ang ji . ui . activity . asset ĊĊ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . provider . Media Store Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġcn . bing oog ol apple . qrcode . core . QR Code View Ċ import Ġcn . bing oog ol apple . qrcode . zx ing . ZX ing View Ċ import Ġcom . h azz . ku ang ji . R Ċ import Ġcom . h azz . ku ang ji . utils . FileUtils Ċ import Ġcom . h azz . ku ang ji . utils . ToolBar Custom Ċ import Ġkotlinx . android . synt hetic . main . mine _ activity _ scan _ coin _ address .* ĊĊ Ċ class ĠScan Coin Address Activity Ġ: ĠAppCompatActivity (), ĠQR Code View . Delegate Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Toolbar : ĠToolbar ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Tv Right Text : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Scan View : ĠZX ing View ĊĠĠĠ Ġprivate Ġvar ĠisOpen Light : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġval ĠFROM _ G ALL ERY : ĠInt Ġ= Ġ 1 0 0 0 1 ĊĠĠĠ Ġprivate Ġvar Ġparams : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ// æĶ¶ æ¬¾ çłģ çĶŁæĪĲ äºĮ ç»´ çłģ çļĦ å¼Ģå§ĭ åŃĹæ®µ ĊĠĠĠ Ġprivate Ġval ĠQR _ CODE _ START =" G AI A - Store Id =" ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . mine _ activity _ scan _ coin _ address ) ĊĠĠĠĠĠĠĠ Ġparams Ġ= Ġintent . getString Extra (" scan ") ĊĠĠĠĠĠĠĠ Ġm Toolbar Ġ= ĠfindViewById ( R . id . m Toolbar ) ĊĠĠĠĠĠĠĠ Ġm Tv Right Text Ġ= ĠfindViewById < TextView >( R . id . m Tv Right Text ) ĊĠĠĠĠĠĠĠ Ġm Scan View Ġ= ĠfindViewById ( R . id . m Scan View ) ĊĠĠĠĠĠĠĠ Ġm Scan View . set Delegate ( this ) ĊĠĠĠĠĠĠĠ ĠTool Bar Custom . newBuilder ( m Toolbar ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle (" æī« ä¸Ģ æī« ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Left Icon ( R . mip map . back _ white ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Right Text (" çĽ¸ åĨĮ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Right Text Is Show ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setOn Left Icon ClickListener Ġ{ Ġfinish () Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Tv Right Text . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Intent . ACTION _ P ICK , ĠMedia Store . Images . Media . EXTERNAL _ CONTENT _ URI ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . type Ġ= Ġ" image /* " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , ĠFROM _ G ALL ERY ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Img Open Light . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isOpen Light ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠisOpen Light Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Scan View . close Flash light () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠisOpen Light Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Scan View . open Flash light () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġm Scan View . start Spot And Show Rect () Ġ// Ġ æĺ¾ç¤º æī«æıı æ¡Ĩ ï¼Į å¹¶ å¼Ģå§ĭ è¯ĨåĪ« ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Scan View . stop Spot And Hidden Rect () ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Scan QR Code Success ( result : ĠString ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Scan View . start Spot () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" jun jun "," æī«æıı ç»ĵæŀľ "+ result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi . putExtra (" result ", result Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Result ( 0 , Ġi ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Camera Ambient Brightness Changed ( is Dark : ĠBoolean ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Scan QR Code Open Camera Error () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠFROM _ G ALL ERY Ġ&& ĠresultCode Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuri Ġ= Ġdata ?. data ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuri ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile = ĠFileUtils . uri 2 File ( uri , this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfile ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Scan View . decode QR Code ( file . absolute Path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ