Begin implementing GetTargetVersions by porting code to get android
versions.

Regenerated api/gen/chromite/api/packages_pb2.py by running
api/compile_build_api_proto.

BUG=chromium:1004438
TEST=manual, run_tests

Change-Id: I77b669af261248384de96e4079b8cedece40563b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1854566
Reviewed-by: Alex Klein <saklein@chromium.org>
Tested-by: Michael Mortensen <mmortensen@google.com>
Commit-Queue: Michael Mortensen <mmortensen@google.com>
diff --git a/api/controller/packages.py b/api/controller/packages.py
index 04f87bf..3f977cf 100644
--- a/api/controller/packages.py
+++ b/api/controller/packages.py
@@ -117,6 +117,21 @@
   output_proto.has_prebuilt = True
 
 
+@faux.all_empty
+@validate.require('build_target.name')
+@validate.validation_complete
+def GetTargetVersions(input_proto, output_proto, _config):
+  """Returns the target versions."""
+  build_target = controller_util.ParseBuildTarget(input_proto.build_target)
+  output_proto.android_version = packages.determine_android_version(
+      build_target)
+  output_proto.android_branch_version = packages.determine_android_branch(
+      build_target)
+  output_proto.android_target_version = packages.determine_android_target(
+      build_target)
+  # TODO(crbug.com/1004438): Implement remaining version fields.
+
+
 @faux.success(_HasChromePrebuiltSuccess)
 @faux.empty_error
 @validate.require('build_target.name')