package Ġinfo . ji u you . code di y . utils Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . L ru Cache Ċ import Ġcom . g css loop . di y code _ sdk . utils . AC ache Ċ import Ġjava . io . Serializable Ċ Ċ /** Ċ Ġ* Ġ================================= ========= Ċ Ġ* Ġ< p > Ċ Ġ* Ġ çīĪ ĠĠ Ġ æĿĥ Ġ ï¼ļ jian shi ji u you ( c ) Ġ 2 0 1 7 Ċ Ġ* Ġ< br /> Ċ Ġ* Ġ ä½ľ ĠĠ Ġ èĢħ Ġ ï¼ļ wq Ċ Ġ* Ġ< br /> Ċ Ġ* Ġ çīĪ ĠĠ Ġæľ¬ Ġ ï¼ļ 1 . 0 Ċ Ġ* Ġ< br /> Ċ Ġ* ĠåĪĽå»º æĹ¥æľŁ Ġ ï¼ļ 1 7 - 7 - 1 8 Ġ Ġä¸ĭåįĪ 1 0 : 0 2 Ċ Ġ* Ġ< br /> Ċ Ġ* Ġæı ı ĠĠ Ġ è¿° Ġ ï¼ļ Ċ Ġ* Ġ< br /> Ċ Ġ* Ġ ä¿® è®¢ åİĨåı² Ġ ï¼ļ Ċ Ġ* Ġ</ p > Ċ Ġ* Ġ================================= ========= Ċ Ġ*/ Ċ class ĠConfig Ġprivate Ġconstructor ( context : ĠContext ) Ġ{ ĊĠĠĠ Ġval Ġm Disk Cache Ġ= ĠA Cache . get ( context , Ġ" config ") !! ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠM Ġ= Ġ 1 0 2 4 Ġ* Ġ 1 0 2 4 ĊĠĠĠĠĠĠĠ Ġvar Ġm Config : ĠConfig ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġm L ru Cache Ġ= ĠL ru Cache < String , ĠAny >( 1 Ġ* ĠM ) ĊĠĠĠĠĠĠĠ Ġval ĠKey _ Browser Ġ= Ġ" Use Inside Browser _" ĊĠĠĠĠĠĠĠ Ġval ĠKey _ Main ViewPager _ Position Ġ= Ġ" Key _ Main ViewPager _ Position " ĊĠĠĠĠĠĠĠ Ġval ĠKey _ Topic List _ Last Position Ġ= Ġ" Key _ Topic List _ Last Position " ĊĠĠĠĠĠĠĠ Ġval ĠKey _ Topic List _ Last Offset Ġ= Ġ" Key _ Topic List _ Last Offset " ĊĠĠĠĠĠĠĠ Ġval ĠKey _ Topic List _ Page Index Ġ= Ġ" Key _ Topic List _ Page Index " ĊĠĠĠĠĠĠĠ Ġval ĠKey _ News List _ Last Scroll Ġ= Ġ" Key _ News List _ Last Scroll " ĊĠĠĠĠĠĠĠ Ġval ĠKey _ News List _ Last Position Ġ= Ġ" Key _ News List _ Last Position " ĊĠĠĠĠĠĠĠ Ġval ĠKey _ News List _ Page Index Ġ= Ġ" Key _ News List _ Page Index " ĊĊĊĠĠĠĠĠĠĠ Ġfun Ġinit ( ctx : ĠContext ): ĠConfig Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Config Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsynchronized ( Config :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Config Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Config Ġ= ĠConfig ( ctx ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġm Config !! ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġinstance () Ġ= Ġm Config ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// --- Ġ åŁºç¡Ģ Ġ-------------------------------------------------------------------------------- --- ĊĠĠĠ Ġfun Ġ< T Ġ: ĠSerializable > Ġsave Data ( key : ĠString , Ġvalue : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm L ru Cache . put ( key , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġm Disk Cache . put ( key , Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T Ġ: ĠSerializable > ĠgetData ( key : ĠString , Ġdef : ĠT ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġvalue Ġ= Ġm L ru Cache [ key ] ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalue Ġas ĠT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġm Disk Cache . getAs Object ( key ) ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalue Ġas ĠT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdef ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// --- Ġæµ ıè§Ī åĻ¨ Ġ-------------------------------------------------------------------------------- - ĊĠĠĠ Ġfun Ġset U es Inside Browser ( bool : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsave Data ( Key _ Browser , Ġbool ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Use Inside Browser () Ġ= ĠgetData ( Key _ Browser , Ġtrue ) ĊĊĠĠĠ Ġ// --- Ġ é¦ĸé¡µ çĬ¶æĢģ Ġ---------------------------------------------------------------- --------------- ĊĊĠĠĠ Ġfun Ġsave Main ViewPager Position ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsave Data ( Key _ Main ViewPager _ Position , Ġposition ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Main ViewPager Position () Ġ= ĠgetData ( Key _ Main ViewPager _ Position , Ġ 0 ) ĊĊĠĠĠ Ġ// --- ĠTopic çĬ¶æĢģ Ġ---------------------------------------------------------------- -------------- ĊĠĠĠ Ġfun Ġsave Topic List State ( last Position : ĠInt , Ġlast Offset : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsave Data ( Key _ Topic List _ Last Position , Ġlast Position ) ĊĠĠĠĠĠĠĠ Ġsave Data ( Key _ Topic List _ Last Offset , Ġlast Offset ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Topic List Last Position () Ġ= ĠgetData ( Key _ Topic List _ Last Position , Ġ 0 ) ĊĠĠĠ Ġfun Ġget Topic List Last Offset () Ġ= ĠgetData ( Key _ Topic List _ Last Offset , Ġ 0 ) ĊĊĠĠĠ Ġfun Ġsave Topic List Page Index ( page Index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsave Data ( Key _ Topic List _ Page Index , Ġpage Index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Topic List Page Index () Ġ= ĠgetData ( Key _ Topic List _ Page Index , Ġ 0 ) ĊĠĠĠ Ġ// --- ĠNews çĬ¶æĢģ Ġ---------------------------------------------------------------- -------------- ĊĠĠĠ Ġfun Ġsave News List Scroll ( last Scroll Y : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsave Data ( Key _ News List _ Last Scroll , Ġlast Scroll Y ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget News Last Scroll () Ġ= ĠgetData ( Key _ News List _ Last Scroll , Ġ 0 ) ĊĊĠĠĠ Ġfun Ġsave News List Position ( last Position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsave Data ( Key _ News List _ Last Position , Ġlast Position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget News List Last Position () Ġ= ĠgetData ( Key _ News List _ Last Position , Ġ 0 ) ĊĊĠĠĠ Ġfun Ġsave News List Page Index ( page Index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsave Data ( Key _ News List _ Page Index , Ġpage Index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget News List Page Index () Ġ= ĠgetData ( Key _ News List _ Page Index , Ġ 0 ) Ċ } Ċ