package Ġcom . fro go box . the sport db api Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . fro go box . fro got he sport db api . Consume The Sport Db Api Ċ import Ġcom . fro go box . fro got he sport db api . callback . Sport Result Callback Ċ import Ġcom . fro go box . fro got he sport db api . data . model . Team Ċ import Ġcom . fro go box . fro got he sport db api . data . response . Teams Ċ import Ġcom . fro go box . recycler . core . IF ro go View Adapter Ċ import Ġcom . fro go box . the sport db api . databinding . Activity Main Binding Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Main Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Main Binding . inflate ( LayoutInflater . from ( this )) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĠĠĠĠĠĠĠ Ġsetup Consume Api () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Consume Api () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconsume The Sport Db Api Ġ= ĠCons ume The Sport Db Api (" 1 ") ĊĠĠĠĠĠĠĠ Ġconsume The Sport Db Api . using Ch uck Interceptor ( this ) ĊĊĠĠĠĠĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconsume The Sport Db Api . search All Team ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" English ĠPrem ier ĠLeague ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠS port Result Callback < Teams > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Result Data ( data : ĠTeams ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . teams ?. let Ġ{ Ġsetup F ro go RecyclerView ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġfailed Result ( statusCode : ĠInt , ĠerrorMessage : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġfailed Ġresult ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Show Progress () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġshowing Ġyour Ġprogress Ġview ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress View . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Hide Progress () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġhiding Ġyour Ġprogress Ġview ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress View . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup F ro go RecyclerView ( data : ĠList < Team >) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . f rog ore cycler view . injector < Team >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addData ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Custom View ( R . layout . fro go _ rv _ grid _ type _ 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Empty View ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Callback ( object Ġ: ĠIF ro go View Adapter < Team > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Clicked ( data : ĠTeam ) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Long Clicked ( data : ĠTeam ) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsetup Init Component ( view : ĠView , Ġdata : ĠTeam ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtv Title Ġ= Ġview . findViewById < TextView >( R . id . fro go _ rv _ grid _ type _ 3 _ tv _ title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtv Sub Title Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById < TextView >( R . id . fro go _ rv _ grid _ type _ 3 _ tv _ subtitle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtv Description Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById < TextView >( R . id . fro go _ rv _ grid _ type _ 3 _ tv _ desc ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġiv Post er Ġ= Ġview . findViewById < ImageView >( R . id . fro go _ rv _ grid _ type _ 3 _ iv _ poster ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Title . text Ġ= Ġdata . str Team ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Sub Title . text Ġ= Ġdata . str Alternate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Description . text Ġ= Ġdata . str Description EN ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( view . context ). load ( data . str Team Badge ). into ( iv Post er ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Layout Grid ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ} ĊĊ Ċ } Ċ