package Ġcom . example . grup pear be id Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . example . grup pear be id . adapters . People Adapter Ċ import Ġcom . example . grup pear be id . adapters . Plan ets Adapter Ċ import Ġcom . example . grup pear be id . adapters . Species ListAdapter Ċ import Ġcom . example . grup pear be id . adapters . Star ships Adapter Ċ import Ġcom . example . grup pear be id . types .* Ċ import Ġcom . example . grup pear be id . util . Constants Ċ import Ġcom . example . grup pear be id . util . IN etwork Ċ import Ġcom . example . grup pear be id . util . Network Ċ import Ġcom . example . grup pear be id . util . navigate To Thing Ċ import Ġkotlinx . android . synt hetic . main . activity _ film .* ĊĊ Ċ class ĠFil m Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnetwork : ĠIN etwork ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ film ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 1 . ĠGet Ġextras ĊĠĠĠĠĠĠĠ Ġval Ġfilm Ġ= Ġintent . extras ?. get Serializable ( Constants . EXTRA _ TH ING ) Ġas ? ĠFil m ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" ðŁ İ ¬ Ġ${ film ?. title }" ĊĠĠĠĠĠĠĠ ĠActivity Film Name . text Ġ= Ġ" Title : Ġ${ film ?. title }" ĊĠĠĠĠĠĠĠ ĠActivity Film Id Number . text Ġ= Ġ" Number : Ġ${ film ?. episode _ id }" ĊĠĠĠĠĠĠĠ ĠActivity Film Director . text Ġ= Ġ" Director : Ġ${ film ?. director }" ĊĠĠĠĠĠĠĠ ĠActivity Film Producer . text Ġ= Ġ" Producer : Ġ${ film ?. producer }" ĊĠĠĠĠĠĠĠ ĠActivity Film Release Date . text Ġ= Ġ" Release Ġdate : Ġ${ film ?. release _ date }" ĊĊĊĠĠĠĠĠĠĠ Ġ// Ġ 2 . ĠInit Ġcharacters Ġadapter ĊĠĠĠĠĠĠĠ Ġval Ġcharacters Adapter Ġ= ĠPeople Adapter { Ġcharacter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate To Thing ( this , ĠPerson Activity :: class . java , Ġcharacter ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠActivity Film Characters . adapter Ġ= Ġcharacters Adapter ĊĠĠĠĠĠĠĠ ĠActivity Film Characters . layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 2 . ĠInit Ġplan ets Ġadapter ĊĠĠĠĠĠĠĠ Ġval Ġplan ets Adapter Ġ= ĠPlan ets Adapter { Ġplanet Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate To Thing ( this , ĠPlan et Activity :: class . java , Ġplanet ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠActivity Film Plan ets . adapter Ġ= Ġplan ets Adapter ĊĠĠĠĠĠĠĠ ĠActivity Film Plan ets . layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 2 . ĠInit Ġstar ships Ġadapter ĊĠĠĠĠĠĠĠ Ġval Ġstar ship Adapter Ġ= ĠStar ships Adapter { Ġstar ship Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate To Thing ( this , ĠStar ship Activity :: class . java , Ġstar ship ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠActivity Film Star ships . adapter Ġ= Ġstar ship Adapter ĊĠĠĠĠĠĠĠ ĠActivity Film Star ships . layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 2 . ĠInit Ġspecies Ġadapter ĊĠĠĠĠĠĠĠ Ġval Ġspecies ListAdapter Ġ= ĠSpec ies ListAdapter { Ġspecies Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate To Thing ( this , ĠSpec ies Activity :: class . java , Ġspecies ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠActivity Film Species . adapter Ġ= Ġspecies ListAdapter ĊĠĠĠĠĠĠĠ ĠActivity Film Species . layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 3 . ĠGet Ġdata Ġfrom Ġnetwork ĊĠĠĠĠĠĠĠ Ġnetwork Ġ= ĠNetwork ( this ) ĊĠĠĠĠĠĠĠ Ġif Ġ( film Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnetwork . get People By URL ( film . characters , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ Ġcharacters Ġ-> Ġcharacters Adapter . refresh ( characters ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Ġ= Ġ{ Ġ Ġerror Ġ-> ĠToast . makeText ( this , Ġerror , ĠToast . LENGTH _ SHORT ). show () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnetwork . get Plan ets By URL ( film . plan ets , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ Ġplan ets Ġ-> Ġplan ets Adapter . refresh ( plan ets ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Ġ= Ġ{ Ġ Ġerror Ġ-> ĠToast . makeText ( this , Ġerror , ĠToast . LENGTH _ SHORT ). show () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnetwork . get Star ship sBy URL ( film . star ships , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ Ġstar ships Ġ-> Ġstar ship Adapter . refresh ( star ships ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Ġ= Ġ{ Ġ Ġerror Ġ-> ĠToast . makeText ( this , Ġerror , ĠToast . LENGTH _ SHORT ). show () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnetwork . get Species By URL ( film . species , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ Ġspecies Ġ-> Ġspecies ListAdapter . refresh ( species ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Ġ= Ġ{ Ġ Ġerror Ġ-> ĠToast . makeText ( this , Ġerror , ĠToast . LENGTH _ SHORT ). show () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }