private void attemptUploadWithRetry() { Fabric.m512h() .m474a( CrashlyticsCore.TAG, "Starting report processing in " + this.delay + " second(s)..."); if (this.delay > 0.0f) { try { Thread.sleep((long) (this.delay * 1000.0f)); } catch (InterruptedException e) { Thread.currentThread().interrupt(); return; } } CrashlyticsCore instance = CrashlyticsCore.getInstance(); CrashlyticsUncaughtExceptionHandler handler = instance.getHandler(); List<Report> findReports = ReportUploader.this.findReports(); if (!handler.isHandlingException()) { if (findReports.isEmpty() || instance.canSendWithUserApproval()) { List list = findReports; int i = 0; while (!r0.isEmpty() && !CrashlyticsCore.getInstance().getHandler().isHandlingException()) { Fabric.m512h() .m474a(CrashlyticsCore.TAG, "Attempting to send " + r0.size() + " report(s)"); for (Report forceUpload : r0) { ReportUploader.this.forceUpload(forceUpload); } List findReports2 = ReportUploader.this.findReports(); if (findReports2.isEmpty()) { list = findReports2; } else { int i2 = i + 1; long j = (long) ReportUploader.RETRY_INTERVALS[ Math.min(i, ReportUploader.RETRY_INTERVALS.length - 1)]; Fabric.m512h() .m474a( CrashlyticsCore.TAG, "Report submisson: scheduling delayed retry in " + j + " seconds"); try { Thread.sleep(j * 1000); i = i2; list = findReports2; } catch (InterruptedException e2) { Thread.currentThread().interrupt(); return; } } } return; } Fabric.m512h() .m474a( CrashlyticsCore.TAG, "User declined to send. Removing " + findReports.size() + " Report(s)."); for (Report forceUpload2 : findReports) { forceUpload2.remove(); } } }
private void attemptUploadWithRetry() { Object obj; CrashlyticsCore crashlyticscore; bso.h().a("CrashlyticsCore", (new StringBuilder()).append("Starting report processing in ").append(delay).append(" second(s)...").toString()); CrashlyticsUncaughtExceptionHandler crashlyticsuncaughtexceptionhandler; if (delay > 0.0F) { try { Thread.sleep((long)(delay * 1000F)); } // Misplaced declaration of an exception variable catch (Object obj) { Thread.currentThread().interrupt(); return; } } crashlyticscore = CrashlyticsCore.getInstance(); crashlyticsuncaughtexceptionhandler = crashlyticscore.getHandler(); obj = findReports(); if (!crashlyticsuncaughtexceptionhandler.isHandlingException()) goto _L2; else goto _L1
private HttpRequest applyHeadersTo( HttpRequest httprequest, CreateReportRequest createreportrequest) { httprequest = httprequest .header("X-CRASHLYTICS-API-KEY", createreportrequest.apiKey) .header("X-CRASHLYTICS-API-CLIENT-TYPE", "android") .header("X-CRASHLYTICS-API-CLIENT-VERSION", CrashlyticsCore.getInstance().getVersion()); for (createreportrequest = createreportrequest.report.getCustomHeaders().entrySet().iterator(); createreportrequest.hasNext(); ) { httprequest = httprequest.header((java.util.Map.Entry) createreportrequest.next()); } return httprequest; }
List<Report> findReports() { Fabric.m512h().m474a(CrashlyticsCore.TAG, "Checking for crash reports..."); synchronized (this.fileAccessLock) { File[] listFiles = CrashlyticsCore.getInstance().getSdkDirectory().listFiles(crashFileFilter); } List<Report> linkedList = new LinkedList(); for (File file : listFiles) { Fabric.m512h().m474a(CrashlyticsCore.TAG, "Found crash report " + file.getPath()); linkedList.add(new SessionReport(file)); } if (linkedList.isEmpty()) { Fabric.m512h().m474a(CrashlyticsCore.TAG, "No reports found."); } return linkedList; }
boolean forceUpload(Report report) { boolean z = false; synchronized (this.fileAccessLock) { try { boolean invoke = this.createReportCall.invoke( new CreateReportRequest( new ApiKey().m141a(CrashlyticsCore.getInstance().getContext()), report)); Fabric.m512h() .m478c( CrashlyticsCore.TAG, "Crashlytics report upload " + (invoke ? "complete: " : "FAILED: ") + report.getFileName()); if (invoke) { report.remove(); z = true; } } catch (Throwable e) { Fabric.m512h().m482e(CrashlyticsCore.TAG, "Error occurred sending report " + report, e); } } return z; }