package Ġj une . com . adapters Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . support . v 7 . recyclerview . extensions . ListAdapter Ċ import Ġandroid . support . v 7 . util . Diff Util Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġj une . com . R Ċ import Ġj une . com . models . Cast Ċ import Ġj une . com . view holders . Cast Cre w ViewHolder Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠK ash ish Ġon Ġ 0 3 - 0 8 - 2 0 1 8 . Ċ Ġ*/ Ċ class ĠCast Adapter ( private Ġval Ġm SharedPreferences : ĠSharedPreferences ) Ġ: ĠList Adapter < Cast , ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder >( REPO _ COMP AR ATOR ) Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcontext : ĠContext ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview : ĠView Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . cast _ single _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġthis . context Ġ= Ġparent . context ĊĠĠĠĠĠĠĠ Ġreturn ĠCast Cre w ViewHolder ( view , context , Ġm SharedPreferences ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġcast : ĠCast ? Ġ= ĠgetItem ( holder . adapter Position ) ĊĠĠĠĠĠĠĠ Ġif Ġ( cast Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmovie ViewHolder Ġ= Ġholder Ġas ĠCast Cre w ViewHolder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmovie ViewHolder . bind Cast Data ( cast ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠRE PO _ COMP AR ATOR Ġ= Ġobject Ġ: ĠDiff Util . Item Callback < Cast >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠCast , Ġnew Item : ĠCast ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item . id Ġ== Ġnew Item . id ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠCast , Ġnew Item : ĠCast ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }