jimu-decompiled/sources/com/ubt/jimu/user/view/picker/LoopView.java
2025-05-13 19:24:51 +02:00

419 lines
13 KiB
Java

package com.ubt.jimu.user.view.picker;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.Typeface;
import android.os.Build;
import android.os.Handler;
import android.util.AttributeSet;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import com.ubt.jimu.R;
import java.util.List;
import java.util.Timer;
/* loaded from: classes2.dex */
public class LoopView extends View {
int A;
int B;
int C;
int D;
int E;
int F;
int G;
int H;
float I;
float J;
float K;
private float L;
private float M;
Timer a;
int b;
Handler c;
LoopListener d;
private GestureDetector e;
private int f;
private GestureDetector.SimpleOnGestureListener g;
Context h;
Paint i;
Paint j;
Paint k;
Paint l;
Paint m;
List n;
int o;
int p;
int q;
int r;
int s;
int t;
int u;
float v;
boolean x;
int y;
int z;
public LoopView(Context context) {
super(context);
a(context);
}
private void a(Context context) {
this.o = 0;
this.r = 2002349952;
this.s = 861499264;
this.t = -10915968;
this.u = -7166026;
this.v = 2.0f;
this.x = true;
this.B = -1;
this.C = 7;
this.I = 0.0f;
this.J = 0.0f;
this.K = 0.0f;
this.b = 0;
this.g = new LoopViewGestureListener(this);
this.c = new MessageHandler(this);
this.h = context;
setTextSize(17.0f);
}
static int b(LoopView loopView) {
return loopView.getCurrentItem();
}
private void c() {
if (this.n == null) {
return;
}
this.i = new Paint();
this.i.setColor(this.r);
this.i.setAntiAlias(true);
this.i.setTypeface(Typeface.MONOSPACE);
this.i.setTextSize(this.o);
this.j = new Paint();
this.j.setColor(this.t);
this.j.setAntiAlias(true);
this.j.setTextScaleX(1.05f);
this.j.setTypeface(Typeface.MONOSPACE);
this.j.setFakeBoldText(true);
this.j.setTextSize(this.o);
this.k = new Paint();
this.k.setColor(this.u);
this.k.setAntiAlias(true);
this.k.setTypeface(Typeface.MONOSPACE);
this.k.setTextSize(this.o);
this.l = new Paint();
this.l.setColor(this.s);
this.l.setAntiAlias(true);
this.l.setTypeface(Typeface.MONOSPACE);
this.l.setTextSize(this.o);
this.m = new Paint();
this.m.setColor(this.t);
this.m.setAntiAlias(true);
this.m.setTextScaleX(1.05f);
this.m.setTypeface(Typeface.MONOSPACE);
this.m.setTextSize(this.o);
if (Build.VERSION.SDK_INT >= 11) {
setLayerType(1, null);
}
this.e = new GestureDetector(this.h, this.g);
this.e.setIsLongpressEnabled(false);
d();
int i = this.q;
float f = this.v;
this.E = (int) (i * f * (this.C - 1));
int i2 = this.E;
this.D = (int) ((i2 * 2) / 3.141592653589793d);
this.F = (int) (i2 / 3.141592653589793d);
this.G = this.p + this.o;
int i3 = this.D;
this.y = (int) ((i3 - (i * f)) / 2.0f);
this.z = (int) ((i3 + (f * i)) / 2.0f);
if (this.B == -1) {
if (this.x) {
this.B = (this.n.size() + 1) / 2;
} else {
this.B = 0;
}
}
this.A = this.B;
}
private void d() {
Rect rect = new Rect();
String str = (String) this.n.get(0);
this.j.getTextBounds(str, 0, str.length(), rect);
int width = (int) (rect.width() * 2.8f);
if (width > this.p) {
this.p = width;
}
int height = rect.height();
if (height > this.q) {
this.q = height;
}
}
private void e() {
int i = (int) (this.b % (this.v * this.q));
Timer timer = new Timer();
this.a = timer;
timer.schedule(new MTimer(this, i, timer), 0L, 10L);
}
public final int getCurrentItem() {
int i = this.A;
if (i <= 0) {
return 0;
}
return i;
}
public final String getCurrentItemValue() {
return String.valueOf(this.n.get(getCurrentItem())).trim();
}
public final int getItemCount() {
List list = this.n;
if (list == null) {
return 0;
}
return list.size();
}
@Override // android.view.View
protected void onDraw(Canvas canvas) {
Canvas canvas2 = canvas;
List list = this.n;
if (list == null) {
super.onDraw(canvas);
return;
}
String[] strArr = new String[this.C];
this.H = (int) (this.b / (this.v * this.q));
this.A = this.B + (this.H % list.size());
if (this.x) {
if (this.A < 0) {
this.A = this.n.size() + this.A;
}
if (this.A > this.n.size() - 1) {
this.A -= this.n.size();
}
} else {
if (this.A < 0) {
this.A = 0;
}
if (this.A > this.n.size() - 1) {
this.A = this.n.size() - 1;
}
}
int i = (int) (this.b % (this.v * this.q));
for (int i2 = 0; i2 < this.C; i2++) {
int i3 = this.A - (3 - i2);
if (this.x) {
if (i3 < 0) {
i3 += this.n.size();
}
if (i3 > this.n.size() - 1) {
i3 -= this.n.size();
}
strArr[i2] = (String) this.n.get(i3);
} else if (i3 < 0) {
strArr[i2] = "";
} else if (i3 > this.n.size() - 1) {
strArr[i2] = "";
} else {
strArr[i2] = (String) this.n.get(i3);
}
}
int i4 = this.G;
int i5 = (i4 - this.p) / 2;
int i6 = this.y;
canvas.drawLine(0.0f, i6, i4, i6, this.k);
int i7 = this.z;
canvas.drawLine(0.0f, i7, this.G, i7, this.k);
for (int i8 = 0; i8 < this.C; i8++) {
canvas.save();
double d = ((((this.q * i8) * this.v) - i) * 3.141592653589793d) / this.E;
float f = (float) (90.0d - ((d / 3.141592653589793d) * 180.0d));
if (f >= 90.0f || f <= -90.0f) {
canvas.restore();
} else {
int cos = (int) ((this.F - (Math.cos(d) * this.F)) - ((Math.sin(d) * this.q) / 2.0d));
canvas2 = canvas;
canvas2.translate(0.0f, cos);
canvas2.scale(1.0f, (float) Math.sin(d));
String str = strArr[i8];
float f2 = this.o;
this.i.setTextSize(f2);
this.j.setTextSize(f2);
int left = (int) (this.y + (getLeft() * 0.5d));
Rect rect = new Rect();
this.j.getTextBounds(str, 0, str.length(), rect);
int width = rect.width();
int width2 = getWidth() - (left * 2);
if (width > 0) {
left = (int) (left + ((width2 - width) * 0.5d));
}
int i9 = this.y;
if (cos > i9 || this.q + cos < i9) {
int i10 = this.z;
if (cos > i10 || this.q + cos < i10) {
if (cos >= this.y) {
int i11 = this.q;
if (cos + i11 <= this.z) {
canvas2.clipRect(0, 0, this.G, (int) (i11 * this.v));
canvas2.drawText(strArr[i8], left, this.q, this.j);
this.f = this.n.indexOf(strArr[i8]);
if (i8 == 3 && this.f == 0) {
this.j.getTextBounds(strArr[i8], 0, strArr[i8].length(), new Rect());
this.L = left + r2.width() + 25.0f;
this.M = this.q;
}
}
}
canvas2.clipRect(0, 0, this.G, (int) (this.q * this.v));
if (i8 == 1 || i8 == 5) {
canvas2.drawText(strArr[i8], left, this.q, this.l);
} else {
canvas2.drawText(strArr[i8], left, this.q, this.i);
}
canvas.restore();
} else {
canvas.save();
canvas2.clipRect(0, 0, this.G, this.z - cos);
float f3 = left;
canvas2.drawText(strArr[i8], f3, this.q, this.j);
canvas.restore();
canvas.save();
canvas2.clipRect(0, this.z - cos, this.G, (int) (this.q * this.v));
canvas2.drawText(strArr[i8], f3, this.q, this.i);
canvas.restore();
}
} else {
canvas.save();
canvas2.clipRect(0, 0, this.G, this.y - cos);
float f4 = left;
canvas2.drawText(strArr[i8], f4, this.q, this.i);
canvas.restore();
canvas.save();
canvas2.clipRect(0, this.y - cos, this.G, (int) (this.q * this.v));
canvas2.drawText(strArr[i8], f4, this.q, this.j);
canvas.restore();
}
canvas.restore();
}
}
if (this.L != 0.0f && this.M != 0.0f) {
canvas2.drawText(this.h.getResources().getString(R.string.year_old), this.L, ((this.y + this.z) / 2) + (this.M / 2.0f), this.m);
}
super.onDraw(canvas);
}
@Override // android.view.View
protected void onMeasure(int i, int i2) {
c();
setMeasuredDimension(this.G, this.D);
}
@Override // android.view.View
public boolean onTouchEvent(MotionEvent motionEvent) {
int action = motionEvent.getAction();
if (action == 0) {
this.I = motionEvent.getRawY();
} else {
if (action != 2) {
if (!this.e.onTouchEvent(motionEvent) && motionEvent.getAction() == 1) {
e();
}
return true;
}
this.J = motionEvent.getRawY();
float f = this.I;
float f2 = this.J;
this.K = f - f2;
this.I = f2;
this.b = (int) (this.b + this.K);
if (!this.x) {
int i = this.b;
int i2 = this.B;
float f3 = this.v;
int i3 = this.q;
if (i <= ((int) ((-i2) * i3 * f3))) {
this.b = (int) ((-i2) * f3 * i3);
}
}
}
if (this.b < ((int) (((this.n.size() - 1) - this.B) * this.v * this.q))) {
invalidate();
} else {
this.b = (int) (((this.n.size() - 1) - this.B) * this.v * this.q);
invalidate();
}
if (!this.e.onTouchEvent(motionEvent) && motionEvent.getAction() == 1) {
e();
}
return true;
}
public final void setArrayList(List list) {
this.n = list;
c();
invalidate();
}
public final void setCurrentItem(int i) {
this.B = i;
this.b = 0;
e();
invalidate();
}
public final void setCyclic(boolean z) {
this.x = z;
}
public final void setListener(LoopListener loopListener) {
this.d = loopListener;
}
public final void setTextSize(float f) {
if (f > 0.0f) {
this.o = (int) (this.h.getResources().getDisplayMetrics().density * f);
}
}
public final void b() {
this.x = false;
}
public LoopView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
a(context);
}
public LoopView(Context context, AttributeSet attributeSet, int i) {
super(context, attributeSet, i);
a(context);
}
static void a(LoopView loopView) {
loopView.e();
}
protected final void a(float f) {
Timer timer = new Timer();
this.a = timer;
timer.schedule(new LoopTimerTask(this, f, timer), 0L, 20L);
}
protected final void a() {
if (this.d != null) {
new Handler().postDelayed(new LoopRunnable(this), 200L);
}
}
}