package Ġcom . ab hat . wiki . presentation Ċ Ċ import Ġandroid . arch . lifecycle . Observer Ċ import Ġandroid . arch . lifecycle . ViewModel Providers Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . text . TextUtils Ċ import Ġcom . ab hat . wiki . R Ċ import Ġcom . ab hat . wiki . data . model . Wiki Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġorg . k oin . android . ext . android . inject Ċ import Ġandroid . view . animation . De cel erate Interpolator Ċ import Ġandroid . view . animation . Alpha Animation Ċ import Ġandroid . view . animation . Animation ĊĊĊ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġwiki ViewModel Factory : ĠWiki ViewModel Factory Ġby Ġinject () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġsearch Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( search Layout . text )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwiki ViewModel Ġ= ĠViewModel Providers . of ( this , Ġwiki ViewModel Factory ). get ( Wiki ViewModel :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwiki ViewModel . get Wiki Result (). observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprocess Response ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwiki ViewModel . get Wiki Result (). value Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwiki ViewModel . fetch Wiki ( wiki ViewModel . clean Search Term ( search Layout . text . toString ()), Ġimage ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĠĠĠĠĠĠĠ Ġout State ?. put CharSequence (" wik it ext ", Ġwiki Text . text ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Restore InstanceState ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Restore InstanceState ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġwiki Text . text Ġ= ĠsavedInstanceState ?. get CharSequence (" wik it ext ") ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġprocess Response ( wiki : ĠWiki ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠfadeIn Ġ= ĠAlpha Animation ( 0 f , Ġ 1 f ) ĊĠĠĠĠĠĠĠ ĠfadeIn . interpol ator Ġ= ĠDec el erate Interpolator () ĊĠĠĠĠĠĠĠ ĠfadeIn . duration Ġ= Ġ 1 0 0 0 ĊĠĠĠĠĠĠĠ Ġwiki Text . animation Ġ= ĠfadeIn ĊĠĠĠĠĠĠĠ Ġwiki Text . text Ġ= Ġwiki ?. extract ĊĠĠĠĠĠĠĠ ĠG lide . with ( this ). load ( wiki ?. original image ?. source ). into ( image ) ĊĠĠĠ Ġ} Ċ } Ċ