package Ġnet . tl alk a . fis z ki . view . activities čĊč Ċ import Ġjava . util . Arrays č Ċ import Ġjavax . inject . Inject čĊč Ċ import Ġandroid . os . Bundle č Ċ import Ġandroid . view . View č Ċ import Ġandroid . widget . Adapter View č Ċ import Ġandroid . widget . Spinner čĊč Ċ import Ġbutter knife . BindView č Ċ import Ġnet . tl alk a . fis z ki . R č Ċ import Ġnet . tl alk a . fis z ki . domain . services . Storage Service č Ċ import Ġnet . tl alk a . fis z ki . model . types . Language Type č Ċ import Ġnet . tl alk a . fis z ki . model . types . Storage Type č Ċ import Ġnet . tl alk a . fis z ki . view . adapters . Language Adapter čĊč Ċ class ĠSettings Activity Ġ: ĠBase Setup Activity (), ĠAdapter View . On ItemSelected Listener Ġ{ čĊčĊĠĠĠ Ġ@ BindView ( R . id . settings _ language _ spinner ) čĊĠĠĠ Ġlateinit Ġvar Ġlanguage Spinner : ĠSp inner čĊčĊĠĠĠ Ġ@ BindView ( R . id . settings _ translation _ spinner ) čĊĠĠĠ Ġlateinit Ġvar Ġtranslation Spinner : ĠSp inner čĊčĊĠĠĠ Ġ@ Inject čĊĠĠĠ Ġlateinit Ġvar Ġstorage Service : ĠStorage Service čĊčĊĠĠĠ Ġprivate Ġvar Ġlanguage : ĠLanguage Type ? Ġ= Ġnull čĊĠĠĠ Ġprivate Ġvar Ġtranslation : ĠLanguage Type ? Ġ= Ġnull čĊčĊĠĠĠ Ġpublic Ġoverride Ġfun ĠonCreate ( bundle : ĠBundle ?) Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( bundle ) čĊĠĠĠĠĠĠĠ Ġsuper . set ContentView ( R . layout . settings _ activity ) čĊĠĠĠĠĠĠĠ Ġsuper . activity Component . inject ( this ) čĊčĊĠĠĠĠĠĠĠ Ġinit Storage () čĊĠĠĠĠĠĠĠ Ġrun Activity () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġinit Storage () Ġ{ čĊĠĠĠĠĠĠĠ Ġlanguage Ġ= Ġstorage Service . language čĊĠĠĠĠĠĠĠ Ġtranslation Ġ= Ġstorage Service . translation čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġrun Activity () Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġlanguage Types Ġ= ĠArrays . asList (* Language Type . values ()) čĊčĊĠĠĠĠĠĠĠ Ġlanguage Spinner . adapter Ġ= ĠLanguage Adapter ( this , Ġlanguage Types ) čĊĠĠĠĠĠĠĠ Ġlanguage Spinner . setSelection ( language Types . indexOf ( language )) čĊĠĠĠĠĠĠĠ Ġlanguage Spinner . on ItemSelected Listener Ġ= Ġthis čĊĠĠĠĠĠĠĠ Ġlanguage Spinner . tag Ġ= ĠStorage Type . LANGUAGE čĊčĊĠĠĠĠĠĠĠ Ġtranslation Spinner . adapter Ġ= ĠLanguage Adapter ( this , Ġlanguage Types ) čĊĠĠĠĠĠĠĠ Ġtranslation Spinner . setSelection ( language Types . indexOf ( translation )) čĊĠĠĠĠĠĠĠ Ġtranslation Spinner . on ItemSelected Listener Ġ= Ġthis čĊĠĠĠĠĠĠĠ Ġtranslation Spinner . tag Ġ= ĠStorage Type . TRANSL ATION čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon ItemSelected ( parent : ĠAdapter View <* >, Ġview : ĠView , Ġposition : ĠInt , Ġid : ĠLong ) Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġlanguage Type Ġ= Ġparent . getItem At Position ( position ) Ġas ĠLanguage Type čĊĠĠĠĠĠĠĠ Ġval Ġstorage Type Ġ= Ġparent . tag Ġas ĠStorage Type čĊčĊĠĠĠĠĠĠĠ Ġstorage Service . set ( storage Type , Ġlanguage Type ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Nothing Selected ( parent : ĠAdapter View <* >) Ġ{ čĊĠĠĠĠĠĠĠ Ġ// Ġnot Ġrequired . čĊĠĠĠ Ġ} č Ċ } čĊ