package Ġbr . ue a . trans i rie . my pay . my pay template 2 . utils . lib printer . utils Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Resources Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . View Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġbr . ue a . trans i rie . my pay . my pay template 2 . R Ċ import Ġbr . ue a . trans i rie . my pay . my pay template 2 . utils . lib printer . models . Receipt Ċ import Ġkotlinx . android . synt hetic . main . reci bo _ layout . view .* ĊĊ Ċ object ĠConvert Layout Ġ{ ĊĊĊĠĠĠ Ġfun Ġconvert Resource In Bitmap ( context o : ĠContext , Ġresource : ĠInt ): ĠBitmap Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= ĠBitmap Factory . Options () ĊĊĠĠĠĠĠĠĠ Ġreturn ĠBitmap Factory . decode Resource ( context o . resources , Ġresource , Ġoptions ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠ Ġfun Ġcre at Bitmap View ( context : ĠContext , Ġreceipt : ĠRe ceipt ?, Ġlogo : ĠInt ): ĠBitmap ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm Inf late Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . reci bo , Ġnull ) ĊĠĠĠĠĠĠĠ Ġm Inf late . iv Logo Re ci bo . setImage Resource ( logo ) ĊĠĠĠĠĠĠĠ Ġreceipt ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload ViewData ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inf late , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreceipt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġconstraint Layout Ġ= Ġm Inf late . constraint Layout Ġas ĠConstraint Layout ĊĊĠĠĠĠĠĠĠ Ġreturn Ġcre at Bitmap Layout ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconstraint Layout ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġcre at Bitmap Layout ( constraint Layout : ĠConstraint Layout ): ĠBitmap ? Ġ{ ĊĠĠĠĠĠĠĠ Ġconstraint Layout . measure ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView . Measure Spec . make Measure Spec ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconvert Dp To Pixels ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 2 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĠView . Measure Spec . EX ACT LY ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView . Measure Spec . make Measure Spec ( 0 , ĠView . Measure Spec . UNSPECIFIED ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġconstraint Layout . layout ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconstraint Layout . meas ured Width , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconstraint Layout . meas ured Height ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= ĠBitmap . create Bitmap ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconstraint Layout . meas ured Width , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconstraint Layout . meas ured Height , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap . Config . ARGB _ 8 8 8 8 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġcanvas Ġ= ĠCanvas ( bitmap ) ĊĠĠĠĠĠĠĠ Ġconstraint Layout . draw ( canvas ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbitmap ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġload ViewData ( context o : ĠContext , Ġm Inf late : ĠView , Ġreceipt : ĠRe ceipt ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreceipt ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflag ?. let Ġ{ Ġm Inf late . tv B ande ira ?. text Ġ= Ġflag Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( number Card Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inf late . tv Numero Cart ao ?. text Ġ= Ġcontext o . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . label _ numero _ cart ao , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnumber Card . substring ( number Card . length Ġ- Ġ 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnumber POS ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inf late . tv Numero Pos ?. text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext o . getString ( R . string . label _ numero _ POS , Ġnumber POS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc np j Est ablish ment ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inf late . tv C np j ?. text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext o . getString ( R . string . label _ c np j , Ġc np j Est ablish ment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Store ?. let Ġ{ Ġm Inf late . tv Nome Da Lo ja ?. text Ġ= Ġname Store Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcite Uf ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inf late . tv C idade Uf ?. text Ġ= Ġcite Uf ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnumber Est ablish ment ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inf late . tv Numero Est abe lec imento ?. text Ġ= Ġnumber Est ablish ment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnumber Doc ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inf late . tv Numero Document o ?. text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext o . getString ( R . string . label _ numero _ document o , Ġnumber Doc ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnumber Authorization ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inf late . tv Numero Autor iz acao ?. text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext o . getString ( R . string . label _ numero _ autor iz acao , Ġnumber Authorization ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdate Payment ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inf late . tv Data ?. text Ġ= Ġdate Payment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhour ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inf late . tv H ora ?. text Ġ= Ġhour ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġaddress St ro re ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inf late . tv En dere co Lo ja ?. text Ġ= Ġaddress St ro re ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Payment ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inf late . tv Tipo Pag amento ?. text Ġ= Ġtype Payment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inf late . tv Valor ?. text Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġfun Ġconvert Dp To Pixels ( dp : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMath . round ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTyped Value . apply Dimension ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTyped Value . COMPLEX _ UNIT _ DIP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdp . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResources . getSystem (). display Metrics ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊ Ċ }