| Index: build/android/enable_asserts.py
 | 
| diff --git a/build/android/enable_asserts.py b/build/android/enable_asserts.py
 | 
| index 0e30bc2a1736d529511b038007f6e9bc707c2b7e..8fb7dca4725fe884af73115b0751d68d74f99940 100755
 | 
| --- a/build/android/enable_asserts.py
 | 
| +++ b/build/android/enable_asserts.py
 | 
| @@ -6,33 +6,37 @@
 | 
|  
 | 
|  """Enables dalvik vm asserts in the android device."""
 | 
|  
 | 
| -from pylib import android_commands
 | 
| -from pylib.device import device_utils
 | 
| -import optparse
 | 
| +import argparse
 | 
|  import sys
 | 
|  
 | 
| +from pylib.device import device_utils
 | 
| +
 | 
| +
 | 
| +def main():
 | 
| +  parser = argparse.ArgumentParser()
 | 
|  
 | 
| -def main(argv):
 | 
| -  option_parser = optparse.OptionParser()
 | 
| -  option_parser.add_option('--enable_asserts', dest='set_asserts',
 | 
| -      action='store_true', default=None,
 | 
| +  set_asserts_group = parser.add_mutually_exclusive_group(required=True)
 | 
| +  set_asserts_group.add_argument(
 | 
| +      '--enable_asserts', dest='set_asserts', action='store_true',
 | 
|        help='Sets the dalvik.vm.enableassertions property to "all"')
 | 
| -  option_parser.add_option('--disable_asserts', dest='set_asserts',
 | 
| -      action='store_false', default=None,
 | 
| +  set_asserts_group.add_argument(
 | 
| +      '--disable_asserts', dest='set_asserts', action='store_false',
 | 
|        help='Removes the dalvik.vm.enableassertions property')
 | 
| -  options, _ = option_parser.parse_args(argv)
 | 
| +
 | 
| +  args = parser.parse_args()
 | 
|  
 | 
|    # TODO(jbudorick): Accept optional serial number and run only for the
 | 
|    # specified device when present.
 | 
| -  devices = android_commands.GetAttachedDevices()
 | 
| -  for device in [device_utils.DeviceUtils(serial) for serial in devices]:
 | 
| -    if options.set_asserts != None:
 | 
| -      if device.SetJavaAsserts(options.set_asserts):
 | 
| -        # TODO(jbudorick) How to best do shell restarts after the
 | 
| -        #                 android_commands refactor?
 | 
| -        device.RunShellCommand('stop')
 | 
| -        device.RunShellCommand('start')
 | 
| +  devices = device_utils.DeviceUtils.parallel()
 | 
| +
 | 
| +  def set_java_asserts_and_restart(device):
 | 
| +    if device.SetJavaAsserts(args.set_asserts):
 | 
| +      device.RunShellCommand('stop')
 | 
| +      device.RunShellCommand('start')
 | 
| +
 | 
| +  devices.pMap(set_java_asserts_and_restart)
 | 
| +  return 0
 | 
|  
 | 
|  
 | 
|  if __name__ == '__main__':
 | 
| -  main(sys.argv)
 | 
| +  sys.exit(main())
 | 
| 
 |