Snap for 7474514 from 5819393ca04902c8fea8f07062d7e38f76aa36c5 to mainline-media-swcodec-release

Change-Id: I702565c3d1c4944c1c72c56c1b38856e3e04d41e
diff --git a/scripts/repackage-common.sh b/scripts/repackage-common.sh
index 5f1e058..a11fa5c 100644
--- a/scripts/repackage-common.sh
+++ b/scripts/repackage-common.sh
@@ -96,17 +96,18 @@
 CLASSPATH=${ANDROID_HOST_OUT}/framework/currysrc.jar
 CHANGE_LOG=$(mktemp --suffix srcgen-change.log)
 
-function get_uncommitted_repackaged_files() {
-  git -C "${PROJECT_DIR}" status -s | cut -c4- | grep "^repackaged/"
-}
-
 cd ${ANDROID_BUILD_TOP}
 build/soong/soong_ui.bash --make-mode currysrc
 
-DEFAULT_CONSTRUCTORS_FILE=${PROJECT_DIR}/srcgen/default-constructors.txt
-CORE_PLATFORM_API_FILE=${PROJECT_DIR}/srcgen/core-platform-api.txt
-INTRA_CORE_API_FILE=${PROJECT_DIR}/srcgen/intra-core-api.txt
-UNSUPPORTED_APP_USAGE_FILE=${PROJECT_DIR}/srcgen/unsupported-app-usage.json
+if [[ -z "${SRCGEN_DIR}" ]]; then
+  SRCGEN_DIR=${PROJECT_DIR}/srcgen
+fi
+
+DEFAULT_CONSTRUCTORS_FILE=${SRCGEN_DIR}/default-constructors.txt
+CORE_PLATFORM_API_FILE=${SRCGEN_DIR}/core-platform-api.txt
+STABLE_CORE_PLATFORM_API_FILE=${SRCGEN_DIR}/stable-core-platform-api.txt
+INTRA_CORE_API_FILE=${SRCGEN_DIR}/intra-core-api.txt
+UNSUPPORTED_APP_USAGE_FILE=${SRCGEN_DIR}/unsupported-app-usage.json
 
 TAB_SIZE=${TAB_SIZE-4}
 
@@ -130,6 +131,12 @@
   SEP=" "
 fi
 
+if [[ -f "${STABLE_CORE_PLATFORM_API_FILE}" ]]; then
+  echo "Adding CorePlatformApi(status=STABLE) annotations from ${STABLE_CORE_PLATFORM_API_FILE}"
+  REPACKAGE_ARGS="${REPACKAGE_ARGS}${SEP}--stable-core-platform-api-file ${STABLE_CORE_PLATFORM_API_FILE}"
+  SEP=" "
+fi
+
 if [[ -f "${INTRA_CORE_API_FILE}" ]]; then
   echo "Adding IntraCoreApi annotations from ${INTRA_CORE_API_FILE}"
   REPACKAGE_ARGS="${REPACKAGE_ARGS}${SEP}--intra-core-api-file ${INTRA_CORE_API_FILE}"
@@ -168,7 +175,10 @@
   (cd $SRC_OUT_DIR; git checkout HEAD $(git status --short | grep -E "^ D .*/TEST_MAPPING$" | cut -c4-))
 }
 
-REPACKAGED_DIR=${PROJECT_DIR}/repackaged
+if [[ -z "${REPACKAGED_DIR}" ]]; then
+  REPACKAGED_DIR=${PROJECT_DIR}/repackaged
+fi
+
 for i in ${MODULE_DIRS}
 do
   MODULE_DIR=${PROJECT_DIR}/${i}
@@ -217,6 +227,12 @@
       "CorePlatformApi annotations were not added at the following locations from ${CORE_PLATFORM_API_FILE}:"
 fi
 
+if [[ -f "${STABLE_CORE_PLATFORM_API_FILE}" ]]; then
+  # Check to ensure that all the requested annotations were added.
+  checkChangeLog <(sort -u "${STABLE_CORE_PLATFORM_API_FILE}" | grep -v '^#') "@libcore.api.CorePlatformApi" \
+      "CorePlatformApi annotations were not added at the following locations from ${STABLE_CORE_PLATFORM_API_FILE}:"
+fi
+
 if [[ -f "${INTRA_CORE_API_FILE}" ]]; then
   # Check to ensure that all the requested annotations were added.
   checkChangeLog <(sort -u "${INTRA_CORE_API_FILE}" | grep -v '^#') "@libcore.api.IntraCoreApi" \