.class public Landroidx/collection/LruCache; .super Ljava/lang/Object; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/Signature; value = { "", "Ljava/lang/Object;" } .end annotation .annotation build Lkotlin/jvm/internal/SourceDebugExtension; value = { "SMAP\nLruCache.kt\nKotlin\n*S Kotlin\n*F\n+ 1 LruCache.kt\nandroidx/collection/LruCache\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n+ 3 LockExt.kt\nandroidx/collection/internal/LockExtKt\n+ 4 Lock.jvm.kt\nandroidx/collection/internal/Lock\n+ 5 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n*L\n1#1,355:1\n1#2:356\n23#3,3:357\n23#3,3:361\n23#3,3:365\n23#3,3:369\n23#3,3:373\n23#3,3:377\n23#3,3:381\n23#3,3:385\n23#3,3:389\n23#3,3:393\n23#3,3:397\n23#3,3:401\n23#3,3:405\n23#3,3:409\n23#3,3:415\n26#4:360\n26#4:364\n26#4:368\n26#4:372\n26#4:376\n26#4:380\n26#4:384\n26#4:388\n26#4:392\n26#4:396\n26#4:400\n26#4:404\n26#4:408\n26#4:412\n26#4:418\n1855#5,2:413\n*S KotlinDebug\n*F\n+ 1 LruCache.kt\nandroidx/collection/LruCache\n*L\n65#1:357,3\n78#1:361,3\n95#1:365,3\n122#1:369,3\n151#1:373,3\n180#1:377,3\n255#1:381,3\n262#1:385,3\n268#1:389,3\n274#1:393,3\n279#1:397,3\n284#1:401,3\n289#1:405,3\n299#1:409,3\n308#1:415,3\n65#1:360\n78#1:364\n95#1:368\n122#1:372\n151#1:376\n180#1:380\n255#1:384\n262#1:388\n268#1:392\n274#1:396\n279#1:400\n284#1:404\n289#1:408\n299#1:412\n308#1:418\n300#1:413,2\n*E\n" } .end annotation # instance fields .field private createCount:I .field private evictionCount:I .field private hitCount:I .field private final lock:Landroidx/collection/internal/Lock; .field private final map:Landroidx/collection/internal/LruHashMap; .annotation system Ldalvik/annotation/Signature; value = { "Landroidx/collection/internal/LruHashMap<", "TK;TV;>;" } .end annotation .end field .field private maxSize:I .field private missCount:I .field private putCount:I .field private size:I # direct methods .method public constructor (I)V .locals 2 .param p1 # I .annotation build Landroidx/annotation/IntRange; from = 0x1L to = 0x7fffffffffffffffL .end annotation .end param .line 36 invoke-direct {p0}, Ljava/lang/Object;->()V iput p1, p0, Landroidx/collection/LruCache;->maxSize:I if-lez p1, :cond_0 .line 43 new-instance p1, Landroidx/collection/internal/LruHashMap; const/4 v0, 0x0 const/high16 v1, 0x3f400000 # 0.75f invoke-direct {p1, v0, v1}, Landroidx/collection/internal/LruHashMap;->(IF)V iput-object p1, p0, Landroidx/collection/LruCache;->map:Landroidx/collection/internal/LruHashMap; .line 44 new-instance p1, Landroidx/collection/internal/Lock; invoke-direct {p1}, Landroidx/collection/internal/Lock;->()V iput-object p1, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; return-void .line 40 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "maxSize <= 0" invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method private final safeSizeOf(Ljava/lang/Object;Ljava/lang/Object;)I .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(TK;TV;)I" } .end annotation .line 229 invoke-virtual {p0, p1, p2}, Landroidx/collection/LruCache;->sizeOf(Ljava/lang/Object;Ljava/lang/Object;)I move-result v0 if-ltz v0, :cond_0 return v0 .line 230 :cond_0 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "Negative size: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const/16 p1, 0x3d invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 new-instance p2, Ljava/lang/IllegalStateException; invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p2 .end method # virtual methods .method public create(Ljava/lang/Object;)Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(TK;)TV;" } .end annotation const-string v0, "key" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const/4 p1, 0x0 return-object p1 .end method .method public final createCount()I .locals 2 iget-object v0, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v0 :try_start_0 iget v1, p0, Landroidx/collection/LruCache;->createCount:I :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return v1 :catchall_0 move-exception v1 monitor-exit v0 throw v1 .end method .method public entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(ZTK;TV;TV;)V" } .end annotation const-string p1, "key" invoke-static {p2, p1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string p1, "oldValue" invoke-static {p3, p1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V return-void .end method .method public final evictAll()V .locals 1 const/4 v0, -0x1 .line 247 invoke-virtual {p0, v0}, Landroidx/collection/LruCache;->trimToSize(I)V return-void .end method .method public final evictionCount()I .locals 2 iget-object v0, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v0 :try_start_0 iget v1, p0, Landroidx/collection/LruCache;->evictionCount:I :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return v1 :catchall_0 move-exception v1 monitor-exit v0 throw v1 .end method .method public final get(Ljava/lang/Object;)Ljava/lang/Object; .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "(TK;)TV;" } .end annotation const-string v0, "key" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V iget-object v0, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v0 :try_start_0 iget-object v1, p0, Landroidx/collection/LruCache;->map:Landroidx/collection/internal/LruHashMap; .line 79 invoke-virtual {v1, p1}, Landroidx/collection/internal/LruHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 if-eqz v1, :cond_0 iget p1, p0, Landroidx/collection/LruCache;->hitCount:I add-int/lit8 p1, p1, 0x1 iput p1, p0, Landroidx/collection/LruCache;->hitCount:I :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 82 monitor-exit v0 return-object v1 :catchall_0 move-exception p1 goto :goto_3 :cond_0 :try_start_1 iget v1, p0, Landroidx/collection/LruCache;->missCount:I add-int/lit8 v1, v1, 0x1 iput v1, p0, Landroidx/collection/LruCache;->missCount:I :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 26 monitor-exit v0 .line 93 invoke-virtual {p0, p1}, Landroidx/collection/LruCache;->create(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 if-nez v0, :cond_1 const/4 p1, 0x0 return-object p1 :cond_1 iget-object v1, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v1 :try_start_2 iget v2, p0, Landroidx/collection/LruCache;->createCount:I add-int/lit8 v2, v2, 0x1 iput v2, p0, Landroidx/collection/LruCache;->createCount:I iget-object v2, p0, Landroidx/collection/LruCache;->map:Landroidx/collection/internal/LruHashMap; .line 97 invoke-virtual {v2, p1, v0}, Landroidx/collection/internal/LruHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 if-eqz v2, :cond_2 iget-object v3, p0, Landroidx/collection/LruCache;->map:Landroidx/collection/internal/LruHashMap; .line 100 invoke-virtual {v3, p1, v2}, Landroidx/collection/internal/LruHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 :catchall_1 move-exception p1 goto :goto_2 :cond_2 iget v3, p0, Landroidx/collection/LruCache;->size:I .line 102 invoke-direct {p0, p1, v0}, Landroidx/collection/LruCache;->safeSizeOf(Ljava/lang/Object;Ljava/lang/Object;)I move-result v4 add-int/2addr v3, v4 iput v3, p0, Landroidx/collection/LruCache;->size:I sget-object v3, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_1 .line 26 :goto_0 monitor-exit v1 if-eqz v2, :cond_3 const/4 v1, 0x0 .line 107 invoke-virtual {p0, v1, p1, v0, v2}, Landroidx/collection/LruCache;->entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V move-object v0, v2 goto :goto_1 :cond_3 iget p1, p0, Landroidx/collection/LruCache;->maxSize:I .line 110 invoke-virtual {p0, p1}, Landroidx/collection/LruCache;->trimToSize(I)V :goto_1 return-object v0 .line 26 :goto_2 monitor-exit v1 throw p1 .line 26 :goto_3 monitor-exit v0 throw p1 .end method .method public final hitCount()I .locals 2 iget-object v0, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v0 :try_start_0 iget v1, p0, Landroidx/collection/LruCache;->hitCount:I :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return v1 :catchall_0 move-exception v1 monitor-exit v0 throw v1 .end method .method public final maxSize()I .locals 2 iget-object v0, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v0 :try_start_0 iget v1, p0, Landroidx/collection/LruCache;->maxSize:I :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return v1 :catchall_0 move-exception v1 monitor-exit v0 throw v1 .end method .method public final missCount()I .locals 2 iget-object v0, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v0 :try_start_0 iget v1, p0, Landroidx/collection/LruCache;->missCount:I :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return v1 :catchall_0 move-exception v1 monitor-exit v0 throw v1 .end method .method public final put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(TK;TV;)TV;" } .end annotation const-string v0, "key" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "value" invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V iget-object v0, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v0 :try_start_0 iget v1, p0, Landroidx/collection/LruCache;->putCount:I add-int/lit8 v1, v1, 0x1 iput v1, p0, Landroidx/collection/LruCache;->putCount:I iget v1, p0, Landroidx/collection/LruCache;->size:I .line 124 invoke-direct {p0, p1, p2}, Landroidx/collection/LruCache;->safeSizeOf(Ljava/lang/Object;Ljava/lang/Object;)I move-result v2 add-int/2addr v1, v2 iput v1, p0, Landroidx/collection/LruCache;->size:I iget-object v1, p0, Landroidx/collection/LruCache;->map:Landroidx/collection/internal/LruHashMap; .line 125 invoke-virtual {v1, p1, p2}, Landroidx/collection/internal/LruHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 if-eqz v1, :cond_0 iget v2, p0, Landroidx/collection/LruCache;->size:I .line 127 invoke-direct {p0, p1, v1}, Landroidx/collection/LruCache;->safeSizeOf(Ljava/lang/Object;Ljava/lang/Object;)I move-result v3 sub-int/2addr v2, v3 iput v2, p0, Landroidx/collection/LruCache;->size:I goto :goto_0 :catchall_0 move-exception p1 goto :goto_1 .line 129 :cond_0 :goto_0 sget-object v2, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 26 monitor-exit v0 if-eqz v1, :cond_1 const/4 v0, 0x0 .line 132 invoke-virtual {p0, v0, p1, v1, p2}, Landroidx/collection/LruCache;->entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V :cond_1 iget p1, p0, Landroidx/collection/LruCache;->maxSize:I .line 135 invoke-virtual {p0, p1}, Landroidx/collection/LruCache;->trimToSize(I)V return-object v1 .line 26 :goto_1 monitor-exit v0 throw p1 .end method .method public final putCount()I .locals 2 iget-object v0, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v0 :try_start_0 iget v1, p0, Landroidx/collection/LruCache;->putCount:I :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return v1 :catchall_0 move-exception v1 monitor-exit v0 throw v1 .end method .method public final remove(Ljava/lang/Object;)Ljava/lang/Object; .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(TK;)TV;" } .end annotation const-string v0, "key" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V iget-object v0, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v0 :try_start_0 iget-object v1, p0, Landroidx/collection/LruCache;->map:Landroidx/collection/internal/LruHashMap; .line 181 invoke-virtual {v1, p1}, Landroidx/collection/internal/LruHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 if-eqz v1, :cond_0 iget v2, p0, Landroidx/collection/LruCache;->size:I .line 183 invoke-direct {p0, p1, v1}, Landroidx/collection/LruCache;->safeSizeOf(Ljava/lang/Object;Ljava/lang/Object;)I move-result v3 sub-int/2addr v2, v3 iput v2, p0, Landroidx/collection/LruCache;->size:I goto :goto_0 :catchall_0 move-exception p1 goto :goto_1 .line 185 :cond_0 :goto_0 sget-object v2, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 26 monitor-exit v0 if-eqz v1, :cond_1 const/4 v0, 0x0 const/4 v2, 0x0 .line 188 invoke-virtual {p0, v0, p1, v1, v2}, Landroidx/collection/LruCache;->entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V :cond_1 return-object v1 .line 26 :goto_1 monitor-exit v0 throw p1 .end method .method public resize(I)V .locals 2 .param p1 # I .annotation build Landroidx/annotation/IntRange; from = 0x1L to = 0x7fffffffffffffffL .end annotation .end param if-lez p1, :cond_0 iget-object v0, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v0 :try_start_0 iput p1, p0, Landroidx/collection/LruCache;->maxSize:I .line 67 sget-object v1, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 26 monitor-exit v0 .line 68 invoke-virtual {p0, p1}, Landroidx/collection/LruCache;->trimToSize(I)V return-void :catchall_0 move-exception p1 .line 26 monitor-exit v0 throw p1 :cond_0 const-string p1, "maxSize <= 0" .line 63 new-instance v0, Ljava/lang/IllegalArgumentException; invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .end method .method public final size()I .locals 2 iget-object v0, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v0 :try_start_0 iget v1, p0, Landroidx/collection/LruCache;->size:I :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return v1 :catchall_0 move-exception v1 monitor-exit v0 throw v1 .end method .method public sizeOf(Ljava/lang/Object;Ljava/lang/Object;)I .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(TK;TV;)I" } .end annotation const-string v0, "key" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string p1, "value" invoke-static {p2, p1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const/4 p1, 0x1 return p1 .end method .method public final snapshot()Ljava/util/Map; .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Map<", "TK;TV;>;" } .end annotation .line 298 new-instance v0, Ljava/util/LinkedHashMap; invoke-direct {v0}, Ljava/util/LinkedHashMap;->()V iget-object v1, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v1 :try_start_0 iget-object v2, p0, Landroidx/collection/LruCache;->map:Landroidx/collection/internal/LruHashMap; .line 300 invoke-virtual {v2}, Landroidx/collection/internal/LruHashMap;->getEntries()Ljava/util/Set; move-result-object v2 .line 1855 invoke-interface {v2}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object v2 :goto_0 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z move-result v3 if-eqz v3, :cond_0 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/util/Map$Entry; .line 300 invoke-interface {v3}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; move-result-object v4 invoke-interface {v3}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v3 .line 301 invoke-interface {v0, v4, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 :catchall_0 move-exception v0 goto :goto_1 .line 303 :cond_0 sget-object v2, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 26 monitor-exit v1 return-object v0 :goto_1 monitor-exit v1 throw v0 .end method .method public toString()Ljava/lang/String; .locals 4 iget-object v0, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v0 :try_start_0 iget v1, p0, Landroidx/collection/LruCache;->hitCount:I iget v2, p0, Landroidx/collection/LruCache;->missCount:I add-int/2addr v2, v1 if-eqz v2, :cond_0 mul-int/lit8 v1, v1, 0x64 .line 311 div-int/2addr v1, v2 goto :goto_0 :catchall_0 move-exception v1 goto :goto_1 :cond_0 const/4 v1, 0x0 .line 316 :goto_0 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "LruCache[maxSize=" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget v3, p0, Landroidx/collection/LruCache;->maxSize:I invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v3, ",hits=" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget v3, p0, Landroidx/collection/LruCache;->hitCount:I invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v3, ",misses=" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget v3, p0, Landroidx/collection/LruCache;->missCount:I invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v3, ",hitRate=" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v1, "%]" invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit v0 return-object v1 :goto_1 monitor-exit v0 throw v1 .end method .method public trimToSize(I)V .locals 5 :goto_0 iget-object v0, p0, Landroidx/collection/LruCache;->lock:Landroidx/collection/internal/Lock; .line 26 monitor-enter v0 :try_start_0 iget v1, p0, Landroidx/collection/LruCache;->size:I if-ltz v1, :cond_4 iget-object v1, p0, Landroidx/collection/LruCache;->map:Landroidx/collection/internal/LruHashMap; .line 152 invoke-virtual {v1}, Landroidx/collection/internal/LruHashMap;->isEmpty()Z move-result v1 if-eqz v1, :cond_0 iget v1, p0, Landroidx/collection/LruCache;->size:I if-nez v1, :cond_4 goto :goto_1 :catchall_0 move-exception p1 goto :goto_3 :cond_0 :goto_1 iget v1, p0, Landroidx/collection/LruCache;->size:I if-le v1, p1, :cond_3 iget-object v1, p0, Landroidx/collection/LruCache;->map:Landroidx/collection/internal/LruHashMap; .line 156 invoke-virtual {v1}, Landroidx/collection/internal/LruHashMap;->isEmpty()Z move-result v1 if-eqz v1, :cond_1 goto :goto_2 :cond_1 iget-object v1, p0, Landroidx/collection/LruCache;->map:Landroidx/collection/internal/LruHashMap; .line 160 invoke-virtual {v1}, Landroidx/collection/internal/LruHashMap;->getEntries()Ljava/util/Set; move-result-object v1 invoke-static {v1}, Lkotlin/collections/CollectionsKt;->firstOrNull(Ljava/lang/Iterable;)Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/util/Map$Entry; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-nez v1, :cond_2 monitor-exit v0 return-void .line 162 :cond_2 :try_start_1 invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object; move-result-object v2 .line 163 invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object; move-result-object v1 iget-object v3, p0, Landroidx/collection/LruCache;->map:Landroidx/collection/internal/LruHashMap; .line 164 invoke-virtual {v3, v2}, Landroidx/collection/internal/LruHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; iget v3, p0, Landroidx/collection/LruCache;->size:I .line 165 invoke-direct {p0, v2, v1}, Landroidx/collection/LruCache;->safeSizeOf(Ljava/lang/Object;Ljava/lang/Object;)I move-result v4 sub-int/2addr v3, v4 iput v3, p0, Landroidx/collection/LruCache;->size:I iget v3, p0, Landroidx/collection/LruCache;->evictionCount:I const/4 v4, 0x1 add-int/2addr v3, v4 iput v3, p0, Landroidx/collection/LruCache;->evictionCount:I :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 26 monitor-exit v0 const/4 v0, 0x0 .line 169 invoke-virtual {p0, v4, v2, v1, v0}, Landroidx/collection/LruCache;->entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V goto :goto_0 .line 157 :cond_3 :goto_2 monitor-exit v0 return-void :cond_4 :try_start_2 const-string p1, "LruCache.sizeOf() is reporting inconsistent results!" .line 152 new-instance v1, Ljava/lang/IllegalStateException; invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v1, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v1 :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_0 .line 26 :goto_3 monitor-exit v0 throw p1 .end method