package Ġbr . com . ox ente . transp . ui . fragments ĊĊ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . view . Window . FEATURE _ NO _ TITLE Ċ import Ġandroid . view . WindowManager Ċ import Ġandroidx . core . net . to File Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġbr . com . ox ente . transp . R Ċ import Ġbr . com . ox ente . transp . entity . S oc io Sem ana Ċ import Ġbr . com . ox ente . transp . entity . Vi agem Ċ import Ġbr . com . ox ente . transp . ui . adapter . ViewPager Adapter Ċ import Ġbr . com . ox ente . transp . util . Constants Ċ import Ġbr . com . ox ente . transp . view model . S oc io ViewModel Ċ import Ġcar rega Image m Ċ import Ġcom . af ol le st ad . material dialogs . Material Dialog Ċ import Ġcom . blank j . util code . util . FileUtils Ċ import Ġcom . the ar to f dev . ed mod o . crop per . Crop Image Ċ import Ġcom . the ar to f dev . ed mod o . crop per . Crop ImageView Ċ import ĠgetImage m Ċ import Ġinvalid ar C ach Image Ċ import Ġkotlinx . android . synt hetic . main . fragment _ test e .* Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . launch Ċ import Ġorg . joda . time . DateTime Ċ import Ġjava . io . File Ċ import Ġjava . text . SimpleDateFormat Ċ Ċ private Ġconst Ġval ĠC PF Ġ= Ġ" param 1 " Ċ private Ġconst Ġval ĠVI AGE M Ġ= Ġ" param 2 " Ċ private Ġconst Ġval ĠRE MO VER Ġ= Ġ" param 3 " Ċ Ċ class ĠDialog o Fragment Ġ: ĠDialog Fragment () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġlistener : ĠOn Fragment Interaction Listener ? Ġ= Ġnull ĊĠĠĠ Ġlateinit Ġvar Ġm S oc io : ĠS oc io Sem ana ĊĠĠĠ Ġlateinit Ġvar Ġm C pf : ĠString ĊĠĠĠ Ġvar Ġpode Rem over = Ġfalse ĊĠĠĠ Ġvar Ġtipo Vi agem Ġ= Ġ 0 ĊĊĠĠĠ Ġlateinit Ġvar Ġvi agem : ĠVi agem ĊĊĠĠĠ Ġprivate Ġval Ġsoc io ViewModel : ĠS oc io ViewModel Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠViewModel Providers . of ( this ). get ( S oc io ViewModel :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġis ĠOn Fragment Interaction Listener ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detach () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Detach () ĊĠĠĠĠĠĠĠ Ġlistener Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ test e , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ ĠGlobal Scope . launch ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm S oc io Ġ= Ġsoc io ViewModel . getS oc io Sem ana ( m C pf ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Vi agem () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload S oc io () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetup ViewPager () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif ( p ode Rem over ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremo ver . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcancel ar . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġremo ver . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoc io ViewModel . remo ver Vi agem ( vi agem ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbt F oto . setOnClickListener Ġ{ Ġdispatch Take Picture Intent () Ġ} ĊĊĠĠĠĠĠĠĠ Ġem bar car . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGlobal Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoc io ViewModel . inser ir Vi agem ( vi agem ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. on Fragment Interaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdispatch Take Picture Intent () Ġ{ ĊĠĠĠĠĠĠĠ ĠC rop Image . activity () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Guide lines ( Crop ImageView . Guide lines . ON ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. start ( context !! , Ġthis ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠC rop Image . C ROP _ IMAGE _ ACTIVITY _ REQUEST _ CODE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠC rop Image . getActivity Result ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuuid Ġ= Ġm S oc io . cpf Ġ+ Ġ". jpg " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Uri Ġ= Ġresult . uri . to File () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ( context !!. get External Files Dir ( Constants . CAM IN HO _ F OTO ), Ġuuid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnova Ġ= ĠFile ( context !!. get External Files Dir ( Constants . CAM IN HO _ F OTO _ NO VA ), Ġuuid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFileUtils . copy File ( result Uri , Ġfile ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFileUtils . copy File ( result Uri , Ġnova ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFileUtils . delete ( result Uri ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext !!. invalid ar C ach Image ( file ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcar rega Image m () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcar rega Image m () Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . car rega Image m ( it . getImage m ( m S oc io . cpf ), Ġfoto ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup ViewPager () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity !!. run On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠView Pager Adapter ( child FragmentManager ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Fragment ( Dialog oS oc io Debit os Fragment . newInstance ( m S oc io ), Ġ" D Ã© bit os ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add Fragment ( Dialog oS oc io Mens al idade . newInstance ( m S oc io ), Ġ" Mens al idade ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview pager . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtab Layout . setup With ViewPager ( view pager ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" SimpleDateFormat ") ĊĠĠĠ Ġprivate Ġfun Ġcreate Vi agem () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġd Ġ= ĠDateTime () ĊĠĠĠĠĠĠĠ Ġval Ġdia Ġ= Ġd . day OfMonth (). get () ĊĠĠĠĠĠĠĠ Ġval Ġmes Ġ= Ġd . month OfYear (). get () ĊĠĠĠĠĠĠĠ Ġval Ġan o Ġ= Ġd . year (). get () ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġd . toDate () ĊĠĠĠĠĠĠĠ Ġval Ġhora Ġ= ĠSimpleDateFormat (" HH : mm "). format ( data ) ĊĠĠĠĠĠĠĠ Ġvi agem Ġ= ĠVi agem ( dia , Ġmes , Ġan o , Ġtipo Vi agem , Ġm S oc io . cpf , Ġdata , Ġ 0 , Ġhora , Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload S oc io () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity !!. run On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcur so . text Ġ= Ġm S oc io . des Cur so ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinst itu icao . text Ġ= Ġm S oc io . des Inst itu icao ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnome . text Ġ= Ġm S oc io . nome ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! m S oc io . ativo ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmsg (" ASS OCI ADO ĠEST Ãģ ĠIN AT IV O ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġem bar car . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ run On Ui Thread ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġver ifica D ia () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext !!. car rega Image m ( context !!. getImage m ( m S oc io . cpf ), Ġfoto ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġprivate Ġfun Ġver ifica D ia () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Final Ġ= ĠDateTime () ĊĠĠĠĠĠĠĠ Ġval Ġt dia Ġ= Ġdata Final . day OfWeek (). get () ĊĠĠĠĠĠĠĠ Ġval Ġd Ġ= Ġwhen Ġ( td ia ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġv dia ( m S oc io . seg Id a , Ġm S oc io . seg Vol ta ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġv dia ( m S oc io . ter Id a , Ġm S oc io . ter Vol ta ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġv dia ( m S oc io . qua Id a , Ġm S oc io . qua Vol ta ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> Ġv dia ( m S oc io . qui Id a , Ġm S oc io . qui Vol ta ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ-> Ġv dia ( m S oc io . sex Id a , Ġm S oc io . sex Vol ta ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 6 Ġ-> Ġv dia ( m S oc io . sab Id a , Ġm S oc io . sab Vol ta ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 7 Ġ-> Ġv dia ( m S oc io . dom Id a , Ġm S oc io . dom Vol ta ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! d ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmsg ( data Final . day OfWeek (). as Text Ġ+ Ġ" ĠN Ãĥ O ĠÃī ĠD IA Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvi agem . obs Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmsg ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity !!. run On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial Dialog ( context !! ). show Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ( text Ġ= Ġ" At en Ã§Ã£o ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage ( text Ġ= Ġmsg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpositive Button ( text Ġ= Ġ" OK ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġv dia ( dia Id a : ĠBoolean , Ġdia Vol ta : ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( tipo Vi agem Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdia Id a ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdia Vol ta ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= Ġsuper . onCreate Dialog ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġdialog . request Window Feature ( FEATURE _ NO _ TITLE ) ĊĠĠĠĠĠĠĠ Ġdialog . window ?. setBackground Drawable Resource ( android . R . color . transparent ) ĊĠĠĠĠĠĠĠ Ġarguments ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm C pf Ġ= Ġit . getString ( CP F ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtipo Vi agem Ġ= Ġit . getInt ( VI AGE M ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpode Rem over Ġ= Ġit . getBoolean ( RE MO VER ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdialog ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġdialog ?. window ?. setLayout ( WindowManager . LayoutParams . MATCH _ PARENT , ĠWindow Manager . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn Fragment Interaction Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Fragment Interaction () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( cpf : ĠString , Ġtipo Vi agem : ĠInt , Ġpode Rem over : Boolean , Ġlistener : ĠOn Fragment Interaction Listener ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDialog o Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . listener Ġ= Ġlistener ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( CP F , Ġc pf ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( VI AGE M , Ġtipo Vi agem ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Boolean ( RE MO VER , Ġpode Rem over ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ