merge in jb-release history after reset to jb-dev
diff --git a/core/build_id.mk b/core/build_id.mk
index 1661c0a..40bb35d 100644
--- a/core/build_id.mk
+++ b/core/build_id.mk
@@ -1,4 +1,3 @@
-
 #
 # Copyright (C) 2008 The Android Open Source Project
 #
@@ -14,9 +13,20 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
+
+#
+# Defines branch-specific values.
+#
+
 # BUILD_ID is usually used to specify the branch name
 # (like "MAIN") or a branch name and a release candidate
-# (like "CRB01").  It must be a single word, and is
+# (like "TC1-RC5").  It must be a single word, and is
 # capitalized by convention.
+#
+BUILD_ID := MASTER
 
-export BUILD_ID=JRN68B
+# DISPLAY_BUILD_NUMBER should only be set for development branches,
+# If set, the BUILD_NUMBER (cl) is appended to the BUILD_ID for
+# a more descriptive BUILD_ID_DISPLAY, otherwise BUILD_ID_DISPLAY
+# is the same as BUILD_ID
+DISPLAY_BUILD_NUMBER := true
diff --git a/core/java.mk b/core/java.mk
index 2b6851b..4e33ef2 100644
--- a/core/java.mk
+++ b/core/java.mk
@@ -4,7 +4,7 @@
 # all_res_assets
 
 ifeq ($(TARGET_BUILD_PDK),true)
-ifeq ($(TARGET_BUILD_PDK_JAVA),)
+ifeq ($(TARGET_BUILD_PDK_JAVA_PLATFORM),)
 # LOCAL_SDK not defined or set to current
 ifeq ($(filter-out current,$(LOCAL_SDK_VERSION)),)
 LOCAL_SDK_VERSION := $(PDK_BUILD_SDK_VERSION)
diff --git a/core/main.mk b/core/main.mk
index 8a5b407..407a529 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -213,6 +213,14 @@
 endif
 
 # -----------------------------------------------------------------
+# Variable to check java support level inside PDK build.
+# Not necessary if the components is not in PDK.
+# not defined : not supported
+# "sdk" : sdk API only
+# "platform" : platform API supproted
+TARGET_BUILD_JAVA_SUPPORT_LEVEL := platform
+
+# -----------------------------------------------------------------
 # The pdk (Platform Development Kit) build
 include build/core/pdk_config.mk
 
diff --git a/core/pdk_config.mk b/core/pdk_config.mk
index 492a9c4..9df2ce2 100644
--- a/core/pdk_config.mk
+++ b/core/pdk_config.mk
@@ -51,6 +51,15 @@
 PDK_PLATFORM_JAVA_ZIP_CONTENTS += $(foreach lib_dir,$(PDK_PLATFORM_JAVA_ZIP_JAVA_LIB_DIR),\
     $(lib_dir)/classes.jar $(lib_dir)/javalib.jar)
 
+# check and override java support level
+ifeq ($(TARGET_BUILD_PDK),true)
+ifneq ($(wildcard external/proguard),)
+TARGET_BUILD_JAVA_SUPPORT_LEVEL := sdk
+else # no proguard
+TARGET_BUILD_JAVA_SUPPORT_LEVEL :=
+endif
+# platform supprot is set after checking platform.zip
+endif # PDK
 
 ifdef PDK_FUSION_PLATFORM_ZIP
 TARGET_BUILD_PDK := true
@@ -67,8 +76,14 @@
 	$(shell unzip -Z -1 $(PDK_FUSION_PLATFORM_ZIP) 'target/common/*' 2>/dev/null)
 _pdk_fusion_files := $(addprefix $(_pdk_fusion_intermediates)/,\
     $(_pdk_fusion_file_list) $(_pdk_fusion_java_file_list))
+
 ifneq ($(_pdk_fusion_java_file_list),)
-TARGET_BUILD_PDK_JAVA := true
+# This represents whether java build can use platform API or not
+# This should not be used in Android.mk
+TARGET_BUILD_PDK_JAVA_PLATFORM := true
+ifneq ($(TARGET_BUILD_JAVA_SUPPORT_LEVEL),)
+TARGET_BUILD_JAVA_SUPPORT_LEVEL := platform
+endif
 endif
 
 $(_pdk_fusion_stamp) : $(PDK_FUSION_PLATFORM_ZIP)
@@ -91,7 +106,7 @@
 	@mkdir -p $(dir $@)
 	$(hide) cp -fpPR $< $@
 
-ifeq (true,$(TARGET_BUILD_PDK_JAVA))
+ifeq (true,$(TARGET_BUILD_PDK_JAVA_PLATFORM))
 
 define JAVA_dependency_template
 $(OUT_DIR)/$(strip $(1)): $(_pdk_fusion_intermediates)/$(strip $(1)) $(OUT_DIR)/$(strip $(2)) \
@@ -122,7 +137,7 @@
 
 ifeq ($(TARGET_BUILD_PDK),true)
 
-ifeq ($(TARGET_BUILD_PDK_JAVA),)
+ifeq ($(TARGET_BUILD_PDK_JAVA_PLATFORM),)
 
 # SDK used for Java build under PDK
 PDK_BUILD_SDK_VERSION := $(lastword $(TARGET_AVAILABLE_SDK_VERSIONS))
diff --git a/core/user_tags.mk b/core/user_tags.mk
index ca2594b..22582a1 100644
--- a/core/user_tags.mk
+++ b/core/user_tags.mk
@@ -217,7 +217,6 @@
 	libESR_Portable \
 	libESR_Shared \
 	libETC1 \
-	libexif \
 	libext \
 	libext2_blkid \
 	libext2_blkid_host \