package Ġgr . ex m . ag ro xm . ui . field Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . Fragment Activity Ċ import Ġandroidx . view pager 2 . adapter . Fragment State Adapter Ċ import Ġcom . google . android . material . tabs . Tab Layout Mediator Ċ import Ġgr . ex m . ag ro xm . data . Field Ċ import Ġgr . ex m . ag ro xm . databinding . Activity Field Detail Binding Ċ Ċ class ĠField Detail Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠARG _ FIELD Ġ= Ġ" field " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Field Detail Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Field Detail Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfield Ġ= Ġintent . get Parcelable Extra < Field >( ARG _ FIELD ) ĊĠĠĠĠĠĠĠ Ġbinding . toolbar . title Ġ= Ġfield ?. name ĊĠĠĠĠĠĠĠ Ġbinding . toolbar . set Navigation OnClickListener Ġ{ Ġon Support Navigate Up () Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠField Detail Pager Adapter ( this , Ġrequire NotNull ( field )) ĊĠĠĠĠĠĠĠ Ġbinding . pager . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġbinding . pager . is User Input Enabled Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ ĠTab Layout Mediator ( binding . tabs , Ġbinding . pager ) Ġ{ Ġtab , Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtab . text Ġ= Ġadapter . getItem Title ( position ) ĊĠĠĠĠĠĠĠ Ġ}. attach () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Support Navigate Up (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġset Result ( RESULT _ C ANCE LED ) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠField Detail Pager Adapter ( activity : ĠFragment Activity , Ġval Ġfield : ĠField ) Ġ: ĊĠĠĠ ĠFragment State Adapter ( activity ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Fragment ( position : ĠInt ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ CURRENT Ġ-> ĠCurrent Weather Fragment . newInstance ( field ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ DEVICE Ġ-> ĠDevice Fragment . newInstance ( field . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ FORE CAST Ġ-> ĠFore cast Fragment . newInstance ( field . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠFragment () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= ĠPAGE _ COUNT ĊĊĠĠĠ Ġfun ĠgetItem Title ( position : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ CURRENT Ġ-> Ġ" Current " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ DEVICE Ġ-> Ġ" Monitoring " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ FORE CAST Ġ-> Ġ" Forecast " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ DEVICE Ġ-> ĠPAGE _ DEVICE . to Long () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPAGE _ FORE CAST Ġ-> ĠPAGE _ FORE CAST . to Long () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ- 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġinternal Ġconst Ġval ĠPAGE _ CURRENT Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġinternal Ġconst Ġval ĠPAGE _ DEVICE Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġinternal Ġconst Ġval ĠPAGE _ FORE CAST Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġinternal Ġconst Ġval ĠPAGE _ COUNT Ġ= Ġ 3 ĊĠĠĠ Ġ} Ċ }