jimu-decompiled/sources/com/ubt/jimu/controller/view/control/SuperControlView.java
2025-05-13 19:24:51 +02:00

342 lines
9.3 KiB
Java

package com.ubt.jimu.controller.view.control;
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.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import com.ubt.jimu.R;
import com.ubt.jimu.controller.component.DeleteView;
import com.ubt.jimu.controller.data.widget.ItemBaseData;
import com.ubt.jimu.utils.LogUtils;
import com.ubt.jimu.utils.ScreenUtil;
import com.ubtech.utils.XLog;
/* loaded from: classes.dex */
public class SuperControlView<D extends ItemBaseData> extends View {
private boolean A;
protected int a;
protected Paint b;
protected Paint c;
private D d;
public DeleteView e;
protected boolean f;
private RectF g;
private boolean h;
protected ControlTouchEvent i;
protected RectF j;
protected RectF k;
protected float l;
protected float m;
protected boolean n;
protected float o;
protected float p;
private OnControllerClickListener q;
protected int r;
protected int s;
protected long t;
protected float u;
private float v;
private boolean x;
private Bitmap y;
protected int z;
public enum MotionEventState {
STATE_UP,
STATE_CANCEL
}
public SuperControlView(Context context) {
super(context);
this.a = R.color.color_4D00C4C9;
this.h = false;
this.x = false;
this.z = 0;
this.A = false;
a(context);
}
private void a(Context context) {
this.r = ScreenUtil.b(context);
this.s = ScreenUtil.a(context);
this.b = new Paint();
this.b.setAntiAlias(true);
this.b.setColor(getResources().getColor(this.a));
this.c = new Paint();
this.c.setAntiAlias(true);
this.y = BitmapFactory.decodeResource(getResources(), R.drawable.ic_adsorb_corner);
this.u = context.getResources().getDimension(R.dimen.shadow_radian);
this.v = getContext().getResources().getDimension(R.dimen.grid_view_width);
this.k = new RectF();
this.j = new RectF();
}
public boolean b() {
return this.h;
}
public boolean c() {
return this.A;
}
public void d() {
RectF rectF = this.j;
if (rectF != null) {
this.o = rectF.left;
this.p = rectF.top;
}
}
public void e() {
if (this.j != null) {
float[] viewCenterXY = getViewCenterXY();
RectF rectF = this.j;
float f = viewCenterXY[0];
float f2 = this.l;
float f3 = viewCenterXY[1];
float f4 = this.m;
rectF.set(f - (f2 / 2.0f), f3 - (f4 / 2.0f), viewCenterXY[0] + (f2 / 2.0f), viewCenterXY[1] + (f4 / 2.0f));
this.k.set(this.j);
invalidate();
}
}
public RectF getAdsorbRectF() {
return this.k;
}
public D getData() {
return this.d;
}
public RectF getDeleteViewRectF() {
return this.g;
}
protected OnControllerClickListener getOnControllerClickListener() {
return this.q;
}
public RectF getShadowRectF() {
return this.j;
}
protected int getState() {
return this.z;
}
public float[] getViewCenterXY() {
return new float[0];
}
public float getViewHeight() {
return this.m;
}
public float getViewWidth() {
return this.l;
}
@Override // android.view.View
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (this.h || c()) {
a(canvas);
RectF rectF = this.j;
float f = this.u;
canvas.drawRoundRect(rectF, f, f, this.b);
}
}
public void setControlTouchEvent(ControlTouchEvent controlTouchEvent) {
this.i = controlTouchEvent;
}
public void setData(D d) {
this.d = d;
}
public void setEditState(boolean z) {
this.h = z;
}
public void setOnControllerClickListener(OnControllerClickListener onControllerClickListener) {
this.q = onControllerClickListener;
}
public void setSelect(boolean z) {
this.A = z;
invalidate();
}
public void setState(int i) {
this.z = i;
if (i == 0) {
setSelect(false);
setEditState(false);
a();
} else if (i == 1) {
setSelect(false);
setEditState(true);
e();
} else {
if (i != 2) {
return;
}
setEditState(false);
a();
}
}
public void b(boolean z) {
this.x = z;
}
public float b(MotionEvent motionEvent, float f) {
float y = motionEvent.getY();
float f2 = this.m;
if ((y - (f2 / 2.0f)) + f <= 0.0f) {
return 0.0f;
}
float f3 = y + (f2 / 2.0f) + f;
int i = this.s;
return f3 >= ((float) i) ? i - f2 : (motionEvent.getY() - (this.m / 2.0f)) + f;
}
public float b(float f) {
RectF rectF = this.j;
if (rectF == null) {
return 0.0f;
}
return rectF.centerY() - f;
}
public SuperControlView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
this.a = R.color.color_4D00C4C9;
this.h = false;
this.x = false;
this.z = 0;
this.A = false;
a(context);
}
public void a(DeleteView deleteView) {
this.e = deleteView;
if (this.e != null) {
this.g = deleteView.getDeleteViewRectF();
}
}
public void a(boolean z) {
if (z) {
this.a = R.color.bg_88fb4570;
LogUtils.c("颜色改变~");
} else {
this.a = R.color.color_4D00C4C9;
}
this.b.setColor(getResources().getColor(this.a));
invalidate();
}
public void a() {
RectF rectF = this.j;
if (rectF == null || rectF.width() <= 0.0f) {
return;
}
LogUtils.b("关闭阴影");
this.j.set(0.0f, 0.0f, 0.0f, 0.0f);
this.k.set(0.0f, 0.0f, 0.0f, 0.0f);
invalidate();
}
public float a(MotionEvent motionEvent, float f) {
float x = motionEvent.getX();
float f2 = this.l;
if ((x - (f2 / 2.0f)) + f <= 0.0f) {
return 0.0f;
}
float f3 = (f2 / 2.0f) + x + f;
int i = this.r;
return f3 >= ((float) i) ? i - f2 : (x - (f2 / 2.0f)) + f;
}
public float a(float f) {
RectF rectF = this.j;
if (rectF == null) {
return 0.0f;
}
return rectF.centerX() - f;
}
public PointF a(float f, float f2) {
int round = Math.round(f / this.v);
int round2 = Math.round(f2 / this.v);
float f3 = this.v;
float f4 = round * f3;
if (this.l + f4 > this.r) {
f4 = (round - 1) * f3;
}
float f5 = this.v;
float f6 = round2 * f5;
if (this.m + f6 > this.s) {
f6 = (round2 - 1) * f5;
}
XLog.a("Controller", "row: %d, column: %d (%.3f, %.3f) -> (%.3f, %.3f)", Integer.valueOf(round), Integer.valueOf(round2), Float.valueOf(f), Float.valueOf(f2), Float.valueOf(f4), Float.valueOf(f6));
return new PointF(f4, f6);
}
private void a(Canvas canvas) {
if (this.x) {
Bitmap bitmap = this.y;
RectF rectF = this.k;
float f = rectF.left;
float f2 = rectF.bottom;
float f3 = this.v;
canvas.drawBitmap(bitmap, (Rect) null, new RectF(f, f2 - f3, f3 + f, f2), this.c);
canvas.save();
RectF rectF2 = this.k;
float f4 = rectF2.left;
float f5 = this.v;
canvas.rotate(90.0f, f4 + (f5 / 2.0f), rectF2.top + (f5 / 2.0f));
Bitmap bitmap2 = this.y;
RectF rectF3 = this.k;
float f6 = rectF3.left;
float f7 = rectF3.top;
float f8 = this.v;
canvas.drawBitmap(bitmap2, (Rect) null, new RectF(f6, f7, f6 + f8, f8 + f7), this.c);
canvas.restore();
canvas.save();
RectF rectF4 = this.k;
float f9 = rectF4.right;
float f10 = this.v;
canvas.rotate(180.0f, f9 - (f10 / 2.0f), rectF4.top + (f10 / 2.0f));
Bitmap bitmap3 = this.y;
RectF rectF5 = this.k;
float f11 = rectF5.right;
float f12 = this.v;
float f13 = rectF5.top;
canvas.drawBitmap(bitmap3, (Rect) null, new RectF(f11 - f12, f13, f11, f12 + f13), this.c);
canvas.restore();
canvas.save();
RectF rectF6 = this.k;
float f14 = rectF6.right;
float f15 = this.v;
canvas.rotate(270.0f, f14 - (f15 / 2.0f), rectF6.bottom - (f15 / 2.0f));
Bitmap bitmap4 = this.y;
RectF rectF7 = this.k;
float f16 = rectF7.right;
float f17 = this.v;
float f18 = rectF7.bottom;
canvas.drawBitmap(bitmap4, (Rect) null, new RectF(f16 - f17, f18 - f17, f16, f18), this.c);
canvas.restore();
}
}
}