docs: def _watcher_thread(self):
          """
          Periodically attempt to upload the crash reports. If any upload method is successful, delete the saved reports.
          """
          while 1:
              time.sleep(self.check_interval)
              if not self._watcher_running:
                  break
              self.logger.info('CrashReporter: Attempting to send offline reports.')
              self.submit_offline_reports()
              remaining_reports = len(self.get_offline_reports())
              if remaining_reports == 0:
                  break
          self._watcher = None
          self.logger.info('CrashReporter: Watcher stopped.')