CrackMe.apk
Download file
package com.facebook.cache.disk;
import com.facebook.cache.common.CacheEvent;
import com.facebook.cache.common.CacheEventListener;
import com.facebook.cache.common.CacheKey;
import java.io.IOException;
import javax.annotation.Nullable;
public class SettableCacheEvent implements CacheEvent {
private static final int MAX_RECYCLED = 5;
private static final Object RECYCLER_LOCK = new Object();
@Nullable
private static SettableCacheEvent sFirstRecycledEvent;
private static int sRecycledCount;
@Nullable
private CacheKey mCacheKey;
private long mCacheLimit;
private long mCacheSize;
@Nullable
private CacheEventListener.EvictionReason mEvictionReason;
@Nullable
private IOException mException;
private long mItemSize;
@Nullable
private SettableCacheEvent mNextRecycledEvent;
@Nullable
private String mResourceId;
public static SettableCacheEvent obtain() {
synchronized (RECYCLER_LOCK) {
SettableCacheEvent settableCacheEvent = sFirstRecycledEvent;
if (settableCacheEvent == null) {
return new SettableCacheEvent();
}
sFirstRecycledEvent = settableCacheEvent.mNextRecycledEvent;
settableCacheEvent.mNextRecycledEvent = null;
sRecycledCount--;
return settableCacheEvent;
}
}
private SettableCacheEvent() {
}
@Nullable
public CacheKey getCacheKey() {
return this.mCacheKey;
}
public SettableCacheEvent setCacheKey(CacheKey cacheKey) {
this.mCacheKey = cacheKey;
return this;
}
@Nullable
public String getResourceId() {
return this.mResourceId;
}
public SettableCacheEvent setResourceId(String str) {
this.mResourceId = str;
return this;
}
public long getItemSize() {
return this.mItemSize;
}
public SettableCacheEvent setItemSize(long j) {
this.mItemSize = j;
return this;
}
public long getCacheSize() {
return this.mCacheSize;
}
public SettableCacheEvent setCacheSize(long j) {
this.mCacheSize = j;
return this;
}
public long getCacheLimit() {
return this.mCacheLimit;
}
public SettableCacheEvent setCacheLimit(long j) {
this.mCacheLimit = j;
return this;
}
@Nullable
public IOException getException() {
return this.mException;
}
public SettableCacheEvent setException(IOException iOException) {
this.mException = iOException;
return this;
}
@Nullable
public CacheEventListener.EvictionReason getEvictionReason() {
return this.mEvictionReason;
}
public SettableCacheEvent setEvictionReason(CacheEventListener.EvictionReason evictionReason) {
this.mEvictionReason = evictionReason;
return this;
}
public void recycle() {
synchronized (RECYCLER_LOCK) {
if (sRecycledCount < 5) {
reset();
sRecycledCount++;
SettableCacheEvent settableCacheEvent = sFirstRecycledEvent;
if (settableCacheEvent != null) {
this.mNextRecycledEvent = settableCacheEvent;
}
sFirstRecycledEvent = this;
}
}
}
private void reset() {
this.mCacheKey = null;
this.mResourceId = null;
this.mItemSize = 0;
this.mCacheLimit = 0;
this.mCacheSize = 0;
this.mException = null;
this.mEvictionReason = null;
}
}
Download file