add TARGET_BUILD_JAVA_SUPPORT_LEVEL to allow checking if java build is OK in PDK

- three levels: not defined, sdk, platform
- TARGET_BUILD_PDK_JAVA_PLATFORM gives the original meaning of java platform API
  supported for java.mk
- remove libexif from user tag
- libexif_jni is pulled from f/b/media

Bug: 6623618

Change-Id: I5fa085bd10f43963350c57b7f885c700de8963e5
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 \