正在查看: 万能钥匙 v1.1.23 应用的 OffScreenCanvas.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 万能钥匙 v1.1.23 应用的 OffScreenCanvas.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.finogeeks.lib.applet.page.components.canvas.offscreen;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.drawable.GradientDrawable;
import android.view.View;
import android.view.Window;
import android.widget.FrameLayout;
import android.widget.ImageView;
import com.finogeeks.lib.applet.modules.ext.ContextKt;
import com.finogeeks.lib.applet.modules.ext.q;
import com.finogeeks.lib.applet.page.components.canvas.ICanvas;
import com.finogeeks.lib.applet.page.components.canvas.ICanvasContext;
import com.finogeeks.lib.applet.page.components.canvas._2d._CanvasKt;
import java.lang.ref.WeakReference;
import kotlin.Metadata;
import kotlin.jvm.internal.n;
import lg0.t;
import org.json.JSONObject;
@Metadata(d1 = {"\u0000T\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0004\n\u0002\u0010\u0007\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\r\u0018\u0000 +2\u00020\u00012\u00020\u0002:\u0002+,B'\u0012\u0006\u0010\u0004\u001a\u00020\u0003\u0012\u0006\u0010\u0006\u001a\u00020\u0005\u0012\u0006\u0010\b\u001a\u00020\u0007\u0012\u0006\u0010\t\u001a\u00020\u0007¢\u0006\u0004\b\n\u0010\u000bJ\u000f\u0010\r\u001a\u00020\fH\u0016¢\u0006\u0004\b\r\u0010\u000eJ\u000f\u0010\u000f\u001a\u00020\fH\u0016¢\u0006\u0004\b\u000f\u0010\u000eJ\u000f\u0010\u0010\u001a\u00020\u0005H\u0016¢\u0006\u0004\b\u0010\u0010\u0011J!\u0010\u0010\u001a\u00020\u00152\u0006\u0010\u0012\u001a\u00020\u00032\b\u0010\u0014\u001a\u0004\u0018\u00010\u0013H\u0016¢\u0006\u0004\b\u0010\u0010\u0016J\u000f\u0010\u0018\u001a\u00020\u0017H\u0016¢\u0006\u0004\b\u0018\u0010\u0019J\u000f\u0010\u001b\u001a\u00020\u001aH\u0016¢\u0006\u0004\b\u001b\u0010\u001cJ\u000f\u0010\u001e\u001a\u00020\u001dH\u0016¢\u0006\u0004\b\u001e\u0010\u001fR\"\u0010\"\u001a\u0010\u0012\f\u0012\n !*\u0004\u0018\u00010\u00050\u00050 8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b\"\u0010#R\u0014\u0010$\u001a\u00020\u00178\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b$\u0010%R\u001c\u0010&\u001a\n !*\u0004\u0018\u00010\u001a0\u001a8\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b&\u0010'R\u001a\u0010\u0004\u001a\u00020\u00038\u0016X\u0096\u0004¢\u0006\f\n\u0004\b\u0004\u0010(\u001a\u0004\b)\u0010*¨\u0006-"}, d2 = {"Lcom/finogeeks/lib/applet/page/components/canvas/offscreen/OffScreenCanvas;", "Landroid/graphics/Canvas;", "Lcom/finogeeks/lib/applet/page/components/canvas/ICanvas;", "", "canvasId", "Landroid/content/Context;", "context", "", "width", "height", "<init>", "(Ljava/lang/String;Landroid/content/Context;II)V", "", "getWidthDp", "()F", "getHeightDp", "getContext", "()Landroid/content/Context;", "type", "Lorg/json/JSONObject;", "options", "Lcom/finogeeks/lib/applet/page/components/canvas/ICanvasContext;", "(Ljava/lang/String;Lorg/json/JSONObject;)Lcom/finogeeks/lib/applet/page/components/canvas/ICanvasContext;", "Lcom/finogeeks/lib/applet/page/components/canvas/offscreen/OffScreenCanvasContext;", "getCanvasContext", "()Lcom/finogeeks/lib/applet/page/components/canvas/offscreen/OffScreenCanvasContext;", "Landroid/graphics/Bitmap;", "getBitmap", "()Landroid/graphics/Bitmap;", "Llg0/e0;", "renderer", "()V", "Ljava/lang/ref/WeakReference;", "kotlin.jvm.PlatformType", "contextRef", "Ljava/lang/ref/WeakReference;", "canvasContext", "Lcom/finogeeks/lib/applet/page/components/canvas/offscreen/OffScreenCanvasContext;", "drawingBitmap", "Landroid/graphics/Bitmap;", "Ljava/lang/String;", "getCanvasId", "()Ljava/lang/String;", "Companion", "OffScreenDebugger", "finapplet_release"}, k = 1, mv = {1, 4, 0})
public final class OffScreenCanvas extends Canvas implements ICanvas {
private static final String TAG = "OffScreenCanvas";
private final OffScreenCanvasContext canvasContext;
private final String canvasId;
private final WeakReference<Context> contextRef;
private final Bitmap drawingBitmap;
@Metadata(d1 = {"\u0000:\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000e\n\u0002\b\u0007\bÂ\u0002\u0018\u00002\u00020\u0001B\t\b\u0002¢\u0006\u0004\b\u0002\u0010\u0003J\u0017\u0010\u0007\u001a\u00020\u00062\u0006\u0010\u0005\u001a\u00020\u0004H\u0002¢\u0006\u0004\b\u0007\u0010\bJ\u0019\u0010\n\u001a\u0004\u0018\u00010\t2\u0006\u0010\u0005\u001a\u00020\u0004H\u0002¢\u0006\u0004\b\n\u0010\u000bJ\u0015\u0010\u000e\u001a\u00020\r2\u0006\u0010\f\u001a\u00020\u0006¢\u0006\u0004\b\u000e\u0010\u000fJ\u0015\u0010\u0010\u001a\u00020\r2\u0006\u0010\u0005\u001a\u00020\u0004¢\u0006\u0004\b\u0010\u0010\u0011J\u0015\u0010\u0014\u001a\u00020\r2\u0006\u0010\u0013\u001a\u00020\u0012¢\u0006\u0004\b\u0014\u0010\u0015R\u0014\u0010\u0017\u001a\u00020\u00168\u0002X\u0082T¢\u0006\u0006\n\u0004\b\u0017\u0010\u0018R\u0016\u0010\u0019\u001a\u00020\u00068\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\u0019\u0010\u001aR\u0014\u0010\u001b\u001a\u00020\u00068BX\u0082\u0004¢\u0006\u0006\u001a\u0004\b\u001b\u0010\u001c¨\u0006\u001d"}, d2 = {"Lcom/finogeeks/lib/applet/page/components/canvas/offscreen/OffScreenCanvas$OffScreenDebugger;", "", "<init>", "()V", "Landroid/app/Activity;", "activity", "", "isInstalled", "(Landroid/app/Activity;)Z", "Landroid/widget/ImageView;", "getDisplayView", "(Landroid/app/Activity;)Landroid/widget/ImageView;", "debuggable", "Llg0/e0;", "setDebuggable", "(Z)V", "install", "(Landroid/app/Activity;)V", "Lcom/finogeeks/lib/applet/page/components/canvas/offscreen/OffScreenCanvasContext;", "context", "display", "(Lcom/finogeeks/lib/applet/page/components/canvas/offscreen/OffScreenCanvasContext;)V", "", "DISPLAY_VIEW_TAG", "Ljava/lang/String;", "isDebuggable", "Z", "isActive", "()Z", "finapplet_release"}, k = 1, mv = {1, 4, 0})
public static final class OffScreenDebugger {
private static final String DISPLAY_VIEW_TAG = "FIN_OFFSCREEN_CANVAS_DISPLAY_TAG";
public static final OffScreenDebugger INSTANCE = new OffScreenDebugger();
private static boolean isDebuggable;
private OffScreenDebugger() {
}
private final ImageView getDisplayView(Activity activity) {
Window window = activity.getWindow();
n.e(window, "activity.window");
return (ImageView) window.getDecorView().findViewWithTag(DISPLAY_VIEW_TAG);
}
private final boolean isActive() {
return false;
}
private final boolean isInstalled(Activity activity) {
return getDisplayView(activity) != null;
}
public final void display(OffScreenCanvasContext context) {
ImageView displayView;
n.j(context, "context");
if (isActive()) {
Context context2 = context.getContext();
if (context2 == null) {
throw new t("null cannot be cast to non-null type android.app.Activity");
}
Activity activity = (Activity) context2;
if (isInstalled(activity) && (displayView = getDisplayView(activity)) != null) {
ICanvas iCanvas = context.getICanvas();
if (iCanvas == null) {
throw new t("null cannot be cast to non-null type com.finogeeks.lib.applet.page.components.canvas.offscreen.OffScreenCanvas");
}
displayView.setImageBitmap(((OffScreenCanvas) iCanvas).drawingBitmap);
}
}
}
public final void install(Activity activity) {
n.j(activity, "activity");
if (isActive() && !isInstalled(activity)) {
View imageView = new ImageView(activity);
imageView.setTag(DISPLAY_VIEW_TAG);
GradientDrawable gradientDrawable = new GradientDrawable();
Context context = imageView.getContext();
n.e(context, "context");
int a = q.a((Number) 1, context);
Context context2 = imageView.getContext();
n.e(context2, "context");
float a2 = q.a((Number) 4, context2);
n.e(imageView.getContext(), "context");
gradientDrawable.setStroke(a, -3355444, a2, q.a((Number) 2, r6));
imageView.setBackground(gradientDrawable);
Window window = activity.getWindow();
n.e(window, "activity.window");
View decorView = window.getDecorView();
if (decorView == null) {
throw new t("null cannot be cast to non-null type android.widget.FrameLayout");
}
((FrameLayout) decorView).addView(imageView, new FrameLayout.LayoutParams(-2, -2, 17));
}
}
public final void setDebuggable(boolean debuggable) {
isDebuggable = debuggable;
}
}
public OffScreenCanvas(String str, Context context, int i, int i2) {
n.j(str, "canvasId");
n.j(context, "context");
this.canvasId = str;
this.contextRef = new WeakReference<>(context);
this.canvasContext = new OffScreenCanvasContext(this);
Bitmap createBitmap = Bitmap.createBitmap(i, i2, Bitmap.Config.ARGB_8888);
this.drawingBitmap = createBitmap;
setBitmap(createBitmap);
OffScreenDebugger offScreenDebugger = OffScreenDebugger.INSTANCE;
offScreenDebugger.setDebuggable(false);
offScreenDebugger.install((Activity) context);
}
@Override
public Bitmap getBitmap() {
Bitmap createBitmap = Bitmap.createBitmap(this.drawingBitmap);
n.e(createBitmap, "Bitmap.createBitmap(drawingBitmap)");
return createBitmap;
}
@Override
public OffScreenCanvasContext getCanvasContext() {
return this.canvasContext;
}
@Override
public String getCanvasId() {
return this.canvasId;
}
@Override
public Context getContext() {
Context context = this.contextRef.get();
if (context != null) {
return context;
}
throw new IllegalStateException("Do not use a destroyed Canvas");
}
@Override
public ICanvasContext getContext(String type, JSONObject options) {
n.j(type, "type");
return this.canvasContext;
}
@Override
public float getHeightDp() {
float height = getHeight();
Context context = this.contextRef.get();
if (context == null) {
n.t();
}
n.e(context, "contextRef.get()!!");
return height / ContextKt.getDensity(context);
}
@Override
public float getPixelRatioX() {
return ICanvas.DefaultImpls.getPixelRatioX(this);
}
@Override
public float getPixelRatioY() {
return ICanvas.DefaultImpls.getPixelRatioY(this);
}
@Override
public float getWidthDp() {
float width = getWidth();
Context context = this.contextRef.get();
if (context == null) {
n.t();
}
n.e(context, "contextRef.get()!!");
return width / ContextKt.getDensity(context);
}
@Override
public void renderer() {
_CanvasKt.clear(this);
this.canvasContext.onDraw(this);
OffScreenDebugger.INSTANCE.display(getCanvasContext());
}
}