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.h b/update_attempter.h
index dd958f5..abd0bd4 100644
--- a/update_attempter.h
+++ b/update_attempter.h
@@ -85,6 +85,7 @@
   virtual void Update(const std::string& app_version,
                       const std::string& omaha_url,
                       const std::string& target_channel,
+                      const std::string& lts_tag,
                       const std::string& target_version_prefix,
                       bool rollback_allowed,
                       bool rollback_data_save_requested,
@@ -293,6 +294,7 @@
   FRIEND_TEST(UpdateAttempterTest, SessionIdTestOnOmahaRequestActions);
   FRIEND_TEST(UpdateAttempterTest, SetRollbackHappenedNotRollback);
   FRIEND_TEST(UpdateAttempterTest, SetRollbackHappenedRollback);
+  FRIEND_TEST(UpdateAttempterTest, TargetChannelHintSetAndReset);
   FRIEND_TEST(UpdateAttempterTest, TargetVersionPrefixSetAndReset);
   FRIEND_TEST(UpdateAttempterTest, UpdateAfterInstall);
   FRIEND_TEST(UpdateAttempterTest, UpdateAttemptFlagsCachedAtUpdateStart);
@@ -369,6 +371,7 @@
   bool CalculateUpdateParams(const std::string& app_version,
                              const std::string& omaha_url,
                              const std::string& target_channel,
+                             const std::string& lts_tag,
                              const std::string& target_version_prefix,
                              bool rollback_allowed,
                              bool rollback_data_save_requested,