Add hub version in regression test report

PiperOrigin-RevId: 602583331
diff --git a/ui_automator/ui_automator.py b/ui_automator/ui_automator.py
index 8a3e7c2..663e6b7 100644
--- a/ui_automator/ui_automator.py
+++ b/ui_automator/ui_automator.py
@@ -89,6 +89,15 @@
         ' test report. e.g. `--dut X123123123,LIGHT,Matter`.'
     ),
 )
+_HUB_VERSION_KEY = 'hub_version'
+_HUB = flags.DEFINE_string(
+    name='hub',
+    default=None,
+    help=(
+        'Use --hub {HubVersion} to include this field in'
+        ' regression test report. e.g. `--hub 10.1.3`.'
+    ),
+)
 
 
 class RegTestSuiteType(enum.Enum):
@@ -409,6 +418,9 @@
     if _DUT.value:
       temp_info['dut'] = f"<{', '.join(_DUT.value)}>"
 
+    if _HUB.value:
+      temp_info[_HUB_VERSION_KEY] = _HUB.value
+
     report_info: test_reporter.ReportInfo = {**temp_info}
 
     return report_info
diff --git a/ui_automator/ui_automator_test.py b/ui_automator/ui_automator_test.py
index 02fb559..661bd67 100644
--- a/ui_automator/ui_automator_test.py
+++ b/ui_automator/ui_automator_test.py
@@ -1039,6 +1039,7 @@
     fake_report_info: test_reporter.ReportInfo = {
         'gha_version': '0.0.0',
         'gms_core_version': '0.0.1',
+        'hub_version': '10.1.3',
     }
     mock_get_report_info.return_value = fake_report_info
     mock_get_all_instances.return_value = [self.mock_android_device]
@@ -1075,6 +1076,20 @@
 
     self.assertDictEqual(report_info, {})
 
+  @flagsaver.flagsaver((ui_automator._HUB, '10.1.3'))
+  def test_get_report_info_includes_hub_value_from_flag_input(self):
+    report_info = self.ui_automator.get_report_info()
+
+    self.assertEqual(len(report_info), 1)
+    self.assertEqual(report_info.get('hub_version'), '10.1.3')
+
+  @flagsaver.flagsaver((ui_automator._HUB, None))
+  def test_get_report_info_returns_empty_dict_without_hub_flag_input(
+      self,
+  ):
+    report_info = self.ui_automator.get_report_info()
+
+    self.assertDictEqual(report_info, {})
 
 if __name__ == '__main__':
   unittest.main()