Merge "Remove dalvik/dexdump and rename dexdump2"
diff --git a/core/Makefile b/core/Makefile
index 97bbebe..52aa0e8 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -4445,6 +4445,7 @@
$(call dump-super-image-info,$(intermediates)/misc_info.txt)
$(foreach p,$(BOARD_SUPER_PARTITION_PARTITION_LIST), \
echo "$(p)_image=$(INSTALLED_$(call to-upper,$(p))IMAGE_TARGET)" >> $(intermediates)/misc_info.txt;)
+ mkdir -p $(dir $(INSTALLED_SUPERIMAGE_TARGET))
PATH=$(dir $(LPMAKE)):$$PATH \
$(BUILD_SUPER_IMAGE) -v $(intermediates)/misc_info.txt $(INSTALLED_SUPERIMAGE_TARGET)
diff --git a/core/base_rules.mk b/core/base_rules.mk
index f477eda..d5055d4 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -224,15 +224,15 @@
ifdef LOCAL_IS_HOST_MODULE
partition_tag :=
else
-ifeq (true,$(LOCAL_VENDOR_MODULE))
+ifeq (true,$(strip $(LOCAL_VENDOR_MODULE)))
partition_tag := _VENDOR
-else ifeq (true,$(LOCAL_OEM_MODULE))
+else ifeq (true,$(strip $(LOCAL_OEM_MODULE)))
partition_tag := _OEM
-else ifeq (true,$(LOCAL_ODM_MODULE))
+else ifeq (true,$(strip $(LOCAL_ODM_MODULE)))
partition_tag := _ODM
-else ifeq (true,$(LOCAL_PRODUCT_MODULE))
+else ifeq (true,$(strip $(LOCAL_PRODUCT_MODULE)))
partition_tag := _PRODUCT
-else ifeq (true,$(LOCAL_PRODUCT_SERVICES_MODULE))
+else ifeq (true,$(strip $(LOCAL_PRODUCT_SERVICES_MODULE)))
partition_tag := _PRODUCT_SERVICES
else ifeq (NATIVE_TESTS,$(LOCAL_MODULE_CLASS))
partition_tag := _DATA
diff --git a/core/build_rro_package.mk b/core/build_rro_package.mk
index c3daf6e..a6921d5 100644
--- a/core/build_rro_package.mk
+++ b/core/build_rro_package.mk
@@ -16,11 +16,11 @@
endif
partition :=
-ifeq ($(LOCAL_ODM_MODULE),true)
+ifeq ($(strip $(LOCAL_ODM_MODULE)),true)
partition := $(TARGET_OUT_ODM)
-else ifeq ($(LOCAL_VENDOR_MODULE),true)
+else ifeq ($(strip $(LOCAL_VENDOR_MODULE)),true)
partition := $(TARGET_OUT_VENDOR)
-else ifeq ($(LOCAL_PRODUCT_SERVICES_MODULE),true)
+else ifeq ($(strip $(LOCAL_PRODUCT_SERVICES_MODULE)),true)
partition := $(TARGET_OUT_PRODUCT_SERVICES)
else
partition := $(TARGET_OUT_PRODUCT)
diff --git a/core/install_jni_libs.mk b/core/install_jni_libs.mk
index 01f7f10..515d34f 100644
--- a/core/install_jni_libs.mk
+++ b/core/install_jni_libs.mk
@@ -13,10 +13,10 @@
my_embed_jni :=
ifneq ($(TARGET_BUILD_APPS),)
-my_embed_jni := true
+ my_embed_jni := true
endif
ifneq ($(filter tests samples, $(LOCAL_MODULE_TAGS)),)
-my_embed_jni := true
+ my_embed_jni := true
endif
# If the APK is not installed in one of the following partitions, force its libraries
@@ -29,13 +29,13 @@
$(TARGET_OUT_PRODUCT_SERVICES)/% \
ifeq ($(filter $(supported_partition_patterns),$(my_module_path)),)
- my_embed_jni := true
+ my_embed_jni := true
endif
# If we're installing this APP as a compressed module, we include all JNI libraries
# in the compressed artifact, rather than as separate files on the partition in question.
ifdef LOCAL_COMPRESSED_MODULE
-my_embed_jni := true
+ my_embed_jni := true
endif
jni_shared_libraries :=
@@ -50,56 +50,56 @@
my_add_jni :=
# The module is built for TARGET_ARCH
ifeq ($(my_2nd_arch_prefix),$(LOCAL_2ND_ARCH_VAR_PREFIX))
-my_add_jni := true
+ my_add_jni := true
endif
# Or it explicitly requires both
ifeq ($(my_module_multilib),both)
-my_add_jni := true
+ my_add_jni := true
endif
ifeq ($(my_add_jni),true)
-my_prebuilt_jni_libs := $(LOCAL_PREBUILT_JNI_LIBS_$(TARGET_ARCH))
-ifndef my_prebuilt_jni_libs
-my_prebuilt_jni_libs := $(LOCAL_PREBUILT_JNI_LIBS)
-endif
-include $(BUILD_SYSTEM)/install_jni_libs_internal.mk
-jni_shared_libraries += $(my_jni_shared_libraries)
-jni_shared_libraries_abis += $(my_jni_shared_libraries_abi)
-jni_shared_libraries_with_abis += $(addprefix $(my_jni_shared_libraries_abi):,\
- $(my_jni_shared_libraries))
-embedded_prebuilt_jni_libs += $(my_embedded_prebuilt_jni_libs)
+ my_prebuilt_jni_libs := $(LOCAL_PREBUILT_JNI_LIBS_$(TARGET_ARCH))
+ ifndef my_prebuilt_jni_libs
+ my_prebuilt_jni_libs := $(LOCAL_PREBUILT_JNI_LIBS)
+ endif
+ include $(BUILD_SYSTEM)/install_jni_libs_internal.mk
+ jni_shared_libraries += $(my_jni_shared_libraries)
+ jni_shared_libraries_abis += $(my_jni_shared_libraries_abi)
+ jni_shared_libraries_with_abis += $(addprefix $(my_jni_shared_libraries_abi):,\
+ $(my_jni_shared_libraries))
+ embedded_prebuilt_jni_libs += $(my_embedded_prebuilt_jni_libs)
-# Include RS dynamically-generated libraries as well
-# TODO: Add multilib support once RS supports generating multilib libraries.
-jni_shared_libraries += $(rs_compatibility_jni_libs)
-jni_shared_libraries_with_abis += $(addprefix $(my_jni_shared_libraries_abi):,\
- $(rs_compatibility_jni_libs))
+ # Include RS dynamically-generated libraries as well
+ # TODO: Add multilib support once RS supports generating multilib libraries.
+ jni_shared_libraries += $(rs_compatibility_jni_libs)
+ jni_shared_libraries_with_abis += $(addprefix $(my_jni_shared_libraries_abi):,\
+ $(rs_compatibility_jni_libs))
endif # my_add_jni
#######################################
# For TARGET_2ND_ARCH
ifdef TARGET_2ND_ARCH
-my_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX)
-my_add_jni :=
-# The module is built for TARGET_2ND_ARCH
-ifeq ($(my_2nd_arch_prefix),$(LOCAL_2ND_ARCH_VAR_PREFIX))
-my_add_jni := true
-endif
-# Or it explicitly requires both
-ifeq ($(my_module_multilib),both)
-my_add_jni := true
-endif
-ifeq ($(my_add_jni),true)
-my_prebuilt_jni_libs := $(LOCAL_PREBUILT_JNI_LIBS_$(TARGET_2ND_ARCH))
-ifndef my_prebuilt_jni_libs
-my_prebuilt_jni_libs := $(LOCAL_PREBUILT_JNI_LIBS)
-endif
-include $(BUILD_SYSTEM)/install_jni_libs_internal.mk
-jni_shared_libraries += $(my_jni_shared_libraries)
-jni_shared_libraries_abis += $(my_jni_shared_libraries_abi)
-jni_shared_libraries_with_abis += $(addprefix $(my_jni_shared_libraries_abi):,\
- $(my_jni_shared_libraries))
-embedded_prebuilt_jni_libs += $(my_embedded_prebuilt_jni_libs)
-endif # my_add_jni
+ my_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX)
+ my_add_jni :=
+ # The module is built for TARGET_2ND_ARCH
+ ifeq ($(my_2nd_arch_prefix),$(LOCAL_2ND_ARCH_VAR_PREFIX))
+ my_add_jni := true
+ endif
+ # Or it explicitly requires both
+ ifeq ($(my_module_multilib),both)
+ my_add_jni := true
+ endif
+ ifeq ($(my_add_jni),true)
+ my_prebuilt_jni_libs := $(LOCAL_PREBUILT_JNI_LIBS_$(TARGET_2ND_ARCH))
+ ifndef my_prebuilt_jni_libs
+ my_prebuilt_jni_libs := $(LOCAL_PREBUILT_JNI_LIBS)
+ endif
+ include $(BUILD_SYSTEM)/install_jni_libs_internal.mk
+ jni_shared_libraries += $(my_jni_shared_libraries)
+ jni_shared_libraries_abis += $(my_jni_shared_libraries_abi)
+ jni_shared_libraries_with_abis += $(addprefix $(my_jni_shared_libraries_abi):,\
+ $(my_jni_shared_libraries))
+ embedded_prebuilt_jni_libs += $(my_embedded_prebuilt_jni_libs)
+ endif # my_add_jni
endif # TARGET_2ND_ARCH
jni_shared_libraries := $(strip $(jni_shared_libraries))
diff --git a/core/install_jni_libs_internal.mk b/core/install_jni_libs_internal.mk
index a79a49a..eac0414 100644
--- a/core/install_jni_libs_internal.mk
+++ b/core/install_jni_libs_internal.mk
@@ -12,117 +12,117 @@
# my_embedded_prebuilt_jni_libs, prebuilt jni libs embedded in prebuilt apk.
#
-my_jni_shared_libraries := \
+my_jni_shared_libraries := $(strip \
$(foreach lib,$(LOCAL_JNI_SHARED_LIBRARIES), \
- $(call intermediates-dir-for,SHARED_LIBRARIES,$(lib),,,$(my_2nd_arch_prefix))/$(lib).so)
+ $(call intermediates-dir-for,SHARED_LIBRARIES,$(lib),,,$(my_2nd_arch_prefix))/$(lib).so))
# App-specific lib path.
my_app_lib_path := $(dir $(LOCAL_INSTALLED_MODULE))lib/$(TARGET_$(my_2nd_arch_prefix)ARCH)
my_embedded_prebuilt_jni_libs :=
ifdef my_embed_jni
-# App explicitly requires the prebuilt NDK stl shared libraies.
-# The NDK stl shared libraries should never go to the system image.
-ifeq ($(LOCAL_NDK_STL_VARIANT),c++_shared)
-ifndef LOCAL_SDK_VERSION
-$(error LOCAL_SDK_VERSION must be defined with LOCAL_NDK_STL_VARIANT, \
- LOCAL_PACKAGE_NAME=$(LOCAL_PACKAGE_NAME))
-endif
-my_jni_shared_libraries += \
- $(HISTORICAL_NDK_VERSIONS_ROOT)/$(LOCAL_NDK_VERSION)/sources/cxx-stl/llvm-libc++/libs/$(TARGET_$(my_2nd_arch_prefix)CPU_ABI)/libc++_shared.so
-endif
+ # App explicitly requires the prebuilt NDK stl shared libraies.
+ # The NDK stl shared libraries should never go to the system image.
+ ifeq ($(LOCAL_NDK_STL_VARIANT),c++_shared)
+ ifndef LOCAL_SDK_VERSION
+ $(error LOCAL_SDK_VERSION must be defined with LOCAL_NDK_STL_VARIANT, \
+ LOCAL_PACKAGE_NAME=$(LOCAL_PACKAGE_NAME))
+ endif
+ my_jni_shared_libraries += \
+ $(HISTORICAL_NDK_VERSIONS_ROOT)/$(LOCAL_NDK_VERSION)/sources/cxx-stl/llvm-libc++/libs/$(TARGET_$(my_2nd_arch_prefix)CPU_ABI)/libc++_shared.so
+ endif
-# Set the abi directory used by the local JNI shared libraries.
-# (Doesn't change how the local shared libraries are compiled, just
-# sets where they are stored in the apk.)
-ifeq ($(LOCAL_JNI_SHARED_LIBRARIES_ABI),)
+ # Set the abi directory used by the local JNI shared libraries.
+ # (Doesn't change how the local shared libraries are compiled, just
+ # sets where they are stored in the apk.)
+ ifeq ($(LOCAL_JNI_SHARED_LIBRARIES_ABI),)
my_jni_shared_libraries_abi := $(TARGET_$(my_2nd_arch_prefix)CPU_ABI)
-else
+ else
my_jni_shared_libraries_abi := $(LOCAL_JNI_SHARED_LIBRARIES_ABI)
-endif
+ endif
-else # not my_embed_jni
+else ifneq ($(my_jni_shared_libraries),) # not my_embed_jni
-my_jni_shared_libraries := $(strip $(my_jni_shared_libraries))
-ifneq ($(my_jni_shared_libraries),)
-# The jni libaries will be installed to the system.img.
-my_jni_filenames := $(notdir $(my_jni_shared_libraries))
-# Make sure the JNI libraries get installed
-my_shared_library_path := $(call get_non_asan_path,\
- $($(my_2nd_arch_prefix)TARGET_OUT$(partition_tag)_SHARED_LIBRARIES))
-# Do not use order-only dependency, because we want to rebuild the image if an jni is updated.
-my_installed_library := $(addprefix $(my_shared_library_path)/, $(my_jni_filenames))
-$(LOCAL_INSTALLED_MODULE) : $(my_installed_library)
-ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(my_installed_library)
+ # The jni libaries will be installed to the system.img.
+ my_jni_filenames := $(notdir $(my_jni_shared_libraries))
+ # Make sure the JNI libraries get installed
+ my_shared_library_path := $(call get_non_asan_path,\
+ $($(my_2nd_arch_prefix)TARGET_OUT$(partition_tag)_SHARED_LIBRARIES))
+ my_installed_library := $(addprefix $(my_shared_library_path)/, $(my_jni_filenames))
+ # Do not use order-only dependency, because we want to rebuild the image if an jni is updated.
+ $(LOCAL_INSTALLED_MODULE) : $(my_installed_library)
-# Create symlink in the app specific lib path
-# Skip creating this symlink when running the second part of a target sanitization build.
-ifeq ($(filter address,$(SANITIZE_TARGET)),)
-ifdef LOCAL_POST_INSTALL_CMD
-# Add a shell command separator
-LOCAL_POST_INSTALL_CMD += ;
-endif
+ ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(my_installed_library)
-my_symlink_target_dir := $(patsubst $(PRODUCT_OUT)%,%,\
- $(my_shared_library_path))
-LOCAL_POST_INSTALL_CMD += \
- mkdir -p $(my_app_lib_path) \
- $(foreach lib, $(my_jni_filenames), ;ln -sf $(my_symlink_target_dir)/$(lib) $(my_app_lib_path)/$(lib))
-$(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD := $(LOCAL_POST_INSTALL_CMD)
-else
-ifdef LOCAL_POST_INSTALL_CMD
-$(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD := $(LOCAL_POST_INSTALL_CMD)
-endif
-endif
+ # Create symlink in the app specific lib path
+ # Skip creating this symlink when running the second part of a target sanitization build.
+ ifeq ($(filter address,$(SANITIZE_TARGET)),)
+ ifdef LOCAL_POST_INSTALL_CMD
+ # Add a shell command separator
+ LOCAL_POST_INSTALL_CMD += ;
+ endif
-# Clear jni_shared_libraries to not embed it into the apk.
-my_jni_shared_libraries :=
-endif # $(my_jni_shared_libraries) not empty
+ my_symlink_target_dir := $(patsubst $(PRODUCT_OUT)%,%,\
+ $(my_shared_library_path))
+ LOCAL_POST_INSTALL_CMD += \
+ mkdir -p $(my_app_lib_path) \
+ $(foreach lib, $(my_jni_filenames), ;ln -sf $(my_symlink_target_dir)/$(lib) $(my_app_lib_path)/$(lib))
+ $(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD := $(LOCAL_POST_INSTALL_CMD)
+ else
+ ifdef LOCAL_POST_INSTALL_CMD
+ $(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD := $(LOCAL_POST_INSTALL_CMD)
+ endif
+ endif
+
+ # Clear jni_shared_libraries to not embed it into the apk.
+ my_jni_shared_libraries :=
endif # my_embed_jni
ifdef my_prebuilt_jni_libs
-# Files like @lib/<abi>/libfoo.so (path inside the apk) are JNI libs embedded prebuilt apk;
-# Files like path/to/libfoo.so (path relative to LOCAL_PATH) are prebuilts in the source tree.
-my_embedded_prebuilt_jni_libs := $(patsubst @%,%, \
- $(filter @%, $(my_prebuilt_jni_libs)))
+ # Files like @lib/<abi>/libfoo.so (path inside the apk) are JNI libs embedded prebuilt apk;
+ # Files like path/to/libfoo.so (path relative to LOCAL_PATH) are prebuilts in the source tree.
+ my_embedded_prebuilt_jni_libs := $(patsubst @%,%, \
+ $(filter @%, $(my_prebuilt_jni_libs)))
-# prebuilt JNI exsiting as separate source files.
-my_prebuilt_jni_libs := $(addprefix $(LOCAL_PATH)/, \
- $(filter-out @%, $(my_prebuilt_jni_libs)))
-ifdef my_prebuilt_jni_libs
-ifdef my_embed_jni
-# Embed my_prebuilt_jni_libs to the apk
-my_jni_shared_libraries += $(my_prebuilt_jni_libs)
-else # not my_embed_jni
-# Install my_prebuilt_jni_libs as separate files.
-$(foreach lib, $(my_prebuilt_jni_libs), \
- $(eval $(call copy-one-file, $(lib), $(my_app_lib_path)/$(notdir $(lib)))))
+ # prebuilt JNI exsiting as separate source files.
+ my_prebuilt_jni_libs := $(addprefix $(LOCAL_PATH)/, \
+ $(filter-out @%, $(my_prebuilt_jni_libs)))
+ ifdef my_prebuilt_jni_libs
+ ifdef my_embed_jni
+ # Embed my_prebuilt_jni_libs to the apk
+ my_jni_shared_libraries += $(my_prebuilt_jni_libs)
+ else # not my_embed_jni
+ # Install my_prebuilt_jni_libs as separate files.
+ $(foreach lib, $(my_prebuilt_jni_libs), \
+ $(eval $(call copy-one-file, $(lib), $(my_app_lib_path)/$(notdir $(lib)))))
-my_installed_library := $(addprefix $(my_app_lib_path)/, $(notdir $(my_prebuilt_jni_libs)))
-$(LOCAL_INSTALLED_MODULE) : $(my_installed_library)
-ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(my_installed_library)
-endif # my_embed_jni
-endif # inner my_prebuilt_jni_libs
+ my_installed_library := $(addprefix $(my_app_lib_path)/, $(notdir $(my_prebuilt_jni_libs)))
+ $(LOCAL_INSTALLED_MODULE) : $(my_installed_library)
+
+ ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(my_installed_library)
+ endif # my_embed_jni
+ endif # inner my_prebuilt_jni_libs
endif # outer my_prebuilt_jni_libs
# Verify that all included libraries are built against the NDK
include $(BUILD_SYSTEM)/allowed_ndk_types.mk
+
ifneq ($(strip $(LOCAL_JNI_SHARED_LIBRARIES)),)
-ifneq ($(LOCAL_SDK_VERSION),)
-my_link_type := app:sdk
-my_warn_types := native:platform $(my_warn_ndk_types)
-my_allowed_types := $(my_allowed_ndk_types)
+ ifneq ($(LOCAL_SDK_VERSION),)
+ my_link_type := app:sdk
+ my_warn_types := native:platform $(my_warn_ndk_types)
+ my_allowed_types := $(my_allowed_ndk_types)
ifneq (,$(filter true,$(LOCAL_VENDOR_MODULE) $(LOCAL_ODM_MODULE) $(LOCAL_PROPRIETARY_MODULE)))
- my_allowed_types += native:vendor native:vndk native:platform_vndk
+ my_allowed_types += native:vendor native:vndk native:platform_vndk
endif
-else
-my_link_type := app:platform
-my_warn_types := $(my_warn_ndk_types)
-my_allowed_types := $(my_allowed_ndk_types) native:platform native:vendor native:vndk native:vndk_private native:platform_vndk
-endif
+ else
+ my_link_type := app:platform
+ my_warn_types := $(my_warn_ndk_types)
+ my_allowed_types := $(my_allowed_ndk_types) native:platform native:vendor native:vndk native:vndk_private native:platform_vndk
+ endif
-my_link_deps := $(addprefix SHARED_LIBRARIES:,$(LOCAL_JNI_SHARED_LIBRARIES))
+ my_link_deps := $(addprefix SHARED_LIBRARIES:,$(LOCAL_JNI_SHARED_LIBRARIES))
-my_common :=
-include $(BUILD_SYSTEM)/link_type.mk
+ my_common :=
+ include $(BUILD_SYSTEM)/link_type.mk
endif
diff --git a/core/soong_cc_prebuilt.mk b/core/soong_cc_prebuilt.mk
index 679d5b8..31b0e63 100644
--- a/core/soong_cc_prebuilt.mk
+++ b/core/soong_cc_prebuilt.mk
@@ -96,9 +96,11 @@
endif
# Check prebuilt ELF binaries.
-ifneq ($(LOCAL_CHECK_ELF_FILES),)
-my_prebuilt_src_file := $(LOCAL_PREBUILT_MODULE_FILE)
-include $(BUILD_SYSTEM)/check_elf_file.mk
+ifdef LOCAL_INSTALLED_MODULE
+ ifneq ($(LOCAL_CHECK_ELF_FILES),)
+ my_prebuilt_src_file := $(LOCAL_PREBUILT_MODULE_FILE)
+ include $(BUILD_SYSTEM)/check_elf_file.mk
+ endif
endif
# The real dependency will be added after all Android.mks are loaded and the install paths
diff --git a/core/soong_config.mk b/core/soong_config.mk
index baba31b..0275de6 100644
--- a/core/soong_config.mk
+++ b/core/soong_config.mk
@@ -33,6 +33,11 @@
$(call add_json_bool, Platform_sdk_final, $(filter REL,$(PLATFORM_VERSION_CODENAME)))
$(call add_json_csv, Platform_version_active_codenames, $(PLATFORM_VERSION_ALL_CODENAMES))
$(call add_json_csv, Platform_version_future_codenames, $(PLATFORM_VERSION_FUTURE_CODENAMES))
+$(call add_json_str, Platform_security_patch, $(PLATFORM_SECURITY_PATCH))
+$(call add_json_str, Platform_preview_sdk_version, $(PLATFORM_PREVIEW_SDK_VERSION))
+$(call add_json_str, Platform_base_os, $(PLATFORM_BASE_OS))
+
+$(call add_json_str, Platform_min_supported_target_sdk_version, $(PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION))
$(call add_json_bool, Allow_missing_dependencies, $(ALLOW_MISSING_DEPENDENCIES))
$(call add_json_bool, Unbundled_build, $(TARGET_BUILD_APPS))
diff --git a/target/product/base_system.mk b/target/product/base_system.mk
index ec463f7..a728068 100644
--- a/target/product/base_system.mk
+++ b/target/product/base_system.mk
@@ -274,7 +274,6 @@
PRODUCT_HOST_PACKAGES += \
BugReport \
adb \
- adbd \
art-tools \
atest \
bcc \
@@ -290,9 +289,7 @@
minigzip \
mke2fs \
resize2fs \
- selinux_policy_system \
sgdisk \
- shell_and_utilities_system \
sqlite3 \
tinyplay \
tune2fs \
@@ -311,11 +308,11 @@
$(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable)
endif
-# The order matters
+# The order matters for runtime class lookup performance.
PRODUCT_BOOT_JARS := \
$(TARGET_CORE_JARS) \
- ext \
framework \
+ ext \
telephony-common \
voip-common \
ims-common
diff --git a/target/product/gsi/current.txt b/target/product/gsi/current.txt
index 2716d2c..584a0ca 100644
--- a/target/product/gsi/current.txt
+++ b/target/product/gsi/current.txt
@@ -5,6 +5,7 @@
LLNDK: libRS.so
LLNDK: libandroid_net.so
LLNDK: libc.so
+LLNDK: libcgrouprc.so
LLNDK: libdl.so
LLNDK: libft2.so
LLNDK: liblog.so
diff --git a/target/product/gsi_common.mk b/target/product/gsi_common.mk
index 5e73e63..2c978ab 100644
--- a/target/product/gsi_common.mk
+++ b/target/product/gsi_common.mk
@@ -31,7 +31,6 @@
# The mainline checking whitelist, should be clean up
PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \
system/app/messaging/messaging.apk \
- system/app/PhotoTable/PhotoTable.apk \
system/app/WAPPushManager/WAPPushManager.apk \
system/bin/healthd \
system/etc/init/healthd.rc \
diff --git a/target/product/mainline.mk b/target/product/mainline.mk
index 59bad98..7900cdf 100644
--- a/target/product/mainline.mk
+++ b/target/product/mainline.mk
@@ -14,10 +14,24 @@
# limitations under the License.
#
-# Makefile including the mainline system image, and the relevant AOSP portions
-# for the other partitions.
+# This makefile is intended to serve as a base for completely AOSP based
+# mainline devices, It contain the mainline system partition and sensible
+# defaults for the product and vendor partition.
$(call inherit-product, $(SRC_TARGET_DIR)/product/mainline_system.mk)
+
$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_vendor.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_product.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_vendor.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_product.mk)
+
+$(call inherit-product, frameworks/base/data/sounds/AllAudio.mk)
+
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.config.ringtone=Ring_Synth_04.ogg \
+ ro.com.android.dataroaming=true \
+
+PRODUCT_PACKAGES += \
+ PhotoTable \
+ WallpaperPicker \
+
+PRODUCT_COPY_FILES += device/sample/etc/apns-full-conf.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/apns-conf.xml