Move metrics from namespace to class

Add a new metrics reporter interface to handle the current metrics
report for omaha (with metricsd). This helps to add metrics logging
for android phone devices (using other libraries) in the future.

Also change the unit tests accordingly.

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