api: android.MarkStable: make android_build_branch optional

When the Android branch is not specified, the default (as returned by
service.android.GetAndroidBranchForPackage) should be used.
List of Android packages are made constants and referred to by
chromeos_config.py.

BUG=b:187888777
TEST=run_tests
TEST=refresh_generated_files (and find nothing changed)
TEST=cros_mark_android_as_stable

Change-Id: Iabf70213c4ac0927281261936f9eba70595877c8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2891111
Tested-by: Shao-Chuan Lee <shaochuan@chromium.org>
Commit-Queue: 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 1650674..896699f 100644
--- a/api/controller/android.py
+++ b/api/controller/android.py
@@ -50,7 +50,7 @@
 
 @faux.success(_MarkStableResponse)
 @faux.empty_error
-@validate.require('package_name', 'android_build_branch')
+@validate.require('package_name')
 @validate.validation_complete
 def MarkStable(input_proto, output_proto, _config):
   """Uprev Android, if able.
@@ -79,9 +79,9 @@
   try:
     android_atom_to_build = packages.uprev_android(
         android_package=package_name,
-        android_build_branch=android_build_branch,
         chroot=chroot,
         build_targets=build_targets,
+        android_build_branch=android_build_branch,
         android_version=android_version,
         skip_commit=skip_commit,
     )