Allow to set the network used for an update attempt.

When triggering an update attempt in Android, we can force all the
traffic to go through a given network by passing a NETWORK_ID=<id>
in the extra key-value pair field.

Bug: 29921093
TEST=Called update_engine_client passing NETWORK_ID.

Change-Id: I13becdd133cccc912b542d48061fcfe9f566099a
11 files changed
tree: c786ac1afbd4e1228ea62cba33be47ac5b42e683
  1. binder_bindings/
  2. client_library/
  3. common/
  4. dbus_bindings/
  5. include/
  6. init/
  7. payload_consumer/
  8. payload_generator/
  9. sample_images/
  10. scripts/
  11. update_manager/
  12. update_payload_key/
  13. weaved/
  14. .gitignore
  15. Android.mk
  16. binder_service_android.cc
  17. binder_service_android.h
  18. binder_service_brillo.cc
  19. binder_service_brillo.h
  20. boot_control_android.cc
  21. boot_control_android.h
  22. boot_control_chromeos.cc
  23. boot_control_chromeos.h
  24. boot_control_chromeos_unittest.cc
  25. chrome_browser_proxy_resolver.cc
  26. chrome_browser_proxy_resolver.h
  27. chrome_browser_proxy_resolver_unittest.cc
  28. common_service.cc
  29. common_service.h
  30. common_service_unittest.cc
  31. connection_manager.cc
  32. connection_manager.h
  33. connection_manager_android.cc
  34. connection_manager_android.h
  35. connection_manager_interface.h
  36. connection_manager_unittest.cc
  37. connection_utils.cc
  38. connection_utils.h
  39. daemon.cc
  40. daemon.h
  41. daemon_state_android.cc
  42. daemon_state_android.h
  43. daemon_state_interface.h
  44. dbus_connection.cc
  45. dbus_connection.h
  46. dbus_service.cc
  47. dbus_service.h
  48. dbus_test_utils.h
  49. fake_file_writer.h
  50. fake_p2p_manager.h
  51. fake_p2p_manager_configuration.h
  52. fake_shill_proxy.cc
  53. fake_shill_proxy.h
  54. fake_system_state.cc
  55. fake_system_state.h
  56. generate_pc_file.sh
  57. hardware_android.cc
  58. hardware_android.h
  59. hardware_chromeos.cc
  60. hardware_chromeos.h
  61. hardware_chromeos_unittest.cc
  62. image_properties.h
  63. image_properties_android.cc
  64. image_properties_chromeos.cc
  65. image_properties_chromeos_unittest.cc
  66. libcros_proxy.cc
  67. libcros_proxy.h
  68. libupdate_engine-client-test.pc.in
  69. libupdate_engine-client.pc.in
  70. local_coverage_rate
  71. main.cc
  72. metrics.cc
  73. metrics.h
  74. metrics_utils.cc
  75. metrics_utils.h
  76. metrics_utils_unittest.cc
  77. mock_connection_manager.h
  78. mock_file_writer.h
  79. mock_omaha_request_params.h
  80. mock_p2p_manager.h
  81. mock_payload_state.h
  82. mock_power_manager.h
  83. mock_proxy_resolver.h
  84. mock_update_attempter.h
  85. MODULE_LICENSE_APACHE2
  86. network_selector.h
  87. network_selector_android.cc
  88. network_selector_android.h
  89. network_selector_interface.h
  90. network_selector_stub.cc
  91. network_selector_stub.h
  92. NOTICE
  93. omaha_request_action.cc
  94. omaha_request_action.h
  95. omaha_request_action_unittest.cc
  96. omaha_request_params.cc
  97. omaha_request_params.h
  98. omaha_request_params_unittest.cc
  99. omaha_response.h
  100. omaha_response_handler_action.cc
  101. omaha_response_handler_action.h
  102. omaha_response_handler_action_unittest.cc
  103. omaha_utils.cc
  104. omaha_utils.h
  105. omaha_utils_unittest.cc
  106. OWNERS
  107. p2p_manager.cc
  108. p2p_manager.h
  109. p2p_manager_unittest.cc
  110. parcelable_update_engine_status.cc
  111. parcelable_update_engine_status.h
  112. payload_state.cc
  113. payload_state.h
  114. payload_state_interface.h
  115. payload_state_unittest.cc
  116. power_manager_android.cc
  117. power_manager_android.h
  118. power_manager_chromeos.cc
  119. power_manager_chromeos.h
  120. power_manager_interface.h
  121. PRESUBMIT.cfg
  122. proxy_resolver.cc
  123. proxy_resolver.h
  124. real_system_state.cc
  125. real_system_state.h
  126. run_unittests
  127. sample_omaha_v3_response.xml
  128. service_delegate_android_interface.h
  129. service_observer_interface.h
  130. shill_proxy.cc
  131. shill_proxy.h
  132. shill_proxy_interface.h
  133. system_state.h
  134. tar_bunzip2.gypi
  135. test_http_server.cc
  136. test_subprocess.cc
  137. testrunner.cc
  138. unittest_key.pem
  139. unittest_key2.pem
  140. update_attempter.cc
  141. update_attempter.h
  142. update_attempter_android.cc
  143. update_attempter_android.h
  144. update_attempter_unittest.cc
  145. update_engine-client.gyp
  146. update_engine.conf
  147. update_engine.gyp
  148. update_engine.rc
  149. update_engine_client.cc
  150. update_engine_client_android.cc
  151. update_metadata.proto
  152. update_status_utils.cc
  153. update_status_utils.h
  154. UpdateEngine.conf
  155. utils_android.cc
  156. utils_android.h
  157. WATCHLISTS
  158. weave_service.cc
  159. weave_service.h
  160. weave_service_factory.cc
  161. weave_service_factory.h
  162. weave_service_interface.h