package Ġcom . cent aur y . catalog ue movie . search Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . app . Search Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . activity . view Models Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . widget . Search View Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . databinding . Data Binding Util . set ContentView Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . cent aur y . catalog ue movie . Movie Catalog ue App Ċ import Ġcom . cent aur y . catalog ue movie . R Ċ import Ġcom . cent aur y . catalog ue movie . search . R .* Ċ import Ġcom . cent aur y . catalog ue movie . search . adapter . Search Adapter Ċ import Ġcom . cent aur y . catalog ue movie . search . adapter . Search Callback Ċ import Ġcom . cent aur y . catalog ue movie . search . databinding . Activity Search Binding Ċ import Ġcom . cent aur y . catalog ue movie . search . di . D agger Search Component Ċ import Ġcom . cent aur y . catalog ue movie . ui . detail . Detail Movie Activity Ċ import Ġcom . cent aur y . catalog ue movie . ui . main . MainActivity Ċ import Ġcom . cent aur y . catalog ue movie . utils .* Ċ import Ġcom . cent aur y . domain . model . Genre Ċ import Ġcom . cent aur y . domain . model . Search Ċ import Ġjava . util .* Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠSearch Activity Ġ: ĠAppCompatActivity (), ĠSearch Callback Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar ĠviewModel Factory : ĠViewModel Provider . Factory ĊĊĠĠĠ Ġprivate Ġval Ġsearch ViewModel : ĠSearch ViewModel Ġby Ġview Models Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Factory ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Search Binding ĊĊĠĠĠ Ġprivate Ġvar Ġsearch Data Ġ= Ġarray ListOf < Search >() ĊĠĠĠ Ġprivate Ġvar Ġgenre Data Ġ= Ġarray ListOf < Genre >() ĊĠĠĠ Ġprivate Ġval Ġsearch Adapter : ĠSearch Adapter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠSearch Adapter ( search Data , Ġgenre Data , Ġthis ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġvar Ġsearch Id : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Injector () ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠsetContentView ( this , Ġlayout . activity _ search ) ĊĊĠĠĠĠĠĠĠ Ġcheck Connection ( this ) ĊĠĠĠĠĠĠĠ Ġinit View ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View ( binding : ĠActivity Search Binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( binding . material Toolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Home As Up Indicator ( R . drawable . ic _ arrow ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Display Show Title Enabled ( false ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsearch Id Ġ= Ġintent . getInt Extra ( MainActivity . SEARCH _ MOV IE , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġwith ( binding . rv Search ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas Fixed Size () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( this @ Search Activity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Item Decoration ( Common Utils . Top Item Decoration ( 5 5 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġsearch Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinit Observer ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Notify DataSet Changed ") ĊĠĠĠ Ġprivate Ġfun Ġinit Observer ( binding : ĠActivity Search Binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsearch ViewModel . state . observe ( this , Ġ{ Ġstate Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( state ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLoader State . Show Loading Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . shim mer View Container . start Sh im mer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . has Search Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLoader State . Hide Loading Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . shim mer View Container . stop Sh im mer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . has Search Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġsearch ViewModel . result Search Movies . observe ( this , Ġ{ Ġresult Search Movie Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Data . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Data . addAll ( result Search Movie ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCommon Utils . toggle Empty State ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Search Movie . size , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . empty State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . rv Search ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġsearch ViewModel . error Search Movies . observe ( this , Ġ{ Ġerror Search Movie Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtim ber E ( error Search Movie ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġsearch ViewModel . result Search TV Shows . observe ( this , Ġ{ Ġresult Search TV Show Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Data . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Data . addAll ( result Search TV Show ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCommon Utils . toggle Empty State ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Search TV Show . size , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . empty State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . rv Search ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġsearch ViewModel . error Search TV Shows . observe ( this , Ġ{ Ġerror Search TV Show Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtim ber E ( error Search TV Show ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġsearch ViewModel . result Genre Movie . observe ( this , Ġ{ Ġresult Genre Movie Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenre Data . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenre Data . addAll ( result Genre Movie ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġsearch ViewModel . error Genre Movie . observe ( this , Ġ{ Ġerror Genre Movie Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtim ber E ( error Genre Movie ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġsearch ViewModel . result Genre TV Show . observe ( this , Ġ{ Ġresult Genre TV Show Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenre Data . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenre Data . addAll ( result Genre TV Show ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġsearch ViewModel . error Genre TV Show . observe ( this , Ġ{ Ġerror Genre TV Show Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtim ber E ( error Genre TV Show ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Injector () Ġ{ ĊĠĠĠĠĠĠĠ ĠD agger Search Component . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. app Component (( application Ġas ĠMovie Catalog ue App ). app Component ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inject ( this ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( com . cent aur y . catalog ue movie . search . R . menu . menu _ search , Ġmenu ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsearch Manager Ġ= Ġget System Service ( Context . SEARCH _ SERVICE ) Ġas ĠSearch Manager ĊĠĠĠĠĠĠĠ Ġsearch Manager . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsearch View Ġ= Ġmenu ?. find Item ( id . action _ search View )?. action View Ġas ĠSearch View ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch View . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Search able Info ( it . get Search able Info ( component Name )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmaxWidth Ġ= ĠInteger . MAX _ VALUE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquery Hint Ġ= ĠgetString ( R . string . txt _ movie _ hint ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Icon ified Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġedit Search Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . findViewById < EditText >( android x . appcompat . R . id . search _ src _ text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit Search . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset TextColor ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Hint TextColor ( Context Compat . getColor ( this @ Search Activity , ĠR . color . grey _ 2 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage Search Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . findViewById < ImageView >( android x . appcompat . R . id . search _ button ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Search . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Image Resource ( R . drawable . ic _ search ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage Close Search Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . findViewById < ImageView >( android x . appcompat . R . id . search _ close _ btn ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Close Search . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Image Resource ( R . drawable . ic _ close ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset On Query Text Listener ( object Ġ: ĠSearch View . On Query Text Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Query Text Submit ( query : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Search Ġ= Ġquery ?. lowercase ( Locale . getDefault ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( search Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch ViewModel . getAll Search Movies Contract ( text Search . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch ViewModel . get Genre Movie Contract () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch ViewModel . getAll Search TV Shows Contract ( text Search . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch ViewModel . get Genre TV Show Contract () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Query Text Change ( new Text : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Search Ġ= Ġnew Text ?. lowercase ( Locale . getDefault ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( search Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch ViewModel . getAll Search Movies Contract ( text Search . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch ViewModel . get Genre Movie Contract () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch ViewModel . getAll Search TV Shows Contract ( text Search . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch ViewModel . get Genre TV Show Contract () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset On Close Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( item . itemId Ġ== Ġandroid . R . id . home ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġcheck Connection ( this ) ĊĠĠĠĠĠĠĠ Ġbinding . shim mer View Container . start Sh im mer () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . shim mer View Container . stop Sh im mer () ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Transition Image ( id : ĠInt , Ġimage : ĠImageView , Ġtitle : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( search Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠstartActivity ( Intent ( this , ĠDetail Movie Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Detail Movie Activity . DETAIL _ EXTRA _ MOV IE , Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĠCommon Utils . pair Options Transition ( this , Ġimage , Ġtitle ). to Bundle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> ĠstartActivity ( Intent ( this , ĠDetail Movie Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Detail Movie Activity . DETAIL _ EXTRA _ TV _ SHOW , Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĠCommon Utils . pair Options Transition ( this , Ġimage , Ġtitle ). to Bundle ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Click ( search Id : ĠInt , Ġimage : ĠImageView , Ġtitle : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Transition Image ( search Id , Ġimage , Ġtitle ) ĊĠĠĠ Ġ} Ċ }