package Ġio . github . om is ie 1 1 . spac ex follow er . ui . cores Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . navigation . fragment . nav Args Ċ import Ġcom . google . android . material . bottom sheet . Bottom Sheet Dialog Ċ import Ġcom . google . android . material . transition . Material Container Transform Ċ import Ġcom . squareup . pic asso . Pic asso Ċ import Ġio . github . om is ie 1 1 . spac ex follow er . R Ċ import Ġio . github . om is ie 1 1 . spac ex follow er . data . local . model . Core Ċ import Ġio . github . om is ie 1 1 . spac ex follow er . util . getLocal Time From Unix Ċ import Ġkotlin . random . Random Ċ import Ġkotlinx . android . synt hetic . main . bottom _ sheet _ at tribution . view .* Ċ import Ġkotlinx . android . synt hetic . main . fragment _ core _ detail .* Ċ import Ġorg . k oin . android x . view model . ext . android . shared ViewModel Ċ Ċ class ĠCore Detail Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠCo res ViewModel Ġby Ġshared ViewModel () ĊĊĠĠĠ Ġprivate Ġval Ġargs : ĠCore Detail Fragment Args Ġby Ġnav Args () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġshared Element Enter Transition Ġ= ĠMaterial Container Transform ( require Context ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ core _ detail , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġshared _ container _ end _ view . transition Name Ġ= Ġargs . itemId . toString () ĊĠĠĠĠĠĠĠ Ġval Ġselected Core Id : ĠInt Ġ= Ġargs . itemId ĊĊĠĠĠĠĠĠĠ ĠviewModel . get Co res (). observe ( view Lifecycle Owner , ĠObserver < List < Core >> Ġ{ Ġcores Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcore Ġ= Ġcores [ selected Core Id ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ core _ name . text Ġ= Ġcore . core Serial ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ core _ block . text Ġ= Ġif Ġ( core . block Ġ== Ġnull ) Ġ"-" Ġelse Ġcore . block . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ core _ status . text Ġ= Ġcore . status ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ lib _ desc . text Ġ= Ġif Ġ( core . original Launch Unix Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Local Time From Unix ( core . original Launch Unix ) Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . launch _ date _ null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ core _ details . text Ġ= Ġif Ġ( core . details . isNull OrEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . details _ null ) Ġelse Ġcore . details ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ core _ rt ls _ attempts . text Ġ= Ġcore . rt ls Attempts . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ core _ rt ls _ land ings . text Ġ= Ġcore . rt ls Land ings . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ core _ as ds _ attempts . text Ġ= Ġcore . as ds Attempts . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ core _ as ds _ land ings . text Ġ= Ġcore . as ds Land ings . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ core _ water _ landing . text Ġ= Ġwhen Ġ( core . water Land ings ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> ĠgetString ( R . string . yes ); Ġfalse Ġ-> ĠgetString ( R . string . no ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext _ core _ re used . text Ġ= Ġcore . reuse Count . toString () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRandom ly Ġset Ġimage Ġfrom Ġresources ĊĠĠĠĠĠĠĠ Ġval Ġimage Id Ġ= ĠRandom . nextInt ( 0 , Ġ 5 ) ĊĠĠĠĠĠĠĠ Ġval Ġimages Array Ġ= Ġresources . obtain Typed Array ( R . array . detail _ fragment _ images ) ĊĠĠĠĠĠĠĠ ĠPic asso . get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimages Array . getResource Id ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . detail _ fragment _ image _ caps ule _ dragon ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( image _ core ) ĊĠĠĠĠĠĠĠ Ġimages Array . recycle () ĊĊĠĠĠĠĠĠĠ Ġval Ġat tribution Bottom Sheet Dialog Ġ= ĠBottom Sheet Dialog ( activity !! ) ĊĠĠĠĠĠĠĠ Ġval Ġsheet View Ġ= Ġactivity !!. layout Inflater . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . bottom _ sheet _ at tribution , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġsheet View . text _ at tribution . text Ġ= ĠgetString ( R . string . photos _ at tribution _ spac ex ) ĊĠĠĠĠĠĠĠ Ġat tribution Bottom Sheet Dialog . set ContentView ( sheet View ) ĊĊĠĠĠĠĠĠĠ Ġimage _ core . setOnClickListener Ġ{ Ġat tribution Bottom Sheet Dialog . show () Ġ} ĊĠĠĠĠĠĠĠ Ġsheet View . setOnClickListener Ġ{ Ġopen Web Url ( getString ( R . string . photos _ spac ex _ url )) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Web Url ( url Address : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( url Address . isNotEmpty ()) ĠstartActivity ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent . ACTION _ VIEW , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUri . parse ( url Address ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ