package Ġcom . fe v zi om ur te kin . dee zer . ui . search Ċ Ċ import Ġandroid . view . input method . Editor Info Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . fe v zi om ur te kin . dee zer . core . data . Api Result Ċ import Ġcom . fe v zi om ur te kin . dee zer . data . Search Data Ċ import Ġcom . fe v zi om ur te kin . dee zer . entities . Search Entity Ċ import Ġtim ber . log . Tim ber Ċ Ċ internal Ġfun ĠSearch ViewModel . init Search ActionListener () Ġ{ ĊĠĠĠ Ġeditor ActionListener Ġ= ĠTextView . On Editor ActionListener Ġ{ Ġv , Ġaction Id , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ( action Id Ġ== ĠEditor Info . IME _ ACTION _ SEARCH ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery LiveData . value Ġ= Ġv . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Binding Adapter (" adapter Recent Search ") Ċ fun Ġbinding Recent Se ach ( view : ĠRecyclerView , Ġresults : ĠLive Data < Api Result < List < Search Entity >> >) Ġ{ ĊĠĠĠ ĠTim ber . d (" binding Ġrecent Data Ġ: Ġ${ results . value }") ĊĠĠĠ Ġwhen ( results . value ){ ĊĠĠĠĠĠĠĠ ĠApi Result . Loading , Ġis ĠApi Result . Error -> Ġ{/* ĠNothing Ġ*/ Ġ} ĊĠĠĠĠĠĠĠ Ġis ĠApi Result . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( view . adapter Ġas ĠRecent Search Adapter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Recent Search ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ((( results . value Ġas ĠApi Result . Success < List < Search Entity >> ). data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġas ĠList < Search Entity > )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Binding Adapter (" adapter Search Album ") Ċ fun Ġbinding Search Album ( view : ĠRecyclerView , Ġresults : ĠLive Data < Api Result < Any >>) Ġ{ ĊĠĠĠ Ġwhen Ġ( results . value ) Ġ{ ĊĠĠĠĠĠĠĠ ĠApi Result . Loading , Ġis ĠApi Result . Error Ġ-> Ġ{/* ĠNothing Ġ*/ Ġ} ĊĠĠĠĠĠĠĠ Ġis ĠApi Result . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" adapter Search Album ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( view . adapter Ġas ĠSearch Album Adapter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Album Search ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ(( results . value ) Ġas ĠApi Result . Success < List < Search Data >> ). data ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Binding Adapter (" on Editor ActionListener ") Ċ fun Ġbind On Editor ActionListener ( edit Text : ĠEditText , Ġeditor ActionListener : ĠTextView . On Editor ActionListener ) Ġ{ ĊĠĠĠ Ġedit Text . setOn Editor ActionListener ( editor ActionListener ) Ċ } ĊĊ