CrackMe.apk
Download file
package com.facebook.imagepipeline.memory;
import com.facebook.common.internal.Preconditions;
import com.facebook.common.memory.MemoryTrimmableRegistry;
import com.facebook.common.memory.NoOpMemoryTrimmableRegistry;
import com.facebook.imagepipeline.systrace.FrescoSystrace;
import javax.annotation.Nullable;
public class PoolConfig {
public static final int BITMAP_POOL_MAX_BITMAP_SIZE_DEFAULT = 4194304;
private final int mBitmapPoolMaxBitmapSize;
private final int mBitmapPoolMaxPoolSize;
private final PoolParams mBitmapPoolParams;
private final PoolStatsTracker mBitmapPoolStatsTracker;
private final String mBitmapPoolType;
private final PoolParams mFlexByteArrayPoolParams;
private final boolean mIgnoreBitmapPoolHardCap;
private final PoolParams mMemoryChunkPoolParams;
private final PoolStatsTracker mMemoryChunkPoolStatsTracker;
private final MemoryTrimmableRegistry mMemoryTrimmableRegistry;
private final boolean mRegisterLruBitmapPoolAsMemoryTrimmable;
private final PoolParams mSmallByteArrayPoolParams;
private final PoolStatsTracker mSmallByteArrayPoolStatsTracker;
private PoolConfig(Builder builder) {
PoolParams poolParams;
PoolStatsTracker poolStatsTracker;
PoolParams poolParams2;
MemoryTrimmableRegistry memoryTrimmableRegistry;
PoolParams poolParams3;
PoolStatsTracker poolStatsTracker2;
PoolParams poolParams4;
PoolStatsTracker poolStatsTracker3;
if (FrescoSystrace.isTracing()) {
FrescoSystrace.beginSection("PoolConfig()");
}
if (builder.mBitmapPoolParams == null) {
poolParams = DefaultBitmapPoolParams.get();
} else {
poolParams = builder.mBitmapPoolParams;
}
this.mBitmapPoolParams = poolParams;
if (builder.mBitmapPoolStatsTracker == null) {
poolStatsTracker = NoOpPoolStatsTracker.getInstance();
} else {
poolStatsTracker = builder.mBitmapPoolStatsTracker;
}
this.mBitmapPoolStatsTracker = poolStatsTracker;
if (builder.mFlexByteArrayPoolParams == null) {
poolParams2 = DefaultFlexByteArrayPoolParams.get();
} else {
poolParams2 = builder.mFlexByteArrayPoolParams;
}
this.mFlexByteArrayPoolParams = poolParams2;
if (builder.mMemoryTrimmableRegistry == null) {
memoryTrimmableRegistry = NoOpMemoryTrimmableRegistry.getInstance();
} else {
memoryTrimmableRegistry = builder.mMemoryTrimmableRegistry;
}
this.mMemoryTrimmableRegistry = memoryTrimmableRegistry;
if (builder.mMemoryChunkPoolParams == null) {
poolParams3 = DefaultNativeMemoryChunkPoolParams.get();
} else {
poolParams3 = builder.mMemoryChunkPoolParams;
}
this.mMemoryChunkPoolParams = poolParams3;
if (builder.mMemoryChunkPoolStatsTracker == null) {
poolStatsTracker2 = NoOpPoolStatsTracker.getInstance();
} else {
poolStatsTracker2 = builder.mMemoryChunkPoolStatsTracker;
}
this.mMemoryChunkPoolStatsTracker = poolStatsTracker2;
if (builder.mSmallByteArrayPoolParams == null) {
poolParams4 = DefaultByteArrayPoolParams.get();
} else {
poolParams4 = builder.mSmallByteArrayPoolParams;
}
this.mSmallByteArrayPoolParams = poolParams4;
if (builder.mSmallByteArrayPoolStatsTracker == null) {
poolStatsTracker3 = NoOpPoolStatsTracker.getInstance();
} else {
poolStatsTracker3 = builder.mSmallByteArrayPoolStatsTracker;
}
this.mSmallByteArrayPoolStatsTracker = poolStatsTracker3;
this.mBitmapPoolType = builder.mBitmapPoolType == null ? "legacy" : builder.mBitmapPoolType;
this.mBitmapPoolMaxPoolSize = builder.mBitmapPoolMaxPoolSize;
this.mBitmapPoolMaxBitmapSize = builder.mBitmapPoolMaxBitmapSize > 0 ? builder.mBitmapPoolMaxBitmapSize : 4194304;
this.mRegisterLruBitmapPoolAsMemoryTrimmable = builder.mRegisterLruBitmapPoolAsMemoryTrimmable;
if (FrescoSystrace.isTracing()) {
FrescoSystrace.endSection();
}
this.mIgnoreBitmapPoolHardCap = builder.mIgnoreBitmapPoolHardCap;
}
public PoolParams getBitmapPoolParams() {
return this.mBitmapPoolParams;
}
public PoolStatsTracker getBitmapPoolStatsTracker() {
return this.mBitmapPoolStatsTracker;
}
public MemoryTrimmableRegistry getMemoryTrimmableRegistry() {
return this.mMemoryTrimmableRegistry;
}
public PoolParams getMemoryChunkPoolParams() {
return this.mMemoryChunkPoolParams;
}
public PoolStatsTracker getMemoryChunkPoolStatsTracker() {
return this.mMemoryChunkPoolStatsTracker;
}
public PoolParams getFlexByteArrayPoolParams() {
return this.mFlexByteArrayPoolParams;
}
public PoolParams getSmallByteArrayPoolParams() {
return this.mSmallByteArrayPoolParams;
}
public PoolStatsTracker getSmallByteArrayPoolStatsTracker() {
return this.mSmallByteArrayPoolStatsTracker;
}
public String getBitmapPoolType() {
return this.mBitmapPoolType;
}
public int getBitmapPoolMaxPoolSize() {
return this.mBitmapPoolMaxPoolSize;
}
public int getBitmapPoolMaxBitmapSize() {
return this.mBitmapPoolMaxBitmapSize;
}
public boolean isRegisterLruBitmapPoolAsMemoryTrimmable() {
return this.mRegisterLruBitmapPoolAsMemoryTrimmable;
}
public boolean isIgnoreBitmapPoolHardCap() {
return this.mIgnoreBitmapPoolHardCap;
}
public static Builder newBuilder() {
return new Builder();
}
public static class Builder {
/* access modifiers changed from: private */
public int mBitmapPoolMaxBitmapSize;
/* access modifiers changed from: private */
public int mBitmapPoolMaxPoolSize;
/* access modifiers changed from: private */
@Nullable
public PoolParams mBitmapPoolParams;
/* access modifiers changed from: private */
@Nullable
public PoolStatsTracker mBitmapPoolStatsTracker;
/* access modifiers changed from: private */
@Nullable
public String mBitmapPoolType;
/* access modifiers changed from: private */
@Nullable
public PoolParams mFlexByteArrayPoolParams;
public boolean mIgnoreBitmapPoolHardCap;
/* access modifiers changed from: private */
@Nullable
public PoolParams mMemoryChunkPoolParams;
/* access modifiers changed from: private */
@Nullable
public PoolStatsTracker mMemoryChunkPoolStatsTracker;
/* access modifiers changed from: private */
@Nullable
public MemoryTrimmableRegistry mMemoryTrimmableRegistry;
/* access modifiers changed from: private */
public boolean mRegisterLruBitmapPoolAsMemoryTrimmable;
/* access modifiers changed from: private */
@Nullable
public PoolParams mSmallByteArrayPoolParams;
/* access modifiers changed from: private */
@Nullable
public PoolStatsTracker mSmallByteArrayPoolStatsTracker;
private Builder() {
}
public Builder setBitmapPoolParams(PoolParams poolParams) {
this.mBitmapPoolParams = (PoolParams) Preconditions.checkNotNull(poolParams);
return this;
}
public Builder setBitmapPoolStatsTracker(PoolStatsTracker poolStatsTracker) {
this.mBitmapPoolStatsTracker = (PoolStatsTracker) Preconditions.checkNotNull(poolStatsTracker);
return this;
}
public Builder setFlexByteArrayPoolParams(PoolParams poolParams) {
this.mFlexByteArrayPoolParams = poolParams;
return this;
}
public Builder setMemoryTrimmableRegistry(MemoryTrimmableRegistry memoryTrimmableRegistry) {
this.mMemoryTrimmableRegistry = memoryTrimmableRegistry;
return this;
}
public Builder setNativeMemoryChunkPoolParams(PoolParams poolParams) {
this.mMemoryChunkPoolParams = (PoolParams) Preconditions.checkNotNull(poolParams);
return this;
}
public Builder setNativeMemoryChunkPoolStatsTracker(PoolStatsTracker poolStatsTracker) {
this.mMemoryChunkPoolStatsTracker = (PoolStatsTracker) Preconditions.checkNotNull(poolStatsTracker);
return this;
}
public Builder setSmallByteArrayPoolParams(PoolParams poolParams) {
this.mSmallByteArrayPoolParams = (PoolParams) Preconditions.checkNotNull(poolParams);
return this;
}
public Builder setSmallByteArrayPoolStatsTracker(PoolStatsTracker poolStatsTracker) {
this.mSmallByteArrayPoolStatsTracker = (PoolStatsTracker) Preconditions.checkNotNull(poolStatsTracker);
return this;
}
public PoolConfig build() {
return new PoolConfig(this);
}
public Builder setBitmapPoolType(String str) {
this.mBitmapPoolType = str;
return this;
}
public Builder setBitmapPoolMaxPoolSize(int i) {
this.mBitmapPoolMaxPoolSize = i;
return this;
}
public Builder setBitmapPoolMaxBitmapSize(int i) {
this.mBitmapPoolMaxBitmapSize = i;
return this;
}
public Builder setRegisterLruBitmapPoolAsMemoryTrimmable(boolean z) {
this.mRegisterLruBitmapPoolAsMemoryTrimmable = z;
return this;
}
public Builder setIgnoreBitmapPoolHardCap(boolean z) {
this.mIgnoreBitmapPoolHardCap = z;
return this;
}
}
}
Download file