package Ġnet . am ay 0 7 7 . k ust away . fragment . main . tab Ċ Ċ import Ġandroid . os . AsyncTask Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . util . Long Sparse Array Ċ import Ġandroid . view . View Ċ Ċ import Ġnet . am ay 0 7 7 . k ust away . model . Row Ċ import Ġnet . am ay 0 7 7 . k ust away . model . Twitter Manager Ċ import Ġnet . am ay 0 7 7 . k ust away . settings . Basic Settings Ċ import Ġtwitter 4 j . Paging Ċ import Ġtwitter 4 j . Response List Ċ import Ġtwitter 4 j . Status Ċ import Ġtwitter 4 j . Twitter Ċ import Ġtwitter 4 j . User Ċ Ċ class ĠUser List Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġãģĵãģ® ãĤ¿ ãĥĸ ãĤĴ è¡¨ ãģĻ åĽº æľī ãģ® ID ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġm UserList Id Ġ= Ġ 0 L ĊĊĠĠĠ Ġprivate Ġval Ġm Members Ġ= ĠLong Sparse Array < Boolean >() ĊĊĠĠĠ Ġoverride Ġval Ġtab Id : ĠLong ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġm UserList Id ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m UserList Id Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm UserList Id Ġ= Ġarguments . getLong (" user List Id ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Skip ( row : ĠRow ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Members . get ( row . status . user . id ) Ġ== Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtask Execute () Ġ{ ĊĠĠĠĠĠĠĠ ĠUser List Statuses Task (). execute () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠUser List Statuses Task Ġ: ĠAsync Task < Void , ĠVoid , ĠResponse List < Status >>() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġparams : ĠVoid ): ĠResponse List < twitter 4 j . Status >? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtwitter Ġ= ĠTwitter Manager . get Twitter () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpaging Ġ= ĠP aging () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Max Id Ġ> Ġ 0 Ġ&& Ġ! m Re loading ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpaging . max Id Ġ= Ġm Max Id Ġ- Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpaging . count Ġ= ĠBasic Settings . getPage Count () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmembers Ġ= Ġtwitter . getUser List Members ( m UserList Id , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( user Ġin Ġmembers ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Members . append ( user . id , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtwitter . getUser List Statuses ( m UserList Id , Ġpaging ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠOut Of Memory Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Post Execute ( statuses : ĠResponse List < twitter 4 j . Status > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Footer . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( statuses Ġ== Ġnull Ġ|| Ġstatuses . size Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Re loading Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Pull To Refresh Layout . is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset ListView Visible ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Re loading ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( status Ġin Ġstatuses ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Max Id Ġ<= Ġ 0 L Ġ|| Ġm Max Id Ġ> Ġstatus . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Max Id Ġ= Ġstatus . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter !!. add ( Row . new Status ( status )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Re loading Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( status Ġin Ġstatuses ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Max Id Ġ<= Ġ 0 L Ġ|| Ġm Max Id Ġ> Ġstatus . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Max Id Ġ= Ġstatus . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æľĢ åĪĿ ãģ® ãĥĦ ãĤ¤ ãĥ¼ãĥĪ ãģ« çĻ» åł´ ãĥ¦ãĥ¼ãĤ¶ãĥ¼ ãĤĴ Streaming ĠAPI ãģĭãĤī ãģ® åıĸ ãĤĬ è¾¼ ãģ¿ å¯¾è±¡ ãģ« ãģĻãĤĭãģĵãģ¨ ãģ§ API ç¯ Ģ ç´Ħ !!! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Members . append ( status . user . id , Ġtrue ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter !!. extension Add ( Row . new Status ( status )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Auto Loader Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset ListView Visible ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Pull To Refresh Layout . is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ