api: android.GetLatestBuild: support querying by Android package

BUG=b:187888777
TEST=run_tests
TEST=api/compile_build_api_proto

Cq-Depend: chromium:2892299
Change-Id: I31d4177784183f4ca17ec03f03cb4e286a581c08
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2891125
Commit-Queue: Shao-Chuan Lee <shaochuan@chromium.org>
Tested-by: Shao-Chuan Lee <shaochuan@chromium.org>
Reviewed-by: LaMont Jones <lamontjones@chromium.org>
diff --git a/api/controller/android.py b/api/controller/android.py
index 896699f..1d36772 100644
--- a/api/controller/android.py
+++ b/api/controller/android.py
@@ -33,10 +33,12 @@
 
 @faux.success(_GetLatestBuildResponse)
 @faux.empty_error
-@validate.require('android_build_branch')
+@validate.require_any('android_build_branch', 'android_package')
 @validate.validation_complete
 def GetLatestBuild(input_proto, output_proto, _config):
-  build_id, _ = android.GetLatestBuild(input_proto.android_build_branch)
+  branch = (input_proto.android_build_branch or
+            android.GetAndroidBranchForPackage(input_proto.android_package))
+  build_id, _ = android.GetLatestBuild(branch)
   output_proto.android_version = build_id