package Ġcom . test . youtube player . feature . search . ui Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġcom . test . youtube player . base . fragment . Videos Fragment Ċ import Ġcom . test . youtube player . feature . player . Video Player Activity Ċ import Ġcom . test . youtube player . feature . search . view models . Search ViewModel Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ Ċ private Ġconst Ġval ĠKEY _ QUERY _ TERM Ġ= Ġ" query Term " Ċ Ċ @ Android EntryPoint Ċ class ĠSearch Videos Fragment Ġ: ĠV ideos Fragment < Search ViewModel >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġsear ViewModel : ĠSearch ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġoverride Ġfun Ġget ViewModel Instance (): ĠSearch ViewModel Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsear ViewModel ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( query Term : ĠString ): ĠV ideos Fragment < Search ViewModel > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSearch Videos Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( KEY _ QUERY _ TERM , Ġquery Term ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= Ġbundle ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinitialize () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . initialize () ĊĠĠĠĠĠĠĠ Ġbinding . fab Play All . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvideos Ġ= ĠviewModel . list Models (). value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġquery Term Ġ= Ġarguments ?. getString ( KEY _ QUERY _ TERM ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( videos ?. get ( 0 ) Ġ!= Ġnull Ġ&& Ġquery Term Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠVideo Player Activity . create With Search Query ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquery Term , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvideos [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext ?. startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Videos () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplaylist Id Ġ= Ġarguments ?. getString ( KEY _ QUERY _ TERM ) ĊĠĠĠĠĠĠĠ Ġplaylist Id ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . fetch Videos For ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }