CrackMe.apk
Download file
package com.google.android.exoplayer2.upstream.cache;
import java.util.TreeSet;
public final class LeastRecentlyUsedCacheEvictor implements CacheEvictor {
private long currentSize;
private final TreeSet<CacheSpan> leastRecentlyUsed = new TreeSet<>(LeastRecentlyUsedCacheEvictor$$ExternalSyntheticLambda0.INSTANCE);
private final long maxBytes;
public void onCacheInitialized() {
}
public boolean requiresCacheSpanTouches() {
return true;
}
public LeastRecentlyUsedCacheEvictor(long j) {
this.maxBytes = j;
}
public void onStartFile(Cache cache, String str, long j, long j2) {
if (j2 != -1) {
evictCache(cache, j2);
}
}
public void onSpanAdded(Cache cache, CacheSpan cacheSpan) {
this.leastRecentlyUsed.add(cacheSpan);
this.currentSize += cacheSpan.length;
evictCache(cache, 0);
}
public void onSpanRemoved(Cache cache, CacheSpan cacheSpan) {
this.leastRecentlyUsed.remove(cacheSpan);
this.currentSize -= cacheSpan.length;
}
public void onSpanTouched(Cache cache, CacheSpan cacheSpan, CacheSpan cacheSpan2) {
onSpanRemoved(cache, cacheSpan);
onSpanAdded(cache, cacheSpan2);
}
private void evictCache(Cache cache, long j) {
while (this.currentSize + j > this.maxBytes && !this.leastRecentlyUsed.isEmpty()) {
cache.removeSpan(this.leastRecentlyUsed.first());
}
}
/* access modifiers changed from: private */
public static int compare(CacheSpan cacheSpan, CacheSpan cacheSpan2) {
if (cacheSpan.lastTouchTimestamp - cacheSpan2.lastTouchTimestamp == 0) {
return cacheSpan.compareTo(cacheSpan2);
}
return cacheSpan.lastTouchTimestamp < cacheSpan2.lastTouchTimestamp ? -1 : 1;
}
}
Download file