package aG; import G.R; import G.SerializableImpl; import G.Manager; import G.GComponentBb; import G.GComponentCx; import G.GInterfaceDc; import G.e; import G.i; import G.m; import G.n; import G.o; import V.ExceptionPrintstacktrace; import bH.D; import bH.X; import bH.c; import com.efiAnalytics.remotefileaccess.RemoteAccessException; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.Date; import java.util.logging.Level; import java.util.logging.Logger; public class AgInterfaceBravo { R a; private boolean c = true; private boolean d = false; ArrayList b = new ArrayList(); public AgInterfaceBravo(R paramR) { this.a = paramR; } public int a(File paramFile, n paramn) { a("Reading Replay Data"); int[] arrayOfInt = a(paramn); byte[] arrayOfByte = c.a(arrayOfInt); long l = System.currentTimeMillis(); D.c("Read " + arrayOfInt.length + " Replay bytes, begin file write."); a("Generating Replay Log file"); paramn.a(0.0D); int i = this.a.O().ai(); int j = arrayOfByte.length / i; if (paramFile.exists()) paramFile.delete(); try { paramFile.createNewFile(); } catch (IOException iOException) { throw new RemoteAccessException("Unable to create file: " + paramFile.getAbsolutePath()); } BufferedWriter bufferedWriter = null; try { FileWriter fileWriter = new FileWriter(paramFile); bufferedWriter = new BufferedWriter(fileWriter); bufferedWriter.write("Replay Data Uploaded on: "); bufferedWriter.append((new Date()).toString()); bufferedWriter.newLine(); bufferedWriter.append(j + ",Replay Records Used"); bufferedWriter.newLine(); bufferedWriter.append("Record #").append(","); bufferedWriter.append("Time").append(","); ArrayList arrayList1 = this.a.t(); if (c()) { arrayList1 = this.a.u(); } else { arrayList1 = this.a.t(); } ArrayList arrayList2 = new ArrayList(); int k = arrayList1.size(); for (byte b1 = 0; b1 < k; b1++) { GComponentBb GComponentBb = arrayList1.get(b1); if (GComponentBb.s()) { arrayList2.add(GComponentBb); bufferedWriter.append(GComponentBb.aL()); if (b1 < k - 1) bufferedWriter.append(","); } } bufferedWriter.newLine(); bufferedWriter.flush(); arrayList1 = arrayList2; k = arrayList1.size(); byte[] arrayOfByte1 = new byte[i]; float f = 0.02F; if (c() && this.a.c("AFRM_Hdw_Cfg") != null) { Manager Manager = this.a.c("AFRM_Hdw_Cfg"); int m = (int)Manager.j(this.a.h()); switch (m) { case 0: f = 0.02F; break; case 1: f = 0.04F; break; case 2: f = 0.06F; break; case 3: f = 0.08F; break; } } byte b2; for (b2 = 0; b2 < j; b2++) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(b2).append(","); float f1 = Math.round(1000.0F * f * b2) / 1000.0F; stringBuilder.append(f1).append(","); System.arraycopy(arrayOfByte, i * b2, arrayOfByte1, 0, arrayOfByte1.length); for (byte b3 = 0; b3 < k; b3++) { GComponentBb GComponentBb = arrayList1.get(b3); try { stringBuilder.append(GComponentBb.a(arrayOfByte1)); } catch (ExceptionPrintstacktrace ExceptionPrintstacktrace) { stringBuilder.append(" "); } if (b3 < k - 1) { stringBuilder.append(","); } else { stringBuilder.append(","); bufferedWriter.append(stringBuilder.toString()); bufferedWriter.newLine(); bufferedWriter.flush(); } } paramn.a(0.5D * (b2 / j)); } bufferedWriter.append("Raw Log Data...").append("\n"); for (b2 = 0; b2 < j; b2++) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(b2).append(","); float f1 = Math.round(1000.0F * f * b2) / 1000.0F; stringBuilder.append(X.b(f1, 2)).append(","); System.arraycopy(arrayOfByte, i * b2, arrayOfByte1, 0, arrayOfByte1.length); for (byte b3 = 0; b3 < k; b3++) { GComponentBb GComponentBb = arrayList1.get(b3); try { if (GComponentBb.b().equals("formula")) { ArrayList arrayList = i.a(GComponentBb.v(), (SerializableImpl)GComponentBb); GComponentBb bb1 = null; for (byte b4 = 0; b4 < arrayList.size(); b4++) { if (arrayList.get(b4) instanceof GComponentBb && !((SerializableImpl)arrayList.get(b4)).b().equals("formula")) { bb1 = (GComponentBb)arrayList.get(b4); break; } } if (bb1 != null) { stringBuilder.append(bb1.c(arrayOfByte1)); } else { stringBuilder.append("0"); } } else { stringBuilder.append(GComponentBb.c(arrayOfByte1)); } } catch (ExceptionPrintstacktrace ExceptionPrintstacktrace) { stringBuilder.append(" "); } if (b3 < k - 1) { stringBuilder.append(","); } else { stringBuilder.append(","); bufferedWriter.append(stringBuilder.toString()); if (b3 < j - 1) bufferedWriter.newLine(); bufferedWriter.flush(); } } paramn.a(0.5D + 0.5D * (b2 / j)); } paramn.a(1.0D); o o = new o(); o.a(1); paramn.a(o); D.c("Completed Replay File write. Time: " + (System.currentTimeMillis() - l) + "ms."); a("File Generation Complete"); } catch (IOException iOException) { D.a(iOException); throw new RemoteAccessException("Unable to write to file: " + paramFile.getAbsolutePath()); } catch (IndexOutOfBoundsException indexOutOfBoundsException) { D.a(indexOutOfBoundsException); throw new RemoteAccessException("Error processing Replay Data, check Replay Entry addressing offsets. " + indexOutOfBoundsException.getMessage()); } catch (Exception exception) { D.a(exception); throw new RemoteAccessException("Error processing Replay Data, check Replay Entrys. " + exception.getMessage()); } finally { if (bufferedWriter != null) try { bufferedWriter.close(); } catch (IOException iOException) { Logger.getLogger(b.class.getName()).log(Level.SEVERE, (String)null, iOException); } } return arrayOfInt.length; } public int[] a(n paramn) { this.d = true; try { boolean bool1 = b(); boolean bool2 = c(); if (bool2) return c(paramn); if (bool1) return b(paramn); throw new RemoteAccessException("Replay is not currently available."); } finally { this.d = false; } } private boolean b() { return c.b(this.a); } private boolean c() { return c.a(this.a); } public int[] b(n paramn) { int i; String str = this.a.O().ah(); if (str == null) throw new RemoteAccessException("Configuration Error, replayRecordCountParam not set!"); Manager aM1 = this.a.c(str); if (aM1 == null) throw new RemoteAccessException("Configuration Error, replayRecordCountParam " + aM1 + " not found!"); a(3000); GComponentCx.b(this.a, aM1.d()); Manager aM2 = this.a.c("Key_On_Baro"); if (aM2 != null) GComponentCx.b(this.a, aM2.d()); GInterfaceDc GInterfaceDc = new GInterfaceDc(); try { i = (int)aM1.j(this.a.p()); } catch (ExceptionPrintstacktrace ExceptionPrintstacktrace) { D.a((Exception)ExceptionPrintstacktrace); throw new RemoteAccessException("Failed to get Replay Record Count"); } try { if (this.a.O().T()) e.a(this.a); } catch (ExceptionPrintstacktrace ExceptionPrintstacktrace) { D.a((Exception)ExceptionPrintstacktrace); } m m = a.a(this.a.O(), i); m.b(paramn); boolean bool = this.a.O().H(); int j = this.a.O().k(); this.a.O().e(false); this.a.O().d(45); this.a.O().a(false); try { o o = GInterfaceDc.a(this.a, m, 3000); try { a(2000); e.b(this.a); } catch (ExceptionPrintstacktrace ExceptionPrintstacktrace) { Logger.getLogger(b.class.getName()).log(Level.SEVERE, (String)null, (Throwable)ExceptionPrintstacktrace); } if (o.a() == 3) throw new RemoteAccessException("Replay Read Failed! " + o.c()); return o.e(); } finally { this.a.O().e(bool); this.a.O().d(j); } } public int[] c(n paramn) { int i; String str = this.a.O().ah(); if (str == null) throw new RemoteAccessException("Configuration Error, replayRecordCountParam not set!"); Manager aM1 = this.a.c(str); if (aM1 == null) throw new RemoteAccessException("Configuration Error, replayRecordCountParam " + aM1 + " not found!"); a(1000); GComponentCx.b(this.a, aM1.d()); Manager aM2 = this.a.c("Key_On_Baro"); if (aM2 != null) GComponentCx.b(this.a, aM2.d()); GInterfaceDc GInterfaceDc = new GInterfaceDc(); try { i = (int)aM1.j(this.a.p()); } catch (ExceptionPrintstacktrace ExceptionPrintstacktrace) { D.a((Exception)ExceptionPrintstacktrace); throw new RemoteAccessException("Failed to get Replay Record Count"); } try { if (this.a.O().T()) e.a(this.a); } catch (ExceptionPrintstacktrace ExceptionPrintstacktrace) { D.a((Exception)ExceptionPrintstacktrace); } this.c = true; int j = i * this.a.O().ai(); int[] arrayOfInt = new int[j]; int k = 16384; int m = 65536; char c = 'ࠀ'; byte[] arrayOfByte = { -14, -8, -10, -12 }; int i1 = 0; boolean bool = this.a.O().H(); int i2 = this.a.O().k(); this.a.O().e(false); this.a.O().d(45); this.a.O().a(false); paramn.e(); try { do { byte b1 = arrayOfByte[(16384 + i1) / m]; byte b2 = (j - i1 > c) ? c : (j - i1); k = (16384 + i1) % m; a(3000); m m1 = a.a(this.a.O(), b1, k, b2); o o = GInterfaceDc.a(this.a, m1, 4000); if (o.a() != 1 || o.e() == null) throw new RemoteAccessException("Replay Read interrupted!\n " + o.c()); int[] arrayOfInt1 = o.e(); boolean bool1 = (arrayOfInt1.length > b2) ? b2 : arrayOfInt1.length; System.arraycopy(arrayOfInt1, 0, arrayOfInt, i1, bool1); i1 += b2; paramn.a(i1 / j); try { e.c(this.a); } catch (ExceptionPrintstacktrace ExceptionPrintstacktrace) { D.b("Ping high speed baud failed."); } } while (i1 < j - c && this.c); } finally { try { D.c("Replay, totalBytes=" + j + ", readBytes=" + i1); a(2000); e.b(this.a); if (!this.c) { o o = new o(); o.a(3); o.a("Replay Read Cancelled"); paramn.a(o); } } catch (ExceptionPrintstacktrace ExceptionPrintstacktrace) { D.a((Exception)ExceptionPrintstacktrace); } this.a.O().e(bool); this.a.O().a(bool); this.a.O().d(i2); } return arrayOfInt; } public void a() { this.c = false; } protected void a(int paramInt) { this.a.C().d(System.currentTimeMillis() + paramInt); } private void a(String paramString) { for (h h : this.b) h.a(paramString); } } /* Location: /home/rewrich/Downloads/TunerStudioMS/TunerStudioMS/!/aG/b.class * Java compiler version: 8 (52.0) * JD-Core Version: 1.1.3 */