package Ġcom . github . fh en m . him ata way . view model Ċ Ċ import Ġandroid . arch . lifecycle . ViewModel Ċ import Ġandroid . arch . lifecycle . ViewModel Provider Ċ import Ġcom . github . fh en m . him ata way . model . Paged Response List Ċ import Ġcom . github . fh en m . him ata way . repository . Twitter Repository Ċ import Ġtwitter 4 j . UserList Ċ Ċ /** Ċ Ġ* Ġãĥ ¦ãĥ¼ãĤ¶ãĥ¼ ãģĮ åĲ« ãģ¾ ãĤĮãĤĭ ãĥªãĤ¹ãĥĪ ä¸Ģ è¦§ çĶ» éĿ¢ ãģ® ĠViewModel Ċ Ġ*/ Ċ class ĠUser List Membership s Fragment ViewModel Ġ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtwitter Repo : ĠTwitter Repository , ĊĠĠĠĠĠĠĠ ĠuserId : ĠLong Ċ ) Ġ: ĠList Based Fragment ViewModel < Long , ĠUser List , ĠLong >( userId ) Ġ{ ĊĊĠĠĠ Ġclass ĠFactory ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġtwitter Repo : ĠTwitter Repository , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval ĠuserId : ĠLong ĊĠĠĠ Ġ) Ġ: ĠViewModel Provider . New Instance Factory () Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel > Ġcreate ( model Class : ĠClass < T >): ĠT Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUser List Membership s Fragment ViewModel ( twitter Repo , ĠuserId ) Ġas ĠT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġoverride Ġfun Ġload List Items Async ( userId : Long , Ġcursor : ĠLong ?): ĠP aged Response List < UserList , ĠLong > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġtwitter Repo . load UserList Membership s ( userId , Ġcursor Ġ?: Ġ- 1 L ); ĊĠĠĠĠĠĠĠ Ġreturn ĠP aged Response List ( res , Ġres . hasNext (), Ġres . next Cursor ) ĊĠĠĠ Ġ} Ċ }