package Ġb itch at . android . com . bit store . wallet . activity Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Clipboard Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġb itch at . android . com . bit store . R Ċ import Ġb itch at . android . com . bit store . utils . UI Utils Ċ import Ġb itch at . android . com . bit store . wallet . utils . Rx Timer Util Ċ import Ġb itch at . android . com . bit store . wallet . view model . Wallet ViewModel Ċ import Ġcn . bing oog ol apple . qrcode . zx ing . QR Code Encoder Ċ import Ġcom . android . base . activity s . W fc Base Activity Ċ import Ġcom . android . base . utils . Image Utils Ċ import Ġcom . v on de ar . rx tool . R xC lip board Tool Ċ import Ġio . reactivex . Flow able Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġkotlinx . android . synt hetic . main . activity _ receiver _ cm c .* Ċ Ċ class ĠReceiver C mc Activity : ĠW fc Base Activity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġis Accept App Manager () = true ĊĊĠĠĠ Ġvar Ġclipboard Manager : Clipboard Manager ?= null ĊĠĠĠ Ġvar Ġwallet ViewModel : ĠWallet ViewModel ?= null ĊĠĠĠ Ġvar Ġbitmap : Bitmap ?= null ĊĠĠĠ Ġoverride Ġfun Ġcontent Layout (): ĠInt = ĠR . layout . activity _ receiver _ cm c ĊĊĊĠĠĠ Ġoverride Ġfun Ġafter Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġclipboard Manager = Ġget System Service ( Context . CLIP BOARD _ SERVICE ) Ġas ĠClip board Manager ? ĊĠĠĠĠĠĠĠ Ġtitle = getString ( R . string . str _ receiver _ cm c ) ĊĠĠĠĠĠĠĠ Ġon Init View () ĊĠĠĠ Ġ} ĊĊĠĠĠĠ Ġfun Ġon Init View () Ġ{ ĊĊĠĠĠĠĠĠĠĠ Ġwallet ViewModel = ViewModel Providers . of ( this ). get ( Wallet ViewModel :: class . java ) ĊĠĠĠĠĠĠĠĠ Ġwallet ViewModel ?. wallet Load LiveData ?. observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġaddress _ tv . text = it . current Receive Address (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġmake QR Code ( address _ tv . text . toString ()) ĊĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠ Ġwallet ViewModel ?. wallet Load LiveData ?. load Wallet () ĊĊĠĠĠĠĠĠĠĠ Ġcopy . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĠR xC lip board Tool . copy Text ( this , address _ tv . text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , R . string . str _ copy _ address , Toast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠ Ġsave . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĠImage Utils . save Image To Gallery ( this , Ġbitmap ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , R . string . str _ save _ success , Toast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠ Ġ} ĊĊ ĊĠĠĠĠĠĠĠĠ ĠRx Timer Util . interval ( 3 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġnew address = Ġwallet ViewModel ?. wallet Load LiveData ?. value ?. fresh Receive Address (). toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġmake QR Code ( new address ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġaddress _ tv . text = new address ĊĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Suppress Lint (" Check Result ") ĊĠĠĠ Ġfun Ġmake QR Code ( content : String ){ ĊĠĠĠĠĠĠĠ ĠFlow able . just ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠQR Code Encoder . sync Encode QR Code ( it , ĠUI Utils . dip 2 Px ( 2 0 0 )) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap = it ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġqr code . setImage Bitmap ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ ĠRx Timer Util . cancel () ĊĠĠĠ Ġ} ĊĊ Ċ }