package Ġga . h arr ys ul li van . lang sy Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġga . h arr ys ul li van . lang sy . adapters . Re veal Panel Adapter Ċ import Ġga . h arr ys ul li van . lang sy . utils . Injector Utils Ċ import Ġga . h arr ys ul li van . lang sy . utils . observe Once Ċ import Ġga . h arr ys ul li van . lang sy . view _ models . Content ViewModel Ċ import Ġga . h arr ys ul li van . lang sy . view _ models . Trainer ViewModel Ċ import Ġkotlinx . android . synt hetic . main . activity _ visual _ learning .* Ċ import Ġnet . g card one . jun ide code . Jun ide code . un ide code Ċ Ċ class ĠVisual Learning Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Re veal Panel Adapter : ĠRe veal Panel Adapter ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Trainer ViewModel : ĠTr ainer ViewModel ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Content ViewModel : ĠContent ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ visual _ learning ) ĊĊĠĠĠĠĠĠĠ Ġm Content ViewModel Ġ= ĠViewModel Provider . Android ViewModel Factory ( application ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( Content ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġm Re veal Panel Adapter Ġ= ĠRe veal Panel Adapter ( this . layout Inflater , Ġvisual _ learning _ root , Ġ:: handle Report Content ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtrainer Factory Ġ= ĠInject or Utils . provide Trainer ViewModel Factory () ĊĠĠĠĠĠĠĠ Ġm Trainer ViewModel Ġ= ĠViewModel Providers . of ( this , Ġtrainer Factory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( Trainer ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Trainer ViewModel . get Trainer (). observe Once ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisual _ learning _ translation . text Ġ= Ġit . translation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Re veal Panel Adapter . setContent ( it . content , Ġun ide code ( it . translation )) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġset Listeners () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Listeners () Ġ{ ĊĠĠĠĠĠĠĠ Ġvisual _ learning _ reveal . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Re veal Panel Adapter . show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvisual _ learning _ next _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( this @ Visual Learning Activity , ĠApplication Learning Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvisual _ learning _ home _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( this @ Visual Learning Activity , ĠDashboard Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Report Content () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Trainer ViewModel . get Trainer (). observe Once ( this , ĠObserver Ġ{ Ġtrainer Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Content ViewModel . delete ( trainer . content Obj ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( this @ Visual Learning Activity , ĠDashboard Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ