CrackMe.apk
Download file
package com.facebook.drawee.drawable;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.Shader;
import android.graphics.drawable.BitmapDrawable;
import com.facebook.imagepipeline.systrace.FrescoSystrace;
import java.lang.ref.WeakReference;
import javax.annotation.Nullable;
public class RoundedBitmapDrawable extends RoundedDrawable {
@Nullable
private final Bitmap mBitmap;
private final Paint mBorderPaint;
@Nullable
private WeakReference<Bitmap> mLastBitmap;
private final Paint mPaint;
public RoundedBitmapDrawable(Resources resources, @Nullable Bitmap bitmap, @Nullable Paint paint) {
super(new BitmapDrawable(resources, bitmap));
Paint paint2 = new Paint();
this.mPaint = paint2;
Paint paint3 = new Paint(1);
this.mBorderPaint = paint3;
this.mBitmap = bitmap;
if (paint != null) {
paint2.set(paint);
}
paint2.setFlags(1);
paint3.setStyle(Paint.Style.STROKE);
}
public RoundedBitmapDrawable(Resources resources, @Nullable Bitmap bitmap) {
this(resources, bitmap, (Paint) null);
}
public void draw(Canvas canvas) {
if (FrescoSystrace.isTracing()) {
FrescoSystrace.beginSection("RoundedBitmapDrawable#draw");
}
if (!shouldRound()) {
super.draw(canvas);
if (FrescoSystrace.isTracing()) {
FrescoSystrace.endSection();
return;
}
return;
}
updateTransform();
updatePath();
updatePaint();
int save = canvas.save();
canvas.concat(this.mInverseParentTransform);
canvas.drawPath(this.mPath, this.mPaint);
if (this.mBorderWidth > 0.0f) {
this.mBorderPaint.setStrokeWidth(this.mBorderWidth);
this.mBorderPaint.setColor(DrawableUtils.multiplyColorAlpha(this.mBorderColor, this.mPaint.getAlpha()));
canvas.drawPath(this.mBorderPath, this.mBorderPaint);
}
canvas.restoreToCount(save);
if (FrescoSystrace.isTracing()) {
FrescoSystrace.endSection();
}
}
private void updatePaint() {
WeakReference<Bitmap> weakReference = this.mLastBitmap;
if (weakReference == null || weakReference.get() != this.mBitmap) {
this.mLastBitmap = new WeakReference<>(this.mBitmap);
this.mPaint.setShader(new BitmapShader(this.mBitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP));
this.mIsShaderTransformDirty = true;
}
if (this.mIsShaderTransformDirty) {
this.mPaint.getShader().setLocalMatrix(this.mTransform);
this.mIsShaderTransformDirty = false;
}
this.mPaint.setFilterBitmap(getPaintFilterBitmap());
}
public static RoundedBitmapDrawable fromBitmapDrawable(Resources resources, BitmapDrawable bitmapDrawable) {
return new RoundedBitmapDrawable(resources, bitmapDrawable.getBitmap(), bitmapDrawable.getPaint());
}
/* access modifiers changed from: package-private */
public boolean shouldRound() {
return super.shouldRound() && this.mBitmap != null;
}
public void setAlpha(int i) {
super.setAlpha(i);
if (i != this.mPaint.getAlpha()) {
this.mPaint.setAlpha(i);
super.setAlpha(i);
invalidateSelf();
}
}
public void setColorFilter(@Nullable ColorFilter colorFilter) {
super.setColorFilter(colorFilter);
this.mPaint.setColorFilter(colorFilter);
}
/* access modifiers changed from: package-private */
public Paint getPaint() {
return this.mPaint;
}
}
Download file