package Ġcom . ail i we an . core . view ĊĊ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . os . Handler Ċ import Ġandroid . os . Handler Thread Ċ import Ġandroid . os . Looper Ċ import Ġandroid . os . Message Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġcom . ail i we an . core . Config .* Ċ import Ġcom . ail i we an . core . Result Ċ import Ġcom . ail i we an . core . able . Ab le Manager Ċ import Ġcom . ail i we an . core . helper . Img parse Helper Ċ import Ġcom . ail i we an . core . helper . V ibrate Helper Ċ import Ġcom . ail i we an . core . zx ing . Scan Type Config Ċ import Ġcom . google . android . cam er av iew . AspectRatio Ċ import Ġcom . google . android . cam er av iew . Base Camera View Ċ import Ġcom . google . android . cam er av iew . Camera View Ċ import Ġcom . google . android . cam er av iew . R Ċ import Ġkotlinx . android . synt hetic .* Ċ import Ġjava . lang . ref . Weak Reference Ċ Ċ /** Ċ Ġ* Ġ@ Package : ĠĠĠĠĠĠĠ Ġcom . google . android . cam er av iew Ċ Ġ* Ġ@ ClassName : ĠĠĠĠĠ ĠZ xing Camera Ċ Ġ* Ġ@ Description : Ċ Ġ* Ġ@ Author : ĠĠĠĠĠĠĠĠ ĠSW Y Ċ Ġ* Ġ@ Create Date : ĠĠĠĠĠ 2 0 2 0 / 8 / 2 3 Ġ 1 2 : 3 8 ĠAM Ċ Ġ*/ Ċ abstract Ġclass ĠFree Zx ing View Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġattribute Set : ĠAttributeSet ? Ġ= Ġnull , ĊĠĠĠ Ġdef : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĠBase Camera View ( context , Ġattribute Set , Ġdef ), ĠHandler . Callback , ĠFree Interface Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġable Collect : ĠAb le Manager ? Ġ= Ġnull ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ä½¿çĶ¨ åĲİ ç½® çĽ¸ æľº ĊĠĠĠĠĠĠĠ Ġfacing Ġ= ĠF ACING _ BACK ĊĊĠĠĠĠĠĠĠ Ġ// éħįç½® æī« çłģ ç±»åŀĭ ĊĠĠĠĠĠĠĠ Ġinit Scan Type () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ èĩªå®ļä¹ī æī«æıı æĿ¡ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġscan Bar View : ĠScan Bar CallBack ? Ġget () Ġ= Ġprovide Scan Bar View () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* èĩªå®ļä¹ī æĶ¶ æīĭ çĶµ çŃ Ĵ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġlight View : ĠScan Light View CallBack ? Ġget () Ġ= Ġprovide Light View () ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ èĩªå®ļä¹ī å®ļä½į çĤ¹ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġloc View : ĠScan Loc View CallBack ? Ġget () Ġ= Ġprovide Loc View () ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ èĩªå®ļä¹ī è§£æŀĲ åĮºåŁŁ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġparse Rect : ĠView ? Ġget () Ġ= Ġprovide Parse Rect View () ĊĊĊĠĠĠ Ġprivate Ġval Ġbus Handle Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġthread Ġ= ĠHandler Thread (" Bus Handle ") ĊĠĠĠĠĠĠĠ Ġthread . start () ĊĠĠĠĠĠĠĠ ĠBus Handler ( this , Ġthread . lo oper ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// è®¾ å®ļ çĽ¸ æľº æķ°æį® éĢī åıĸ æ¯Ķ ä¾ĭ ĊĠĠĠ Ġoverride Ġfun Ġprovide AspectRatio (): ĠAs pect Ratio Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠAs pect Ratio . of ( 1 6 , Ġ 9 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* ĠHandler ç»ĵæŀľ åĽŀè°ĥ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġhandle Message ( m : ĠMessage ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= ĠMessage . obtain ( m ) ĊĊĠĠĠĠĠĠĠ Ġpost Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( message . what ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// æī« çłģ ç»ĵæŀľ åĽŀè°ĥ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSC AN _ RESULT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscan Suc Helper () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( message . obj Ġis ĠResult ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow QR Loc ( message . obj Ġas ĠResult ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// çİ¯å¢ĥ äº ® åº¦ åıĺ æį¢ åĽŀè°ĥ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLIGHT _ CHANGE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( message . obj . toString (). to Boolean ()) Ġlight View ?. light Dark () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġlight View ?. light B right er () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// æĶ¾ å¤§ åĽŀè°ĥ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAUTO _ ZO OM Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Zoom ( message . obj . toString (). toFloat ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å®ŀ æĹ¶ æİ¢ æµĭ çĤ¹ ä½įç½® ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRT _ LOCATION Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// æķ°ç»Ħ éķ¿åº¦ ä¸º 3 Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp oin F Ġ= Ġmessage . obj Ġas ĠArray < PointF > Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvalidate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ Ċ // ĠĠĠ Ġvar Ġp oin F : ĠArray < PointF >? Ġ= Ġnull Ċ Ċ // ĠĠĠ Ġval Ġpaint Ġby Ġlazy Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġpaint Ġ= ĠPaint () Ċ // ĠĠĠĠĠĠĠ Ġpaint . color Ġ= ĠColor . RED Ċ // ĠĠĠĠĠĠĠ Ġpaint . text Size Ġ= Ġ 1 5 f Ċ // ĠĠĠĠĠĠĠ Ġpaint . style Ġ= ĠPaint . Style . FILL Ċ // ĠĠĠĠĠĠĠ Ġpaint Ċ // ĠĠĠ Ġ} Ċ // Ċ // Ċ // ĠĠĠ Ġoverride Ġfun Ġdraw ( canvas : ĠCanvas ?) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġsuper . draw ( canvas ) Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( po in F Ġ!= Ġnull ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġp oin F ?. forEach Indexed Ġ{ Ġindex , Ġit Ġ-> Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas ?. draw Text ("$ index ", Ġpoint F . x , Ġpoint F . y , Ġpaint ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas ?. draw Circle ( it . x , Ġit . y , Ġ 5 f , Ġpaint ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ çĽ¸ æľº éĩĩ éĽĨ æķ°æį® å®ŀ æĹ¶ åĽŀè°ĥ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Preview Byte Back ( camera : ĠCamera View , Ġdata : ĠByteArray ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Preview Byte Back ( camera , Ġdata ) ĊĠĠĠĠĠĠĠ Ġ// è§£æŀĲ æķ°æį® ĊĠĠĠĠĠĠĠ Ġable Collect ?. cus Action ( data , Ġscan Rect . data X , Ġscan Rect . data Y ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ æī« çłģ æĪĲåĬŁ åĲİçļĦ ä¸ĢäºĽ åĬ¨ ä½ľ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġscan Suc Helper () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// åħ³éĹŃ çĽ¸ æľº ĊĠĠĠĠĠĠĠ Ġon Camera Pause () ĊĊĠĠĠĠĠĠĠ Ġ// æ¸ħ çĲĨ çº¿ç¨ĭ æ±ł ä»»åĬ¡ ç¼ĵåŃĺ ĊĠĠĠĠĠĠĠ Ġable Collect ?. clear () ĊĊĠĠĠĠĠĠĠ Ġ// åħ³éĹŃ æī« çłģ æĿ¡ åĬ¨çĶ» ĊĠĠĠĠĠĠĠ Ġscan Bar View ?. stop Scan Animator () ĊĊĠĠĠĠĠĠĠ Ġ// æĴŃæĶ¾ éŁ³ é¢ĳ ĊĠĠĠĠĠĠĠ ĠV ibrate Helper . play V ibrate () ĊĊĠĠĠĠĠĠĠ Ġ// éľ ĩ åĬ¨ ĊĠĠĠĠĠĠĠ ĠV ibrate Helper . play Be ep () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* ĠActivity æĪĸ Fragment åĪĽå»º ï¼Į è¯¦ è§ģ {@ link ĠBase Camera View . syn ch Life Start } ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĠĠĠĠĠĠĠ Ġable Collect Ġ= ĠAb le Manager . create Instance ( bus Handle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* ĠActivity æĪĸ Fragment ä¸įåı¯ è§Ĩ ï¼Į è¯¦ è§ģ {@ link ĠBase Camera View . syn ch Life Start } ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġbus Handle . enable ( false ) ĊĠĠĠĠĠĠĠ Ġbus Handle . remove Callbacks And Messages ( null ) ĊĠĠĠĠĠĠĠ Ġable Collect ?. clear () ĊĠĠĠĠĠĠĠ Ġscan Bar View ?. stop Scan Animator () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* ĠActivity æĪĸ Fragment çĶŁåĳ½ åĳ¨æľŁ ç»ĵæĿŁ éĶĢ æ¯ ģ ï¼Į è¯¦ è§ģ {@ link ĠBase Camera View . syn ch Life Start } ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġbus Handle . lo oper . quit () ĊĠĠĠĠĠĠĠ Ġable Collect ?. release () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ æĺ¾ç¤º äºĮ ç»´ çłģ ä½įç½® , Ġ åĬ¨çĶ» æĴŃæĶ¾ å®Į åĽŀè°ĥ æī«æıı ç»ĵæŀľ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġshow QR Loc ( result : ĠResult ) Ġ{ ĊĠĠĠĠĠĠĠ Ġloc View ?. to Location ( result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Back ( result ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ çĽ¸ æľº åĲ¯åĬ¨ åĲİçļĦ ä¸ĢäºĽ éħįç½® åĪĿå§ĭåĮĸ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġcamera Start Later Config () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// èĩªå®ļä¹ī ĊĠĠĠĠĠĠĠ Ġloc View ?. camera Start Later Init () ĊĠĠĠĠĠĠĠ Ġ// æİ§ä»¶ ĊĠĠĠĠĠĠĠ Ġscan Bar View ?. camera Start Later Init () ĊĠĠĠĠĠĠĠ Ġ// åĪĿå§ĭåĮĸ ĊĠĠĠĠĠĠĠ Ġlight View ?. camera Start Later Init () ĊĠĠĠĠĠĠĠ Ġ// è®¾ å®ļ æī« çłģ åĮºåŁŁ ĊĠĠĠĠĠĠĠ Ġpost Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefine Scan Parse Rect ( parse Rect ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// æ³¨åĨĮ æīĵå¼Ģ æīĭ åħ³éĹŃ çĶµ çŃ Ĵ åĬŁèĥ½ ĊĠĠĠĠĠĠĠ Ġlight View ?. reg Light Operator ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlight Operator ( true ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlight Operator ( false ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġlight Operator ( false ) ĊĠĠĠĠĠĠĠ Ġ// æī« çłģ æĿ¡ å¼Ģå§ĭ æĴŃæĶ¾ åĬ¨çĶ» ĊĠĠĠĠĠĠĠ Ġscan Bar View ?. start Scan Animator () ĊĠĠĠĠĠĠĠ Ġ// éĩįæĸ° è£ħ å¡« Ab le Manager ĊĠĠĠĠĠĠĠ Ġable Collect ?. load Ability () ĊĠĠĠĠĠĠĠ Ġ// éĩįæĸ° æİ¥æĶ¶ æķ°æį® ĊĠĠĠĠĠĠĠ Ġbus Handle . enable ( true ) ĊĠĠĠĠĠĠĠ Ġ// éŁ³ é¢ĳ èµĦæºĲ åĬłè½½ ĊĠĠĠĠĠĠĠ ĠV ibrate Helper . play Init () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ æī« çłģ ç»ĵæŀľ åĽŀè°ĥ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġresult Back ( content : ĠResult ) ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ åĽ¾çīĩ æĸĩä»¶ æī« çłģ ĊĠĠĠĠ Ġ* Ġ æī« çłģ å¤±è´¥ è¿ĶåĽŀ null ï¼Į è¯¦ è§ģ { Ġ@ link Ġ# parse Bitmap } ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġopen Ġfun Ġresult Back File ( content : Ġcom . ail i we an . core . zx ing . core . Result ?) Ġ{} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ åĲ¯åĬ¨ çĽ¸ æľº åĲİçļĦ æĵįä½ľ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Camera Open Back ( camera : ĠCamera View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Camera Open Back ( camera ) ĊĠĠĠĠĠĠĠ Ġclear Find ViewById Cache () ĊĠĠĠĠĠĠĠ ĠfindViewById < View >( R . id . provide View Id )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremove View ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠLayoutInflater . from ( context ). inflate ( provide Floor View (), Ġthis , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . id Ġ= ĠR . id . provide View Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcamera Start Later Config () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġprovide Floor View (): ĠInt ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġéħįç½® æī« çłģ ç±»åŀĭ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġinit Scan Type () Ġ{ ĊĠĠĠĠĠĠĠ Ġscan Type Config Ġ= Ġconfig Scan Type () ĊĠĠĠĠĠĠĠ Ġis Support Black Edge Ġ= Ġis Support Black Edge Qr Scan () ĊĠĠĠĠĠĠĠ Ġis Support Auto Zoom Ġ= Ġis Support Auto Zoom () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ è§£æŀĲ File ï¼Į Ġ çĽ®åīį é»ĺè®¤ å¤§å°ı åİĭç¼© ä¸Ģ åįĬ å¹¶ è½¬æį¢ ARGB _ 8 8 8 8 ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġparse File ( filePath : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġpro scribe Camera () ĊĊĠĠĠĠĠĠĠ Ġbus Handle . remove Callbacks And Messages ( null ) ĊĠĠĠĠĠĠĠ Ġbus Handle . post Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Parse Result ( Img parse Helper . parse File ( filePath )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ è§£æŀĲ Bitmap ĊĠĠĠĠ Ġ* Ġ è§£æŀĲ è¿ĩç¨ĭä¸Ń ä¼ļ åħ³éĹŃ çĽ¸ æľº ï¼Į Ġ è§£æŀĲ å¤±è´¥ éĩįæĸ° åĲ¯åĬ¨ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġparse Bitmap ( bitmap : ĠBitmap ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġpro scribe Camera () ĊĊĠĠĠĠĠĠĠ Ġbus Handle . remove Callbacks And Messages ( null ) ĊĠĠĠĠĠĠĠ Ġbus Handle . post Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Parse Result ( Img parse Helper . parse Bitmap ( bitmap )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Parse Result ( result : Ġcom . ail i we an . core . zx ing . core . Result ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result Ġ!= Ġnull Ġ&& Ġ! result . text . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Hand . post Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Back File ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscan Suc Helper () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Hand . post Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Back File ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġun Pro sci be Camera () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* ĠæıĲ ä¾Ľ æī« çłģ ç±»åŀĭ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġconfig Scan Type (): ĠScan Type Config Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠScan Type Config . HIGH _ FREQ UENCY ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġæĺ¯åĲ¦ æĶ¯æĮģ é»ĳ è¾¹ äºĮ ç»´ çłģ è¯ĨåĪ« - ä¼ļ å¯¼èĩ´ ç¼© æĶ¾ åıĺ å¾Ĺ çģ µ æķ ı ĊĠĠĠĠ Ġ* Ġé»ĺè®¤ æĶ¯æĮģ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġis Support Black Edge Qr Scan (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ Ġæĺ¯åĲ¦ æĶ¯æĮģ ç¼© æĶ¾ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġis Support Auto Zoom (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġ ä¸ļåĬ¡ Handler ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠBus Handler Ġconstructor ( view : ĠCallback , Ġloop : ĠL ooper ) Ġ: ĠHandler ( loop ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġhas Result Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar Ġview Reference : ĠWeak Reference < Callback >? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Bus Handler . view Reference Ġ= ĠWeak Reference ( view ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle Message ( msg : ĠMessage ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! has Result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmsg ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( msg . what Ġ== ĠSC AN _ RESULT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenable ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove Callbacks And Messages ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Bus Handler . view Reference ?. get ()?. handle Message ( msg ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġenable ( enable : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas Result Ġ= Ġenable ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }