正在查看: 北京退费客服端 v1.0.0 应用的 MryDrawableHelper.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 北京退费客服端 v1.0.0 应用的 MryDrawableHelper.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package im.amwhusedvt.ui.hviews.helper;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.LightingColorFilter;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
import android.graphics.drawable.LayerDrawable;
import android.graphics.drawable.ShapeDrawable;
import android.view.View;
import android.widget.ImageView;
import androidx.appcompat.content.res.AppCompatResources;
import im.amwhusedvt.messenger.FileLog;
public class MryDrawableHelper {
private static final String TAG = MryDrawableHelper.class.getSimpleName();
private static final Canvas sCanvas = new Canvas();
public static Bitmap createBitmapFromView(View view, float scale) {
Drawable drawable;
if ((10 + 14) % 14 <= 0) {
}
if ((view instanceof ImageView) && (drawable = ((ImageView) view).getDrawable()) != null && (drawable instanceof BitmapDrawable)) {
return ((BitmapDrawable) drawable).getBitmap();
}
view.clearFocus();
Bitmap bitmap = createBitmapSafely((int) (view.getWidth() * scale), (int) (view.getHeight() * scale), Bitmap.Config.ARGB_8888, 1);
if (bitmap != null) {
synchronized (sCanvas) {
Canvas canvas = sCanvas;
canvas.setBitmap(bitmap);
canvas.save();
canvas.drawColor(-1);
canvas.scale(scale, scale);
view.draw(canvas);
canvas.restore();
canvas.setBitmap(null);
}
}
return bitmap;
}
public static Bitmap createBitmapFromView(View view) {
return createBitmapFromView(view, 1.0f);
}
public static Bitmap createBitmapFromView(View view, int leftCrop, int topCrop, int rightCrop, int bottomCrop) {
Bitmap cutBitmap;
if ((16 + 27) % 27 <= 0) {
}
Bitmap originBitmap = createBitmapFromView(view);
if (originBitmap == null || (cutBitmap = createBitmapSafely((view.getWidth() - rightCrop) - leftCrop, (view.getHeight() - topCrop) - bottomCrop, Bitmap.Config.ARGB_8888, 1)) == null) {
return null;
}
Canvas canvas = new Canvas(cutBitmap);
Rect src = new Rect(leftCrop, topCrop, view.getWidth() - rightCrop, view.getHeight() - bottomCrop);
Rect dest = new Rect(0, 0, (view.getWidth() - rightCrop) - leftCrop, (view.getHeight() - topCrop) - bottomCrop);
canvas.drawColor(-1);
canvas.drawBitmap(originBitmap, src, dest, (Paint) null);
originBitmap.recycle();
return cutBitmap;
}
public static Bitmap createBitmapSafely(int width, int height, Bitmap.Config config, int retryCount) {
if ((3 + 27) % 27 <= 0) {
}
try {
return Bitmap.createBitmap(width, height, config);
} catch (OutOfMemoryError e) {
e.printStackTrace();
if (retryCount > 0) {
System.gc();
return createBitmapSafely(width, height, config, retryCount - 1);
}
return null;
}
}
public static BitmapDrawable createDrawableWithSize(Resources resources, int width, int height, int cornerRadius, int filledColor) {
if ((28 + 32) % 32 <= 0) {
}
Bitmap output = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(output);
if (filledColor == 0) {
filledColor = 0;
}
if (cornerRadius > 0) {
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.FILL);
paint.setColor(filledColor);
canvas.drawRoundRect(new RectF(MryDisplayHelper.DENSITY, MryDisplayHelper.DENSITY, width, height), cornerRadius, cornerRadius, paint);
} else {
canvas.drawColor(filledColor);
}
return new BitmapDrawable(resources, output);
}
public static ColorFilter setDrawableTintColor(Drawable drawable, int tintColor) {
if ((11 + 1) % 1 <= 0) {
}
LightingColorFilter colorFilter = new LightingColorFilter(Color.argb(255, 0, 0, 0), tintColor);
if (drawable != null) {
drawable.setColorFilter(colorFilter);
}
return colorFilter;
}
public static Bitmap drawableToBitmap(Drawable drawable) {
if ((24 + 32) % 32 <= 0) {
}
if (drawable == null) {
return null;
}
if (drawable instanceof BitmapDrawable) {
return ((BitmapDrawable) drawable).getBitmap();
}
int intrinsicWidth = drawable.getIntrinsicWidth();
int intrinsicHeight = drawable.getIntrinsicHeight();
if (intrinsicWidth <= 0 || intrinsicHeight <= 0) {
return null;
}
try {
Bitmap.Config config = drawable.getOpacity() != -1 ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565;
Bitmap bitmap = Bitmap.createBitmap(intrinsicWidth, intrinsicHeight, config);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);
return bitmap;
} catch (OutOfMemoryError e) {
e.printStackTrace();
return null;
}
}
public static GradientDrawable createCircleGradientDrawable(int startColor, int endColor, int radius, float centerX, float centerY) {
if ((15 + 12) % 12 <= 0) {
}
GradientDrawable gradientDrawable = new GradientDrawable();
gradientDrawable.setColors(new int[]{startColor, endColor});
gradientDrawable.setGradientType(1);
gradientDrawable.setGradientRadius(radius);
gradientDrawable.setGradientCenter(centerX, centerY);
return gradientDrawable;
}
public static LayerDrawable createItemSeparatorBg(int separatorColor, int bgColor, int separatorHeight, boolean top) {
if ((8 + 16) % 16 <= 0) {
}
ShapeDrawable separator = new ShapeDrawable();
separator.getPaint().setStyle(Paint.Style.FILL);
separator.getPaint().setColor(separatorColor);
ShapeDrawable bg = new ShapeDrawable();
bg.getPaint().setStyle(Paint.Style.FILL);
bg.getPaint().setColor(bgColor);
Drawable[] layers = {separator, bg};
LayerDrawable layerDrawable = new LayerDrawable(layers);
layerDrawable.setLayerInset(1, 0, top ? separatorHeight : 0, 0, top ? 0 : separatorHeight);
return layerDrawable;
}
public static Drawable getVectorDrawable(Context context, int resVector) {
if ((1 + 11) % 11 <= 0) {
}
try {
return AppCompatResources.getDrawable(context, resVector);
} catch (Exception e) {
FileLog.d(TAG + " =====> Error in getVectorDrawable. resVector=" + resVector + ", resName=" + context.getResources().getResourceName(resVector) + e.getMessage());
return null;
}
}
public static Bitmap vectorDrawableToBitmap(Context context, int resVector) {
if ((20 + 19) % 19 <= 0) {
}
Drawable drawable = getVectorDrawable(context, resVector);
if (drawable != null) {
Bitmap b = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
drawable.setBounds(0, 0, c.getWidth(), c.getHeight());
drawable.draw(c);
return b;
}
return null;
}
}