Initialize ro.build.version.preview_sdk
Set the initial (version 1!) value for the preview SDK version
readable by apps. If we're on a release version, force it to be 0.
Change-Id: Ib3e6cad1f59cea8e4a781827d4a35dd3620b90f1
diff --git a/core/Makefile b/core/Makefile
index b5cb727..0528b44 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -205,6 +205,7 @@
BUILD_NUMBER="$(BUILD_NUMBER)" \
PLATFORM_VERSION="$(PLATFORM_VERSION)" \
PLATFORM_SDK_VERSION="$(PLATFORM_SDK_VERSION)" \
+ PLATFORM_PREVIEW_SDK_VERSION="$(PLATFORM_PREVIEW_SDK_VERSION)" \
PLATFORM_VERSION_CODENAME="$(PLATFORM_VERSION_CODENAME)" \
PLATFORM_VERSION_ALL_CODENAMES="$(PLATFORM_VERSION_ALL_CODENAMES)" \
BUILD_VERSION_TAGS="$(BUILD_VERSION_TAGS)" \
diff --git a/core/version_defaults.mk b/core/version_defaults.mk
index d325fd3..6cbe81c 100644
--- a/core/version_defaults.mk
+++ b/core/version_defaults.mk
@@ -67,6 +67,23 @@
PLATFORM_VERSION_ALL_CODENAMES := $(PLATFORM_VERSION_CODENAME)
endif
+ifeq "REL" "$(PLATFORM_VERSION_CODENAME)"
+ PLATFORM_PREVIEW_SDK_VERSION := 0
+else
+ ifeq "" "$(PLATFORM_PREVIEW_SDK_VERSION)"
+ # This is the definition of a preview SDK version over and above the current
+ # platform SDK version. Unlike the platform SDK version, a higher value
+ # for preview SDK version does NOT mean that all prior preview APIs are
+ # included. Packages reading this value to determine compatibility with
+ # known APIs should check that this value is precisely equal to the preview
+ # SDK version the package was built for, otherwise it should fall back to
+ # assuming the device can only support APIs as of the previous official
+ # public release.
+ # This value will always be 0 for release builds.
+ PLATFORM_PREVIEW_SDK_VERSION := 1
+ endif
+endif
+
ifeq "" "$(DEFAULT_APP_TARGET_SDK)"
# This is the default minSdkVersion and targetSdkVersion to use for
# all .apks created by the build system. It can be overridden by explicitly