Example #1
0
 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();
     }
   }
 }
Example #2
0
 private void attemptUploadWithRetry() {
   Fabric.getLogger()
       .m23d(Fabric.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;
     }
   }
   Crashlytics crashlytics = Crashlytics.getInstance();
   CrashlyticsUncaughtExceptionHandler handler = crashlytics.getHandler();
   List<Report> reports = ReportUploader.this.findReports();
   if (!handler.isHandlingException()) {
     if (reports.isEmpty() || crashlytics.canSendWithUserApproval()) {
       int retryCount = 0;
       while (!reports.isEmpty()
           && !Crashlytics.getInstance().getHandler().isHandlingException()) {
         Fabric.getLogger()
             .m23d(Fabric.TAG, "Attempting to send " + reports.size() + " report(s)");
         for (Report report : reports) {
           ReportUploader.this.forceUpload(report);
         }
         reports = ReportUploader.this.findReports();
         if (!reports.isEmpty()) {
           int retryCount2 = retryCount + 1;
           long interval =
               (long)
                   ReportUploader.RETRY_INTERVALS[
                       Math.min(retryCount, ReportUploader.RETRY_INTERVALS.length - 1)];
           Fabric.getLogger()
               .m23d(
                   Fabric.TAG,
                   "Report submisson: scheduling delayed retry in " + interval + " seconds");
           try {
             Thread.sleep(1000 * interval);
             retryCount = retryCount2;
           } catch (InterruptedException e2) {
             Thread.currentThread().interrupt();
             return;
           }
         }
       }
       return;
     }
     Fabric.getLogger()
         .m23d(Fabric.TAG, "User declined to send. Removing " + reports.size() + " Report(s).");
     for (Report report2 : reports) {
       report2.remove();
     }
   }
 }