package Ġcom . doc us ign . sdk sample kotlin . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . doc us ign . android sdk . ds models . DS Envelope Ċ import Ġcom . doc us ign . sdk sample kotlin . R Ċ Ċ class ĠPending Sync Adapter ( private Ġval Ġpending Sync Listener : ĠPending Sync Listener ) Ġ: ĠRecyclerView . Adapter < Pending Sync Adapter . Pending Sync ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġen velo pes Ġ= Ġmutable ListOf < DS Envelope >() ĊĊĠĠĠ Ġinterface ĠPending Sync Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġsync Envelope ( position : ĠInt , Ġenvelope Id : ĠString ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġen velo pes . size ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠPending Sync ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPending Sync ViewHolder ( LayoutInflater . from ( parent . context ), Ġparent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠPending Sync ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( en velo pes [ position ], Ġposition ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Item ( envelope : ĠDS Envelope ) Ġ{ ĊĠĠĠĠĠĠĠ Ġen velo pes . add ( envelope ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Items ( en velo pes List : ĠList < DS Envelope >) Ġ{ ĊĠĠĠĠĠĠĠ Ġen velo pes . addAll ( en velo pes List ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove Item ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġen velo pes . remove At ( position ) ĊĠĠĠĠĠĠĠ Ġnotify Item Changed ( position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove All () Ġ{ ĊĠĠĠĠĠĠĠ Ġen velo pes . clear () ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Size (): ĠInt Ġ= Ġ Ġen velo pes . size ĊĊĠĠĠ Ġinner Ġclass ĠPending Sync ViewHolder ( in flater : ĠLayoutInflater , Ġprivate Ġval Ġparent : ĠViewGroup ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater . inflate ( R . layout . item _ pending _ sync , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġenvelope Name TextView Ġ= ĠitemView . findViewById < TextView >( R . id . envelope _ name _ text _ view ) ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġenvelope Sync Button Ġ= ĠitemView . findViewById < Button >( R . id . envelope _ sync _ button ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( envelope : ĠDS Envelope , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnames Ġ= Ġenvelope . email Subject ?. split (" Please ĠDoc u Sign : Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! names . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenvelope Name TextView . text Ġ= Ġnames [ names . size Ġ- Ġ 1 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġenvelope Sync Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpending Sync Listener . sync Envelope ( position , Ġenvelope . envelope Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ