Files
tustu/app/G/TuneDataSnapshot.java
2026-01-11 20:30:56 +00:00

408 lines
10 KiB
Java

package G;
import V.ExceptionPrintstacktrace;
import bH.D;
import bH.X;
import bH.c;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class TuneDataSnapshot extends Q {
List a = Collections.synchronizedList(new ArrayList());
List b = Collections.synchronizedList(new ArrayList());
List c = Collections.synchronizedList(new ArrayList());
ArrayList d = new ArrayList();
int e = -1;
boolean f = false;
aa ExceptionPrintstacktrace = null;
private R k = null;
boolean h = true;
private boolean l = false;
int[][] i = null;
private long m = 21L;
public static int j = Integer.MIN_VALUE;
private boolean n = false;
private Y() {}
public Y(R paramR) {
this.k = paramR;
a(paramR.O());
}
public Y(R paramR, int[][] paramArrayOfint) {
this.k = paramR;
this.i = paramArrayOfint;
}
public Y a() {
Y y = new Y();
if (this.k != null && this.k.O() != null) {
y.a(this.k.O());
} else {
y.i = new int[this.i.length][(this.i[0]).length];
}
for (byte b = 0; b < y.i.length; b++) {
for (byte b1 = 0; b1 < (y.i[b]).length; b1++)
y.i[b][b1] = this.i[b][b1];
}
y.h = this.h;
return y;
}
public boolean b() {
return this.h;
}
private void n() {
if (this.e < this.c.size() - 1) {
for (int i = this.c.size() - 1; i > this.e; i--)
this.c.remove(i);
d(false);
}
}
public void c() {
long l = System.currentTimeMillis();
if (this.e > 0)
l = ((aa)this.c.get(this.e - 1)).f() - this.m;
this.f = true;
while (this.e > 0) {
this.e--;
this.ExceptionPrintstacktrace = this.c.get(this.e);
if (this.ExceptionPrintstacktrace.f() < l) {
this.e++;
break;
}
if (this.e == this.c.size() - 1) {
aa aa1 = b(this.ExceptionPrintstacktrace.a(), this.ExceptionPrintstacktrace.b(), (this.ExceptionPrintstacktrace.c()).length);
this.c.set(this.e, aa1);
} else {
aa aa1 = b(this.ExceptionPrintstacktrace.a(), this.ExceptionPrintstacktrace.b(), (this.ExceptionPrintstacktrace.c()).length);
this.c.set(this.e, aa1);
}
a(this.ExceptionPrintstacktrace.a(), this.ExceptionPrintstacktrace.b(), this.ExceptionPrintstacktrace.c(), false);
if (this.e == this.c.size() - 1)
d(true);
l = this.ExceptionPrintstacktrace.f() - this.m;
}
this.f = false;
if (this.e == 0)
c(false);
if (this.e == this.c.size() - 2)
d(true);
}
public void d() {
long l = 0L;
if (this.e < this.c.size());
while (this.e < this.c.size()) {
this.ExceptionPrintstacktrace = this.c.get(this.e);
if (l - this.ExceptionPrintstacktrace.f() > this.m)
break;
aa aa1 = b(this.ExceptionPrintstacktrace.a(), this.ExceptionPrintstacktrace.b(), (this.ExceptionPrintstacktrace.c()).length);
aa1.a(this.ExceptionPrintstacktrace.f());
this.c.set(this.e, aa1);
a(this.ExceptionPrintstacktrace.a(), this.ExceptionPrintstacktrace.b(), this.ExceptionPrintstacktrace.c(), false);
l = this.ExceptionPrintstacktrace.f();
this.e++;
}
if (this.e == this.c.size())
d(false);
if (this.e >= 1)
c(true);
}
public void a(int paramInt1, int paramInt2, int[] paramArrayOfint) {
a(paramInt1, paramInt2, paramArrayOfint, false, false);
}
public synchronized void a(int paramInt1, int paramInt2, int[] paramArrayOfint, boolean paramBoolean1, boolean paramBoolean2) {
aa aa1 = b(paramInt1, paramInt2, paramArrayOfint.length);
if (aa1.equals(this.ExceptionPrintstacktrace) && c.c(aa1.c(), paramArrayOfint) && !paramBoolean1)
return;
if (a(paramInt1, paramInt2, paramArrayOfint, paramBoolean1) && paramBoolean2) {
n();
a(aa1);
}
}
private void a(aa paramaa) {
if (!this.f) {
this.c.add(paramaa);
this.e = this.c.size();
c(true);
}
}
public synchronized boolean b(int paramInt1, int paramInt2, int[] paramArrayOfint) {
boolean bool = false;
try {
for (byte b = 0; b < paramArrayOfint.length; b++) {
if (this.i[paramInt1][paramInt2 + b] != paramArrayOfint[b]) {
this.i[paramInt1][paramInt2 + b] = paramArrayOfint[b];
this.l = true;
bool = true;
}
}
} catch (Exception exception) {
throw new ExceptionPrintstacktrace("Unable to set bytes \npage:" + paramInt1 + ", offset:" + paramInt2 + ", bytes:\n" + paramArrayOfint + "\n" + exception.getMessage(), exception);
}
return bool;
}
protected synchronized boolean a(int paramInt1, int paramInt2, int[] paramArrayOfint, boolean paramBoolean) {
byte b1 = -1;
byte b2 = -1;
try {
for (byte b = 0; b < paramArrayOfint.length; b++) {
if (this.i[paramInt1][paramInt2 + b] != paramArrayOfint[b]) {
if (this.n)
throw new ExceptionPrintstacktrace("Attempt to update readonly ECU Data.");
this.i[paramInt1][paramInt2 + b] = paramArrayOfint[b];
this.l = true;
if (b1 == -1)
b1 = b;
b2 = b;
}
}
} catch (Exception exception) {
throw new ExceptionPrintstacktrace("Unable to set bytes \npage:" + paramInt1 + ", offset:" + paramInt2 + ", bytes:\n" + c.a(paramArrayOfint, 8) + "\n" + exception.getMessage(), exception);
}
if (paramBoolean || b1 != -1)
if (b2 < 0) {
if (paramBoolean) {
c(paramInt1, paramInt2, paramArrayOfint);
} else {
int[] arrayOfInt = new int[1];
System.arraycopy(paramArrayOfint, 0, arrayOfInt, 0, arrayOfInt.length);
c(paramInt1, paramInt2, arrayOfInt);
}
} else if (b2 - b1 < paramArrayOfint.length - 1) {
int[] arrayOfInt = new int[b2 - b1 + 1];
System.arraycopy(paramArrayOfint, b1, arrayOfInt, 0, arrayOfInt.length);
c(paramInt1, paramInt2 + b1, arrayOfInt);
} else {
c(paramInt1, paramInt2, paramArrayOfint);
}
return (b1 != -1);
}
public void a(boolean paramBoolean) {
this.h = paramBoolean;
}
public void a(F paramF) {
a(paramF.ExceptionPrintstacktrace());
int[] arrayOfInt = paramF.l();
for (byte b = 0; b < arrayOfInt.length; b++)
a(b, arrayOfInt[b]);
f();
}
public int e() {
return this.i.length;
}
public void a(int paramInt) {
this.i = new int[paramInt][1];
}
public void a(int paramInt1, int paramInt2) {
this.i[paramInt1] = new int[paramInt2];
}
public void f() {
for (byte b = 0; b < this.i.length; b++) {
for (byte b1 = 0; b1 < (this.i[b]).length; b1++)
this.i[b][b1] = j;
}
}
public int[] b(int paramInt) {
return this.i[paramInt];
}
public int c(int paramInt) {
return (this.i[paramInt]).length;
}
public int[] a(int paramInt1, int paramInt2, int paramInt3) {
int[] arrayOfInt = new int[paramInt3];
for (byte b = 0; b < arrayOfInt.length; b++) {
if (paramInt2 + b >= (this.i[paramInt1]).length)
byte b1 = 2;
arrayOfInt[b] = this.i[paramInt1][paramInt2 + b];
}
return arrayOfInt;
}
public int b(int paramInt1, int paramInt2) {
return this.i[paramInt1][paramInt2];
}
public String toString() {
if (this.i == null)
return "EcuData not initialized";
String str = "";
for (byte b = 0; b < this.i.length; b++) {
str = str + "page:" + b;
for (byte b1 = 0; b1 < (this.i[0]).length; b1++) {
if (b1 % 16 == 0)
str = str + "\n";
str = str + "x" + X.a("" + Integer.toString(this.i[b][b1], 16), '0', 2) + "\t";
}
str = str + "\n";
}
return str;
}
public void a(ab paramab) {
if (!this.a.contains(paramab))
this.a.add(paramab);
}
public void b(ab paramab) {
this.a.remove(paramab);
}
protected void c(int paramInt1, int paramInt2, int[] paramArrayOfint) {
synchronized (this.a) {
for (ab ab : this.a) {
try {
ab.a(this.k.c(), paramInt1, paramInt2, paramArrayOfint);
} catch (Exception exception) {
D.c("EcuData::notifyDataUpdated - Error notifying: " + ab);
exception.printStackTrace();
}
}
}
}
public void a(di paramdi) {
this.b.add(paramdi);
}
public void b(di paramdi) {
this.b.remove(paramdi);
}
private void c(boolean paramBoolean) {
for (di di : this.b) {
try {
di.a(paramBoolean);
} catch (Exception exception) {
D.c("EcuData::notifyUndoAvailable - Error notifying: " + di);
exception.printStackTrace();
}
}
}
private void d(boolean paramBoolean) {
for (di di : this.b) {
try {
di.b(paramBoolean);
} catch (Exception exception) {
D.c("EcuData::notifyUndoAvailable - Error notifying: " + di);
exception.printStackTrace();
}
}
}
public boolean aO() {
return this.l;
}
public void ExceptionPrintstacktrace() {
this.l = false;
this.c.clear();
this.e = -1;
c(false);
d(false);
}
public boolean h() {
if (this.i == null)
return true;
for (byte b = 0; b < this.i.length; b++) {
for (byte b1 = 0; b1 < (this.i[b]).length; b1++) {
if (this.i[b][b1] > 0)
return false;
}
}
return true;
}
public String i() {
return (this.k == null) ? null : this.k.c();
}
private aa b(int paramInt1, int paramInt2, int paramInt3) {
aa aa1 = new aa(this, null);
aa1.a(paramInt1);
aa1.b(paramInt2);
int[] arrayOfInt = new int[paramInt3];
for (int i = paramInt2; i < paramInt2 + paramInt3; i++)
arrayOfInt[i - paramInt2] = this.i[paramInt1][i];
aa1.a(arrayOfInt);
return aa1;
}
public void a(bd parambd) {
if (!this.d.contains(parambd))
this.d.add(parambd);
}
public boolean j() {
return this.n;
}
public void b(boolean paramBoolean) {
this.n = paramBoolean;
}
public int k() {
int i = 0;
for (byte b = 0; b < this.i.length; b++)
i += (this.i[b]).length;
return i;
}
public int l() {
byte b1 = 0;
for (byte b2 = 0; b2 < this.i.length; b2++) {
for (byte b = 0; b < (this.i[b2]).length; b++) {
if (this.i[b2][b] == j)
b1++;
}
}
return b1;
}
public void m() {
if (this.c.size() > 0) {
this.c.clear();
c(false);
}
}
}
/* Location: /home/rewrich/Downloads/TunerStudioMS/TunerStudioMS/!/G/Y.class
* Java compiler version: 8 (52.0)
* JD-Core Version: 1.1.3
*/