update_device.py: support passing extra headers.

Test: update_device.py --extra-headers 'SWITCH_SLOT_ON_REBOOT=0' ...
Change-Id: I5902153329243e6dc55d767d87bc974f206d32e0
diff --git a/scripts/update_device.py b/scripts/update_device.py
index 49de7a1..64cfbe3 100755
--- a/scripts/update_device.py
+++ b/scripts/update_device.py
@@ -276,14 +276,13 @@
   return t
 
 
-def AndroidUpdateCommand(ota_filename, payload_url):
+def AndroidUpdateCommand(ota_filename, payload_url, extra_headers):
   """Return the command to run to start the update in the Android device."""
   ota = AndroidOTAPackage(ota_filename)
   headers = ota.properties
   headers += 'USER_AGENT=Dalvik (something, something)\n'
-
-  # headers += 'POWERWASH=1\n'
   headers += 'NETWORK_ID=0\n'
+  headers += extra_headers
 
   return ['update_engine_client', '--update', '--follow',
           '--payload=%s' % payload_url, '--offset=%d' % ota.offset,
@@ -360,6 +359,8 @@
                       help='Less verbose output')
   parser.add_argument('--public-key', type=str, default='',
                       help='Override the public key used to verify payload.')
+  parser.add_argument('--extra-headers', type=str, default='',
+                      help='Extra headers to pass to the device.')
   args = parser.parse_args()
   logging.basicConfig(
       level=logging.WARNING if args.no_verbose else logging.INFO)
@@ -423,7 +424,8 @@
       update_cmd = \
           OmahaUpdateCommand('http://127.0.0.1:%d/update' % DEVICE_PORT)
     else:
-      update_cmd = AndroidUpdateCommand(args.otafile, payload_url)
+      update_cmd = \
+          AndroidUpdateCommand(args.otafile, payload_url, args.extra_headers)
     cmds.append(['shell', 'su', '0'] + update_cmd)
 
     for cmd in cmds: