Snap for 7716385 from 08a8b0b215bdc5fdeaba215000cb8766238ce99f to mainline-tethering-release

Change-Id: I6fd4bd070f75bf0314f95c88b22eefa9d9c87e3f
diff --git a/build/Android.mk b/build/Android.mk
index 4413638..5653adf 100644
--- a/build/Android.mk
+++ b/build/Android.mk
@@ -20,40 +20,35 @@
 # Rule to convert a source.prop template into the desired source.property
 # This needs to vary based on the CPU ABI for the system-image files.
 # Rewritten variables:
-# - ${PLATFORM_VERSION}          e.g. "1.0"
-# - ${PLATFORM_SDK_VERSION}      e.g. "3", aka the API level
-# - ${PLATFORM_VERSION_CODENAME} e.g. "REL" (transformed into "") or "Cupcake"
-# - ${TARGET_ARCH}               e.g. "arm", "x86", "mips" and their 64-bit variants.
-# - ${TARGET_CPU_ABI}            e.g. "armeabi", "x86", "mips" and their 64-bit variants.
+# - ${PLATFORM_VERSION}               e.g. "1.0"
+# - ${PLATFORM_SDK_VERSION}           e.g. "3", aka the API level
+# - ${PLATFORM_EXTENSION_SDK_VERSION} e.g. "7" -- the extension sdk level
+# - ${PLATFORM_IS_BASE_SDK}           bool. -- whether the current extension sdk is the base extension for this api level
+# - ${PLATFORM_VERSION_CODENAME}      e.g. "REL" (transformed into "") or "Cupcake"
+# - ${TARGET_ARCH}                    e.g. "arm", "x86", "mips" and their 64-bit variants.
+# - ${TARGET_CPU_ABI}                 e.g. "armeabi", "x86", "mips" and their 64-bit variants.
+define process_prop_template
+@echo Generate $@
+$(hide) mkdir -p $(dir $@)
+$(hide) sed \
+	-e 's/$${PLATFORM_VERSION}/$(PLATFORM_VERSION)/' \
+	-e 's/$${PLATFORM_SDK_VERSION}/$(PLATFORM_SDK_VERSION)/' \
+	-e 's/$${PLATFORM_SDK_EXTENSION_VERSION}/$(PLATFORM_SDK_EXTENSION_VERSION)/' \
+	-e 's/$${PLATFORM_IS_BASE_SDK}/$(if $(filter $(PLATFORM_SDK_EXTENSION_VERSION),$(PLATFORM_BASE_SDK_EXTENSION_VERSION)),true,false)/' \
+	-e 's/$${PLATFORM_VERSION_CODENAME}/$(subst REL,,$(PLATFORM_VERSION_CODENAME))/' \
+	-e 's/$${TARGET_ARCH}/$(TARGET_ARCH)/' \
+	-e 's/$${TARGET_CPU_ABI}/$(TARGET_CPU_ABI)/' \
+	$< > $@ && sed -i -e '/^AndroidVersion.CodeName=\s*$$/d' $@
+endef
+
 $(sys_img_props) : $(HOST_OUT)/development/sys-img-$(TARGET_CPU_ABI)/%_source.properties : $(TOPDIR)development/sys-img/%_source.prop_template
-	@echo Generate $@
-	$(hide) mkdir -p $(dir $@)
-	$(hide) sed \
-		-e 's/$${PLATFORM_VERSION}/$(PLATFORM_VERSION)/' \
-		-e 's/$${PLATFORM_SDK_VERSION}/$(PLATFORM_SDK_VERSION)/' \
-		-e 's/$${PLATFORM_VERSION_CODENAME}/$(subst REL,,$(PLATFORM_VERSION_CODENAME))/' \
-		-e 's/$${TARGET_ARCH}/$(TARGET_ARCH)/' \
-		-e 's/$${TARGET_CPU_ABI}/$(TARGET_CPU_ABI)/' \
-		$< > $@ && sed -i -e '/^AndroidVersion.CodeName=\s*$$/d' $@
+	$(process_prop_template)
 
 $(sdk_props) : $(HOST_OUT)/development/sdk/%_source.properties : $(TOPDIR)development/sdk/%_source.prop_template
-	@echo Generate $@
-	$(hide) mkdir -p $(dir $@)
-	$(hide) sed \
-		-e 's/$${PLATFORM_VERSION}/$(PLATFORM_VERSION)/' \
-		-e 's/$${PLATFORM_SDK_VERSION}/$(PLATFORM_SDK_VERSION)/' \
-		-e 's/$${PLATFORM_VERSION_CODENAME}/$(subst REL,,$(PLATFORM_VERSION_CODENAME))/' \
-		$< > $@ && sed -i -e '/^AndroidVersion.CodeName=\s*$$/d' $@
+	$(process_prop_template)
 
 $(sample_props) : $(HOST_OUT)/development/samples/%_source.properties : $(TOPDIR)development/samples/%_source.prop_template
-	@echo Generate $@
-	$(hide) mkdir -p $(dir $@)
-	$(hide) sed\
-		-e 's/$${PLATFORM_VERSION}/$(PLATFORM_VERSION)/' \
-		-e 's/$${PLATFORM_SDK_VERSION}/$(PLATFORM_SDK_VERSION)/' \
-		-e 's/$${PLATFORM_VERSION_CODENAME}/$(subst REL,,$(PLATFORM_VERSION_CODENAME))/' \
-		$< > $@ && sed -i -e '/^AndroidVersion.CodeName=\s*$$/d' $@
-
+	$(process_prop_template)
 
 # ===== SDK jar file of stubs =====
 # A.k.a the "current" version of the public SDK (android.jar inside the SDK package).
diff --git a/samples/samples_source.prop_template b/samples/samples_source.prop_template
index 523d6bd..1b08968 100644
--- a/samples/samples_source.prop_template
+++ b/samples/samples_source.prop_template
@@ -2,3 +2,5 @@
 Pkg.Revision=2
 AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION}
 AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME}
+AndroidVersion.ExtensionLevel=${PLATFORM_SDK_EXTENSION_VERSION}
+AndroidVersion.IsBaseSdk=${PLATFORM_IS_BASE_SDK}
diff --git a/sdk/build_tools_source.prop_template b/sdk/build_tools_source.prop_template
index 83bf78d..36323fd 100644
--- a/sdk/build_tools_source.prop_template
+++ b/sdk/build_tools_source.prop_template
@@ -1,3 +1,3 @@
 Pkg.UserSrc=false
-Pkg.Revision=${PLATFORM_SDK_VERSION}.0.0
+Pkg.Revision=${PLATFORM_SDK_VERSION}.0.1
 #Pkg.Revision=31.0.0 rc5
diff --git a/sdk/doc_source.prop_template b/sdk/doc_source.prop_template
index d3cdfd5..61a9923 100644
--- a/sdk/doc_source.prop_template
+++ b/sdk/doc_source.prop_template
@@ -2,3 +2,5 @@
 Pkg.Revision=1
 AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION}
 AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME}
+AndroidVersion.ExtensionLevel=${PLATFORM_SDK_EXTENSION_VERSION}
+AndroidVersion.IsBaseSdk=${PLATFORM_IS_BASE_SDK}
diff --git a/sdk/platform_source.prop_template b/sdk/platform_source.prop_template
index 35a00af..fa996c7 100644
--- a/sdk/platform_source.prop_template
+++ b/sdk/platform_source.prop_template
@@ -5,6 +5,8 @@
 Pkg.Revision=1
 AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION}
 AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME}
+AndroidVersion.ExtensionLevel=${PLATFORM_SDK_EXTENSION_VERSION}
+AndroidVersion.IsBaseSdk=${PLATFORM_IS_BASE_SDK}
 Layoutlib.Api=15
 Layoutlib.Revision=1
 Platform.MinToolsRev=22
diff --git a/sdk/source_source.prop_template b/sdk/source_source.prop_template
index d3cdfd5..61a9923 100644
--- a/sdk/source_source.prop_template
+++ b/sdk/source_source.prop_template
@@ -2,3 +2,5 @@
 Pkg.Revision=1
 AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION}
 AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME}
+AndroidVersion.ExtensionLevel=${PLATFORM_SDK_EXTENSION_VERSION}
+AndroidVersion.IsBaseSdk=${PLATFORM_IS_BASE_SDK}
diff --git a/sys-img/images_arm64-v8a_source.prop_template b/sys-img/images_arm64-v8a_source.prop_template
index e553746..decf565 100644
--- a/sys-img/images_arm64-v8a_source.prop_template
+++ b/sys-img/images_arm64-v8a_source.prop_template
@@ -4,6 +4,8 @@
 Pkg.Dependencies=emulator#29.1.11
 AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION}
 AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME}
+AndroidVersion.ExtensionLevel=${PLATFORM_SDK_EXTENSION_VERSION}
+AndroidVersion.IsBaseSdk=${PLATFORM_IS_BASE_SDK}
 SystemImage.Abi=arm64-v8a
 SystemImage.GpuSupport=true
 SystemImage.TagId=default
diff --git a/sys-img/images_armeabi-v7a_source.prop_template b/sys-img/images_armeabi-v7a_source.prop_template
index 2851d28..87e6067 100644
--- a/sys-img/images_armeabi-v7a_source.prop_template
+++ b/sys-img/images_armeabi-v7a_source.prop_template
@@ -4,6 +4,8 @@
 Pkg.Dependencies=emulator#29.1.11
 AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION}
 AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME}
+AndroidVersion.ExtensionLevel=${PLATFORM_SDK_EXTENSION_VERSION}
+AndroidVersion.IsBaseSdk=${PLATFORM_IS_BASE_SDK}
 SystemImage.Abi=armeabi-v7a
 SystemImage.GpuSupport=true
 SystemImage.TagId=default
diff --git a/sys-img/images_armeabi_source.prop_template b/sys-img/images_armeabi_source.prop_template
index fb4e808..bbedcc0 100644
--- a/sys-img/images_armeabi_source.prop_template
+++ b/sys-img/images_armeabi_source.prop_template
@@ -4,6 +4,8 @@
 Pkg.Dependencies=emulator#29.1.11
 AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION}
 AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME}
+AndroidVersion.ExtensionLevel=${PLATFORM_SDK_EXTENSION_VERSION}
+AndroidVersion.IsBaseSdk=${PLATFORM_IS_BASE_SDK}
 SystemImage.Abi=armeabi
 SystemImage.GpuSupport=true
 SystemImage.TagId=default
diff --git a/sys-img/images_mips64_source.prop_template b/sys-img/images_mips64_source.prop_template
index 9778f97..89a29ed 100644
--- a/sys-img/images_mips64_source.prop_template
+++ b/sys-img/images_mips64_source.prop_template
@@ -3,6 +3,8 @@
 Pkg.Revision=1
 AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION}
 AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME}
+AndroidVersion.ExtensionLevel=${PLATFORM_SDK_EXTENSION_VERSION}
+AndroidVersion.IsBaseSdk=${PLATFORM_IS_BASE_SDK}
 SystemImage.Abi=mips64
 SystemImage.GpuSupport=true
 SystemImage.TagId=default
diff --git a/sys-img/images_mips_source.prop_template b/sys-img/images_mips_source.prop_template
index 7c3ede3..617949c 100644
--- a/sys-img/images_mips_source.prop_template
+++ b/sys-img/images_mips_source.prop_template
@@ -3,6 +3,8 @@
 Pkg.Revision=1
 AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION}
 AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME}
+AndroidVersion.ExtensionLevel=${PLATFORM_SDK_EXTENSION_VERSION}
+AndroidVersion.IsBaseSdk=${PLATFORM_IS_BASE_SDK}
 SystemImage.Abi=mips
 SystemImage.GpuSupport=true
 SystemImage.TagId=default
diff --git a/sys-img/images_x86_64_source.prop_template b/sys-img/images_x86_64_source.prop_template
index fe8ba69..8329473 100644
--- a/sys-img/images_x86_64_source.prop_template
+++ b/sys-img/images_x86_64_source.prop_template
@@ -4,6 +4,8 @@
 Pkg.Dependencies=emulator#29.1.11
 AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION}
 AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME}
+AndroidVersion.ExtensionLevel=${PLATFORM_SDK_EXTENSION_VERSION}
+AndroidVersion.IsBaseSdk=${PLATFORM_IS_BASE_SDK}
 SystemImage.Abi=x86_64
 SystemImage.GpuSupport=true
 SystemImage.TagId=default
diff --git a/sys-img/images_x86_source.prop_template b/sys-img/images_x86_source.prop_template
index 76daa9f..af6b0e2 100644
--- a/sys-img/images_x86_source.prop_template
+++ b/sys-img/images_x86_source.prop_template
@@ -4,6 +4,8 @@
 Pkg.Dependencies=emulator#29.1.11
 AndroidVersion.ApiLevel=${PLATFORM_SDK_VERSION}
 AndroidVersion.CodeName=${PLATFORM_VERSION_CODENAME}
+AndroidVersion.ExtensionLevel=${PLATFORM_SDK_EXTENSION_VERSION}
+AndroidVersion.IsBaseSdk=${PLATFORM_IS_BASE_SDK}
 SystemImage.Abi=x86
 SystemImage.GpuSupport=true
 SystemImage.TagId=default