package Ġcom . se b ix . quotes . ui . quotes Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . se b ix . quotes . R Ċ import Ġcom . se b ix . quotes . data . Quote Ċ import Ġcom . se b ix . quotes . utilities . Injector Util is Ċ import Ġkotlinx . android . synt hetic . main . activity _ quotes .* Ċ import Ġjava . lang . StringBuilder Ċ import Ġkotlin . text . Typography . quote Ċ Ċ class ĠQu otes Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ quotes ) ĊĠĠĠĠĠĠĠ Ġinitialize Ui () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinitialize Ui (){ ĊĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= ĠInject or Util is . provide Quotes ViewModel Factory () ĊĠĠĠĠĠĠĠ Ġval ĠviewModel Ġ= ĠViewModel Providers . of ( this , factory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( Quotes ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ ĠviewModel . get Quotes (). observe ( this , ĠObserver Ġ{ Ġquotes Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠstringBuilder Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġquotes . forEach { quote -> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstringBuilder . append ("$ quote \ n \ n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView _ quotes . text = string Builder . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton _ add _ quote . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġquote = ĠQuote ( edit Text _ quote . text . toString (), edit Text _ author . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . add Quote ( quote ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text _ quote . setText ("") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text _ author . setText ("") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ Ġ} Ċ } Ċ