CrackMe.apk
Download file
package com.facebook.imagepipeline.request;
import android.net.Uri;
import com.facebook.common.internal.Preconditions;
import com.facebook.common.util.UriUtil;
import com.facebook.imagepipeline.common.BytesRange;
import com.facebook.imagepipeline.common.ImageDecodeOptions;
import com.facebook.imagepipeline.common.Priority;
import com.facebook.imagepipeline.common.ResizeOptions;
import com.facebook.imagepipeline.common.RotationOptions;
import com.facebook.imagepipeline.core.ImagePipelineConfig;
import com.facebook.imagepipeline.listener.RequestListener;
import com.facebook.imagepipeline.request.ImageRequest;
import javax.annotation.Nullable;
public class ImageRequestBuilder {
@Nullable
private BytesRange mBytesRange = null;
private ImageRequest.CacheChoice mCacheChoice = ImageRequest.CacheChoice.DEFAULT;
@Nullable
private Boolean mDecodePrefetches = null;
private int mDelayMs;
private boolean mDiskCacheEnabled = true;
private ImageDecodeOptions mImageDecodeOptions = ImageDecodeOptions.defaults();
private boolean mLocalThumbnailPreviewsEnabled = false;
private ImageRequest.RequestLevel mLowestPermittedRequestLevel = ImageRequest.RequestLevel.FULL_FETCH;
private boolean mMemoryCacheEnabled = true;
@Nullable
private Postprocessor mPostprocessor = null;
private boolean mProgressiveRenderingEnabled = ImagePipelineConfig.getDefaultImageRequestConfig().isProgressiveRenderingEnabled();
@Nullable
private RequestListener mRequestListener;
private Priority mRequestPriority = Priority.HIGH;
@Nullable
private ResizeOptions mResizeOptions = null;
@Nullable
private Boolean mResizingAllowedOverride = null;
@Nullable
private RotationOptions mRotationOptions = null;
private Uri mSourceUri = null;
public static ImageRequestBuilder newBuilderWithSource(Uri uri) {
return new ImageRequestBuilder().setSource(uri);
}
public static ImageRequestBuilder newBuilderWithResourceId(int i) {
return newBuilderWithSource(UriUtil.getUriForResourceId(i));
}
public static ImageRequestBuilder fromRequest(ImageRequest imageRequest) {
return newBuilderWithSource(imageRequest.getSourceUri()).setImageDecodeOptions(imageRequest.getImageDecodeOptions()).setBytesRange(imageRequest.getBytesRange()).setCacheChoice(imageRequest.getCacheChoice()).setLocalThumbnailPreviewsEnabled(imageRequest.getLocalThumbnailPreviewsEnabled()).setLowestPermittedRequestLevel(imageRequest.getLowestPermittedRequestLevel()).setPostprocessor(imageRequest.getPostprocessor()).setProgressiveRenderingEnabled(imageRequest.getProgressiveRenderingEnabled()).setRequestPriority(imageRequest.getPriority()).setResizeOptions(imageRequest.getResizeOptions()).setRequestListener(imageRequest.getRequestListener()).setRotationOptions(imageRequest.getRotationOptions()).setShouldDecodePrefetches(imageRequest.shouldDecodePrefetches()).setDelayMs(imageRequest.getDelayMs());
}
private ImageRequestBuilder() {
}
public ImageRequestBuilder setSource(Uri uri) {
Preconditions.checkNotNull(uri);
this.mSourceUri = uri;
return this;
}
public Uri getSourceUri() {
return this.mSourceUri;
}
public ImageRequestBuilder setLowestPermittedRequestLevel(ImageRequest.RequestLevel requestLevel) {
this.mLowestPermittedRequestLevel = requestLevel;
return this;
}
public ImageRequest.RequestLevel getLowestPermittedRequestLevel() {
return this.mLowestPermittedRequestLevel;
}
@Deprecated
public ImageRequestBuilder setAutoRotateEnabled(boolean z) {
if (z) {
return setRotationOptions(RotationOptions.autoRotate());
}
return setRotationOptions(RotationOptions.disableRotation());
}
public ImageRequestBuilder setResizeOptions(@Nullable ResizeOptions resizeOptions) {
this.mResizeOptions = resizeOptions;
return this;
}
@Nullable
public ResizeOptions getResizeOptions() {
return this.mResizeOptions;
}
public ImageRequestBuilder setRotationOptions(@Nullable RotationOptions rotationOptions) {
this.mRotationOptions = rotationOptions;
return this;
}
@Nullable
public RotationOptions getRotationOptions() {
return this.mRotationOptions;
}
public ImageRequestBuilder setBytesRange(@Nullable BytesRange bytesRange) {
this.mBytesRange = bytesRange;
return this;
}
@Nullable
public BytesRange getBytesRange() {
return this.mBytesRange;
}
public ImageRequestBuilder setImageDecodeOptions(ImageDecodeOptions imageDecodeOptions) {
this.mImageDecodeOptions = imageDecodeOptions;
return this;
}
public ImageDecodeOptions getImageDecodeOptions() {
return this.mImageDecodeOptions;
}
public ImageRequestBuilder setCacheChoice(ImageRequest.CacheChoice cacheChoice) {
this.mCacheChoice = cacheChoice;
return this;
}
public ImageRequest.CacheChoice getCacheChoice() {
return this.mCacheChoice;
}
public ImageRequestBuilder setProgressiveRenderingEnabled(boolean z) {
this.mProgressiveRenderingEnabled = z;
return this;
}
public boolean isProgressiveRenderingEnabled() {
return this.mProgressiveRenderingEnabled;
}
public ImageRequestBuilder setLocalThumbnailPreviewsEnabled(boolean z) {
this.mLocalThumbnailPreviewsEnabled = z;
return this;
}
public boolean isLocalThumbnailPreviewsEnabled() {
return this.mLocalThumbnailPreviewsEnabled;
}
public ImageRequestBuilder disableDiskCache() {
this.mDiskCacheEnabled = false;
return this;
}
public boolean isDiskCacheEnabled() {
return this.mDiskCacheEnabled && UriUtil.isNetworkUri(this.mSourceUri);
}
public ImageRequestBuilder disableMemoryCache() {
this.mMemoryCacheEnabled = false;
return this;
}
public boolean isMemoryCacheEnabled() {
return this.mMemoryCacheEnabled;
}
public ImageRequestBuilder setRequestPriority(Priority priority) {
this.mRequestPriority = priority;
return this;
}
public Priority getRequestPriority() {
return this.mRequestPriority;
}
public ImageRequestBuilder setPostprocessor(@Nullable Postprocessor postprocessor) {
this.mPostprocessor = postprocessor;
return this;
}
@Nullable
public Postprocessor getPostprocessor() {
return this.mPostprocessor;
}
public ImageRequestBuilder setRequestListener(@Nullable RequestListener requestListener) {
this.mRequestListener = requestListener;
return this;
}
@Nullable
public RequestListener getRequestListener() {
return this.mRequestListener;
}
public ImageRequest build() {
validate();
return new ImageRequest(this);
}
@Nullable
public Boolean shouldDecodePrefetches() {
return this.mDecodePrefetches;
}
public ImageRequestBuilder setShouldDecodePrefetches(@Nullable Boolean bool) {
this.mDecodePrefetches = bool;
return this;
}
public ImageRequestBuilder setResizingAllowedOverride(@Nullable Boolean bool) {
this.mResizingAllowedOverride = bool;
return this;
}
@Nullable
public Boolean getResizingAllowedOverride() {
return this.mResizingAllowedOverride;
}
public int getDelayMs() {
return this.mDelayMs;
}
public ImageRequestBuilder setDelayMs(int i) {
this.mDelayMs = i;
return this;
}
public static class BuilderException extends RuntimeException {
public BuilderException(String str) {
super("Invalid request builder: " + str);
}
}
/* access modifiers changed from: protected */
public void validate() {
Uri uri = this.mSourceUri;
if (uri != null) {
if (UriUtil.isLocalResourceUri(uri)) {
if (!this.mSourceUri.isAbsolute()) {
throw new BuilderException("Resource URI path must be absolute.");
} else if (!this.mSourceUri.getPath().isEmpty()) {
try {
Integer.parseInt(this.mSourceUri.getPath().substring(1));
} catch (NumberFormatException unused) {
throw new BuilderException("Resource URI path must be a resource id.");
}
} else {
throw new BuilderException("Resource URI must not be empty");
}
}
if (UriUtil.isLocalAssetUri(this.mSourceUri) && !this.mSourceUri.isAbsolute()) {
throw new BuilderException("Asset URI path must be absolute.");
}
return;
}
throw new BuilderException("Source must be set!");
}
}
Download file