/* čĊ Ġ* ĠBSD Ġ 3 - Clause ĠLicense čĊ Ġ* čĊ Ġ* ĠCopyright Ġ 2 0 1 9 Ġ ĠS age ĠB ion etwork s . ĠAll Ġrights Ġreserved . čĊ Ġ* čĊ Ġ* ĠRedistribution Ġand Ġuse Ġin Ġsource Ġand Ġbinary Ġforms , Ġwith Ġor Ġwithout Ġmodification , čĊ Ġ* Ġare Ġpermitted Ġprovided Ġthat Ġthe Ġfollowing Ġconditions Ġare Ġmet : čĊ Ġ* čĊ Ġ* Ġ 1 . Ġ ĠRedistributions Ġof Ġsource Ġcode Ġmust Ġretain Ġthe Ġabove Ġcopyright Ġnotice , Ġthis čĊ Ġ* Ġlist Ġof Ġconditions Ġand Ġthe Ġfollowing Ġdisclaimer . čĊ Ġ* čĊ Ġ* Ġ 2 . Ġ ĠRedistributions Ġin Ġbinary Ġform Ġmust Ġreproduce Ġthe Ġabove Ġcopyright Ġnotice , čĊ Ġ* Ġthis Ġlist Ġof Ġconditions Ġand Ġthe Ġfollowing Ġdisclaimer Ġin Ġthe Ġdocumentation Ġand / or čĊ Ġ* Ġother Ġmaterials Ġprovided Ġwith Ġthe Ġdistribution . čĊ Ġ* čĊ Ġ* Ġ 3 . Ġ ĠNeither Ġthe Ġname Ġof Ġthe Ġcopyright Ġholder ( s ) Ġnor Ġthe Ġnames Ġof Ġany Ġcontributors čĊ Ġ* Ġmay Ġbe Ġused Ġto Ġendorse Ġor Ġpromote Ġproducts Ġderived Ġfrom Ġthis Ġsoftware Ġwithout čĊ Ġ* Ġspecific Ġprior Ġwritten Ġpermission . ĠNo Ġlicense Ġis Ġgranted Ġto Ġthe Ġtrade marks Ġof čĊ Ġ* Ġthe Ġcopyright Ġhold ers Ġeven Ġif Ġsuch Ġmarks Ġare Ġincluded Ġin Ġthis Ġsoftware . čĊ Ġ* čĊ Ġ* ĠTHIS ĠSOFTWARE ĠIS ĠPROVIDED ĠBY ĠTHE ĠCOPYRIGHT ĠHOLDERS ĠAND ĠCONTRIBUTORS Ġ" AS ĠIS " čĊ Ġ* ĠAND ĠANY ĠEXPRESS ĠOR ĠIMPLIED ĠWARRANTIES , ĠINCLUDING , ĠBUT ĠNOT ĠLIMITED ĠTO , ĠTHE čĊ Ġ* ĠIMPLIED ĠWARRANTIES ĠOF ĠMERCHANTABILITY ĠAND ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE čĊ Ġ* ĠARE ĠDISCLAIMED . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠCOPYRIGHT ĠOWNER ĠOR ĠCONTRIBUTORS ĠBE ĠLIABLE čĊ Ġ* ĠFOR ĠANY ĠDIRECT , ĠINDIRECT , ĠINCIDENTAL , ĠSPECIAL , ĠEXEMPLARY , ĠOR ĠCONSEQUENTIAL čĊ Ġ* ĠDAMAGES Ġ( INCLUDING , ĠBUT ĠNOT ĠLIMITED ĠTO , ĠPROCUREMENT ĠOF ĠSUBSTITUTE ĠGOODS ĠOR čĊ Ġ* ĠSERVICES ; ĠLOSS ĠOF ĠUSE , ĠDATA , ĠOR ĠPROFITS ; ĠOR ĠBUSINESS ĠINTERRUPTION ) ĠHOWEVER čĊ Ġ* ĠCAUSED ĠAND ĠON ĠANY ĠTHEORY ĠOF ĠLIABILITY , ĠWHETHER ĠIN ĠCONTRACT , ĠSTRICT ĠLIABILITY , čĊ Ġ* ĠOR ĠTORT Ġ( INCLUDING ĠNEGLIGENCE ĠOR ĠOTHERWISE ) ĠARISING ĠIN ĠANY ĠWAY ĠOUT ĠOF ĠTHE ĠUSE čĊ Ġ* ĠOF ĠTHIS ĠSOFTWARE , ĠEVEN ĠIF ĠADVISED ĠOF ĠTHE ĠPOSSIBILITY ĠOF ĠSUCH ĠDAMAGE . čĊ Ġ*/ čĊč Ċ package Ġorg . sage b ion etwork s . research . modules . ps or cast . step . pl aque _ body _ map čĊč Ċ import Ġandroid . graphics . Bitmap č Ċ import Ġandroid . graphics . Canvas č Ċ import Ġandroid . support . annotation . NonNull č Ċ import Ġandroid . view . View č Ċ import Ġkotlinx . android . synt hetic . main . sr pm _ show _ pl aque _ body _ step _ fragment . rs 2 _ image _ view č Ċ import Ġkotlinx . android . synt hetic . main . sr pm _ show _ pl aque _ body _ step _ fragment . view . rs 2 _ image _ view č Ċ import Ġorg . sage b ion etwork s . research . mobile _ ui . show _ step . view . Show Step Fragment Base č Ċ import Ġorg . sage b ion etwork s . research . mobile _ ui . show _ step . view . Show UI Step Fragment Base č Ċ import Ġorg . sage b ion etwork s . research . mobile _ ui . show _ step . view . view _ binding . UI Step View Binding č Ċ import Ġorg . sage b ion etwork s . research . mobile _ ui . widget . ActionButton č Ċ import Ġorg . sage b ion etwork s . research . modules . ps or cast . R č Ċ import Ġorg . sage b ion etwork s . research . presentation . model . action . ActionType č Ċ import Ġorg . sage b ion etwork s . research . presentation . model . interfaces . Step View č Ċ import Ġorg . slf 4 j . Logger č Ċ import Ġorg . slf 4 j . LoggerFactory čĊč Ċ class ĠShow Pl aque Body Map Step Fragment Ġ: čĊĠĠĠĠĠĠĠ ĠShow UI Step Fragment Base < Pl aque Body Map Step View , ĠShow Pl aque Body Map Step ViewModel , ĠUI Step View Binding < Pl aque Body Map Step View >>() Ġ{ čĊčĊĠĠĠ Ġcompanion Ġobject Ġ{ čĊĠĠĠĠĠĠĠ Ġ@ Jvm Static čĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance (@ NonNull Ġstep View : ĠStep View ): ĠShow Pl aque Body Map Step Fragment Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠShow Pl aque Body Map Step Fragment () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarguments Ġ= ĠShow Step Fragment Base . create Arguments ( step View ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġarguments čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġvar Ġlogger : ĠLogger Ġ= ĠLoggerFactory . getLogger ( Show Pl aque Body Map Step Fragment :: class . java ) čĊčĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . sr pm _ show _ pl aque _ body _ step _ fragment čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġinstantiate And Bind Binding ( view : ĠView ?): ĠUI Step View Binding < Pl aque Body Map Step View > Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠUI Step View Binding ( view ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġhandle ActionButton Click ( action Button : ĠAction Button ) Ġ{ čĊĠĠĠĠĠĠĠ Ġ@ ActionType Ġval Ġaction Type Ġ= Ġthis . get ActionType From ActionButton ( action Button ) čĊĠĠĠĠĠĠĠ Ġif Ġ( ActionType . FORWARD Ġ== Ġaction Type ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . show Step ViewModel . pd Result Builder . set Paths ( this . rs 2 _ image _ view . get Paths ()) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Bitmap () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġsuper . handle ActionButton Click ( action Button ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġset Bitmap () Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġv Ġ= Ġview Ġas ĠView čĊĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= Ġload Bitmap From View ( v , Ġv . rs 2 _ image _ view . width , Ġv . rs 2 _ image _ view . height ) čĊĠĠĠĠĠĠĠ Ġthis . show Step ViewModel . pd Result Builder . set Bitmap ( bitmap ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġload Bitmap From View ( v : ĠView , Ġwidth : ĠInt , Ġheight : ĠInt ): ĠBitmap Ġ{ čĊĠĠĠĠĠĠĠ Ġvar Ġb Ġ= ĠBitmap . create Bitmap ( width , Ġheight , ĠBitmap . Config . ARGB _ 8 8 8 8 ) čĊĠĠĠĠĠĠĠ Ġvar Ġc Ġ= ĠCanvas ( b ) čĊĠĠĠĠĠĠĠ Ġv . layout ( 0 , Ġ 0 , Ġwidth , Ġheight ) čĊĠĠĠĠĠĠĠ Ġv . draw ( c ) čĊĠĠĠĠĠĠĠ Ġreturn Ġb čĊĠĠĠ Ġ} čĊč Ċ } čĊ