package Ġcom . kr ake . core . component . module Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . kr ake . core . R Ċ import Ġcom . kr ake . core . app . Content Item Detail Activity Ċ import Ġcom . kr ake . core . app . Content Item Detail Model Fragment Ċ import Ġcom . kr ake . core . component . base . Component Module Ċ Ċ /** Ċ Ġ* ĠMod ulo Ġutilizz ato Ġper Ġspecific are Ġgli Ġattribut i Ġdi Ġun Ġdet tag lio . Ċ Ġ* ĠUtil izz ato Ġprincipal mente Ġda : Ċ Ġ* Ġ< ul > Ċ Ġ* Ġ< li >[ Content Item Detail Activity ] Ġe Ġd alle Ġ[ Activity ] Ġche Ġla Ġest end ono </ li > Ċ Ġ* Ġ< li >[ Content Item Detail Model Fragment ] Ġe Ġd ai Ġ[ Fragment ] Ġche Ġlo Ġest end ono </ li > Ċ Ġ* Ġ</ ul > Ċ Ġ*/ Ċ class ĠDetail Component Module ( context : ĠContext ) Ġ: ĠComponent Module Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ CONTENT _ LAYOUT Ġ= Ġ" arg Content Layout " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ DISABLE _ ANAL YT ICS Ġ= Ġ" arg Disable Analytics " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ ENABLE _ SO CIAL _ SH AR ING Ġ= Ġ" arg Enable Social " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ ROOT _ LAYOUT Ġ= Ġ" arg Root Layout " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ ANAL YT ICS _ B UNDLE Ġ= Ġ" arg Analytics Bundle " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Layout Res ĊĠĠĠ Ġvar Ġcontent Layout : ĠInt ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġvar Ġdisable Analytics : ĠBoolean ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġvar Ġenable Social Sharing : ĠBoolean ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġ@ Layout Res ĊĠĠĠ Ġvar Ġroot Layout : ĠInt ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġvar Ġanalytics Extras : ĠBundle ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġcontent Layout Ġ= ĠR . layout . fragment _ base _ content _ item ĊĠĠĠĠĠĠĠ Ġdisable Analytics Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġenable Social Sharing Ġ= Ġcontext . resources . getBoolean ( R . bool . enable _ social _ sharing _ on _ details ) ĊĠĠĠĠĠĠĠ Ġroot Layout Ġ= ĠR . layout . fragment _ detail _ coordinator ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSpec ifica Ġparame tri Ġaggi unt ivi Ġda Ġpass are Ġalla Ġch iam are Ġdi Ġanalytics . ĊĠĠĠĠ Ġ* ĠT ut ti Ġi Ġparame tri Ġspecific ati Ġinv i ati Ġa Ġfirebase . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġanalytics Extras ( extras : ĠBundle ?) Ġ= Ġapply Ġ{ Ġthis . analytics Extras Ġ= Ġextras Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSpec ifica Ġil Ġlayout Ġdel Ġ[ Content Item Detail Model Fragment ] Ġnel Ġqu ale Ġmo str are Ġil Ġconten uto . ĊĠĠĠĠ Ġ* ĠSe Ġ[ root Layout ] Ġav r Ãł Ġvalore Ġ 0 , Ġil Ġlayout Ġv err Ãł Ġutilizz ato Ġcome Ġroot Ġlayout Ġdel Ġfragment , ĊĠĠĠĠ Ġ* Ġal tri ment i Ġv err Ãł Ġinser ito Ġall ' intern o Ġdi Ġ[ root Layout ]. ĊĠĠĠĠ Ġ* ĠDEFAULT : Ġ[ R . layout . fragment _ base _ content _ item ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontent Layout Ġlayout Ġresource Ġda Ġutilizz are Ġper Ġmo str are Ġil Ġconten uto Ġdel Ġ[ Content Item Detail Model Fragment ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcontent Layout (@ Layout Res Ġcontent Layout : ĠInt ) Ġ= Ġapply Ġ{ Ġthis . content Layout Ġ= Ġcontent Layout Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSpec ifica Ġse Ġdis att iv are Ġanalytics Ġper Ġil Ġsing olo Ġ[ Content Item Detail Model Fragment ]. ĊĠĠĠĠ Ġ* ĠDEFAULT : Ġfalse ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdisable Analytics Ġse Ġtrue , Ġanalytics Ġv err Ãł Ġdis abil it ato Ġper Ġil Ġsing olo Ġ[ Content Item Detail Model Fragment ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdisable Analytics ( disable Analytics : ĠBoolean ) Ġ= Ġapply Ġ{ Ġthis . disable Analytics Ġ= Ġdisable Analytics Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSpec ifica Ġse Ġab ilit are Ġo Ġm eno Ġla Ġcon division e Ġdel Ġconten uto . ĊĠĠĠĠ Ġ* ĠDEFAULT : Ġ[ R . bool . enable _ social _ sharing _ on _ details ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġenable Social Sharing Ġse Ġtrue Ġe Ġse Ġil Ġ[ Content Item ] ĠpuÃ² Ġessere Ġcon div iso , Ġv err Ãł Ġpresent ato Ġil Ġpul s ante Ġdi Ġcon division e . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġenable Social Sharing ( enable Social Sharing : ĠBoolean ) Ġ= Ġapply Ġ{ Ġthis . enable Social Sharing Ġ= Ġenable Social Sharing Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSpec ifica Ġil Ġlayout Ġdi Ġbase Ġdel Ġ[ Content Item Detail Model Fragment ]. ĊĠĠĠĠ Ġ* ĠSe Ġutilizz ato Ġ 0 , Ġil Ġlayout Ġbase Ġsar Ãł Ġ[ content Layout ], Ġal tri ment i Ġ[ content Layout ] Ġv err Ãł Ġinser ito Ġal Ġsu o Ġintern o . ĊĠĠĠĠ Ġ* ĠDEFAULT : Ġ[ R . layout . fragment _ detail _ coordinator ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġroot Layout Ġlayout Ġbase Ġdi Ġ[ Content Item Detail Model Fragment ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġroot Layout (@ Layout Res Ġroot Layout : ĠInt ) Ġ= Ġapply Ġ{ Ġthis . root Layout Ġ= Ġroot Layout Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLeg ge Ġil Ġconten uto Ġdi Ġun Ġ[ Bundle ] Ġe Ġmod ifica Ġle Ġs ue Ġpropriet Ãł . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext Ġil Ġ[ Context ] Ġutilizz ato Ġper Ġle gg ere Ġil Ġ[ Bundle ]. ĊĠĠĠĠ Ġ* Ġ@ param Ġbundle Ġcontainer Ġdal Ġqu ale Ġveng ono Ġlet ti Ġi Ġvari Ġarguments . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġread Content ( context : ĠContext , Ġbundle : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontent Layout Ġ= Ġbundle . getInt ( ARG _ CONTENT _ LAYOUT , Ġcontent Layout ) ĊĠĠĠĠĠĠĠ Ġdisable Analytics Ġ= Ġbundle . getBoolean ( ARG _ DISABLE _ ANAL YT ICS , Ġdisable Analytics ) ĊĠĠĠĠĠĠĠ Ġenable Social Sharing Ġ= Ġbundle . getBoolean ( ARG _ ENABLE _ SO CIAL _ SH AR ING , Ġenable Social Sharing ) ĊĠĠĠĠĠĠĠ Ġroot Layout Ġ= Ġbundle . getInt ( ARG _ ROOT _ LAYOUT , Ġroot Layout ) ĊĠĠĠĠĠĠĠ Ġanalytics Extras Ġ= Ġbundle . get Bundle ( ARG _ ANAL YT ICS _ B UNDLE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠS cri ve Ġle Ġpropriet Ãł Ġdi Ġun Ġmodulo Ġsu Ġun Ġ[ Bundle ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext Ġil Ġ[ Context ] Ġutilizz ato Ġper Ġcre are Ġil Ġ[ Bundle ] Ġe Ġs cri vere Ġsu Ġdi Ġess o . ĊĠĠĠĠ Ġ* Ġ@ return Ġcontainer Ġche Ġcont iene Ġle Ġpropriet Ãł Ġdel Ġmodulo Ġcor rente . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġwrite Content ( context : ĠContext ): ĠBundle Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġbundle . put Int ( ARG _ CONTENT _ LAYOUT , Ġcontent Layout ) ĊĠĠĠĠĠĠĠ Ġbundle . put Boolean ( ARG _ DISABLE _ ANAL YT ICS , Ġdisable Analytics ) ĊĠĠĠĠĠĠĠ Ġbundle . put Boolean ( ARG _ ENABLE _ SO CIAL _ SH AR ING , Ġenable Social Sharing ) ĊĠĠĠĠĠĠĠ Ġbundle . put Int ( ARG _ ROOT _ LAYOUT , Ġroot Layout ) ĊĠĠĠĠĠĠĠ Ġanalytics Extras ?. let Ġ{ Ġbundle . put Bundle ( ARG _ ANAL YT ICS _ B UNDLE , Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbundle ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDef in is ce Ġla Ġlista Ġdelle Ġclass i Ġda Ġcui Ġquesto Ġmodulo Ġdeve Ġdip end ere . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġarray Ġdi Ġdip enden ze . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġmodule Dependencies (): ĠArray < Class < out ĠComponent Module >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠarrayOf ( Login Component Module :: class . java ) ĊĠĠĠ Ġ} Ċ }