package Ġcom . j inx ian . wen shi . module _ discover . widgets . repeat _ view pager Ċ Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . FragmentManager Ċ Ċ class ĠRepeat Pager Adapter ( fm : ĠFragment Manager , Ġdatas : ĠList < String >) Ġ: ĠOpen Pager Adapter < String >( fm ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġm Datas : ĠMutable List < String > Ġ= Ġmutable ListOf () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġm Datas . clear () ĊĠĠĠĠĠĠĠ Ġif Ġ( datas Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Datas . addAll ( datas ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRepeat Fragment . newInstance ( m Datas [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Datas . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Data ( position : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Datas [ position ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdata Equals ( old Data : ĠString ?, ĠnewData : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġold Data Ġ== ĠnewData ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetData Position ( data : ĠString ?): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm Datas . indexOf ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġfun ĠgetCurrent Fragment (): ĠRepeat Fragment ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcurrent Primary Item Ġas ? ĠRepeat Fragment ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġfun Ġset New Data ( datas : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Datas . clear () ĊĠĠĠĠĠĠĠ Ġm Datas . addAll ( datas ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġfun Ġmove Last DataTo First () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmove Data Ġ= Ġm Datas . remove Last () ĊĠĠĠĠĠĠĠ Ġm Datas . add ( 0 , Ġmove Data ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġfun Ġmove First DataTo Last () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmove Data Ġ= Ġm Datas . remove First () ĊĠĠĠĠĠĠĠ Ġm Datas . add ( move Data ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} Ċ }