CrackMe.apk
Download file
package com.facebook.imagepipeline.memory;
import com.facebook.common.internal.Preconditions;
import com.facebook.common.internal.Throwables;
import com.facebook.common.memory.PooledByteBufferFactory;
import com.facebook.common.memory.PooledByteStreams;
import com.facebook.common.references.CloseableReference;
import java.io.IOException;
import java.io.InputStream;
public class MemoryPooledByteBufferFactory implements PooledByteBufferFactory {
private final MemoryChunkPool mPool;
private final PooledByteStreams mPooledByteStreams;
public MemoryPooledByteBufferFactory(MemoryChunkPool memoryChunkPool, PooledByteStreams pooledByteStreams) {
this.mPool = memoryChunkPool;
this.mPooledByteStreams = pooledByteStreams;
}
public MemoryPooledByteBuffer newByteBuffer(int i) {
Preconditions.checkArgument(Boolean.valueOf(i > 0));
CloseableReference of = CloseableReference.of(this.mPool.get(i), this.mPool);
try {
return new MemoryPooledByteBuffer(of, i);
} finally {
of.close();
}
}
public MemoryPooledByteBuffer newByteBuffer(InputStream inputStream) throws IOException {
MemoryPooledByteBufferOutputStream memoryPooledByteBufferOutputStream = new MemoryPooledByteBufferOutputStream(this.mPool);
try {
return newByteBuf(inputStream, memoryPooledByteBufferOutputStream);
} finally {
memoryPooledByteBufferOutputStream.close();
}
}
public MemoryPooledByteBuffer newByteBuffer(byte[] bArr) {
MemoryPooledByteBufferOutputStream memoryPooledByteBufferOutputStream = new MemoryPooledByteBufferOutputStream(this.mPool, bArr.length);
try {
memoryPooledByteBufferOutputStream.write(bArr, 0, bArr.length);
MemoryPooledByteBuffer byteBuffer = memoryPooledByteBufferOutputStream.toByteBuffer();
memoryPooledByteBufferOutputStream.close();
return byteBuffer;
} catch (IOException e) {
throw Throwables.propagate(e);
} catch (Throwable th) {
memoryPooledByteBufferOutputStream.close();
throw th;
}
}
public MemoryPooledByteBuffer newByteBuffer(InputStream inputStream, int i) throws IOException {
MemoryPooledByteBufferOutputStream memoryPooledByteBufferOutputStream = new MemoryPooledByteBufferOutputStream(this.mPool, i);
try {
return newByteBuf(inputStream, memoryPooledByteBufferOutputStream);
} finally {
memoryPooledByteBufferOutputStream.close();
}
}
/* access modifiers changed from: package-private */
public MemoryPooledByteBuffer newByteBuf(InputStream inputStream, MemoryPooledByteBufferOutputStream memoryPooledByteBufferOutputStream) throws IOException {
this.mPooledByteStreams.copy(inputStream, memoryPooledByteBufferOutputStream);
return memoryPooledByteBufferOutputStream.toByteBuffer();
}
public MemoryPooledByteBufferOutputStream newOutputStream() {
return new MemoryPooledByteBufferOutputStream(this.mPool);
}
public MemoryPooledByteBufferOutputStream newOutputStream(int i) {
return new MemoryPooledByteBufferOutputStream(this.mPool, i);
}
}
Download file