Initial commit

This commit is contained in:
2025-05-13 19:24:51 +02:00
commit a950f49678
10604 changed files with 932663 additions and 0 deletions

View File

@@ -0,0 +1,565 @@
package com.ubt.jimu.controller.component;
import android.animation.ValueAnimator;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PointF;
import android.graphics.Rect;
import android.graphics.RectF;
import android.text.TextUtils;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import com.ubt.jimu.R;
import com.ubt.jimu.controller.data.widget.ActionWidgetData;
import com.ubt.jimu.controller.util.SvgUtils;
import com.ubt.jimu.controller.view.control.ControlTouchEvent;
import com.ubt.jimu.controller.view.control.OnControllerClickListener;
import com.ubt.jimu.controller.view.control.SuperControlView;
import com.ubt.jimu.utils.LocaleUtils;
import com.ubt.jimu.utils.LogUtils;
import com.ubt.jimu.utils.SystemUtils;
import com.ubtrobot.log.ALog;
/* loaded from: classes.dex */
public class ActionView extends SuperControlView<ActionWidgetData> {
private Context B;
private float C;
private float D;
private Paint E;
private Paint F;
private Paint G;
private RectF H;
private RectF I;
private RectF J;
private RectF K;
private Bitmap L;
private Bitmap M;
private String N;
private Bitmap O;
private Bitmap P;
private Bitmap Q;
private Bitmap R;
private float S;
private float T;
private float U;
private float V;
private float W;
private float a0;
private ValueAnimator b0;
private float c0;
private float d0;
private int e0;
private float f0;
private float g0;
private long h0;
private long i0;
public ActionView(Context context, int i, float f, float f2) {
super(context);
this.a0 = -360.0f;
this.B = context;
this.C = f;
this.D = f2;
this.e0 = i;
j();
i();
}
private void b(float f, float f2) {
this.H.offsetTo(f, f2);
this.j.offsetTo(f, f2);
float centerX = this.H.centerX();
float centerY = this.H.centerY();
RectF rectF = this.I;
float f3 = this.f0;
rectF.offsetTo(centerX - (f3 / 2.0f), centerY - (f3 / 2.0f));
this.K.offsetTo(centerX - this.V, centerY - this.W);
}
private void g() {
OnControllerClickListener onControllerClickListener = getOnControllerClickListener();
if (onControllerClickListener == null || b()) {
return;
}
if (this.z == 0) {
long j = this.h0;
if (j - this.t > 500 || j - this.i0 < 500) {
return;
}
}
float centerY = this.H.centerY();
float centerX = this.H.centerX();
float f = this.c0;
float f2 = this.l;
if (f < centerX - (f2 / 2.0f) || f > centerX + (f2 / 2.0f)) {
return;
}
float f3 = this.d0;
float f4 = this.m;
if (f3 < centerY - (f4 / 2.0f) || f3 > centerY + (f4 / 2.0f)) {
return;
}
onControllerClickListener.a(getData(), this);
this.i0 = System.currentTimeMillis();
}
private void h() {
if (this.e0 == 0) {
this.e0 = R.drawable.icon_loudly;
}
SvgUtils a = SvgUtils.a(this.B);
int i = this.e0;
float f = this.f0;
this.L = a.a(i, (int) f, (int) f);
}
private void i() {
this.l = this.B.getResources().getDimension(R.dimen.grid_view_width) * 4.0f;
this.m = this.l;
float f = this.D;
float f2 = this.m;
float f3 = f + (f2 / 2.0f);
int i = this.s;
if (f3 >= i) {
this.D = i - (f2 / 2.0f);
}
float f4 = this.C;
float f5 = this.m;
if (f4 - (f5 / 2.0f) <= 0.0f) {
this.C = f5 / 2.0f;
} else {
float f6 = f4 + (f5 / 2.0f);
int i2 = this.r;
if (f6 >= i2) {
this.C = i2 - (f5 / 2.0f);
}
}
this.U = this.B.getResources().getDimension(R.dimen.control_action_width);
this.f0 = this.B.getResources().getDimension(R.dimen.control_action_width);
this.g0 = this.B.getResources().getDimension(R.dimen.control_action_text_width);
h();
this.O = BitmapFactory.decodeResource(this.B.getResources(), R.mipmap.btn_shadow);
this.R = BitmapFactory.decodeResource(this.B.getResources(), R.mipmap.text_background_normal);
this.Q = BitmapFactory.decodeResource(this.B.getResources(), R.mipmap.text_background_pressed);
this.P = this.R;
this.E = new Paint();
this.E.setFlags(3);
this.F = new Paint();
this.G = new Paint();
this.F.setAntiAlias(true);
this.F.setColor(this.B.getResources().getColor(R.color.bg_C9EBFE));
this.G.setColor(this.B.getResources().getColor(R.color.bg_FFFFFF));
float f7 = this.C;
float f8 = this.l;
float f9 = this.D;
float f10 = this.m;
this.j = new RectF(f7 - (f8 / 2.0f), f9 - (f10 / 2.0f), f7 + (f8 / 2.0f), f9 + (f10 / 2.0f));
float f11 = this.C;
float f12 = this.l;
float f13 = this.D;
float f14 = this.m;
this.H = new RectF(f11 - (f12 / 2.0f), f13 - (f14 / 2.0f), f11 + (f12 / 2.0f), f13 + (f14 / 2.0f));
this.V = this.B.getResources().getDimension(R.dimen.control_action_text_x_offset);
this.W = this.B.getResources().getDimension(R.dimen.control_action_text_y_offset);
float[] viewCenterXY = getViewCenterXY();
this.K = new RectF(viewCenterXY[0] - this.V, viewCenterXY[1] - this.W, this.C + (this.l / 2.0f), this.D + (this.m / 2.0f));
this.J = new RectF();
float f15 = this.C;
float f16 = this.f0;
float f17 = this.D;
this.I = new RectF(f15 - (f16 / 2.0f), f17 - (f16 / 2.0f), f15 + (f16 / 2.0f), f17 + (f16 / 2.0f));
}
private void j() {
}
public void a(int i) {
this.e0 = i;
h();
invalidate();
}
public void f() {
ALog.a("Test").d("Text:" + this.N);
this.N = null;
this.M = null;
invalidate();
}
public String getText() {
return this.N;
}
@Override // com.ubt.jimu.controller.view.control.SuperControlView
public float[] getViewCenterXY() {
return new float[]{this.H.centerX(), this.H.centerY()};
}
@Override // com.ubt.jimu.controller.view.control.SuperControlView, android.view.View
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (b()) {
canvas.drawBitmap(this.O, (Rect) null, this.H, this.E);
canvas.drawBitmap(this.L, (Rect) null, this.I, this.E);
return;
}
if (getState() == 0) {
a();
canvas.drawBitmap(this.O, (Rect) null, this.H, this.E);
canvas.drawArc(this.J, 270.0f, this.a0, true, this.F);
a(canvas);
canvas.drawBitmap(this.L, (Rect) null, this.I, this.E);
return;
}
if (c()) {
e();
}
canvas.drawBitmap(this.O, (Rect) null, this.H, this.E);
a(canvas);
canvas.drawBitmap(this.L, (Rect) null, this.I, this.E);
}
@Override // android.view.View
public boolean onTouchEvent(MotionEvent motionEvent) {
int actionMasked = motionEvent.getActionMasked();
if (actionMasked == 0) {
this.t = System.currentTimeMillis();
this.c0 = motionEvent.getX();
this.d0 = motionEvent.getY();
d();
float centerX = this.H.centerX();
float centerY = this.H.centerY();
float f = this.c0;
float f2 = this.l;
if (f >= centerX - (f2 / 2.0f) && f <= (f2 / 2.0f) + centerX) {
float f3 = this.d0;
float f4 = this.m;
if (f3 >= centerY - (f4 / 2.0f) && f3 <= (f4 / 2.0f) + centerY) {
this.f = false;
setPressed(true);
if (b()) {
float centerX2 = this.j.centerX();
float centerY2 = this.j.centerY();
this.S = centerX2 - this.c0;
this.T = centerY2 - this.d0;
bringToFront();
ControlTouchEvent controlTouchEvent = this.i;
if (controlTouchEvent != null) {
controlTouchEvent.a((View) this);
}
} else if (getState() == 0) {
ValueAnimator valueAnimator = this.b0;
if (valueAnimator != null) {
valueAnimator.cancel();
}
this.a0 = -360.0f;
RectF rectF = this.J;
float f5 = this.U;
rectF.set(centerX - (f5 / 2.0f), centerY - (f5 / 2.0f), centerX + (f5 / 2.0f), centerY + (f5 / 2.0f));
this.P = this.Q;
this.H.set(0.0f, 0.0f, 0.0f, 0.0f);
ControlTouchEvent controlTouchEvent2 = this.i;
if (controlTouchEvent2 != null) {
controlTouchEvent2.a((SuperControlView) this);
this.i.a(getData());
}
invalidate();
}
return true;
}
}
return super.onTouchEvent(motionEvent);
}
if (actionMasked == 1) {
setPressed(false);
if (!this.f) {
LogUtils.c("MotionEvent: 抬起");
this.f = true;
a(SuperControlView.MotionEventState.STATE_UP);
}
invalidate();
return true;
}
if (actionMasked != 2) {
if (actionMasked != 3) {
return super.onTouchEvent(motionEvent);
}
if (!this.f) {
LogUtils.c("MotionEvent取消");
this.f = true;
a(SuperControlView.MotionEventState.STATE_CANCEL);
}
return true;
}
if (b()) {
float x = motionEvent.getX();
float y = motionEvent.getY();
b(super.a(motionEvent, this.S), super.b(motionEvent, this.T));
boolean a = a(this.j);
if (this.i != null) {
if (Math.abs(this.c0 - x) <= 20.0f && Math.abs(this.d0 - y) <= 20.0f) {
return true;
}
this.i.b((View) this);
if (a) {
if (this.e != null && getData() != null) {
this.e.setOverlapState(true);
this.e.a(String.format(getResources().getString(R.string.control_remove_widget), getData().getWidgetInfo(this.B)));
}
b(false);
this.b.setColor(this.B.getResources().getColor(R.color.color_FF4979));
if (!this.n) {
SystemUtils.b(this.B);
this.n = true;
}
} else {
if (this.e != null && getData() != null) {
this.e.setOverlapState(false);
this.e.a(String.format(getResources().getString(R.string.control_remove_widget_here), getData().getShowName(LocaleUtils.b())));
}
RectF rectF2 = this.H;
PointF a2 = a(rectF2.left, rectF2.top);
this.k.offsetTo(a2.x, a2.y);
if (this.i.c((SuperControlView) this)) {
b(false);
this.b.setColor(this.B.getResources().getColor(R.color.bg_99B8BEC1));
} else {
b(true);
this.b.setColor(this.B.getResources().getColor(this.a));
}
this.n = false;
}
}
invalidate();
}
return true;
}
/* JADX WARN: Can't fix incorrect switch cases order, some code will duplicate */
public Bitmap a(String str) {
char c;
switch (str.hashCode()) {
case -1721778389:
if (str.equals("DPAD_UP")) {
c = '\b';
break;
}
c = 65535;
break;
case -1067127502:
if (str.equals("DPAD_DOWN")) {
c = '\t';
break;
}
c = 65535;
break;
case -1066899305:
if (str.equals("DPAD_LEFT")) {
c = '\n';
break;
}
c = 65535;
break;
case 65:
if (str.equals("A")) {
c = 0;
break;
}
c = 65535;
break;
case 66:
if (str.equals("B")) {
c = 1;
break;
}
c = 65535;
break;
case 88:
if (str.equals("X")) {
c = 2;
break;
}
c = 65535;
break;
case 89:
if (str.equals("Y")) {
c = 3;
break;
}
c = 65535;
break;
case 2405:
if (str.equals("L1")) {
c = 4;
break;
}
c = 65535;
break;
case 2406:
if (str.equals("L2")) {
c = 5;
break;
}
c = 65535;
break;
case 2591:
if (str.equals("R1")) {
c = 6;
break;
}
c = 65535;
break;
case 2592:
if (str.equals("R2")) {
c = 7;
break;
}
c = 65535;
break;
case 1291520876:
if (str.equals("DPAD_RIGHT")) {
c = 11;
break;
}
c = 65535;
break;
default:
c = 65535;
break;
}
int i = R.drawable.ic_text_x;
switch (c) {
case 0:
i = R.drawable.ic_text_a;
break;
case 1:
i = R.drawable.ic_text_b;
break;
case 2:
break;
case 3:
i = R.drawable.ic_text_y;
break;
case 4:
i = R.drawable.ic_text_l1;
break;
case 5:
i = R.drawable.ic_text_l2;
break;
case 6:
i = R.drawable.ic_text_r1;
break;
case 7:
i = R.drawable.ic_text_r2;
break;
case '\b':
i = R.drawable.ic_text_direction_up;
break;
case '\t':
i = R.drawable.ic_text_direction_down;
break;
case '\n':
i = R.drawable.ic_text_direction_left;
break;
case 11:
i = R.drawable.ic_text_direction_right;
break;
default:
Log.e("ActionView", "Invalid text, use defaut text X");
break;
}
if (i == 0) {
return null;
}
SvgUtils a = SvgUtils.a(this.B);
float f = this.g0;
return a.a(i, (int) f, (int) f);
}
private void a(Canvas canvas) {
if (this.M != null) {
canvas.drawBitmap(this.P, (Rect) null, this.K, this.E);
canvas.drawBitmap(this.M, (Rect) null, new RectF(this.K.centerX() - (this.g0 / 2.0f), this.K.centerY() - (this.g0 / 2.0f), this.K.centerX() + (this.g0 / 2.0f), this.K.centerY() + (this.g0 / 2.0f)), this.E);
}
}
public void b(String str) {
ALog.a("Test").d("Text:" + str);
this.N = str;
if (TextUtils.isEmpty(str)) {
f();
}
this.M = a(str);
invalidate();
}
private void a(SuperControlView.MotionEventState motionEventState) {
ActionWidgetData data;
this.h0 = System.currentTimeMillis();
if (b()) {
this.S = 0.0f;
this.T = 0.0f;
if (a(this.j)) {
if (this.i != null && (data = getData()) != null) {
this.i.a(this, data.getActionID());
this.i.c((View) this);
}
invalidate();
return;
}
if (this.i != null) {
RectF rectF = this.H;
PointF a = a(rectF.left, rectF.top);
this.k.offsetTo(a.x, a.y);
if (this.i.c((SuperControlView) this)) {
b(this.o, this.p);
this.b.setColor(this.B.getResources().getColor(this.a));
} else {
b(a.x, a.y);
this.i.a(this, this.j.centerX(), this.j.centerY());
}
this.i.c((View) this);
if (System.currentTimeMillis() - this.t < 300) {
this.i.a(this, getData());
}
}
b(false);
return;
}
float centerX = this.I.centerX();
float centerY = this.I.centerY();
RectF rectF2 = this.H;
float f = this.l;
float f2 = this.m;
rectF2.set(centerX - (f / 2.0f), centerY - (f2 / 2.0f), centerX + (f / 2.0f), centerY + (f2 / 2.0f));
this.J.set(0.0f, 0.0f, 0.0f, 0.0f);
this.P = this.R;
int i = this.z;
if (i != 0) {
if (i != 2) {
return;
}
setSelect(true);
g();
return;
}
g();
ControlTouchEvent controlTouchEvent = this.i;
if (controlTouchEvent != null) {
controlTouchEvent.b((SuperControlView) this);
this.i.a(getData(), motionEventState);
}
}
public boolean a(RectF rectF) {
RectF deleteViewRectF = getDeleteViewRectF();
if (deleteViewRectF == null) {
return false;
}
return RectF.intersects(deleteViewRectF, rectF);
}
}