update_engine: Implement ReleaseLtsTag

LTS (Long Term Support) requires reading the policy
ChromeOSReleaseLtsHint() to get the token that is used for defining the
LTS channel parameters. The value is sent in "ltstag" attribute of the
updatecheck.

BUG=chromium:1114784
TEST=sudo FEATURES=test emerge update_engine

Cq-Depend: chromium:2345311
Change-Id: I480e7920e9187ebe79cbde6c655252e432842608
Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2350580
Reviewed-by: Victor-Gabriel Savu <vsavu@google.com>
Reviewed-by: Jae Hoon Kim <kimjae@chromium.org>
Reviewed-by: Andrew Lassalle <andrewlassalle@chromium.org>
Tested-by: Victor-Gabriel Savu <vsavu@google.com>
Commit-Queue: Victor-Gabriel Savu <vsavu@google.com>
Commit-Queue: Amin Hassani <ahassani@chromium.org>
diff --git a/update_attempter.cc b/update_attempter.cc
index 60c2c36..0f0605d 100644
--- a/update_attempter.cc
+++ b/update_attempter.cc
@@ -247,6 +247,7 @@
 void UpdateAttempter::Update(const string& app_version,
                              const string& omaha_url,
                              const string& target_channel,
+                             const string& lts_tag,
                              const string& target_version_prefix,
                              bool rollback_allowed,
                              bool rollback_data_save_requested,
@@ -284,6 +285,7 @@
   if (!CalculateUpdateParams(app_version,
                              omaha_url,
                              target_channel,
+                             lts_tag,
                              target_version_prefix,
                              rollback_allowed,
                              rollback_data_save_requested,
@@ -359,6 +361,7 @@
 bool UpdateAttempter::CalculateUpdateParams(const string& app_version,
                                             const string& omaha_url,
                                             const string& target_channel,
+                                            const string& lts_tag,
                                             const string& target_version_prefix,
                                             bool rollback_allowed,
                                             bool rollback_data_save_requested,
@@ -378,6 +381,9 @@
   // Update the target version prefix.
   omaha_request_params_->set_target_version_prefix(target_version_prefix);
 
+  // Update the LTS support.
+  omaha_request_params_->set_lts_tag(lts_tag);
+
   // Set whether rollback is allowed.
   omaha_request_params_->set_rollback_allowed(rollback_allowed);
 
@@ -1103,6 +1109,7 @@
     Update(forced_app_version_,
            forced_omaha_url_,
            params.target_channel,
+           params.lts_tag,
            params.target_version_prefix,
            params.rollback_allowed,
            params.rollback_data_save_requested,