DiskLruCache.smali 65 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479
  1. .class public final Lokhttp3/internal/cache/DiskLruCache;
  2. .super Ljava/lang/Object;
  3. .source ""
  4. # interfaces
  5. .implements Ljava/io/Closeable;
  6. .implements Ljava/io/Flushable;
  7. # annotations
  8. .annotation system Ldalvik/annotation/MemberClasses;
  9. value = {
  10. Lokhttp3/internal/cache/DiskLruCache$Entry;,
  11. Lokhttp3/internal/cache/DiskLruCache$Editor;,
  12. Lokhttp3/internal/cache/DiskLruCache$Snapshot;
  13. }
  14. .end annotation
  15. # static fields
  16. .field static final synthetic $assertionsDisabled:Z = false
  17. .field static final ANY_SEQUENCE_NUMBER:J = -0x1L
  18. .field private static final CLEAN:Ljava/lang/String; = "CLEAN"
  19. .field private static final DIRTY:Ljava/lang/String; = "DIRTY"
  20. .field static final JOURNAL_FILE:Ljava/lang/String; = "journal"
  21. .field static final JOURNAL_FILE_BACKUP:Ljava/lang/String; = "journal.bkp"
  22. .field static final JOURNAL_FILE_TEMP:Ljava/lang/String; = "journal.tmp"
  23. .field static final LEGAL_KEY_PATTERN:Ljava/util/regex/Pattern;
  24. .field static final MAGIC:Ljava/lang/String; = "libcore.io.DiskLruCache"
  25. .field private static final READ:Ljava/lang/String; = "READ"
  26. .field private static final REMOVE:Ljava/lang/String; = "REMOVE"
  27. .field static final VERSION_1:Ljava/lang/String; = "1"
  28. # instance fields
  29. .field private final appVersion:I
  30. .field private final cleanupRunnable:Ljava/lang/Runnable;
  31. .field closed:Z
  32. .field final directory:Ljava/io/File;
  33. .field private final executor:Ljava/util/concurrent/Executor;
  34. .field final fileSystem:Lokhttp3/internal/io/FileSystem;
  35. .field hasJournalErrors:Z
  36. .field initialized:Z
  37. .field private final journalFile:Ljava/io/File;
  38. .field private final journalFileBackup:Ljava/io/File;
  39. .field private final journalFileTmp:Ljava/io/File;
  40. .field journalWriter:Lokio/BufferedSink;
  41. .field final lruEntries:Ljava/util/LinkedHashMap;
  42. .annotation system Ldalvik/annotation/Signature;
  43. value = {
  44. "Ljava/util/LinkedHashMap<",
  45. "Ljava/lang/String;",
  46. "Lokhttp3/internal/cache/DiskLruCache$Entry;",
  47. ">;"
  48. }
  49. .end annotation
  50. .end field
  51. .field private maxSize:J
  52. .field mostRecentRebuildFailed:Z
  53. .field mostRecentTrimFailed:Z
  54. .field private nextSequenceNumber:J
  55. .field redundantOpCount:I
  56. .field private size:J
  57. .field final valueCount:I
  58. # direct methods
  59. .method static constructor <clinit>()V
  60. .locals 1
  61. const-class v0, Lokhttp3/internal/cache/DiskLruCache;
  62. const-string v0, "[a-z0-9_-]{1,120}"
  63. invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
  64. move-result-object v0
  65. sput-object v0, Lokhttp3/internal/cache/DiskLruCache;->LEGAL_KEY_PATTERN:Ljava/util/regex/Pattern;
  66. return-void
  67. .end method
  68. .method constructor <init>(Lokhttp3/internal/io/FileSystem;Ljava/io/File;IIJLjava/util/concurrent/Executor;)V
  69. .locals 6
  70. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  71. const-wide/16 v0, 0x0
  72. iput-wide v0, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J
  73. new-instance v2, Ljava/util/LinkedHashMap;
  74. const/4 v3, 0x0
  75. const/high16 v4, 0x3f400000 # 0.75f
  76. const/4 v5, 0x1
  77. invoke-direct {v2, v3, v4, v5}, Ljava/util/LinkedHashMap;-><init>(IFZ)V
  78. iput-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  79. iput-wide v0, p0, Lokhttp3/internal/cache/DiskLruCache;->nextSequenceNumber:J
  80. new-instance v0, Lokhttp3/internal/cache/DiskLruCache$1;
  81. invoke-direct {v0, p0}, Lokhttp3/internal/cache/DiskLruCache$1;-><init>(Lokhttp3/internal/cache/DiskLruCache;)V
  82. iput-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupRunnable:Ljava/lang/Runnable;
  83. iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  84. iput-object p2, p0, Lokhttp3/internal/cache/DiskLruCache;->directory:Ljava/io/File;
  85. iput p3, p0, Lokhttp3/internal/cache/DiskLruCache;->appVersion:I
  86. new-instance p1, Ljava/io/File;
  87. const-string p3, "journal"
  88. invoke-direct {p1, p2, p3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
  89. iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File;
  90. new-instance p1, Ljava/io/File;
  91. const-string p3, "journal.tmp"
  92. invoke-direct {p1, p2, p3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
  93. iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileTmp:Ljava/io/File;
  94. new-instance p1, Ljava/io/File;
  95. const-string p3, "journal.bkp"
  96. invoke-direct {p1, p2, p3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
  97. iput-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileBackup:Ljava/io/File;
  98. iput p4, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I
  99. iput-wide p5, p0, Lokhttp3/internal/cache/DiskLruCache;->maxSize:J
  100. iput-object p7, p0, Lokhttp3/internal/cache/DiskLruCache;->executor:Ljava/util/concurrent/Executor;
  101. return-void
  102. .end method
  103. .method private declared-synchronized checkNotClosed()V
  104. .locals 2
  105. monitor-enter p0
  106. :try_start_0
  107. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->isClosed()Z
  108. move-result v0
  109. :try_end_0
  110. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  111. if-nez v0, :cond_0
  112. monitor-exit p0
  113. return-void
  114. :cond_0
  115. :try_start_1
  116. new-instance v0, Ljava/lang/IllegalStateException;
  117. const-string v1, "cache is closed"
  118. invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  119. throw v0
  120. :try_end_1
  121. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  122. :catchall_0
  123. move-exception v0
  124. monitor-exit p0
  125. throw v0
  126. .end method
  127. .method public static create(Lokhttp3/internal/io/FileSystem;Ljava/io/File;IIJ)Lokhttp3/internal/cache/DiskLruCache;
  128. .locals 10
  129. const-wide/16 v0, 0x0
  130. cmp-long v2, p4, v0
  131. if-lez v2, :cond_1
  132. if-lez p3, :cond_0
  133. new-instance v9, Ljava/util/concurrent/ThreadPoolExecutor;
  134. const/4 v1, 0x0
  135. const/4 v2, 0x1
  136. const-wide/16 v3, 0x3c
  137. sget-object v5, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
  138. new-instance v6, Ljava/util/concurrent/LinkedBlockingQueue;
  139. invoke-direct {v6}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V
  140. const/4 v0, 0x1
  141. const-string v7, "OkHttp DiskLruCache"
  142. invoke-static {v7, v0}, Lokhttp3/internal/Util;->threadFactory(Ljava/lang/String;Z)Ljava/util/concurrent/ThreadFactory;
  143. move-result-object v7
  144. move-object v0, v9
  145. invoke-direct/range {v0 .. v7}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
  146. new-instance v0, Lokhttp3/internal/cache/DiskLruCache;
  147. move-object v2, v0
  148. move-object v3, p0
  149. move-object v4, p1
  150. move v5, p2
  151. move v6, p3
  152. move-wide v7, p4
  153. invoke-direct/range {v2 .. v9}, Lokhttp3/internal/cache/DiskLruCache;-><init>(Lokhttp3/internal/io/FileSystem;Ljava/io/File;IIJLjava/util/concurrent/Executor;)V
  154. return-object v0
  155. :cond_0
  156. new-instance v0, Ljava/lang/IllegalArgumentException;
  157. const-string v1, "valueCount <= 0"
  158. invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  159. throw v0
  160. :cond_1
  161. new-instance v0, Ljava/lang/IllegalArgumentException;
  162. const-string v1, "maxSize <= 0"
  163. invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  164. throw v0
  165. .end method
  166. .method private newJournalWriter()Lokio/BufferedSink;
  167. .locals 2
  168. .annotation system Ldalvik/annotation/Throws;
  169. value = {
  170. Ljava/io/FileNotFoundException;
  171. }
  172. .end annotation
  173. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  174. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File;
  175. invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->appendingSink(Ljava/io/File;)Lokio/Sink;
  176. move-result-object v0
  177. new-instance v1, Lokhttp3/internal/cache/DiskLruCache$2;
  178. invoke-direct {v1, p0, v0}, Lokhttp3/internal/cache/DiskLruCache$2;-><init>(Lokhttp3/internal/cache/DiskLruCache;Lokio/Sink;)V
  179. invoke-static {v1}, Lokio/Okio;->buffer(Lokio/Sink;)Lokio/BufferedSink;
  180. move-result-object v0
  181. return-object v0
  182. .end method
  183. .method private processJournal()V
  184. .locals 8
  185. .annotation system Ldalvik/annotation/Throws;
  186. value = {
  187. Ljava/io/IOException;
  188. }
  189. .end annotation
  190. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  191. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileTmp:Ljava/io/File;
  192. invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V
  193. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  194. invoke-virtual {v0}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection;
  195. move-result-object v0
  196. invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
  197. move-result-object v0
  198. :cond_0
  199. :goto_0
  200. invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
  201. move-result v1
  202. if-eqz v1, :cond_3
  203. invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  204. move-result-object v1
  205. check-cast v1, Lokhttp3/internal/cache/DiskLruCache$Entry;
  206. iget-object v2, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
  207. const/4 v3, 0x0
  208. if-nez v2, :cond_1
  209. :goto_1
  210. iget v2, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I
  211. if-ge v3, v2, :cond_0
  212. iget-wide v4, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J
  213. iget-object v2, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->lengths:[J
  214. aget-wide v6, v2, v3
  215. add-long/2addr v4, v6
  216. iput-wide v4, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J
  217. add-int/lit8 v3, v3, 0x1
  218. goto :goto_1
  219. :cond_1
  220. const/4 v2, 0x0
  221. iput-object v2, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
  222. :goto_2
  223. iget v2, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I
  224. if-ge v3, v2, :cond_2
  225. iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  226. iget-object v4, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->cleanFiles:[Ljava/io/File;
  227. aget-object v4, v4, v3
  228. invoke-interface {v2, v4}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V
  229. iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  230. iget-object v4, v1, Lokhttp3/internal/cache/DiskLruCache$Entry;->dirtyFiles:[Ljava/io/File;
  231. aget-object v4, v4, v3
  232. invoke-interface {v2, v4}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V
  233. add-int/lit8 v3, v3, 0x1
  234. goto :goto_2
  235. :cond_2
  236. invoke-interface {v0}, Ljava/util/Iterator;->remove()V
  237. goto :goto_0
  238. :cond_3
  239. return-void
  240. .end method
  241. .method private readJournal()V
  242. .locals 9
  243. .annotation system Ldalvik/annotation/Throws;
  244. value = {
  245. Ljava/io/IOException;
  246. }
  247. .end annotation
  248. const-string v0, ", "
  249. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  250. iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File;
  251. invoke-interface {v1, v2}, Lokhttp3/internal/io/FileSystem;->source(Ljava/io/File;)Lokio/Source;
  252. move-result-object v1
  253. invoke-static {v1}, Lokio/Okio;->buffer(Lokio/Source;)Lokio/BufferedSource;
  254. move-result-object v1
  255. :try_start_0
  256. invoke-interface {v1}, Lokio/BufferedSource;->readUtf8LineStrict()Ljava/lang/String;
  257. move-result-object v2
  258. invoke-interface {v1}, Lokio/BufferedSource;->readUtf8LineStrict()Ljava/lang/String;
  259. move-result-object v3
  260. invoke-interface {v1}, Lokio/BufferedSource;->readUtf8LineStrict()Ljava/lang/String;
  261. move-result-object v4
  262. invoke-interface {v1}, Lokio/BufferedSource;->readUtf8LineStrict()Ljava/lang/String;
  263. move-result-object v5
  264. invoke-interface {v1}, Lokio/BufferedSource;->readUtf8LineStrict()Ljava/lang/String;
  265. move-result-object v6
  266. const-string v7, "libcore.io.DiskLruCache"
  267. invoke-virtual {v7, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  268. move-result v7
  269. if-eqz v7, :cond_1
  270. const-string v7, "1"
  271. invoke-virtual {v7, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  272. move-result v7
  273. if-eqz v7, :cond_1
  274. iget v7, p0, Lokhttp3/internal/cache/DiskLruCache;->appVersion:I
  275. invoke-static {v7}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
  276. move-result-object v7
  277. invoke-virtual {v7, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  278. move-result v4
  279. if-eqz v4, :cond_1
  280. iget v4, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I
  281. invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
  282. move-result-object v4
  283. invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  284. move-result v4
  285. if-eqz v4, :cond_1
  286. const-string v4, ""
  287. invoke-virtual {v4, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  288. move-result v4
  289. :try_end_0
  290. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  291. if-eqz v4, :cond_1
  292. const/4 v0, 0x0
  293. :goto_0
  294. :try_start_1
  295. invoke-interface {v1}, Lokio/BufferedSource;->readUtf8LineStrict()Ljava/lang/String;
  296. move-result-object v2
  297. invoke-direct {p0, v2}, Lokhttp3/internal/cache/DiskLruCache;->readJournalLine(Ljava/lang/String;)V
  298. :try_end_1
  299. .catch Ljava/io/EOFException; {:try_start_1 .. :try_end_1} :catch_0
  300. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  301. add-int/lit8 v0, v0, 0x1
  302. goto :goto_0
  303. :catch_0
  304. :try_start_2
  305. iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  306. invoke-virtual {v2}, Ljava/util/LinkedHashMap;->size()I
  307. move-result v2
  308. sub-int/2addr v0, v2
  309. iput v0, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I
  310. invoke-interface {v1}, Lokio/BufferedSource;->exhausted()Z
  311. move-result v0
  312. if-nez v0, :cond_0
  313. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->rebuildJournal()V
  314. goto :goto_1
  315. :cond_0
  316. invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->newJournalWriter()Lokio/BufferedSink;
  317. move-result-object v0
  318. iput-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  319. :try_end_2
  320. .catchall {:try_start_2 .. :try_end_2} :catchall_0
  321. :goto_1
  322. invoke-static {v1}, Lokhttp3/internal/Util;->closeQuietly(Ljava/io/Closeable;)V
  323. return-void
  324. :cond_1
  325. :try_start_3
  326. new-instance v4, Ljava/io/IOException;
  327. new-instance v7, Ljava/lang/StringBuilder;
  328. invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
  329. const-string v8, "unexpected journal header: ["
  330. invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  331. invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  332. invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  333. invoke-virtual {v7, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  334. invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  335. invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  336. invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  337. invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  338. const-string v0, "]"
  339. invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  340. invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  341. move-result-object v0
  342. invoke-direct {v4, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
  343. throw v4
  344. :try_end_3
  345. .catchall {:try_start_3 .. :try_end_3} :catchall_0
  346. :catchall_0
  347. move-exception v0
  348. invoke-static {v1}, Lokhttp3/internal/Util;->closeQuietly(Ljava/io/Closeable;)V
  349. goto :goto_3
  350. :goto_2
  351. throw v0
  352. :goto_3
  353. goto :goto_2
  354. .end method
  355. .method private readJournalLine(Ljava/lang/String;)V
  356. .locals 7
  357. .annotation system Ldalvik/annotation/Throws;
  358. value = {
  359. Ljava/io/IOException;
  360. }
  361. .end annotation
  362. const/16 v0, 0x20
  363. invoke-virtual {p1, v0}, Ljava/lang/String;->indexOf(I)I
  364. move-result v1
  365. const-string v2, "unexpected journal line: "
  366. const/4 v3, -0x1
  367. if-eq v1, v3, :cond_6
  368. add-int/lit8 v4, v1, 0x1
  369. invoke-virtual {p1, v0, v4}, Ljava/lang/String;->indexOf(II)I
  370. move-result v0
  371. if-ne v0, v3, :cond_0
  372. invoke-virtual {p1, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
  373. move-result-object v4
  374. const/4 v5, 0x6
  375. if-ne v1, v5, :cond_1
  376. const-string v5, "REMOVE"
  377. invoke-virtual {p1, v5}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
  378. move-result v5
  379. if-eqz v5, :cond_1
  380. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  381. invoke-virtual {p1, v4}, Ljava/util/LinkedHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
  382. return-void
  383. :cond_0
  384. invoke-virtual {p1, v4, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
  385. move-result-object v4
  386. :cond_1
  387. iget-object v5, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  388. invoke-virtual {v5, v4}, Ljava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
  389. move-result-object v5
  390. check-cast v5, Lokhttp3/internal/cache/DiskLruCache$Entry;
  391. if-nez v5, :cond_2
  392. new-instance v5, Lokhttp3/internal/cache/DiskLruCache$Entry;
  393. invoke-direct {v5, p0, v4}, Lokhttp3/internal/cache/DiskLruCache$Entry;-><init>(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;)V
  394. iget-object v6, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  395. invoke-virtual {v6, v4, v5}, Ljava/util/LinkedHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  396. :cond_2
  397. const/4 v4, 0x5
  398. if-eq v0, v3, :cond_3
  399. if-ne v1, v4, :cond_3
  400. const-string v6, "CLEAN"
  401. invoke-virtual {p1, v6}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
  402. move-result v6
  403. if-eqz v6, :cond_3
  404. const/4 v1, 0x1
  405. add-int/2addr v0, v1
  406. invoke-virtual {p1, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
  407. move-result-object p1
  408. const-string v0, " "
  409. invoke-virtual {p1, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
  410. move-result-object p1
  411. iput-boolean v1, v5, Lokhttp3/internal/cache/DiskLruCache$Entry;->readable:Z
  412. const/4 v0, 0x0
  413. iput-object v0, v5, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
  414. invoke-virtual {v5, p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->setLengths([Ljava/lang/String;)V
  415. goto :goto_0
  416. :cond_3
  417. if-ne v0, v3, :cond_4
  418. if-ne v1, v4, :cond_4
  419. const-string v4, "DIRTY"
  420. invoke-virtual {p1, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
  421. move-result v4
  422. if-eqz v4, :cond_4
  423. new-instance p1, Lokhttp3/internal/cache/DiskLruCache$Editor;
  424. invoke-direct {p1, p0, v5}, Lokhttp3/internal/cache/DiskLruCache$Editor;-><init>(Lokhttp3/internal/cache/DiskLruCache;Lokhttp3/internal/cache/DiskLruCache$Entry;)V
  425. iput-object p1, v5, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
  426. goto :goto_0
  427. :cond_4
  428. if-ne v0, v3, :cond_5
  429. const/4 v0, 0x4
  430. if-ne v1, v0, :cond_5
  431. const-string v0, "READ"
  432. invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
  433. move-result v0
  434. if-eqz v0, :cond_5
  435. :goto_0
  436. return-void
  437. :cond_5
  438. new-instance v0, Ljava/io/IOException;
  439. new-instance v1, Ljava/lang/StringBuilder;
  440. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  441. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  442. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  443. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  444. move-result-object p1
  445. invoke-direct {v0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
  446. throw v0
  447. :cond_6
  448. new-instance v0, Ljava/io/IOException;
  449. new-instance v1, Ljava/lang/StringBuilder;
  450. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  451. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  452. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  453. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  454. move-result-object p1
  455. invoke-direct {v0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
  456. throw v0
  457. .end method
  458. .method private validateKey(Ljava/lang/String;)V
  459. .locals 3
  460. sget-object v0, Lokhttp3/internal/cache/DiskLruCache;->LEGAL_KEY_PATTERN:Ljava/util/regex/Pattern;
  461. invoke-virtual {v0, p1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
  462. move-result-object v0
  463. invoke-virtual {v0}, Ljava/util/regex/Matcher;->matches()Z
  464. move-result v0
  465. if-eqz v0, :cond_0
  466. return-void
  467. :cond_0
  468. new-instance v0, Ljava/lang/IllegalArgumentException;
  469. new-instance v1, Ljava/lang/StringBuilder;
  470. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  471. const-string v2, "keys must match regex [a-z0-9_-]{1,120}: \""
  472. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  473. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  474. const-string p1, "\""
  475. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  476. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  477. move-result-object p1
  478. invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
  479. throw v0
  480. .end method
  481. # virtual methods
  482. .method public declared-synchronized close()V
  483. .locals 6
  484. .annotation system Ldalvik/annotation/Throws;
  485. value = {
  486. Ljava/io/IOException;
  487. }
  488. .end annotation
  489. monitor-enter p0
  490. :try_start_0
  491. iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->initialized:Z
  492. const/4 v1, 0x1
  493. if-eqz v0, :cond_3
  494. iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z
  495. if-eqz v0, :cond_0
  496. goto :goto_1
  497. :cond_0
  498. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  499. invoke-virtual {v0}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection;
  500. move-result-object v0
  501. iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  502. invoke-virtual {v2}, Ljava/util/LinkedHashMap;->size()I
  503. move-result v2
  504. new-array v2, v2, [Lokhttp3/internal/cache/DiskLruCache$Entry;
  505. invoke-interface {v0, v2}, Ljava/util/Collection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
  506. move-result-object v0
  507. check-cast v0, [Lokhttp3/internal/cache/DiskLruCache$Entry;
  508. array-length v2, v0
  509. const/4 v3, 0x0
  510. :goto_0
  511. if-ge v3, v2, :cond_2
  512. aget-object v4, v0, v3
  513. iget-object v5, v4, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
  514. if-eqz v5, :cond_1
  515. iget-object v4, v4, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
  516. invoke-virtual {v4}, Lokhttp3/internal/cache/DiskLruCache$Editor;->abort()V
  517. :cond_1
  518. add-int/lit8 v3, v3, 0x1
  519. goto :goto_0
  520. :cond_2
  521. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->trimToSize()V
  522. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  523. invoke-interface {v0}, Lokio/Sink;->close()V
  524. const/4 v0, 0x0
  525. iput-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  526. iput-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z
  527. :try_end_0
  528. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  529. monitor-exit p0
  530. return-void
  531. :cond_3
  532. :goto_1
  533. :try_start_1
  534. iput-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z
  535. :try_end_1
  536. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  537. monitor-exit p0
  538. return-void
  539. :catchall_0
  540. move-exception v0
  541. monitor-exit p0
  542. goto :goto_3
  543. :goto_2
  544. throw v0
  545. :goto_3
  546. goto :goto_2
  547. .end method
  548. .method declared-synchronized completeEdit(Lokhttp3/internal/cache/DiskLruCache$Editor;Z)V
  549. .locals 9
  550. .annotation system Ldalvik/annotation/Throws;
  551. value = {
  552. Ljava/io/IOException;
  553. }
  554. .end annotation
  555. monitor-enter p0
  556. :try_start_0
  557. iget-object v0, p1, Lokhttp3/internal/cache/DiskLruCache$Editor;->entry:Lokhttp3/internal/cache/DiskLruCache$Entry;
  558. iget-object v1, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
  559. if-ne v1, p1, :cond_a
  560. const/4 v1, 0x0
  561. if-eqz p2, :cond_2
  562. iget-boolean v2, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->readable:Z
  563. if-nez v2, :cond_2
  564. const/4 v2, 0x0
  565. :goto_0
  566. iget v3, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I
  567. if-ge v2, v3, :cond_2
  568. iget-object v3, p1, Lokhttp3/internal/cache/DiskLruCache$Editor;->written:[Z
  569. aget-boolean v3, v3, v2
  570. if-eqz v3, :cond_1
  571. iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  572. iget-object v4, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->dirtyFiles:[Ljava/io/File;
  573. aget-object v4, v4, v2
  574. invoke-interface {v3, v4}, Lokhttp3/internal/io/FileSystem;->exists(Ljava/io/File;)Z
  575. move-result v3
  576. if-nez v3, :cond_0
  577. invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache$Editor;->abort()V
  578. :try_end_0
  579. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  580. monitor-exit p0
  581. return-void
  582. :cond_0
  583. add-int/lit8 v2, v2, 0x1
  584. goto :goto_0
  585. :cond_1
  586. :try_start_1
  587. invoke-virtual {p1}, Lokhttp3/internal/cache/DiskLruCache$Editor;->abort()V
  588. new-instance p1, Ljava/lang/IllegalStateException;
  589. new-instance p2, Ljava/lang/StringBuilder;
  590. invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
  591. const-string v0, "Newly created entry didn\'t create value for index "
  592. invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  593. invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  594. invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  595. move-result-object p2
  596. invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
  597. throw p1
  598. :cond_2
  599. :goto_1
  600. iget p1, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I
  601. if-ge v1, p1, :cond_5
  602. iget-object p1, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->dirtyFiles:[Ljava/io/File;
  603. aget-object p1, p1, v1
  604. if-eqz p2, :cond_3
  605. iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  606. invoke-interface {v2, p1}, Lokhttp3/internal/io/FileSystem;->exists(Ljava/io/File;)Z
  607. move-result v2
  608. if-eqz v2, :cond_4
  609. iget-object v2, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->cleanFiles:[Ljava/io/File;
  610. aget-object v2, v2, v1
  611. iget-object v3, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  612. invoke-interface {v3, p1, v2}, Lokhttp3/internal/io/FileSystem;->rename(Ljava/io/File;Ljava/io/File;)V
  613. iget-object p1, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lengths:[J
  614. aget-wide v3, p1, v1
  615. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  616. invoke-interface {p1, v2}, Lokhttp3/internal/io/FileSystem;->size(Ljava/io/File;)J
  617. move-result-wide v5
  618. iget-object p1, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->lengths:[J
  619. aput-wide v5, p1, v1
  620. iget-wide v7, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J
  621. sub-long/2addr v7, v3
  622. add-long/2addr v7, v5
  623. iput-wide v7, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J
  624. goto :goto_2
  625. :cond_3
  626. iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  627. invoke-interface {v2, p1}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V
  628. :cond_4
  629. :goto_2
  630. add-int/lit8 v1, v1, 0x1
  631. goto :goto_1
  632. :cond_5
  633. iget p1, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I
  634. const/4 v1, 0x1
  635. add-int/2addr p1, v1
  636. iput p1, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I
  637. const/4 p1, 0x0
  638. iput-object p1, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
  639. iget-boolean p1, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->readable:Z
  640. or-int/2addr p1, p2
  641. const/16 v2, 0xa
  642. const/16 v3, 0x20
  643. if-eqz p1, :cond_6
  644. iput-boolean v1, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->readable:Z
  645. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  646. const-string v1, "CLEAN"
  647. invoke-interface {p1, v1}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  648. move-result-object p1
  649. invoke-interface {p1, v3}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  650. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  651. iget-object v1, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->key:Ljava/lang/String;
  652. invoke-interface {p1, v1}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  653. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  654. invoke-virtual {v0, p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;->writeLengths(Lokio/BufferedSink;)V
  655. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  656. invoke-interface {p1, v2}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  657. if-eqz p2, :cond_7
  658. iget-wide p1, p0, Lokhttp3/internal/cache/DiskLruCache;->nextSequenceNumber:J
  659. const-wide/16 v1, 0x1
  660. add-long/2addr v1, p1
  661. iput-wide v1, p0, Lokhttp3/internal/cache/DiskLruCache;->nextSequenceNumber:J
  662. iput-wide p1, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->sequenceNumber:J
  663. goto :goto_3
  664. :cond_6
  665. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  666. iget-object p2, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->key:Ljava/lang/String;
  667. invoke-virtual {p1, p2}, Ljava/util/LinkedHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
  668. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  669. const-string p2, "REMOVE"
  670. invoke-interface {p1, p2}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  671. move-result-object p1
  672. invoke-interface {p1, v3}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  673. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  674. iget-object p2, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->key:Ljava/lang/String;
  675. invoke-interface {p1, p2}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  676. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  677. invoke-interface {p1, v2}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  678. :cond_7
  679. :goto_3
  680. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  681. invoke-interface {p1}, Lokio/BufferedSink;->flush()V
  682. iget-wide p1, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J
  683. iget-wide v0, p0, Lokhttp3/internal/cache/DiskLruCache;->maxSize:J
  684. cmp-long v2, p1, v0
  685. if-gtz v2, :cond_8
  686. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->journalRebuildRequired()Z
  687. move-result p1
  688. if-eqz p1, :cond_9
  689. :cond_8
  690. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->executor:Ljava/util/concurrent/Executor;
  691. iget-object p2, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupRunnable:Ljava/lang/Runnable;
  692. invoke-interface {p1, p2}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
  693. :try_end_1
  694. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  695. :cond_9
  696. monitor-exit p0
  697. return-void
  698. :cond_a
  699. :try_start_2
  700. new-instance p1, Ljava/lang/IllegalStateException;
  701. invoke-direct {p1}, Ljava/lang/IllegalStateException;-><init>()V
  702. throw p1
  703. :try_end_2
  704. .catchall {:try_start_2 .. :try_end_2} :catchall_0
  705. :catchall_0
  706. move-exception p1
  707. monitor-exit p0
  708. goto :goto_5
  709. :goto_4
  710. throw p1
  711. :goto_5
  712. goto :goto_4
  713. .end method
  714. .method public delete()V
  715. .locals 2
  716. .annotation system Ldalvik/annotation/Throws;
  717. value = {
  718. Ljava/io/IOException;
  719. }
  720. .end annotation
  721. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->close()V
  722. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  723. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->directory:Ljava/io/File;
  724. invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->deleteContents(Ljava/io/File;)V
  725. return-void
  726. .end method
  727. .method public edit(Ljava/lang/String;)Lokhttp3/internal/cache/DiskLruCache$Editor;
  728. .locals 2
  729. .annotation system Ldalvik/annotation/Throws;
  730. value = {
  731. Ljava/io/IOException;
  732. }
  733. .end annotation
  734. const-wide/16 v0, -0x1
  735. invoke-virtual {p0, p1, v0, v1}, Lokhttp3/internal/cache/DiskLruCache;->edit(Ljava/lang/String;J)Lokhttp3/internal/cache/DiskLruCache$Editor;
  736. move-result-object p1
  737. return-object p1
  738. .end method
  739. .method declared-synchronized edit(Ljava/lang/String;J)Lokhttp3/internal/cache/DiskLruCache$Editor;
  740. .locals 5
  741. .annotation system Ldalvik/annotation/Throws;
  742. value = {
  743. Ljava/io/IOException;
  744. }
  745. .end annotation
  746. monitor-enter p0
  747. :try_start_0
  748. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->initialize()V
  749. invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->checkNotClosed()V
  750. invoke-direct {p0, p1}, Lokhttp3/internal/cache/DiskLruCache;->validateKey(Ljava/lang/String;)V
  751. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  752. invoke-virtual {v0, p1}, Ljava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
  753. move-result-object v0
  754. check-cast v0, Lokhttp3/internal/cache/DiskLruCache$Entry;
  755. const-wide/16 v1, -0x1
  756. const/4 v3, 0x0
  757. cmp-long v4, p2, v1
  758. if-eqz v4, :cond_1
  759. if-eqz v0, :cond_0
  760. iget-wide v1, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->sequenceNumber:J
  761. :try_end_0
  762. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  763. cmp-long v4, v1, p2
  764. if-eqz v4, :cond_1
  765. :cond_0
  766. monitor-exit p0
  767. return-object v3
  768. :cond_1
  769. if-eqz v0, :cond_2
  770. :try_start_1
  771. iget-object p2, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
  772. :try_end_1
  773. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  774. if-eqz p2, :cond_2
  775. monitor-exit p0
  776. return-object v3
  777. :cond_2
  778. :try_start_2
  779. iget-boolean p2, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentTrimFailed:Z
  780. if-nez p2, :cond_6
  781. iget-boolean p2, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentRebuildFailed:Z
  782. if-eqz p2, :cond_3
  783. goto :goto_0
  784. :cond_3
  785. iget-object p2, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  786. const-string p3, "DIRTY"
  787. invoke-interface {p2, p3}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  788. move-result-object p2
  789. const/16 p3, 0x20
  790. invoke-interface {p2, p3}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  791. move-result-object p2
  792. invoke-interface {p2, p1}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  793. move-result-object p2
  794. const/16 p3, 0xa
  795. invoke-interface {p2, p3}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  796. iget-object p2, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  797. invoke-interface {p2}, Lokio/BufferedSink;->flush()V
  798. iget-boolean p2, p0, Lokhttp3/internal/cache/DiskLruCache;->hasJournalErrors:Z
  799. :try_end_2
  800. .catchall {:try_start_2 .. :try_end_2} :catchall_0
  801. if-eqz p2, :cond_4
  802. monitor-exit p0
  803. return-object v3
  804. :cond_4
  805. if-nez v0, :cond_5
  806. :try_start_3
  807. new-instance v0, Lokhttp3/internal/cache/DiskLruCache$Entry;
  808. invoke-direct {v0, p0, p1}, Lokhttp3/internal/cache/DiskLruCache$Entry;-><init>(Lokhttp3/internal/cache/DiskLruCache;Ljava/lang/String;)V
  809. iget-object p2, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  810. invoke-virtual {p2, p1, v0}, Ljava/util/LinkedHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  811. :cond_5
  812. new-instance p1, Lokhttp3/internal/cache/DiskLruCache$Editor;
  813. invoke-direct {p1, p0, v0}, Lokhttp3/internal/cache/DiskLruCache$Editor;-><init>(Lokhttp3/internal/cache/DiskLruCache;Lokhttp3/internal/cache/DiskLruCache$Entry;)V
  814. iput-object p1, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
  815. :try_end_3
  816. .catchall {:try_start_3 .. :try_end_3} :catchall_0
  817. monitor-exit p0
  818. return-object p1
  819. :cond_6
  820. :goto_0
  821. :try_start_4
  822. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->executor:Ljava/util/concurrent/Executor;
  823. iget-object p2, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupRunnable:Ljava/lang/Runnable;
  824. invoke-interface {p1, p2}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
  825. :try_end_4
  826. .catchall {:try_start_4 .. :try_end_4} :catchall_0
  827. monitor-exit p0
  828. return-object v3
  829. :catchall_0
  830. move-exception p1
  831. monitor-exit p0
  832. throw p1
  833. .end method
  834. .method public declared-synchronized evictAll()V
  835. .locals 5
  836. .annotation system Ldalvik/annotation/Throws;
  837. value = {
  838. Ljava/io/IOException;
  839. }
  840. .end annotation
  841. monitor-enter p0
  842. :try_start_0
  843. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->initialize()V
  844. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  845. invoke-virtual {v0}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection;
  846. move-result-object v0
  847. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  848. invoke-virtual {v1}, Ljava/util/LinkedHashMap;->size()I
  849. move-result v1
  850. new-array v1, v1, [Lokhttp3/internal/cache/DiskLruCache$Entry;
  851. invoke-interface {v0, v1}, Ljava/util/Collection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
  852. move-result-object v0
  853. check-cast v0, [Lokhttp3/internal/cache/DiskLruCache$Entry;
  854. array-length v1, v0
  855. const/4 v2, 0x0
  856. const/4 v3, 0x0
  857. :goto_0
  858. if-ge v3, v1, :cond_0
  859. aget-object v4, v0, v3
  860. invoke-virtual {p0, v4}, Lokhttp3/internal/cache/DiskLruCache;->removeEntry(Lokhttp3/internal/cache/DiskLruCache$Entry;)Z
  861. add-int/lit8 v3, v3, 0x1
  862. goto :goto_0
  863. :cond_0
  864. iput-boolean v2, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentTrimFailed:Z
  865. :try_end_0
  866. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  867. monitor-exit p0
  868. return-void
  869. :catchall_0
  870. move-exception v0
  871. monitor-exit p0
  872. goto :goto_2
  873. :goto_1
  874. throw v0
  875. :goto_2
  876. goto :goto_1
  877. .end method
  878. .method public declared-synchronized flush()V
  879. .locals 1
  880. .annotation system Ldalvik/annotation/Throws;
  881. value = {
  882. Ljava/io/IOException;
  883. }
  884. .end annotation
  885. monitor-enter p0
  886. :try_start_0
  887. iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->initialized:Z
  888. :try_end_0
  889. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  890. if-nez v0, :cond_0
  891. monitor-exit p0
  892. return-void
  893. :cond_0
  894. :try_start_1
  895. invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->checkNotClosed()V
  896. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->trimToSize()V
  897. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  898. invoke-interface {v0}, Lokio/BufferedSink;->flush()V
  899. :try_end_1
  900. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  901. monitor-exit p0
  902. return-void
  903. :catchall_0
  904. move-exception v0
  905. monitor-exit p0
  906. throw v0
  907. .end method
  908. .method public declared-synchronized get(Ljava/lang/String;)Lokhttp3/internal/cache/DiskLruCache$Snapshot;
  909. .locals 3
  910. .annotation system Ldalvik/annotation/Throws;
  911. value = {
  912. Ljava/io/IOException;
  913. }
  914. .end annotation
  915. monitor-enter p0
  916. :try_start_0
  917. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->initialize()V
  918. invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->checkNotClosed()V
  919. invoke-direct {p0, p1}, Lokhttp3/internal/cache/DiskLruCache;->validateKey(Ljava/lang/String;)V
  920. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  921. invoke-virtual {v0, p1}, Ljava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
  922. move-result-object v0
  923. check-cast v0, Lokhttp3/internal/cache/DiskLruCache$Entry;
  924. const/4 v1, 0x0
  925. if-eqz v0, :cond_3
  926. iget-boolean v2, v0, Lokhttp3/internal/cache/DiskLruCache$Entry;->readable:Z
  927. if-nez v2, :cond_0
  928. goto :goto_0
  929. :cond_0
  930. invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->snapshot()Lokhttp3/internal/cache/DiskLruCache$Snapshot;
  931. move-result-object v0
  932. :try_end_0
  933. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  934. if-nez v0, :cond_1
  935. monitor-exit p0
  936. return-object v1
  937. :cond_1
  938. :try_start_1
  939. iget v1, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I
  940. add-int/lit8 v1, v1, 0x1
  941. iput v1, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I
  942. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  943. const-string v2, "READ"
  944. invoke-interface {v1, v2}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  945. move-result-object v1
  946. const/16 v2, 0x20
  947. invoke-interface {v1, v2}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  948. move-result-object v1
  949. invoke-interface {v1, p1}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  950. move-result-object p1
  951. const/16 v1, 0xa
  952. invoke-interface {p1, v1}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  953. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->journalRebuildRequired()Z
  954. move-result p1
  955. if-eqz p1, :cond_2
  956. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->executor:Ljava/util/concurrent/Executor;
  957. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupRunnable:Ljava/lang/Runnable;
  958. invoke-interface {p1, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
  959. :try_end_1
  960. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  961. :cond_2
  962. monitor-exit p0
  963. return-object v0
  964. :cond_3
  965. :goto_0
  966. monitor-exit p0
  967. return-object v1
  968. :catchall_0
  969. move-exception p1
  970. monitor-exit p0
  971. throw p1
  972. .end method
  973. .method public getDirectory()Ljava/io/File;
  974. .locals 1
  975. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->directory:Ljava/io/File;
  976. return-object v0
  977. .end method
  978. .method public declared-synchronized getMaxSize()J
  979. .locals 2
  980. monitor-enter p0
  981. :try_start_0
  982. iget-wide v0, p0, Lokhttp3/internal/cache/DiskLruCache;->maxSize:J
  983. :try_end_0
  984. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  985. monitor-exit p0
  986. return-wide v0
  987. :catchall_0
  988. move-exception v0
  989. monitor-exit p0
  990. throw v0
  991. .end method
  992. .method public declared-synchronized initialize()V
  993. .locals 6
  994. .annotation system Ldalvik/annotation/Throws;
  995. value = {
  996. Ljava/io/IOException;
  997. }
  998. .end annotation
  999. monitor-enter p0
  1000. :try_start_0
  1001. iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->initialized:Z
  1002. :try_end_0
  1003. .catchall {:try_start_0 .. :try_end_0} :catchall_1
  1004. if-eqz v0, :cond_0
  1005. monitor-exit p0
  1006. return-void
  1007. :cond_0
  1008. :try_start_1
  1009. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  1010. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileBackup:Ljava/io/File;
  1011. invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->exists(Ljava/io/File;)Z
  1012. move-result v0
  1013. if-eqz v0, :cond_2
  1014. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  1015. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File;
  1016. invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->exists(Ljava/io/File;)Z
  1017. move-result v0
  1018. if-eqz v0, :cond_1
  1019. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  1020. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileBackup:Ljava/io/File;
  1021. invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V
  1022. goto :goto_0
  1023. :cond_1
  1024. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  1025. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileBackup:Ljava/io/File;
  1026. iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File;
  1027. invoke-interface {v0, v1, v2}, Lokhttp3/internal/io/FileSystem;->rename(Ljava/io/File;Ljava/io/File;)V
  1028. :cond_2
  1029. :goto_0
  1030. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  1031. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File;
  1032. invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->exists(Ljava/io/File;)Z
  1033. move-result v0
  1034. :try_end_1
  1035. .catchall {:try_start_1 .. :try_end_1} :catchall_1
  1036. const/4 v1, 0x1
  1037. if-eqz v0, :cond_3
  1038. :try_start_2
  1039. invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->readJournal()V
  1040. invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->processJournal()V
  1041. iput-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache;->initialized:Z
  1042. :try_end_2
  1043. .catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_0
  1044. .catchall {:try_start_2 .. :try_end_2} :catchall_1
  1045. monitor-exit p0
  1046. return-void
  1047. :catch_0
  1048. move-exception v0
  1049. :try_start_3
  1050. invoke-static {}, Lokhttp3/internal/platform/Platform;->get()Lokhttp3/internal/platform/Platform;
  1051. move-result-object v2
  1052. const/4 v3, 0x5
  1053. new-instance v4, Ljava/lang/StringBuilder;
  1054. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
  1055. const-string v5, "DiskLruCache "
  1056. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1057. iget-object v5, p0, Lokhttp3/internal/cache/DiskLruCache;->directory:Ljava/io/File;
  1058. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  1059. const-string v5, " is corrupt: "
  1060. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1061. invoke-virtual {v0}, Ljava/io/IOException;->getMessage()Ljava/lang/String;
  1062. move-result-object v5
  1063. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1064. const-string v5, ", removing"
  1065. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1066. invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1067. move-result-object v4
  1068. invoke-virtual {v2, v3, v4, v0}, Lokhttp3/internal/platform/Platform;->log(ILjava/lang/String;Ljava/lang/Throwable;)V
  1069. :try_end_3
  1070. .catchall {:try_start_3 .. :try_end_3} :catchall_1
  1071. const/4 v0, 0x0
  1072. :try_start_4
  1073. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->delete()V
  1074. :try_end_4
  1075. .catchall {:try_start_4 .. :try_end_4} :catchall_0
  1076. :try_start_5
  1077. iput-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z
  1078. goto :goto_1
  1079. :catchall_0
  1080. move-exception v1
  1081. iput-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z
  1082. throw v1
  1083. :cond_3
  1084. :goto_1
  1085. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->rebuildJournal()V
  1086. iput-boolean v1, p0, Lokhttp3/internal/cache/DiskLruCache;->initialized:Z
  1087. :try_end_5
  1088. .catchall {:try_start_5 .. :try_end_5} :catchall_1
  1089. monitor-exit p0
  1090. return-void
  1091. :catchall_1
  1092. move-exception v0
  1093. monitor-exit p0
  1094. throw v0
  1095. .end method
  1096. .method public declared-synchronized isClosed()Z
  1097. .locals 1
  1098. monitor-enter p0
  1099. :try_start_0
  1100. iget-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->closed:Z
  1101. :try_end_0
  1102. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  1103. monitor-exit p0
  1104. return v0
  1105. :catchall_0
  1106. move-exception v0
  1107. monitor-exit p0
  1108. throw v0
  1109. .end method
  1110. .method journalRebuildRequired()Z
  1111. .locals 2
  1112. iget v0, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I
  1113. const/16 v1, 0x7d0
  1114. if-lt v0, v1, :cond_0
  1115. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  1116. invoke-virtual {v1}, Ljava/util/LinkedHashMap;->size()I
  1117. move-result v1
  1118. if-lt v0, v1, :cond_0
  1119. const/4 v0, 0x1
  1120. goto :goto_0
  1121. :cond_0
  1122. const/4 v0, 0x0
  1123. :goto_0
  1124. return v0
  1125. .end method
  1126. .method declared-synchronized rebuildJournal()V
  1127. .locals 6
  1128. .annotation system Ldalvik/annotation/Throws;
  1129. value = {
  1130. Ljava/io/IOException;
  1131. }
  1132. .end annotation
  1133. monitor-enter p0
  1134. :try_start_0
  1135. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  1136. if-eqz v0, :cond_0
  1137. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  1138. invoke-interface {v0}, Lokio/Sink;->close()V
  1139. :cond_0
  1140. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  1141. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileTmp:Ljava/io/File;
  1142. invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->sink(Ljava/io/File;)Lokio/Sink;
  1143. move-result-object v0
  1144. invoke-static {v0}, Lokio/Okio;->buffer(Lokio/Sink;)Lokio/BufferedSink;
  1145. move-result-object v0
  1146. :try_end_0
  1147. .catchall {:try_start_0 .. :try_end_0} :catchall_1
  1148. :try_start_1
  1149. const-string v1, "libcore.io.DiskLruCache"
  1150. invoke-interface {v0, v1}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  1151. move-result-object v1
  1152. const/16 v2, 0xa
  1153. invoke-interface {v1, v2}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  1154. const-string v1, "1"
  1155. invoke-interface {v0, v1}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  1156. move-result-object v1
  1157. invoke-interface {v1, v2}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  1158. iget v1, p0, Lokhttp3/internal/cache/DiskLruCache;->appVersion:I
  1159. int-to-long v3, v1
  1160. invoke-interface {v0, v3, v4}, Lokio/BufferedSink;->writeDecimalLong(J)Lokio/BufferedSink;
  1161. move-result-object v1
  1162. invoke-interface {v1, v2}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  1163. iget v1, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I
  1164. int-to-long v3, v1
  1165. invoke-interface {v0, v3, v4}, Lokio/BufferedSink;->writeDecimalLong(J)Lokio/BufferedSink;
  1166. move-result-object v1
  1167. invoke-interface {v1, v2}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  1168. invoke-interface {v0, v2}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  1169. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  1170. invoke-virtual {v1}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection;
  1171. move-result-object v1
  1172. invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
  1173. move-result-object v1
  1174. :goto_0
  1175. invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
  1176. move-result v3
  1177. if-eqz v3, :cond_2
  1178. invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  1179. move-result-object v3
  1180. check-cast v3, Lokhttp3/internal/cache/DiskLruCache$Entry;
  1181. iget-object v4, v3, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
  1182. const/16 v5, 0x20
  1183. if-eqz v4, :cond_1
  1184. const-string v4, "DIRTY"
  1185. invoke-interface {v0, v4}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  1186. move-result-object v4
  1187. invoke-interface {v4, v5}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  1188. iget-object v3, v3, Lokhttp3/internal/cache/DiskLruCache$Entry;->key:Ljava/lang/String;
  1189. invoke-interface {v0, v3}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  1190. :goto_1
  1191. invoke-interface {v0, v2}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  1192. goto :goto_0
  1193. :cond_1
  1194. const-string v4, "CLEAN"
  1195. invoke-interface {v0, v4}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  1196. move-result-object v4
  1197. invoke-interface {v4, v5}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  1198. iget-object v4, v3, Lokhttp3/internal/cache/DiskLruCache$Entry;->key:Ljava/lang/String;
  1199. invoke-interface {v0, v4}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  1200. invoke-virtual {v3, v0}, Lokhttp3/internal/cache/DiskLruCache$Entry;->writeLengths(Lokio/BufferedSink;)V
  1201. :try_end_1
  1202. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  1203. goto :goto_1
  1204. :cond_2
  1205. :try_start_2
  1206. invoke-interface {v0}, Lokio/Sink;->close()V
  1207. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  1208. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File;
  1209. invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->exists(Ljava/io/File;)Z
  1210. move-result v0
  1211. if-eqz v0, :cond_3
  1212. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  1213. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File;
  1214. iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileBackup:Ljava/io/File;
  1215. invoke-interface {v0, v1, v2}, Lokhttp3/internal/io/FileSystem;->rename(Ljava/io/File;Ljava/io/File;)V
  1216. :cond_3
  1217. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  1218. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileTmp:Ljava/io/File;
  1219. iget-object v2, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFile:Ljava/io/File;
  1220. invoke-interface {v0, v1, v2}, Lokhttp3/internal/io/FileSystem;->rename(Ljava/io/File;Ljava/io/File;)V
  1221. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  1222. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->journalFileBackup:Ljava/io/File;
  1223. invoke-interface {v0, v1}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V
  1224. invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->newJournalWriter()Lokio/BufferedSink;
  1225. move-result-object v0
  1226. iput-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  1227. const/4 v0, 0x0
  1228. iput-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->hasJournalErrors:Z
  1229. iput-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentRebuildFailed:Z
  1230. :try_end_2
  1231. .catchall {:try_start_2 .. :try_end_2} :catchall_1
  1232. monitor-exit p0
  1233. return-void
  1234. :catchall_0
  1235. move-exception v1
  1236. :try_start_3
  1237. invoke-interface {v0}, Lokio/Sink;->close()V
  1238. throw v1
  1239. :try_end_3
  1240. .catchall {:try_start_3 .. :try_end_3} :catchall_1
  1241. :catchall_1
  1242. move-exception v0
  1243. monitor-exit p0
  1244. goto :goto_3
  1245. :goto_2
  1246. throw v0
  1247. :goto_3
  1248. goto :goto_2
  1249. .end method
  1250. .method public declared-synchronized remove(Ljava/lang/String;)Z
  1251. .locals 6
  1252. .annotation system Ldalvik/annotation/Throws;
  1253. value = {
  1254. Ljava/io/IOException;
  1255. }
  1256. .end annotation
  1257. monitor-enter p0
  1258. :try_start_0
  1259. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->initialize()V
  1260. invoke-direct {p0}, Lokhttp3/internal/cache/DiskLruCache;->checkNotClosed()V
  1261. invoke-direct {p0, p1}, Lokhttp3/internal/cache/DiskLruCache;->validateKey(Ljava/lang/String;)V
  1262. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  1263. invoke-virtual {v0, p1}, Ljava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
  1264. move-result-object p1
  1265. check-cast p1, Lokhttp3/internal/cache/DiskLruCache$Entry;
  1266. :try_end_0
  1267. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  1268. const/4 v0, 0x0
  1269. if-nez p1, :cond_0
  1270. monitor-exit p0
  1271. return v0
  1272. :cond_0
  1273. :try_start_1
  1274. invoke-virtual {p0, p1}, Lokhttp3/internal/cache/DiskLruCache;->removeEntry(Lokhttp3/internal/cache/DiskLruCache$Entry;)Z
  1275. move-result p1
  1276. if-eqz p1, :cond_1
  1277. iget-wide v1, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J
  1278. iget-wide v3, p0, Lokhttp3/internal/cache/DiskLruCache;->maxSize:J
  1279. cmp-long v5, v1, v3
  1280. if-gtz v5, :cond_1
  1281. iput-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentTrimFailed:Z
  1282. :try_end_1
  1283. .catchall {:try_start_1 .. :try_end_1} :catchall_0
  1284. :cond_1
  1285. monitor-exit p0
  1286. return p1
  1287. :catchall_0
  1288. move-exception p1
  1289. monitor-exit p0
  1290. throw p1
  1291. .end method
  1292. .method removeEntry(Lokhttp3/internal/cache/DiskLruCache$Entry;)Z
  1293. .locals 6
  1294. .annotation system Ldalvik/annotation/Throws;
  1295. value = {
  1296. Ljava/io/IOException;
  1297. }
  1298. .end annotation
  1299. iget-object v0, p1, Lokhttp3/internal/cache/DiskLruCache$Entry;->currentEditor:Lokhttp3/internal/cache/DiskLruCache$Editor;
  1300. if-eqz v0, :cond_0
  1301. invoke-virtual {v0}, Lokhttp3/internal/cache/DiskLruCache$Editor;->detach()V
  1302. :cond_0
  1303. const/4 v0, 0x0
  1304. :goto_0
  1305. iget v1, p0, Lokhttp3/internal/cache/DiskLruCache;->valueCount:I
  1306. if-ge v0, v1, :cond_1
  1307. iget-object v1, p0, Lokhttp3/internal/cache/DiskLruCache;->fileSystem:Lokhttp3/internal/io/FileSystem;
  1308. iget-object v2, p1, Lokhttp3/internal/cache/DiskLruCache$Entry;->cleanFiles:[Ljava/io/File;
  1309. aget-object v2, v2, v0
  1310. invoke-interface {v1, v2}, Lokhttp3/internal/io/FileSystem;->delete(Ljava/io/File;)V
  1311. iget-wide v1, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J
  1312. iget-object v3, p1, Lokhttp3/internal/cache/DiskLruCache$Entry;->lengths:[J
  1313. aget-wide v4, v3, v0
  1314. sub-long/2addr v1, v4
  1315. iput-wide v1, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J
  1316. const-wide/16 v1, 0x0
  1317. aput-wide v1, v3, v0
  1318. add-int/lit8 v0, v0, 0x1
  1319. goto :goto_0
  1320. :cond_1
  1321. iget v0, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I
  1322. const/4 v1, 0x1
  1323. add-int/2addr v0, v1
  1324. iput v0, p0, Lokhttp3/internal/cache/DiskLruCache;->redundantOpCount:I
  1325. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->journalWriter:Lokio/BufferedSink;
  1326. const-string v2, "REMOVE"
  1327. invoke-interface {v0, v2}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  1328. move-result-object v0
  1329. const/16 v2, 0x20
  1330. invoke-interface {v0, v2}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  1331. move-result-object v0
  1332. iget-object v2, p1, Lokhttp3/internal/cache/DiskLruCache$Entry;->key:Ljava/lang/String;
  1333. invoke-interface {v0, v2}, Lokio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lokio/BufferedSink;
  1334. move-result-object v0
  1335. const/16 v2, 0xa
  1336. invoke-interface {v0, v2}, Lokio/BufferedSink;->writeByte(I)Lokio/BufferedSink;
  1337. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  1338. iget-object p1, p1, Lokhttp3/internal/cache/DiskLruCache$Entry;->key:Ljava/lang/String;
  1339. invoke-virtual {v0, p1}, Ljava/util/LinkedHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
  1340. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->journalRebuildRequired()Z
  1341. move-result p1
  1342. if-eqz p1, :cond_2
  1343. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->executor:Ljava/util/concurrent/Executor;
  1344. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupRunnable:Ljava/lang/Runnable;
  1345. invoke-interface {p1, v0}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
  1346. :cond_2
  1347. return v1
  1348. .end method
  1349. .method public declared-synchronized setMaxSize(J)V
  1350. .locals 0
  1351. monitor-enter p0
  1352. :try_start_0
  1353. iput-wide p1, p0, Lokhttp3/internal/cache/DiskLruCache;->maxSize:J
  1354. iget-boolean p1, p0, Lokhttp3/internal/cache/DiskLruCache;->initialized:Z
  1355. if-eqz p1, :cond_0
  1356. iget-object p1, p0, Lokhttp3/internal/cache/DiskLruCache;->executor:Ljava/util/concurrent/Executor;
  1357. iget-object p2, p0, Lokhttp3/internal/cache/DiskLruCache;->cleanupRunnable:Ljava/lang/Runnable;
  1358. invoke-interface {p1, p2}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
  1359. :try_end_0
  1360. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  1361. :cond_0
  1362. monitor-exit p0
  1363. return-void
  1364. :catchall_0
  1365. move-exception p1
  1366. monitor-exit p0
  1367. throw p1
  1368. .end method
  1369. .method public declared-synchronized size()J
  1370. .locals 2
  1371. .annotation system Ldalvik/annotation/Throws;
  1372. value = {
  1373. Ljava/io/IOException;
  1374. }
  1375. .end annotation
  1376. monitor-enter p0
  1377. :try_start_0
  1378. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->initialize()V
  1379. iget-wide v0, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J
  1380. :try_end_0
  1381. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  1382. monitor-exit p0
  1383. return-wide v0
  1384. :catchall_0
  1385. move-exception v0
  1386. monitor-exit p0
  1387. throw v0
  1388. .end method
  1389. .method public declared-synchronized snapshots()Ljava/util/Iterator;
  1390. .locals 1
  1391. .annotation system Ldalvik/annotation/Signature;
  1392. value = {
  1393. "()",
  1394. "Ljava/util/Iterator<",
  1395. "Lokhttp3/internal/cache/DiskLruCache$Snapshot;",
  1396. ">;"
  1397. }
  1398. .end annotation
  1399. .annotation system Ldalvik/annotation/Throws;
  1400. value = {
  1401. Ljava/io/IOException;
  1402. }
  1403. .end annotation
  1404. monitor-enter p0
  1405. :try_start_0
  1406. invoke-virtual {p0}, Lokhttp3/internal/cache/DiskLruCache;->initialize()V
  1407. new-instance v0, Lokhttp3/internal/cache/DiskLruCache$3;
  1408. invoke-direct {v0, p0}, Lokhttp3/internal/cache/DiskLruCache$3;-><init>(Lokhttp3/internal/cache/DiskLruCache;)V
  1409. :try_end_0
  1410. .catchall {:try_start_0 .. :try_end_0} :catchall_0
  1411. monitor-exit p0
  1412. return-object v0
  1413. :catchall_0
  1414. move-exception v0
  1415. monitor-exit p0
  1416. throw v0
  1417. .end method
  1418. .method trimToSize()V
  1419. .locals 5
  1420. .annotation system Ldalvik/annotation/Throws;
  1421. value = {
  1422. Ljava/io/IOException;
  1423. }
  1424. .end annotation
  1425. :goto_0
  1426. iget-wide v0, p0, Lokhttp3/internal/cache/DiskLruCache;->size:J
  1427. iget-wide v2, p0, Lokhttp3/internal/cache/DiskLruCache;->maxSize:J
  1428. cmp-long v4, v0, v2
  1429. if-lez v4, :cond_0
  1430. iget-object v0, p0, Lokhttp3/internal/cache/DiskLruCache;->lruEntries:Ljava/util/LinkedHashMap;
  1431. invoke-virtual {v0}, Ljava/util/LinkedHashMap;->values()Ljava/util/Collection;
  1432. move-result-object v0
  1433. invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
  1434. move-result-object v0
  1435. invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
  1436. move-result-object v0
  1437. check-cast v0, Lokhttp3/internal/cache/DiskLruCache$Entry;
  1438. invoke-virtual {p0, v0}, Lokhttp3/internal/cache/DiskLruCache;->removeEntry(Lokhttp3/internal/cache/DiskLruCache$Entry;)Z
  1439. goto :goto_0
  1440. :cond_0
  1441. const/4 v0, 0x0
  1442. iput-boolean v0, p0, Lokhttp3/internal/cache/DiskLruCache;->mostRecentTrimFailed:Z
  1443. return-void
  1444. .end method