code: def take_bug_reports(ads, test_name, begin_time, destination=None):
      
      begin_time = mobly_logger.normalize_log_line_timestamp(str(begin_time))
  
      def take_br(test_name, begin_time, ad, destination):
          ad.take_bug_report(test_name, begin_time, destination=destination)
  
      args = [(test_name, begin_time, ad, destination) for ad in ads]
      utils.concurrent_exec(take_br, args)
docs: Takes bug reports on a list of android devices.
  
      If you want to take a bug report, call this function with a list of
      android_device objects in on_fail. But reports will be taken on all the
      devices in the list concurrently. Bug report takes a relative long
      time to take, so use this cautiously.
  
      Args:
          ads: A list of AndroidDevice instances.
          test_name: Name of the test method that triggered this bug report.
          begin_time: timestamp taken when the test started, can be either
              string or int.
          destination: string, path to the directory where the bugreport
              should be saved.