Merge "Merge Android Pie into master"
11
CleanSpec.mk
|
@ -463,6 +463,10 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/manifest.xml)
|
|||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/vendor/compatibility_matrix.xml)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/compatibility_matrix.xml)
|
||||
|
||||
# Remove DisplayCutoutEmulation overlays
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/overlay/DisplayCutoutEmulationWide)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/overlay/DisplayCutoutEmulationNarrow)
|
||||
|
||||
# Remove obsolete intermedates src files
|
||||
$(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/*/*_intermediates/src/RenderScript.stamp*)
|
||||
$(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS/*_intermediates/src)
|
||||
|
@ -479,9 +483,16 @@ $(call add-clean-step, rm -rf $(TARGET_COMMON_OUT_ROOT)/obj_asan/JAVA_LIBRARIES/
|
|||
# Remove stale init.noenforce.rc
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/gsi/init.noenforce.rc)
|
||||
|
||||
# Clean up Launcher3 which has been replaced with Launcher3QuickStep
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/Launcher3)
|
||||
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/Launcher3)
|
||||
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/Launcher3_intermediates)
|
||||
|
||||
# Remove old merged AndroidManifest.xml location
|
||||
$(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS/*_intermediates/AndroidManifest.xml)
|
||||
|
||||
$(call add-clean-step, find $(PRODUCT_OUT) -type f -name "vr_hwc*" -print0 | xargs -0 rm -f)
|
||||
|
||||
# ************************************************
|
||||
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
|
||||
# ************************************************
|
||||
|
|
8
OWNERS
|
@ -1,3 +1,11 @@
|
|||
ccross@android.com
|
||||
dwillemsen@google.com
|
||||
nanzhang@google.com
|
||||
|
||||
per-file * = ccross@android.com
|
||||
per-file * = dwillemsen@google.com
|
||||
per-file * = nanzhang@google.com
|
||||
|
||||
# for version updates
|
||||
per-file version_defaults.mk = aseaton@google.com
|
||||
per-file version_defaults.mk = elisapascual@google.com
|
||||
|
|
|
@ -352,6 +352,7 @@ endif
|
|||
PLATFORM_PREVIEW_SDK_VERSION="$(PLATFORM_PREVIEW_SDK_VERSION)" \
|
||||
PLATFORM_VERSION_CODENAME="$(PLATFORM_VERSION_CODENAME)" \
|
||||
PLATFORM_VERSION_ALL_CODENAMES="$(PLATFORM_VERSION_ALL_CODENAMES)" \
|
||||
PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION="$(PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION)" \
|
||||
BUILD_VERSION_TAGS="$(BUILD_VERSION_TAGS)" \
|
||||
BUILD_FINGERPRINT="$(BUILD_FINGERPRINT_FROM_FILE)" \
|
||||
$(if $(OEM_THUMBPRINT_PROPERTIES),BUILD_THUMBPRINT="$(BUILD_THUMBPRINT_FROM_FILE)") \
|
||||
|
|
|
@ -0,0 +1,180 @@
|
|||
#
|
||||
# Copyright (C) 2017 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
##
|
||||
##
|
||||
## Common to both jdiff and javadoc
|
||||
##
|
||||
##
|
||||
|
||||
LOCAL_IS_HOST_MODULE := $(call true-or-empty,$(LOCAL_IS_HOST_MODULE))
|
||||
ifeq ($(LOCAL_IS_HOST_MODULE),true)
|
||||
my_prefix := HOST_
|
||||
LOCAL_HOST_PREFIX :=
|
||||
else
|
||||
my_prefix := TARGET_
|
||||
endif
|
||||
|
||||
LOCAL_MODULE_CLASS := $(strip $(LOCAL_MODULE_CLASS))
|
||||
ifndef LOCAL_MODULE_CLASS
|
||||
$(error $(LOCAL_PATH): LOCAL_MODULE_CLASS not defined)
|
||||
endif
|
||||
|
||||
full_src_files := $(patsubst %,$(LOCAL_PATH)/%,$(LOCAL_SRC_FILES))
|
||||
out_dir := $(OUT_DOCS)/$(LOCAL_MODULE)/api_diff/current
|
||||
full_target := $(call doc-timestamp-for,$(LOCAL_MODULE)-diff)
|
||||
|
||||
ifeq ($(LOCAL_IS_HOST_MODULE),true)
|
||||
$(full_target): PRIVATE_BOOTCLASSPATH :=
|
||||
full_java_libs := $(addprefix $(HOST_OUT_JAVA_LIBRARIES)/,\
|
||||
$(addsuffix $(COMMON_JAVA_PACKAGE_SUFFIX),$(LOCAL_JAVA_LIBRARIES)))
|
||||
full_java_lib_deps := $(full_java_libs)
|
||||
|
||||
else
|
||||
|
||||
ifneq ($(LOCAL_SDK_VERSION),)
|
||||
ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),current)
|
||||
# Use android_stubs_current if LOCAL_SDK_VERSION is current and no TARGET_BUILD_APPS.
|
||||
LOCAL_JAVA_LIBRARIES := android_stubs_current $(LOCAL_JAVA_LIBRARIES)
|
||||
$(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, android_stubs_current)
|
||||
else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),system_current)
|
||||
LOCAL_JAVA_LIBRARIES := android_system_stubs_current $(LOCAL_JAVA_LIBRARIES)
|
||||
$(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, android_system_stubs_current)
|
||||
else ifeq ($(LOCAL_SDK_VERSION)$(TARGET_BUILD_APPS),test_current)
|
||||
LOCAL_JAVA_LIBRARIES := android_test_stubs_current $(LOCAL_JAVA_LIBRARIES)
|
||||
$(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, android_test_stubs_current)
|
||||
else
|
||||
# TARGET_BUILD_APPS is set. Use the modules defined in prebuilts/sdk/Android.mk.
|
||||
_module_name := $(call resolve-prebuilt-sdk-module,$(LOCAL_SDK_VERSION))
|
||||
LOCAL_JAVA_LIBRARIES := $(_module_name) $(LOCAL_JAVA_LIBRARIES)
|
||||
$(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, $(_module_name))
|
||||
_module_name :=
|
||||
endif
|
||||
else
|
||||
LOCAL_JAVA_LIBRARIES := core-oj core-libart ext framework $(LOCAL_JAVA_LIBRARIES)
|
||||
$(full_target): PRIVATE_BOOTCLASSPATH := $(call java-lib-files, core-oj):$(call java-lib-files, core-libart)
|
||||
endif # LOCAL_SDK_VERSION
|
||||
LOCAL_JAVA_LIBRARIES := $(sort $(LOCAL_JAVA_LIBRARIES))
|
||||
|
||||
full_java_libs := $(call java-lib-files,$(LOCAL_JAVA_LIBRARIES)) $(LOCAL_CLASSPATH)
|
||||
full_java_lib_deps := $(call java-lib-deps,$(LOCAL_JAVA_LIBRARIES)) $(LOCAL_CLASSPATH)
|
||||
endif # !LOCAL_IS_HOST_MODULE
|
||||
|
||||
$(full_target): PRIVATE_CLASSPATH := $(subst $(space),:,$(full_java_libs))
|
||||
$(full_target): PRIVATE_DOCLAVA_CLASSPATH := $(HOST_OUT_JAVA_LIBRARIES)/jsilver$(COMMON_JAVA_PACKAGE_SUFFIX):$(HOST_OUT_JAVA_LIBRARIES)/doclava$(COMMON_JAVA_PACKAGE_SUFFIX)
|
||||
|
||||
intermediates.COMMON := $(call local-intermediates-dir,COMMON)
|
||||
|
||||
$(full_target): PRIVATE_SOURCE_PATH := $(call normalize-path-list,$(LOCAL_DROIDDOC_SOURCE_PATH))
|
||||
$(full_target): PRIVATE_JAVA_FILES := $(filter %.java,$(full_src_files))
|
||||
$(full_target): PRIVATE_JAVA_FILES += $(addprefix $($(my_prefix)OUT_COMMON_INTERMEDIATES)/, $(filter %.java,$(LOCAL_INTERMEDIATE_SOURCES)))
|
||||
$(full_target): PRIVATE_SOURCE_INTERMEDIATES_DIR := $(intermediates.COMMON)/src
|
||||
$(full_target): PRIVATE_SRC_LIST_FILE := $(intermediates.COMMON)/droiddoc-src-list
|
||||
|
||||
ifneq ($(strip $(LOCAL_ADDITIONAL_JAVA_DIR)),)
|
||||
$(full_target): PRIVATE_ADDITIONAL_JAVA_DIR := $(LOCAL_ADDITIONAL_JAVA_DIR)
|
||||
endif
|
||||
|
||||
# Lists the input files for the doc build into a text file
|
||||
# suitable for the @ syntax of javadoc.
|
||||
# $(1): the file to create
|
||||
# $(2): files to include
|
||||
# $(3): list of directories to search for java files in
|
||||
define prepare-doc-source-list
|
||||
$(hide) mkdir -p $(dir $(1))
|
||||
$(call dump-words-to-file, $(2), $(1))
|
||||
$(hide) for d in $(3) ; do find $$d -name '*.java' -and -not -name '.*' >> $(1) 2> /dev/null ; done ; true
|
||||
endef
|
||||
|
||||
##
|
||||
##
|
||||
## jdiff only
|
||||
##
|
||||
##
|
||||
|
||||
jdiff := \
|
||||
$(HOST_JDK_TOOLS_JAR) \
|
||||
$(HOST_OUT_JAVA_LIBRARIES)/jdiff$(COMMON_JAVA_PACKAGE_SUFFIX)
|
||||
|
||||
doclava := \
|
||||
$(HOST_JDK_TOOLS_JAR) \
|
||||
$(HOST_OUT_JAVA_LIBRARIES)/doclava$(COMMON_JAVA_PACKAGE_SUFFIX)
|
||||
|
||||
$(full_target): PRIVATE_NEWAPI := $(LOCAL_APIDIFF_NEWAPI)
|
||||
$(full_target): PRIVATE_OLDAPI := $(LOCAL_APIDIFF_OLDAPI)
|
||||
$(full_target): PRIVATE_OUT_DIR := $(out_dir)
|
||||
$(full_target): PRIVATE_OUT_NEWAPI := $(out_dir)/current.xml
|
||||
$(full_target): PRIVATE_OUT_OLDAPI := $(out_dir)/$(notdir $(basename $(LOCAL_APIDIFF_OLDAPI))).xml
|
||||
$(full_target): PRIVATE_DOCLETPATH := $(HOST_OUT_JAVA_LIBRARIES)/jdiff$(COMMON_JAVA_PACKAGE_SUFFIX)
|
||||
$(full_target): \
|
||||
$(full_src_files) \
|
||||
$(full_java_lib_deps) \
|
||||
$(jdiff) \
|
||||
$(doclava) \
|
||||
$(OUT_DOCS)/$(LOCAL_MODULE)-docs-stubs.srcjar \
|
||||
$(LOCAL_ADDITIONAL_DEPENDENCIES)
|
||||
@echo Generating API diff: $(PRIVATE_OUT_DIR)
|
||||
@echo Old API: $(PRIVATE_OLDAPI)
|
||||
@echo New API: $(PRIVATE_NEWAPI)
|
||||
@echo Old XML: $(PRIVATE_OUT_OLDAPI)
|
||||
@echo New XML: $(PRIVATE_OUT_NEWAPI)
|
||||
$(hide) mkdir -p $(dir $@)
|
||||
@echo Converting API files to XML...
|
||||
$(hide) mkdir -p $(PRIVATE_OUT_DIR)
|
||||
$(hide) ( \
|
||||
$(JAVA) \
|
||||
$(addprefix -classpath ,$(PRIVATE_CLASSPATH):$(PRIVATE_DOCLAVA_CLASSPATH):$(PRIVATE_BOOTCLASSPATH):$(HOST_JDK_TOOLS_JAR)) \
|
||||
com.google.doclava.apicheck.ApiCheck \
|
||||
-convert2xml \
|
||||
$(basename $(PRIVATE_NEWAPI)).txt \
|
||||
$(basename $(PRIVATE_OUT_NEWAPI)).xml \
|
||||
) || (rm -rf $(PRIVATE_OUT_DIR) $(PRIVATE_SRC_LIST_FILE); exit 45)
|
||||
$(hide) ( \
|
||||
$(JAVA) \
|
||||
$(addprefix -classpath ,$(PRIVATE_CLASSPATH):$(PRIVATE_DOCLAVA_CLASSPATH):$(PRIVATE_BOOTCLASSPATH):$(HOST_JDK_TOOLS_JAR)) \
|
||||
com.google.doclava.apicheck.ApiCheck \
|
||||
-convert2xml \
|
||||
$(basename $(PRIVATE_OLDAPI)).txt \
|
||||
$(basename $(PRIVATE_OUT_OLDAPI)).xml \
|
||||
) || (rm -rf $(PRIVATE_OUT_DIR) $(PRIVATE_SRC_LIST_FILE); exit 45)
|
||||
@echo Running JDiff...
|
||||
$(call prepare-doc-source-list,$(PRIVATE_SRC_LIST_FILE),$(PRIVATE_JAVA_FILES), \
|
||||
$(PRIVATE_SOURCE_INTERMEDIATES_DIR) $(PRIVATE_ADDITIONAL_JAVA_DIR))
|
||||
$(hide) ( \
|
||||
$(JAVADOC) \
|
||||
-encoding UTF-8 \
|
||||
\@$(PRIVATE_SRC_LIST_FILE) \
|
||||
-J-Xmx1600m \
|
||||
-XDignore.symbol.file \
|
||||
-quiet \
|
||||
-doclet jdiff.JDiff \
|
||||
-docletpath $(PRIVATE_DOCLETPATH) \
|
||||
$(addprefix -bootclasspath ,$(PRIVATE_BOOTCLASSPATH)) \
|
||||
$(addprefix -classpath ,$(PRIVATE_CLASSPATH)) \
|
||||
-sourcepath $(PRIVATE_SOURCE_PATH)$(addprefix :,$(PRIVATE_CLASSPATH)) \
|
||||
-d $(PRIVATE_OUT_DIR) \
|
||||
-newapi $(notdir $(basename $(PRIVATE_OUT_NEWAPI))) \
|
||||
-newapidir $(dir $(PRIVATE_OUT_NEWAPI)) \
|
||||
-oldapi $(notdir $(basename $(PRIVATE_OUT_OLDAPI))) \
|
||||
-oldapidir $(dir $(PRIVATE_OUT_OLDAPI)) \
|
||||
-javadocnew ../../../reference/ \
|
||||
&& touch -f $@ \
|
||||
) || (rm -rf $(PRIVATE_OUT_DIR) $(PRIVATE_SRC_LIST_FILE); exit 45)
|
||||
|
||||
ALL_DOCS += $(full_target)
|
||||
|
||||
.PHONY: $(LOCAL_MODULE)-diff
|
||||
$(LOCAL_MODULE)-diff : $(full_target)
|
|
@ -339,11 +339,10 @@ ifneq ($(my_cc)$(my_cxx),)
|
|||
my_clang := false
|
||||
endif
|
||||
endif
|
||||
# Issue warning if LOCAL_CLANG* is set to false and the local makefile is not found
|
||||
# in the exception project list.
|
||||
ifeq ($(my_clang),false)
|
||||
ifeq ($(call find_in_local_clang_exception_projects,$(LOCAL_MODULE_MAKEFILE))$(LOCAL_IS_AUX_MODULE),)
|
||||
$(error $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): LOCAL_CLANG is set to false)
|
||||
# https://android-review.googlesource.com/720799
|
||||
ifneq ($(LOCAL_MODULE),bionic-compile-time-tests-g++)
|
||||
$(call pretty-error,LOCAL_CLANG false is no longer supported)
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -351,10 +350,7 @@ endif
|
|||
# enable it unless we've specifically disabled clang above
|
||||
ifdef LOCAL_IS_HOST_MODULE
|
||||
ifneq ($($(my_prefix)CLANG_SUPPORTED),true)
|
||||
ifeq ($(my_clang),true)
|
||||
$(call pretty-error,Clang is not yet supported for $($(my_prefix)OS) binaries)
|
||||
endif
|
||||
my_clang := false
|
||||
$(error $($(my_prefix)OS) requires GCC$(comma) but only Clang is supported)
|
||||
else
|
||||
ifeq ($(my_clang),)
|
||||
my_clang := true
|
||||
|
|
|
@ -18,4 +18,4 @@
|
|||
# (like "CRB01"). It must be a single word, and is
|
||||
# capitalized by convention.
|
||||
|
||||
BUILD_ID=OC-MR1
|
||||
BUILD_ID=PI
|
||||
|
|
|
@ -68,28 +68,4 @@ endif
|
|||
# provides to Clang (for supporting features like -ftrapv).
|
||||
COMPILER_RT_CONFIG_EXTRA_STATIC_LIBRARIES := libcompiler_rt-extras
|
||||
|
||||
# A list of projects that are allowed to set LOCAL_CLANG to false.
|
||||
# INTERNAL_LOCAL_CLANG_EXCEPTION_PROJECTS is defined later in other config.mk.
|
||||
LOCAL_CLANG_EXCEPTION_PROJECTS = \
|
||||
bionic/tests/ \
|
||||
device/google/contexthub/ \
|
||||
device/huawei/angler/ \
|
||||
device/lge/bullhead/ \
|
||||
external/gentoo/integration/ \
|
||||
hardware/qcom/ \
|
||||
test/vts/hals/camera/bullhead/ \
|
||||
test/vts/hals/etc/libqdutils/ \
|
||||
vendor/huawei/angler/ \
|
||||
vendor/lge/bullhead/ \
|
||||
$(INTERNAL_LOCAL_CLANG_EXCEPTION_PROJECTS)
|
||||
|
||||
# Find $1 in the exception project list.
|
||||
define find_in_local_clang_exception_projects
|
||||
$(subst $(space),, \
|
||||
$(foreach project,$(LOCAL_CLANG_EXCEPTION_PROJECTS), \
|
||||
$(if $(filter $(project)%,$(1)),$(project)) \
|
||||
) \
|
||||
)
|
||||
endef
|
||||
|
||||
include $(BUILD_SYSTEM)/clang/tidy.mk
|
||||
|
|
|
@ -16,6 +16,8 @@ LOCAL_AIDL_INCLUDES:=
|
|||
LOCAL_ALLOW_UNDEFINED_SYMBOLS:=
|
||||
LOCAL_ANNOTATION_PROCESSORS:=
|
||||
LOCAL_ANNOTATION_PROCESSOR_CLASSES:=
|
||||
LOCAL_APIDIFF_NEWAPI:=
|
||||
LOCAL_APIDIFF_OLDAPI:=
|
||||
LOCAL_APK_LIBRARIES:=
|
||||
LOCAL_ARM_MODE:=
|
||||
LOCAL_ASFLAGS:=
|
||||
|
@ -96,6 +98,7 @@ LOCAL_FULL_LIBS_MANIFEST_FILES:=
|
|||
LOCAL_FULL_MANIFEST_FILE:=
|
||||
LOCAL_FULL_CLASSES_JACOCO_JAR:=
|
||||
LOCAL_FULL_CLASSES_PRE_JACOCO_JAR:=
|
||||
LOCAL_FUZZ_ENGINE:=
|
||||
LOCAL_GCNO_FILES:=
|
||||
LOCAL_GENERATED_SOURCES:=
|
||||
# Group static libraries with "-Wl,--start-group" and "-Wl,--end-group" when linking.
|
||||
|
@ -135,6 +138,7 @@ LOCAL_JAVA_LAYERS_FILE:=
|
|||
LOCAL_JAVA_LIBRARIES:=
|
||||
LOCAL_JAVA_RESOURCE_DIRS:=
|
||||
LOCAL_JAVA_RESOURCE_FILES:=
|
||||
LOCAL_JETIFIER_ENABLED:=
|
||||
LOCAL_JNI_SHARED_LIBRARIES:=
|
||||
LOCAL_JNI_SHARED_LIBRARIES_ABI:=
|
||||
LOCAL_LDFLAGS:=
|
||||
|
|
|
@ -147,6 +147,7 @@ BUILD_JAVA_LIBRARY:= $(BUILD_SYSTEM)/java_library.mk
|
|||
BUILD_STATIC_JAVA_LIBRARY:= $(BUILD_SYSTEM)/static_java_library.mk
|
||||
BUILD_HOST_JAVA_LIBRARY:= $(BUILD_SYSTEM)/host_java_library.mk
|
||||
BUILD_DROIDDOC:= $(BUILD_SYSTEM)/droiddoc.mk
|
||||
BUILD_APIDIFF:= $(BUILD_SYSTEM)/apidiff.mk
|
||||
BUILD_COPY_HEADERS := $(BUILD_SYSTEM)/copy_headers.mk
|
||||
BUILD_NATIVE_TEST := $(BUILD_SYSTEM)/native_test.mk
|
||||
BUILD_NATIVE_BENCHMARK := $(BUILD_SYSTEM)/native_benchmark.mk
|
||||
|
@ -208,6 +209,11 @@ else
|
|||
JAVA_TMPDIR_ARG :=
|
||||
endif
|
||||
|
||||
# Default to remove the org.apache.http.legacy from bootclasspath
|
||||
ifeq ($(REMOVE_OAHL_FROM_BCP),)
|
||||
REMOVE_OAHL_FROM_BCP := true
|
||||
endif
|
||||
|
||||
# ###############################################################
|
||||
# Broken build defaults
|
||||
# ###############################################################
|
||||
|
@ -725,6 +731,8 @@ CLASS2GREYLIST := $(HOST_OUT_EXECUTABLES)/class2greylist
|
|||
FINDBUGS_DIR := external/owasp/sanitizer/tools/findbugs/bin
|
||||
FINDBUGS := $(FINDBUGS_DIR)/findbugs
|
||||
|
||||
JETIFIER := prebuilts/sdk/tools/jetifier/jetifier-standalone/bin/jetifier-standalone
|
||||
|
||||
COLUMN:= column
|
||||
|
||||
USE_OPENJDK9 := true
|
||||
|
@ -839,6 +847,21 @@ $(KATI_obsolete_var PRODUCT_USE_VNDK_OVERRIDE,Use PRODUCT_USE_VNDK instead)
|
|||
.KATI_READONLY := \
|
||||
PRODUCT_USE_VNDK
|
||||
|
||||
# Set BOARD_SYSTEMSDK_VERSIONS to the latest SystemSDK version starting from P-launching
|
||||
# devices if unset.
|
||||
ifndef BOARD_SYSTEMSDK_VERSIONS
|
||||
ifdef PRODUCT_SHIPPING_API_LEVEL
|
||||
ifneq ($(call math_gt_or_eq,$(PRODUCT_SHIPPING_API_LEVEL),28),)
|
||||
ifeq (REL,$(PLATFORM_VERSION_CODENAME))
|
||||
BOARD_SYSTEMSDK_VERSIONS := $(PLATFORM_SDK_VERSION)
|
||||
else
|
||||
BOARD_SYSTEMSDK_VERSIONS := $(PLATFORM_VERSION_CODENAME)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
ifdef PRODUCT_SHIPPING_API_LEVEL
|
||||
ifneq ($(call math_gt_or_eq,$(PRODUCT_SHIPPING_API_LEVEL),27),)
|
||||
ifneq ($(TARGET_USES_MKE2FS),true)
|
||||
|
@ -884,7 +907,7 @@ BUILD_DATETIME_FROM_FILE := $$(cat $(BUILD_DATETIME_FILE))
|
|||
# is made which breaks compatibility with the previous platform sepolicy version,
|
||||
# not just on every increase in PLATFORM_SDK_VERSION. The minor version should
|
||||
# be reset to 0 on every bump of the PLATFORM_SDK_VERSION.
|
||||
sepolicy_major_vers := 27
|
||||
sepolicy_major_vers := 28
|
||||
sepolicy_minor_vers := 0
|
||||
|
||||
ifneq ($(sepolicy_major_vers), $(PLATFORM_SDK_VERSION))
|
||||
|
@ -1088,6 +1111,19 @@ TARGET_AVAIALBLE_SDK_VERSIONS := $(call numerically_sort,$(TARGET_AVAILABLE_SDK_
|
|||
TARGET_SDK_VERSIONS_WITHOUT_JAVA_18_SUPPORT := $(call numbers_less_than,24,$(TARGET_AVAILABLE_SDK_VERSIONS))
|
||||
TARGET_SDK_VERSIONS_WITHOUT_JAVA_19_SUPPORT := $(call numbers_less_than,27,$(TARGET_AVAILABLE_SDK_VERSIONS))
|
||||
|
||||
ifndef INTERNAL_PLATFORM_PRIVATE_API_FILE
|
||||
INTERNAL_PLATFORM_PRIVATE_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/private.txt
|
||||
endif
|
||||
ifndef INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE
|
||||
INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/private-dex.txt
|
||||
endif
|
||||
ifndef INTERNAL_PLATFORM_SYSTEM_PRIVATE_API_FILE
|
||||
INTERNAL_PLATFORM_SYSTEM_PRIVATE_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/system-private.txt
|
||||
endif
|
||||
ifndef INTERNAL_PLATFORM_SYSTEM_PRIVATE_DEX_API_FILE
|
||||
INTERNAL_PLATFORM_SYSTEM_PRIVATE_DEX_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/system-private-dex.txt
|
||||
endif
|
||||
|
||||
INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/hiddenapi-public-list.txt
|
||||
INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/hiddenapi-private-list.txt
|
||||
INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/hiddenapi-light-greylist.txt
|
||||
|
|
|
@ -108,15 +108,17 @@ ifeq ($(LOCAL_SANITIZE),never)
|
|||
my_sanitize_diag :=
|
||||
endif
|
||||
|
||||
# Enable CFI in included paths.
|
||||
# Enable CFI in included paths (for Arm64 only).
|
||||
ifeq ($(filter cfi, $(my_sanitize)),)
|
||||
combined_include_paths := $(CFI_INCLUDE_PATHS) \
|
||||
$(PRODUCT_CFI_INCLUDE_PATHS)
|
||||
ifneq ($(filter arm64,$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)),)
|
||||
combined_include_paths := $(CFI_INCLUDE_PATHS) \
|
||||
$(PRODUCT_CFI_INCLUDE_PATHS)
|
||||
|
||||
ifneq ($(strip $(foreach dir,$(subst $(comma),$(space),$(combined_include_paths)),\
|
||||
$(filter $(dir)%,$(LOCAL_PATH)))),)
|
||||
my_sanitize := cfi $(my_sanitize)
|
||||
my_sanitize_diag := cfi $(my_sanitize_diag)
|
||||
ifneq ($(strip $(foreach dir,$(subst $(comma),$(space),$(combined_include_paths)),\
|
||||
$(filter $(dir)%,$(LOCAL_PATH)))),)
|
||||
my_sanitize := cfi $(my_sanitize)
|
||||
my_sanitize_diag := cfi $(my_sanitize_diag)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
|
|
|
@ -2911,15 +2911,13 @@ endef
|
|||
###########################################################
|
||||
ifdef TARGET_OPENJDK9
|
||||
define transform-jar-to-proguard
|
||||
@echo Skipping Proguard: $<$(PRIVATE_PROGUARD_INJAR_FILTERS) $@
|
||||
@echo Skipping Proguard: $< $@
|
||||
$(hide) cp '$<' $@
|
||||
endef
|
||||
else
|
||||
define transform-jar-to-proguard
|
||||
@echo Proguard: $@
|
||||
$(hide) $(PROGUARD) -injars '$<$(PRIVATE_PROGUARD_INJAR_FILTERS)' \
|
||||
-outjars $@ \
|
||||
$(PRIVATE_PROGUARD_FLAGS) \
|
||||
$(hide) $(PROGUARD) -injars $< -outjars $@ $(PRIVATE_PROGUARD_FLAGS) \
|
||||
$(addprefix -injars , $(PRIVATE_EXTRA_INPUT_JAR))
|
||||
endef
|
||||
endif
|
||||
|
@ -2930,7 +2928,7 @@ endif
|
|||
###########################################################
|
||||
define transform-jar-to-dex-r8
|
||||
@echo R8: $@
|
||||
$(hide) $(R8_COMPAT_PROGUARD) -injars '$<$(PRIVATE_PROGUARD_INJAR_FILTERS)' \
|
||||
$(hide) $(R8_COMPAT_PROGUARD) -injars '$<' \
|
||||
--min-api $(PRIVATE_MIN_SDK_VERSION) \
|
||||
--force-proguard-compatibility --output $(subst classes.dex,,$@) \
|
||||
$(PRIVATE_PROGUARD_FLAGS) \
|
||||
|
|
|
@ -124,3 +124,20 @@ $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST): $(HIDDENAPI) $(HIDDENAPI_STUBS) \
|
|||
--stub-classpath=$(call normalize-path-list, $(PRIVATE_HIDDENAPI_STUBS_TEST)) \
|
||||
--out-public=$(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST) \
|
||||
--out-private=$(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST)
|
||||
|
||||
ifeq ($(PRODUCT_DIST_BOOT_AND_SYSTEM_JARS),true)
|
||||
boot_profile_jars_zip := $(PRODUCT_OUT)/boot_profile_jars.zip
|
||||
all_boot_jars := \
|
||||
$(foreach m,$(DEXPREOPT_BOOT_JARS_MODULES),$(PRODUCT_OUT)/system/framework/$(m).jar) \
|
||||
$(foreach m,$(PRODUCT_SYSTEM_SERVER_JARS),$(PRODUCT_OUT)/system/framework/$(m).jar)
|
||||
|
||||
$(boot_profile_jars_zip): PRIVATE_JARS := $(all_boot_jars)
|
||||
$(boot_profile_jars_zip): $(all_boot_jars) $(SOONG_ZIP)
|
||||
echo "Create boot profiles package: $@"
|
||||
rm -f $@
|
||||
$(SOONG_ZIP) -o $@ -C $(PRODUCT_OUT) $(PRIVATE_JARS)
|
||||
|
||||
droidcore: $(boot_profile_jars_zip)
|
||||
|
||||
$(call dist-for-goals, droidcore, $(boot_profile_jars_zip))
|
||||
endif
|
||||
|
|
|
@ -126,13 +126,9 @@ endif
|
|||
|
||||
ifeq (true,$(my_process_profile))
|
||||
|
||||
ifdef LOCAL_VENDOR_MODULE
|
||||
$(call pretty-error, Internal error: profiles are not supported for vendor modules)
|
||||
else
|
||||
ifeq (,$(LOCAL_DEX_PREOPT_APP_IMAGE))
|
||||
LOCAL_DEX_PREOPT_APP_IMAGE := true
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef LOCAL_DEX_PREOPT_PROFILE
|
||||
$(call pretty-error,Must have specified class listing (LOCAL_DEX_PREOPT_PROFILE))
|
||||
|
@ -191,6 +187,12 @@ endif
|
|||
ifdef LOCAL_DEX_PREOPT
|
||||
|
||||
dexpreopt_boot_jar_module := $(filter $(DEXPREOPT_BOOT_JARS_MODULES),$(LOCAL_MODULE))
|
||||
|
||||
# Filter org.apache.http.legacy.boot.
|
||||
ifeq ($(dexpreopt_boot_jar_module),org.apache.http.legacy.boot)
|
||||
dexpreopt_boot_jar_module :=
|
||||
endif
|
||||
|
||||
ifdef dexpreopt_boot_jar_module
|
||||
# For libart, the boot jars' odex files are replaced by $(DEFAULT_DEX_PREOPT_INSTALLED_IMAGE).
|
||||
# We use this installed_odex trick to get boot.art installed.
|
||||
|
|
|
@ -221,7 +221,7 @@ $(full_target): \
|
|||
$(PRIVATE_DROIDDOC_OPTIONS) \
|
||||
$(addprefix -stubs ,$(PRIVATE_STUB_OUT_DIR)) \
|
||||
&& touch -f $@ \
|
||||
) || (rm -rf $(PRIVATE_OUT_DIR) $(PRIVATE_SRC_LIST_FILE); exit 45)
|
||||
) || (cat $(PRIVATE_SRC_LIST_FILE) $(PRIVATE_SRCJAR_LIST_FILE) && rm -rf $(PRIVATE_OUT_DIR) $(PRIVATE_SRC_LIST_FILE); exit 45)
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -8,8 +8,50 @@ ifdef LOCAL_SDK_VERSION
|
|||
$(error $(LOCAL_PATH): $(LOCAL_MODULE): NDK fuzz tests are not supported.)
|
||||
endif
|
||||
|
||||
my_fuzzer:=libFuzzer
|
||||
ifdef LOCAL_FUZZ_ENGINE
|
||||
my_fuzzer:=$(LOCAL_FUZZ_ENGINE)
|
||||
else ifdef TARGET_FUZZ_ENGINE
|
||||
my_fuzzer:=$(TARGET_FUZZ_ENGINE)
|
||||
endif
|
||||
|
||||
|
||||
LOCAL_CFLAGS += -fsanitize-coverage=trace-pc-guard,indirect-calls,trace-cmp
|
||||
|
||||
ifeq ($(my_fuzzer),libFuzzer)
|
||||
LOCAL_STATIC_LIBRARIES += libFuzzer
|
||||
else ifeq ($(my_fuzzer),honggfuzz)
|
||||
LOCAL_STATIC_LIBRARIES += honggfuzz_libhfuzz
|
||||
LOCAL_REQUIRED_MODULES += honggfuzz
|
||||
LOCAL_LDFLAGS += \
|
||||
"-Wl,--wrap=strcmp" \
|
||||
"-Wl,--wrap=strcasecmp" \
|
||||
"-Wl,--wrap=strncmp" \
|
||||
"-Wl,--wrap=strncasecmp" \
|
||||
"-Wl,--wrap=strstr" \
|
||||
"-Wl,--wrap=strcasestr" \
|
||||
"-Wl,--wrap=memcmp" \
|
||||
"-Wl,--wrap=bcmp" \
|
||||
"-Wl,--wrap=memmem" \
|
||||
"-Wl,--wrap=ap_cstr_casecmp" \
|
||||
"-Wl,--wrap=ap_cstr_casecmpn" \
|
||||
"-Wl,--wrap=ap_strcasestr" \
|
||||
"-Wl,--wrap=apr_cstr_casecmp" \
|
||||
"-Wl,--wrap=apr_cstr_casecmpn" \
|
||||
"-Wl,--wrap=CRYPTO_memcmp" \
|
||||
"-Wl,--wrap=OPENSSL_memcmp" \
|
||||
"-Wl,--wrap=OPENSSL_strcasecmp" \
|
||||
"-Wl,--wrap=OPENSSL_strncasecmp" \
|
||||
"-Wl,--wrap=xmlStrncmp" \
|
||||
"-Wl,--wrap=xmlStrcmp" \
|
||||
"-Wl,--wrap=xmlStrEqual" \
|
||||
"-Wl,--wrap=xmlStrcasecmp" \
|
||||
"-Wl,--wrap=xmlStrncasecmp" \
|
||||
"-Wl,--wrap=xmlStrstr" \
|
||||
"-Wl,--wrap=xmlStrcasestr"
|
||||
else
|
||||
$(call pretty-error, Unknown fuzz engine $(my_fuzzer))
|
||||
endif
|
||||
|
||||
ifdef LOCAL_MODULE_PATH
|
||||
$(error $(LOCAL_PATH): Do not set LOCAL_MODULE_PATH when building test $(LOCAL_MODULE))
|
||||
|
@ -32,4 +74,8 @@ LOCAL_MULTILIB := both
|
|||
endif
|
||||
endif
|
||||
|
||||
ifndef LOCAL_STRIP_MODULE
|
||||
LOCAL_STRIP_MODULE := keep_symbols
|
||||
endif
|
||||
|
||||
include $(BUILD_EXECUTABLE)
|
||||
|
|
|
@ -114,9 +114,9 @@ full_classes_jarjar_jar := $(full_classes_combined_jar)
|
|||
endif
|
||||
|
||||
|
||||
#######################################
|
||||
LOCAL_FULL_CLASSES_PRE_JACOCO_JAR := $(full_classes_jarjar_jar)
|
||||
|
||||
#######################################
|
||||
include $(BUILD_SYSTEM)/jacoco.mk
|
||||
#######################################
|
||||
|
||||
|
|
24
core/java.mk
|
@ -359,9 +359,9 @@ endif
|
|||
|
||||
$(eval $(call copy-one-file,$(full_classes_jarjar_jar),$(full_classes_jar)))
|
||||
|
||||
#######################################
|
||||
LOCAL_FULL_CLASSES_PRE_JACOCO_JAR := $(full_classes_jar)
|
||||
|
||||
#######################################
|
||||
include $(BUILD_SYSTEM)/jacoco.mk
|
||||
#######################################
|
||||
|
||||
|
@ -405,7 +405,12 @@ else
|
|||
endif
|
||||
endif
|
||||
|
||||
legacy_proguard_flags := $(addprefix -libraryjars ,$(my_proguard_sdk_raise) \
|
||||
ifeq ($(USE_R8),true)
|
||||
proguard_jars_prefix := -libraryjars
|
||||
else
|
||||
proguard_jars_prefix := -systemjars
|
||||
endif
|
||||
legacy_proguard_flags := $(addprefix $(proguard_jars_prefix) ,$(my_proguard_sdk_raise) \
|
||||
$(filter-out $(my_proguard_sdk_raise), \
|
||||
$(full_java_bootclasspath_libs) \
|
||||
$(full_shared_java_header_libs)))
|
||||
|
@ -483,19 +488,6 @@ else
|
|||
extra_input_jar :=
|
||||
endif
|
||||
|
||||
# If building against the current SDK version then filter out the junit,
|
||||
# android.test and c.a.i.u.Predicate classes that are to be removed from
|
||||
# the Android API as part of b/30188076 but which are still present in
|
||||
# the Android API. This is to allow changes to be made to the build to
|
||||
# statically include those classes into the application without
|
||||
# simultaneously removing those classes from the API.
|
||||
proguard_injar_filters :=
|
||||
ifdef LOCAL_SDK_VERSION
|
||||
ifeq (,$(filter-out current system_current test_current, $(LOCAL_SDK_VERSION)))
|
||||
proguard_injar_filters := (!junit/framework/**,!junit/runner/**,!junit/textui/**,!android/test/**,!com/android/internal/util/*)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(filter obfuscation,$(LOCAL_PROGUARD_ENABLED)),)
|
||||
ifneq ($(LOCAL_USE_R8),true)
|
||||
$(full_classes_proguard_jar): .KATI_IMPLICIT_OUTPUTS := $(proguard_dictionary) $(proguard_configuration)
|
||||
|
@ -508,7 +500,6 @@ endif
|
|||
ifneq ($(LOCAL_USE_R8),true)
|
||||
# Changes to these dependencies need to be replicated below when using R8
|
||||
# instead of Proguard + dx.
|
||||
$(full_classes_proguard_jar): PRIVATE_PROGUARD_INJAR_FILTERS := $(proguard_injar_filters)
|
||||
$(full_classes_proguard_jar): PRIVATE_EXTRA_INPUT_JAR := $(extra_input_jar)
|
||||
$(full_classes_proguard_jar): PRIVATE_PROGUARD_FLAGS := $(legacy_proguard_flags) $(common_proguard_flags) $(LOCAL_PROGUARD_FLAGS)
|
||||
$(full_classes_proguard_jar) : $(full_classes_pre_proguard_jar) $(extra_input_jar) $(my_proguard_sdk_raise) $(common_proguard_flag_files) $(proguard_flag_files) $(legacy_proguard_lib_deps) | $(PROGUARD)
|
||||
|
@ -533,7 +524,6 @@ ifeq ($(LOCAL_USE_R8),true)
|
|||
# Proguard + dx. They are used for the generated dex when using R8, as
|
||||
# R8 does Proguard + dx
|
||||
my_r8 := true
|
||||
$(built_dex_intermediate): PRIVATE_PROGUARD_INJAR_FILTERS := $(proguard_injar_filters)
|
||||
$(built_dex_intermediate): PRIVATE_EXTRA_INPUT_JAR := $(extra_input_jar)
|
||||
$(built_dex_intermediate): PRIVATE_PROGUARD_FLAGS := $(legacy_proguard_flags) $(common_proguard_flags) $(LOCAL_PROGUARD_FLAGS)
|
||||
$(built_dex_intermediate) : $(full_classes_proguard_jar) $(extra_input_jar) $(my_proguard_sdk_raise) $(common_proguard_flag_files) $(proguard_flag_files) $(legacy_proguard_lib_deps) $(R8_COMPAT_PROGUARD)
|
||||
|
|
|
@ -493,11 +493,11 @@ ALL_MODULES.$(my_register_name).INTERMEDIATE_SOURCE_DIR := \
|
|||
ifndef LOCAL_IS_HOST_MODULE
|
||||
ifeq ($(LOCAL_SDK_VERSION),system_current)
|
||||
my_link_type := java:system
|
||||
my_warn_types := java:platform
|
||||
my_warn_types :=
|
||||
my_allowed_types := java:sdk java:system java:core
|
||||
else ifneq (,$(call has-system-sdk-version,$(LOCAL_SDK_VERSION)))
|
||||
my_link_type := java:system
|
||||
my_warn_types := java:platform
|
||||
my_warn_types :=
|
||||
my_allowed_types := java:sdk java:system java:core
|
||||
else ifeq ($(LOCAL_SDK_VERSION),core_current)
|
||||
my_link_type := java:core
|
||||
|
@ -505,7 +505,7 @@ my_warn_types :=
|
|||
my_allowed_types := java:core
|
||||
else ifneq ($(LOCAL_SDK_VERSION),)
|
||||
my_link_type := java:sdk
|
||||
my_warn_types := java:system java:platform
|
||||
my_warn_types :=
|
||||
my_allowed_types := java:sdk java:core
|
||||
else
|
||||
my_link_type := java:platform
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
#
|
||||
# Copyright (C) 2018 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
# This file sets up the running of Jetifier
|
||||
|
||||
# now add the rule to run jetifier
|
||||
ifeq ($(strip $(LOCAL_JETIFIER_ENABLED)),true)
|
||||
my_jetifier_input_path := $(LOCAL_JETIFIER_INPUT_FILE)
|
||||
my_files := $(intermediates.COMMON)/jetifier
|
||||
my_jetifier_output_path := $(my_files)/jetified-$(notdir $(my_jetifier_input_path))
|
||||
|
||||
$(my_jetifier_output_path) : $(my_jetifier_input_path) $(JETIFIER)
|
||||
rm -rf $@
|
||||
$(JETIFIER) -outputfile $@ -i $<
|
||||
|
||||
LOCAL_JETIFIER_OUTPUT_FILE := $(my_jetifier_output_path)
|
||||
LOCAL_INTERMEDIATE_TARGETS += $(LOCAL_JETIFIER_OUTPUT_FILE)
|
||||
else
|
||||
LOCAL_JETIFIER_OUTPUT_FILE := $(LOCAL_JETIFIER_INPUT_FILE)
|
||||
endif
|
||||
|
|
@ -96,6 +96,10 @@ $(shell mkdir -p $(EMPTY_DIRECTORY) && rm -rf $(EMPTY_DIRECTORY)/*)
|
|||
-include tools/tradefederation/build/suites/device-tests/config.mk
|
||||
# general-tests-specific-config.
|
||||
-include tools/tradefederation/build/suites/general-tests/config.mk
|
||||
# STS-specific config.
|
||||
-include test/sts/tools/sts-tradefed/build/config.mk
|
||||
# CTS-Instant-specific config
|
||||
-include test/suite_harness/tools/cts-instant-tradefed/build/config.mk
|
||||
|
||||
# Clean rules
|
||||
.PHONY: clean-dex-files
|
||||
|
|
|
@ -14,7 +14,6 @@ ifneq (,$(filter platform-java, $(MAKECMDGOALS))$(PDK_FUSION_PLATFORM_ZIP)$(PDK_
|
|||
PDK_PLATFORM_JAVA_ZIP_JAVA_TARGET_LIB_DIR += \
|
||||
target/common/obj/JAVA_LIBRARIES/android.test.runner_intermediates \
|
||||
target/common/obj/JAVA_LIBRARIES/android.hidl.base-V1.0-java_intermediates \
|
||||
target/common/obj/JAVA_LIBRARIES/android.hidl.base-V1.0-java-static_intermediates \
|
||||
target/common/obj/JAVA_LIBRARIES/android.hidl.manager-V1.0-java_intermediates \
|
||||
target/common/obj/JAVA_LIBRARIES/android-common_intermediates \
|
||||
target/common/obj/JAVA_LIBRARIES/android-ex-camera2_intermediates \
|
||||
|
|
|
@ -588,6 +588,12 @@ else # ! prebuilt_module_is_dex_javalib
|
|||
my_src_aar := $(filter %.aar, $(my_prebuilt_src_file))
|
||||
ifneq ($(my_src_aar),)
|
||||
# This is .aar file, archive of classes.jar and Android resources.
|
||||
|
||||
# run Jetifier if needed
|
||||
LOCAL_JETIFIER_INPUT_FILE := $(my_src_aar)
|
||||
include $(BUILD_SYSTEM)/jetifier.mk
|
||||
my_src_aar := $(LOCAL_JETIFIER_OUTPUT_FILE)
|
||||
|
||||
my_src_jar := $(intermediates.COMMON)/aar/classes.jar
|
||||
my_src_proguard_options := $(intermediates.COMMON)/aar/proguard.txt
|
||||
my_src_android_manifest := $(intermediates.COMMON)/aar/AndroidManifest.xml
|
||||
|
@ -608,6 +614,13 @@ my_prebuilt_android_manifest := $(intermediates.COMMON)/manifest/AndroidManifest
|
|||
$(eval $(call copy-one-file,$(my_src_android_manifest),$(my_prebuilt_android_manifest)))
|
||||
$(call add-dependency,$(LOCAL_BUILT_MODULE),$(my_prebuilt_android_manifest))
|
||||
|
||||
else
|
||||
|
||||
# run Jetifier if needed
|
||||
LOCAL_JETIFIER_INPUT_FILE := $(my_src_jar)
|
||||
include $(BUILD_SYSTEM)/jetifier.mk
|
||||
my_src_jar := $(LOCAL_JETIFIER_OUTPUT_FILE)
|
||||
|
||||
endif
|
||||
|
||||
$(common_classes_jar) : $(my_src_jar)
|
||||
|
|
|
@ -8,11 +8,6 @@
|
|||
|
||||
whitelisted_modules := framework-res__auto_generated_rro
|
||||
|
||||
|
||||
ifeq (,$(JAVA_SDK_ENFORCEMENT_ERROR))
|
||||
JAVA_SDK_ENFORCEMENT_ERROR := APPS
|
||||
endif
|
||||
|
||||
ifeq ($(LOCAL_SDK_VERSION)$(LOCAL_PRIVATE_PLATFORM_APIS),)
|
||||
ifeq (,$(filter $(LOCAL_MODULE),$(whitelisted_modules)))
|
||||
ifneq ($(JAVA_SDK_ENFORCEMENT_WARNING)$(JAVA_SDK_ENFORCEMENT_ERROR),)
|
||||
|
|
|
@ -130,6 +130,7 @@ $(call add_json_bool, Treble_linker_namespaces, $(filter true,$(PRODUCT
|
|||
$(call add_json_bool, Enforce_vintf_manifest, $(filter true,$(PRODUCT_ENFORCE_VINTF_MANIFEST)))
|
||||
|
||||
$(call add_json_bool, Uml, $(filter true,$(TARGET_USER_MODE_LINUX)))
|
||||
$(call add_json_bool, Use_lmkd_stats_log, $(filter true,$(TARGET_LMKD_STATS_LOG)))
|
||||
$(call add_json_str, VendorPath, $(TARGET_COPY_OUT_VENDOR))
|
||||
$(call add_json_str, OdmPath, $(TARGET_COPY_OUT_ODM))
|
||||
$(call add_json_str, ProductPath, $(TARGET_COPY_OUT_PRODUCT))
|
||||
|
@ -137,6 +138,7 @@ $(call add_json_str, ProductServicesPath, $(TARGET_COPY_OUT_PRODU
|
|||
$(call add_json_bool, MinimizeJavaDebugInfo, $(filter true,$(PRODUCT_MINIMIZE_JAVA_DEBUG_INFO)))
|
||||
|
||||
$(call add_json_bool, UseGoma, $(filter-out false,$(USE_GOMA)))
|
||||
$(call add_json_bool, Arc, $(filter true,$(TARGET_ARC)))
|
||||
|
||||
$(call add_json_str, DistDir, $(if $(dist_goal), $(DIST_DIR)))
|
||||
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
# Copyright (C) 2017 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -12,4 +11,11 @@
|
|||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
#
|
||||
# Rules for building API diffs.
|
||||
#
|
||||
|
||||
.PHONY: api-diff
|
||||
|
||||
api-diff: offline-sdk-referenceonly-diff
|
|
@ -121,7 +121,7 @@ com\.android\..*
|
|||
|
||||
|
||||
###################################################
|
||||
# legacy-test.jar
|
||||
# android.test.base.jar
|
||||
junit\.extensions
|
||||
junit\.framework
|
||||
android\.test
|
||||
|
@ -237,3 +237,7 @@ org\.apache\.xalan\.xslt
|
|||
# Packages in the google namespace across all bootclasspath jars.
|
||||
com\.google\.android\..*
|
||||
com\.google\.vr\.platform.*
|
||||
|
||||
###################################################
|
||||
# Packages used for Android in Chrome OS
|
||||
org\.chromium\.arc
|
||||
|
|
|
@ -14,8 +14,9 @@
|
|||
|
||||
test_suite_name := cts
|
||||
test_suite_tradefed := cts-tradefed
|
||||
test_suite_dynamic_config := cts/tools/cts-tradefed/DynamicConfig.xml
|
||||
test_suite_readme := cts/tools/cts-tradefed/README
|
||||
# TODO: Fix the following two lines after harness is moved to its own repo
|
||||
test_suite_dynamic_config := test/suite_harness/tools/cts-tradefed/DynamicConfig.xml
|
||||
test_suite_readme := test/suite_harness/tools/cts-tradefed/README
|
||||
|
||||
include $(BUILD_SYSTEM)/tasks/tools/compatibility.mk
|
||||
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
# Copyright (C) 2018 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
test_suite_name := cts_instant
|
||||
test_suite_tradefed := cts-instant-tradefed
|
||||
test_suite_dynamic_config := test/suite_harness/tools/cts-instant-tradefed/DynamicConfig.xml
|
||||
test_suite_readme := test/suite_harness/tools/cts-instant-tradefed/README
|
||||
|
||||
include $(BUILD_SYSTEM)/tasks/tools/compatibility.mk
|
||||
|
||||
.PHONY: cts_instant
|
||||
cts_instant: $(compatibility_zip)
|
||||
$(call dist-for-goals, cts_instant, $(compatibility_zip))
|
||||
|
|
@ -65,7 +65,6 @@ endif
|
|||
files_to_copy += \
|
||||
$(addon_dir_img):$(INSTALLED_QEMU_SYSTEMIMAGE):images/$(TARGET_CPU_ABI)/system.img \
|
||||
$(addon_dir_img):$(INSTALLED_QEMU_VENDORIMAGE):images/$(TARGET_CPU_ABI)/vendor.img \
|
||||
$(addon_dir_img):$(BUILT_USERDATAIMAGE_TARGET):images/$(TARGET_CPU_ABI)/userdata.img \
|
||||
$(addon_dir_img):$(BUILT_RAMDISK_TARGET):images/$(TARGET_CPU_ABI)/ramdisk.img \
|
||||
$(addon_dir_img):$(PRODUCT_OUT)/system/build.prop:images/$(TARGET_CPU_ABI)/build.prop \
|
||||
$(addon_dir_img):$(target_notice_file_txt):images/$(TARGET_CPU_ABI)/NOTICE.txt \
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#
|
||||
# Copyright (C) 2017 The Android Open Source Project
|
||||
# Copyright (C) 2016 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
@ -12,12 +11,15 @@
|
|||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
# 512MB specific properties.
|
||||
ifneq ($(wildcard test/sts/README.md),)
|
||||
test_suite_name := sts
|
||||
test_suite_tradefed := sts-tradefed
|
||||
test_suite_readme := test/sts/README.md
|
||||
|
||||
# lmkd can kill more now.
|
||||
ro.lmk.medium=700
|
||||
include $(BUILD_SYSTEM)/tasks/tools/compatibility.mk
|
||||
|
||||
# madvise random in ART to reduce page cache thrashing.
|
||||
dalvik.vm.madvise-random=true
|
||||
.PHONY: sts
|
||||
sts: $(compatibility_zip)
|
||||
$(call dist-for-goals, sts, $(compatibility_zip))
|
||||
endif
|
|
@ -21,6 +21,8 @@
|
|||
# test_suite_readme: the path to a README file for this test suite
|
||||
# test_suite_prebuilt_tools: the set of prebuilt tools to be included directly
|
||||
# in the 'tools' subdirectory of the test suite.
|
||||
# test_suite_tools: the set of tools for this test suite
|
||||
#
|
||||
# Output variables:
|
||||
# compatibility_zip: the path to the output zip file.
|
||||
|
||||
|
@ -39,6 +41,8 @@ test_tools := $(HOST_OUT_JAVA_LIBRARIES)/hosttestlib.jar \
|
|||
$(HOST_OUT_EXECUTABLES)/$(test_suite_tradefed) \
|
||||
$(test_suite_readme)
|
||||
|
||||
test_tools += $(test_suite_tools)
|
||||
|
||||
compatibility_zip := $(out_dir).zip
|
||||
$(compatibility_zip): PRIVATE_NAME := android-$(test_suite_name)
|
||||
$(compatibility_zip): PRIVATE_OUT_DIR := $(out_dir)
|
||||
|
@ -61,3 +65,4 @@ test_suite_tradefed :=
|
|||
test_suite_dynamic_config :=
|
||||
test_suite_readme :=
|
||||
test_suite_prebuilt_tools :=
|
||||
test_suite_tools :=
|
||||
|
|
|
@ -44,6 +44,7 @@ _vendor_owner_whitelist := \
|
|||
ti \
|
||||
trusted_logic \
|
||||
verizon \
|
||||
waves \
|
||||
widevine
|
||||
|
||||
|
||||
|
|
|
@ -82,12 +82,10 @@ MAX_PLATFORM_VERSION :=
|
|||
# please add that PLATFORM_VERSION as well as clean up obsolete PLATFORM_VERSION's
|
||||
# in the following text file:
|
||||
# cts/tests/tests/os/assets/platform_versions.txt
|
||||
PLATFORM_VERSION.PPR1 := P
|
||||
PLATFORM_VERSION.QPR1 := Q
|
||||
|
||||
# These are the current development codenames, if the build is not a final
|
||||
# release build. If this is a final release build, it is simply "REL".
|
||||
PLATFORM_VERSION_CODENAME.PPR1 := P
|
||||
PLATFORM_VERSION_CODENAME.QPR1 := Q
|
||||
|
||||
ifndef PLATFORM_VERSION
|
||||
|
@ -116,7 +114,7 @@ ifndef PLATFORM_SDK_VERSION
|
|||
# When you increment the PLATFORM_SDK_VERSION please ensure you also
|
||||
# clear out the following text file of all older PLATFORM_VERSION's:
|
||||
# cts/tests/tests/os/assets/platform_versions.txt
|
||||
PLATFORM_SDK_VERSION := 27
|
||||
PLATFORM_SDK_VERSION := 28
|
||||
endif
|
||||
.KATI_READONLY := PLATFORM_SDK_VERSION
|
||||
|
||||
|
@ -225,10 +223,7 @@ ifndef PLATFORM_SYSTEMSDK_MIN_VERSION
|
|||
# to the public SDK where platform essentially supports all previous SDK versions,
|
||||
# platform supports only a few number of recent system SDK versions as some of
|
||||
# old system APIs are gradually deprecated, removed and then deleted.
|
||||
# However, currently in P, we only support the single latest version since there
|
||||
# is no old system SDK versions. Therefore, this is set to empty for now. This
|
||||
# should later (in post P) be set to a number, like 28.
|
||||
PLATFORM_SYSTEMSDK_MIN_VERSION :=
|
||||
PLATFORM_SYSTEMSDK_MIN_VERSION := 28
|
||||
endif
|
||||
.KATI_READONLY := PLATFORM_SYSTEMSDK_MIN_VERSION
|
||||
|
||||
|
@ -254,7 +249,7 @@ ifndef PLATFORM_SECURITY_PATCH
|
|||
# It must be of the form "YYYY-MM-DD" on production devices.
|
||||
# It must match one of the Android Security Patch Level strings of the Public Security Bulletins.
|
||||
# If there is no $PLATFORM_SECURITY_PATCH set, keep it empty.
|
||||
PLATFORM_SECURITY_PATCH := 2017-12-01
|
||||
PLATFORM_SECURITY_PATCH := 2018-08-05
|
||||
endif
|
||||
.KATI_READONLY := PLATFORM_SECURITY_PATCH
|
||||
|
||||
|
@ -320,3 +315,11 @@ ifndef BUILD_NUMBER
|
|||
HAS_BUILD_NUMBER := false
|
||||
endif
|
||||
.KATI_READONLY := BUILD_NUMBER HAS_BUILD_NUMBER
|
||||
|
||||
ifndef PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION
|
||||
# Used to set minimum supported target sdk version. Apps targeting sdk
|
||||
# version lower than the set value will fail to install and run on android
|
||||
# device.
|
||||
PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION := 17
|
||||
endif
|
||||
.KATI_READONLY := PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION
|
||||
|
|
|
@ -49,3 +49,14 @@ include build/make/target/board/BoardConfigEmuCommon.mk
|
|||
include build/make/target/board/BoardConfigGsiCommon.mk
|
||||
|
||||
BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
|
||||
|
||||
# Wifi.
|
||||
BOARD_WLAN_DEVICE := emulator
|
||||
BOARD_HOSTAPD_DRIVER := NL80211
|
||||
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
||||
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_simulated
|
||||
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated
|
||||
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
||||
WIFI_DRIVER_FW_PATH_PARAM := "/dev/null"
|
||||
WIFI_DRIVER_FW_PATH_STA := "/dev/null"
|
||||
WIFI_DRIVER_FW_PATH_AP := "/dev/null"
|
||||
|
|
|
@ -17,12 +17,7 @@
|
|||
# This is a build configuration for the product aspects that
|
||||
# are specific to the emulator.
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES := \
|
||||
ro.ril.hsxpa=1 \
|
||||
ro.ril.gprsclass=10
|
||||
|
||||
PRODUCT_COPY_FILES := \
|
||||
device/generic/goldfish/data/etc/apns-conf.xml:system/etc/apns-conf.xml \
|
||||
device/generic/goldfish/camera/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
|
||||
|
|
|
@ -68,3 +68,14 @@ BOARD_ROOT_EXTRA_SYMLINKS += /vendor/firmware_mnt:/firmware
|
|||
# TODO(b/36764215): remove this setting when the generic system image
|
||||
# no longer has QCOM-specific directories under /.
|
||||
BOARD_SEPOLICY_DIRS += build/target/board/generic_arm64_ab/sepolicy
|
||||
|
||||
# Wifi.
|
||||
BOARD_WLAN_DEVICE := emulator
|
||||
BOARD_HOSTAPD_DRIVER := NL80211
|
||||
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
||||
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_simulated
|
||||
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated
|
||||
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
||||
WIFI_DRIVER_FW_PATH_PARAM := "/dev/null"
|
||||
WIFI_DRIVER_FW_PATH_STA := "/dev/null"
|
||||
WIFI_DRIVER_FW_PATH_AP := "/dev/null"
|
||||
|
|
|
@ -17,12 +17,7 @@
|
|||
# This is a build configuration for the product aspects that
|
||||
# are specific to the emulator.
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES := \
|
||||
ro.ril.hsxpa=1 \
|
||||
ro.ril.gprsclass=10
|
||||
|
||||
PRODUCT_COPY_FILES := \
|
||||
device/generic/goldfish/data/etc/apns-conf.xml:system/etc/apns-conf.xml \
|
||||
device/generic/goldfish/camera/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
|
||||
|
|
|
@ -44,5 +44,3 @@ BOARD_CACHEIMAGE_PARTITION_SIZE := 16777216
|
|||
# TODO(b/36764215): remove this setting when the generic system image
|
||||
# no longer has QCOM-specific directories under /.
|
||||
BOARD_SEPOLICY_DIRS += build/target/board/generic_arm64_ab/sepolicy
|
||||
|
||||
BOARD_VNDK_VERSION := current
|
||||
|
|
|
@ -23,4 +23,18 @@ TARGET_PRELINK_MODULE := false
|
|||
include build/make/target/board/BoardConfigEmuCommon.mk
|
||||
include build/make/target/board/BoardConfigGsiCommon.mk
|
||||
|
||||
BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
|
||||
# Resize to 4G to accomodate ASAN and CTS
|
||||
BOARD_USERDATAIMAGE_PARTITION_SIZE := 4294967296
|
||||
|
||||
BOARD_SEPOLICY_DIRS += device/generic/goldfish/sepolicy/x86
|
||||
|
||||
# Wifi.
|
||||
BOARD_WLAN_DEVICE := emulator
|
||||
BOARD_HOSTAPD_DRIVER := NL80211
|
||||
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
||||
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_simulated
|
||||
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated
|
||||
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
||||
WIFI_DRIVER_FW_PATH_PARAM := "/dev/null"
|
||||
WIFI_DRIVER_FW_PATH_STA := "/dev/null"
|
||||
WIFI_DRIVER_FW_PATH_AP := "/dev/null"
|
||||
|
|
|
@ -17,12 +17,7 @@
|
|||
# This is a build configuration for the product aspects that
|
||||
# are specific to the emulator.
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES := \
|
||||
ro.ril.hsxpa=1 \
|
||||
ro.ril.gprsclass=10
|
||||
|
||||
PRODUCT_COPY_FILES := \
|
||||
device/generic/goldfish/data/etc/apns-conf.xml:system/etc/apns-conf.xml \
|
||||
device/generic/goldfish/camera/media_profiles.xml:system/etc/media_profiles.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \
|
||||
|
|
|
@ -28,3 +28,16 @@ include build/make/target/board/BoardConfigEmuCommon.mk
|
|||
include build/make/target/board/BoardConfigGsiCommon.mk
|
||||
|
||||
BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
|
||||
|
||||
BOARD_SEPOLICY_DIRS += device/generic/goldfish/sepolicy/x86
|
||||
|
||||
# Wifi.
|
||||
BOARD_WLAN_DEVICE := emulator
|
||||
BOARD_HOSTAPD_DRIVER := NL80211
|
||||
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
||||
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_simulated
|
||||
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated
|
||||
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
||||
WIFI_DRIVER_FW_PATH_PARAM := "/dev/null"
|
||||
WIFI_DRIVER_FW_PATH_STA := "/dev/null"
|
||||
WIFI_DRIVER_FW_PATH_AP := "/dev/null"
|
||||
|
|
|
@ -17,12 +17,7 @@
|
|||
# This is a build configuration for the product aspects that
|
||||
# are specific to the emulator.
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES := \
|
||||
ro.ril.hsxpa=1 \
|
||||
ro.ril.gprsclass=10
|
||||
|
||||
PRODUCT_COPY_FILES := \
|
||||
device/generic/goldfish/data/etc/apns-conf.xml:system/etc/apns-conf.xml \
|
||||
device/generic/goldfish/camera/media_profiles.xml:system/etc/media_profiles.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
#
|
||||
# Copyright (C) 2017 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
# Sets Android Go recommended default values for propreties.
|
||||
|
||||
# Set lowram options
|
||||
ro.lmk.critical_upgrade=true
|
||||
ro.lmk.upgrade_pressure=40
|
||||
ro.lmk.downgrade_pressure=60
|
||||
ro.lmk.kill_heaviest_task=false
|
||||
ro.statsd.enable=false
|
||||
|
||||
# set threshold to filter unused apps
|
||||
pm.dexopt.downgrade_after_inactive_days=10
|
||||
|
||||
# set the compiler filter for shared apks to quicken.
|
||||
# Rationale: speed has a lot of dex code expansion, it uses more ram and space
|
||||
# compared to quicken. Using quicken for shared APKs on Go devices may save RAM.
|
||||
# Note that this is a trade-off: here we trade clean pages for dirty pages,
|
||||
# extra cpu and battery. That's because the quicken files will be jit-ed in all
|
||||
# the processes that load of shared apk and the code cache is not shared.
|
||||
# Some notable apps that will be affected by this are gms and chrome.
|
||||
# b/65591595.
|
||||
pm.dexopt.shared=quicken
|
||||
|
||||
# Default heap sizes. Allow up to 256m for large heaps to make sure a single app
|
||||
# doesn't take all of the RAM.
|
||||
dalvik.vm.heapgrowthlimit=128m
|
||||
dalvik.vm.heapsize=256m
|
|
@ -3,3 +3,6 @@ ro.cp_system_other_odex=0
|
|||
|
||||
# GSI always disables adb authentication
|
||||
ro.adb.secure=0
|
||||
|
||||
# TODO(b/78105955): disable privapp_permissions checking before the bug solved
|
||||
ro.control_privapp_permissions=disable
|
||||
|
|
|
@ -29,7 +29,10 @@ TARGET_NO_BOOTLOADER := true
|
|||
TARGET_NO_KERNEL := true
|
||||
|
||||
# system.img is always ext4 with sparse option
|
||||
# GSI also includes make_f2fs to support userdata parition in f2fs
|
||||
# for some devices
|
||||
TARGET_USERIMAGES_USE_EXT4 := true
|
||||
TARGET_USERIMAGES_USE_F2FS := true
|
||||
TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false
|
||||
TARGET_USES_MKE2FS := true
|
||||
|
||||
|
@ -39,6 +42,9 @@ BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 67108864
|
|||
# Generic AOSP image always requires separate vendor.img
|
||||
TARGET_COPY_OUT_VENDOR := vendor
|
||||
|
||||
# Android generic system image always create metadata partition
|
||||
BOARD_USES_METADATA_PARTITION := true
|
||||
|
||||
# Generic AOSP image does NOT support HWC1
|
||||
TARGET_USES_HWC2 := true
|
||||
# Set emulator framebuffer display device buffer count to 3
|
||||
|
@ -47,11 +53,6 @@ NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
|
|||
# Audio
|
||||
USE_XML_AUDIO_POLICY_CONF := 1
|
||||
|
||||
# b/64700195: add minimum support for odm.img
|
||||
# Currently odm.img can only be built by `make custom_images`.
|
||||
# Adding /odm mount point under root directory.
|
||||
BOARD_ROOT_EXTRA_FOLDERS += odm
|
||||
|
||||
# Android Verified Boot (AVB):
|
||||
# Builds a special vbmeta.img that disables AVB verification.
|
||||
# Otherwise, AVB will prevent the device from booting the generic system.img.
|
||||
|
|
|
@ -3,3 +3,6 @@ ro.cp_system_other_odex=0
|
|||
|
||||
# GSI always disables adb authentication
|
||||
ro.adb.secure=0
|
||||
|
||||
# TODO(b/78105955): disable privapp_permissions checking before the bug solved
|
||||
ro.control_privapp_permissions=disable
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
# - compatible property override enabled
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
rild.libpath=/vendor/lib/libreference-ril.so
|
||||
vendor.rild.libpath=/vendor/lib/libreference-ril.so
|
||||
|
||||
# Note: the following lines need to stay at the beginning so that it can
|
||||
# take priority and override the rules it inherit from other mk files
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
# - compatible property override enabled
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
rild.libpath=/vendor/lib64/libreference-ril.so
|
||||
vendor.rild.libpath=/vendor/lib64/libreference-ril.so
|
||||
|
||||
# This is a build configuration for a full-featured build of the
|
||||
# Open-Source part of the tree. It's geared toward a US-centric
|
||||
|
@ -45,12 +45,11 @@ PRODUCT_COPY_FILES += \
|
|||
PRODUCT_COPY_FILES += \
|
||||
system/core/rootdir/init.zygote32_64.rc:root/init.zygote32_64.rc
|
||||
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulator.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_arm64/device.mk)
|
||||
|
||||
include $(SRC_TARGET_DIR)/product/emulator.mk
|
||||
|
||||
# Enable dynamic partition size
|
||||
PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
# - compatible property override enabled
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
rild.libpath=/vendor/lib/libreference-ril.so
|
||||
vendor.rild.libpath=/vendor/lib/libreference-ril.so
|
||||
|
||||
# This is a build configuration for a full-featured build of the
|
||||
# Open-Source part of the tree. It's geared toward a US-centric
|
||||
|
@ -31,7 +31,7 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
|||
PRODUCT_COPY_FILES += \
|
||||
development/sys-img/advancedFeatures.ini:advancedFeatures.ini \
|
||||
device/generic/goldfish/data/etc/encryptionkey.img:encryptionkey.img \
|
||||
prebuilts/qemu-kernel/x86_64/4.4/kernel-qemu2:kernel-ranchu-64
|
||||
prebuilts/qemu-kernel/x86_64/4.9/kernel-qemu2:kernel-ranchu-64
|
||||
|
||||
include $(SRC_TARGET_DIR)/product/full_x86.mk
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
# - compatible property override enabled
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
rild.libpath=/vendor/lib64/libreference-ril.so
|
||||
vendor.rild.libpath=/vendor/lib64/libreference-ril.so
|
||||
|
||||
# This is a build configuration for a full-featured build of the
|
||||
# Open-Source part of the tree. It's geared toward a US-centric
|
||||
|
@ -32,7 +32,7 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
|||
PRODUCT_COPY_FILES += \
|
||||
development/sys-img/advancedFeatures.ini:advancedFeatures.ini \
|
||||
device/generic/goldfish/data/etc/encryptionkey.img:encryptionkey.img \
|
||||
prebuilts/qemu-kernel/x86_64/4.4/kernel-qemu2:kernel-ranchu
|
||||
prebuilts/qemu-kernel/x86_64/4.9/kernel-qemu2:kernel-ranchu
|
||||
|
||||
# Copy different zygote settings for vendor.img to select by setting property
|
||||
# ro.zygote=zygote64_32 or ro.zygote=zygote32_64:
|
||||
|
@ -42,12 +42,11 @@ PRODUCT_COPY_FILES += \
|
|||
PRODUCT_COPY_FILES += \
|
||||
system/core/rootdir/init.zygote32_64.rc:root/init.zygote32_64.rc
|
||||
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulator.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_x86_64/device.mk)
|
||||
|
||||
include $(SRC_TARGET_DIR)/product/emulator.mk
|
||||
|
||||
# Enable dynamic partition size
|
||||
PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true
|
||||
|
||||
|
|
|
@ -24,12 +24,14 @@ PRODUCT_PACKAGES += \
|
|||
android.hidl.manager-V1.0-java \
|
||||
android.hidl.memory@1.0-impl \
|
||||
android.hidl.memory@1.0-impl.vendor \
|
||||
android.test.base \
|
||||
android.test.mock \
|
||||
android.test.runner \
|
||||
applypatch \
|
||||
appops \
|
||||
app_process \
|
||||
appwidget \
|
||||
atest \
|
||||
atrace \
|
||||
audioserver \
|
||||
BackupRestoreConfirmation \
|
||||
|
@ -79,6 +81,7 @@ PRODUCT_PACKAGES += \
|
|||
ims-common \
|
||||
incident \
|
||||
incidentd \
|
||||
incident_helper \
|
||||
incident_report \
|
||||
init \
|
||||
init.environ.rc \
|
||||
|
@ -211,6 +214,7 @@ PRODUCT_PACKAGES += \
|
|||
screencap \
|
||||
sdcard \
|
||||
secdiscard \
|
||||
SecureElement \
|
||||
selinux_policy_system \
|
||||
sensorservice \
|
||||
service \
|
||||
|
@ -222,6 +226,7 @@ PRODUCT_PACKAGES += \
|
|||
Shell \
|
||||
shell_and_utilities_system \
|
||||
sm \
|
||||
statsd \
|
||||
storaged \
|
||||
surfaceflinger \
|
||||
svc \
|
||||
|
@ -255,30 +260,44 @@ ifeq ($(TARGET_CORE_JARS),)
|
|||
$(error TARGET_CORE_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable)
|
||||
endif
|
||||
|
||||
# The order of PRODUCT_BOOT_JARS matters.
|
||||
# The order matters
|
||||
PRODUCT_BOOT_JARS := \
|
||||
$(TARGET_CORE_JARS) \
|
||||
legacy-test \
|
||||
ext \
|
||||
framework \
|
||||
telephony-common \
|
||||
voip-common \
|
||||
ims-common \
|
||||
org.apache.http.legacy.impl \
|
||||
android.hidl.base-V1.0-java \
|
||||
android.hidl.manager-V1.0-java
|
||||
|
||||
# Add the compatibility library that is needed when org.apache.http.legacy
|
||||
# is removed from the bootclasspath.
|
||||
ifeq ($(REMOVE_OAHL_FROM_BCP),true)
|
||||
PRODUCT_PACKAGES += framework-oahl-backward-compatibility
|
||||
PRODUCT_BOOT_JARS += framework-oahl-backward-compatibility
|
||||
else
|
||||
PRODUCT_BOOT_JARS += org.apache.http.legacy.impl
|
||||
endif
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
system/core/rootdir/init.usb.rc:root/init.usb.rc \
|
||||
system/core/rootdir/init.usb.configfs.rc:root/init.usb.configfs.rc \
|
||||
system/core/rootdir/ueventd.rc:root/ueventd.rc \
|
||||
system/core/rootdir/etc/hosts:system/etc/hosts
|
||||
|
||||
# Add the compatibility library that is needed when android.test.base
|
||||
# is removed from the bootclasspath.
|
||||
ifeq ($(REMOVE_ATB_FROM_BCP),true)
|
||||
PRODUCT_PACKAGES += framework-atb-backward-compatibility
|
||||
PRODUCT_BOOT_JARS += framework-atb-backward-compatibility
|
||||
else
|
||||
PRODUCT_BOOT_JARS += android.test.base
|
||||
endif
|
||||
|
||||
PRODUCT_COPY_FILES += system/core/rootdir/init.zygote32.rc:root/init.zygote32.rc
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote32
|
||||
|
||||
# Ensure that this property is always defined so that bionic_systrace.cpp
|
||||
# can rely on it being initially set by init.
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += debug.atrace.tags.enableflags=0
|
||||
|
||||
# Packages included only for eng or userdebug builds, previously debug tagged
|
||||
|
|
|
@ -26,7 +26,7 @@ PRODUCT_PACKAGES += \
|
|||
# Base modules and settings for the vendor partition.
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.cas@1.0-service \
|
||||
android.hardware.configstore@1.0-service \
|
||||
android.hardware.configstore@1.1-service \
|
||||
android.hardware.media.omx@1.0-service \
|
||||
fs_config_files_nonsystem \
|
||||
fs_config_dirs_nonsystem \
|
||||
|
@ -36,6 +36,7 @@ PRODUCT_PACKAGES += \
|
|||
libclearkeycasplugin \
|
||||
libdownmix \
|
||||
libdrmclearkeyplugin \
|
||||
libdynproc \
|
||||
libeffectproxy \
|
||||
libeffects \
|
||||
libldnhncr \
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
# Empty preloaded-classes file for automated testing.
|
|
@ -0,0 +1 @@
|
|||
# Empty preloaded-classes file for automated testing.
|
|
@ -44,8 +44,6 @@ PRODUCT_PACKAGES += \
|
|||
camera.goldfish.jpeg \
|
||||
camera.ranchu \
|
||||
camera.ranchu.jpeg \
|
||||
keystore.goldfish \
|
||||
keystore.ranchu \
|
||||
gatekeeper.ranchu \
|
||||
lights.goldfish \
|
||||
gps.goldfish \
|
||||
|
@ -55,6 +53,7 @@ PRODUCT_PACKAGES += \
|
|||
audio.primary.goldfish \
|
||||
audio.primary.goldfish_legacy \
|
||||
android.hardware.audio@2.0-service \
|
||||
android.hardware.wifi@1.0-service \
|
||||
vibrator.goldfish \
|
||||
power.goldfish \
|
||||
power.ranchu \
|
||||
|
@ -71,11 +70,16 @@ PRODUCT_PACKAGES += \
|
|||
sh_vendor \
|
||||
vintf \
|
||||
toybox_vendor \
|
||||
CarrierConfig
|
||||
CarrierConfig \
|
||||
audio.primary.goldfish \
|
||||
audio.r_submix.default \
|
||||
local_time.default \
|
||||
SdkSetup
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@2.0-impl \
|
||||
android.hardware.audio.effect@2.0-impl \
|
||||
android.hardware.broadcastradio@1.1-service \
|
||||
android.hardware.broadcastradio@1.0-impl \
|
||||
android.hardware.soundtrigger@2.0-impl
|
||||
|
||||
|
@ -83,6 +87,9 @@ PRODUCT_PACKAGES += \
|
|||
android.hardware.keymaster@3.0-impl \
|
||||
android.hardware.keymaster@3.0-service
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.keymaster@4.0-strongbox-service
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.gnss@1.0-service \
|
||||
android.hardware.gnss@1.0-impl
|
||||
|
@ -113,9 +120,24 @@ PRODUCT_PACKAGES += \
|
|||
PRODUCT_PACKAGES += \
|
||||
vndk-sp
|
||||
|
||||
# WiFi
|
||||
PRODUCT_PACKAGES += \
|
||||
createns \
|
||||
dhcpclient \
|
||||
dhcpserver \
|
||||
execns \
|
||||
hostapd \
|
||||
ip \
|
||||
ipv6proxy \
|
||||
iw \
|
||||
wificond \
|
||||
wpa_supplicant \
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/generic/goldfish/data/etc/apns-conf.xml:data/misc/apns/apns-conf.xml \
|
||||
device/generic/goldfish/init.ranchu-core.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ranchu-core.sh \
|
||||
device/generic/goldfish/init.ranchu-net.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ranchu-net.sh \
|
||||
device/generic/goldfish/wifi/init.wifi.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.wifi.sh \
|
||||
device/generic/goldfish/init.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.ranchu.rc \
|
||||
device/generic/goldfish/fstab.ranchu:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu \
|
||||
device/generic/goldfish/ueventd.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
|
||||
|
@ -123,7 +145,25 @@ PRODUCT_COPY_FILES += \
|
|||
device/generic/goldfish/manifest.xml:$(TARGET_COPY_OUT_VENDOR)/manifest.xml \
|
||||
device/generic/goldfish/data/etc/permissions/privapp-permissions-goldfish.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/privapp-permissions-goldfish.xml \
|
||||
device/generic/goldfish/data/etc/config.ini:config.ini \
|
||||
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml
|
||||
device/generic/goldfish/wifi/simulated_hostapd.conf:$(TARGET_COPY_OUT_VENDOR)/etc/simulated_hostapd.conf \
|
||||
device/generic/goldfish/wifi/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf \
|
||||
device/generic/goldfish/wifi/WifiConfigStore.xml:data/misc/wifi/WifiConfigStore.xml \
|
||||
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
|
||||
device/generic/goldfish/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
|
||||
device/generic/goldfish/camera/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
|
||||
device/generic/goldfish/camera/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
|
||||
device/generic/goldfish/camera/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
|
||||
device/generic/goldfish/camera/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
|
||||
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
|
||||
frameworks/native/data/etc/android.hardware.camera.autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.autofocus.xml \
|
||||
frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
|
||||
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml \
|
||||
frameworks/native/data/etc/android.software.autofill.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.autofill.xml \
|
||||
frameworks/av/media/libeffects/data/audio_effects.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.conf \
|
||||
device/generic/goldfish/audio_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy.conf
|
||||
|
||||
|
||||
PRODUCT_PACKAGE_OVERLAYS := device/generic/goldfish/overlay
|
||||
|
||||
|
@ -131,8 +171,22 @@ PRODUCT_CHARACTERISTICS := emulator
|
|||
|
||||
PRODUCT_FULL_TREBLE_OVERRIDE := true
|
||||
|
||||
|
||||
#watchdog tiggers reboot because location service is not
|
||||
#responding, disble it for now
|
||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
|
||||
config.disable_location=true
|
||||
#responding, disble it for now.
|
||||
#still keep it on internal master as it is still working
|
||||
#once it is fixed in aosp, remove this block of comment.
|
||||
#PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
|
||||
#config.disable_location=true
|
||||
|
||||
# Enable Perfetto traced
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
persist.traced.enable=1
|
||||
|
||||
# enable Google-specific location features,
|
||||
# like NetworkLocationProvider and LocationCollector
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
ro.com.google.locationfeatures=1
|
||||
|
||||
# disable setupwizard
|
||||
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
|
||||
ro.setupwizard.mode=DISABLED
|
||||
|
|
|
@ -19,11 +19,10 @@
|
|||
# build quite specifically for the emulator, and might not be
|
||||
# entirely appropriate to inherit from for on-device configurations.
|
||||
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulator.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/board/generic/device.mk)
|
||||
|
||||
include $(SRC_TARGET_DIR)/product/emulator.mk
|
||||
|
||||
# Overrides
|
||||
PRODUCT_NAME := full
|
||||
PRODUCT_DEVICE := generic
|
||||
|
|
|
@ -21,10 +21,6 @@
|
|||
|
||||
PRODUCT_PACKAGES := \
|
||||
libfwdlockengine \
|
||||
OpenWnn \
|
||||
libWnnEngDic \
|
||||
libWnnJpnDic \
|
||||
libwnndict \
|
||||
WAPPushManager
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
|
@ -63,7 +59,7 @@ PRODUCT_LOCALES := en_US
|
|||
$(call inherit-product-if-exists, frameworks/base/data/sounds/AllAudio.mk)
|
||||
|
||||
# Get a list of languages.
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/locales_full.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
|
||||
|
||||
# Get everything else from the parent package
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_no_telephony.mk)
|
||||
|
|
|
@ -23,11 +23,10 @@
|
|||
# that isn't a wifi connection. This will instruct init.rc to enable the
|
||||
# network connection so that you can use it with ADB
|
||||
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulator.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_x86/device.mk)
|
||||
|
||||
include $(SRC_TARGET_DIR)/product/emulator.mk
|
||||
|
||||
ifdef NET_ETH0_STARTONBOOT
|
||||
PRODUCT_PROPERTY_OVERRIDES += net.eth0.startonboot=1
|
||||
endif
|
||||
|
|
|
@ -17,6 +17,3 @@
|
|||
# Inherit common Android Go defaults.
|
||||
$(call inherit-product, build/target/product/go_defaults_common.mk)
|
||||
|
||||
# Add the system properties.
|
||||
TARGET_SYSTEM_PROP += \
|
||||
build/make/target/board/go_defaults.prop
|
||||
|
|
|
@ -17,6 +17,12 @@
|
|||
# Inherit common Android Go defaults.
|
||||
$(call inherit-product, build/target/product/go_defaults_common.mk)
|
||||
|
||||
# Add the system properties.
|
||||
TARGET_SYSTEM_PROP += \
|
||||
build/make/target/board/go_defaults_512.prop
|
||||
# 512MB specific properties.
|
||||
|
||||
# lmkd can kill more now.
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.lmk.medium=700 \
|
||||
|
||||
# madvise random in ART to reduce page cache thrashing.
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
dalvik.vm.madvise-random=true
|
||||
|
|
|
@ -14,12 +14,21 @@
|
|||
# limitations under the License.
|
||||
#
|
||||
|
||||
# Sets Android Go recommended default product options.
|
||||
|
||||
# Sets Android Go recommended default values for propreties.
|
||||
|
||||
# Set lowram options
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.config.low_ram=true \
|
||||
ro.lmk.critical_upgrade=true \
|
||||
ro.lmk.upgrade_pressure=40 \
|
||||
ro.lmk.downgrade_pressure=60 \
|
||||
ro.lmk.kill_heaviest_task=false \
|
||||
ro.statsd.enable=false
|
||||
|
||||
# set threshold to filter unused apps
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
pm.dexopt.downgrade_after_inactive_days=10
|
||||
|
||||
|
||||
# Speed profile services and wifi-service to reduce RAM and storage.
|
||||
PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := speed-profile
|
||||
|
@ -33,6 +42,22 @@ PRODUCT_ALWAYS_PREOPT_EXTRACTED_APK := true
|
|||
PRODUCT_USE_PROFILE_FOR_BOOT_IMAGE := true
|
||||
PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION := frameworks/base/config/boot-image-profile.txt
|
||||
|
||||
# set the compiler filter for shared apks to quicken.
|
||||
# Rationale: speed has a lot of dex code expansion, it uses more ram and space
|
||||
# compared to quicken. Using quicken for shared APKs on Go devices may save RAM.
|
||||
# Note that this is a trade-off: here we trade clean pages for dirty pages,
|
||||
# extra cpu and battery. That's because the quicken files will be jit-ed in all
|
||||
# the processes that load of shared apk and the code cache is not shared.
|
||||
# Some notable apps that will be affected by this are gms and chrome.
|
||||
# b/65591595.
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
pm.dexopt.shared=quicken
|
||||
|
||||
# Default heap sizes. Allow up to 256m for large heaps to make sure a single app
|
||||
# doesn't take all of the RAM.
|
||||
PRODUCT_PROPERTY_OVERRIDES += dalvik.vm.heapgrowthlimit=128m
|
||||
PRODUCT_PROPERTY_OVERRIDES += dalvik.vm.heapsize=256m
|
||||
|
||||
# Do not generate libartd.
|
||||
PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD := false
|
||||
|
||||
|
@ -40,7 +65,3 @@ PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD := false
|
|||
# the size of the system image. This has no bearing on stack traces, but will
|
||||
# leave less information available via JDWP.
|
||||
PRODUCT_MINIMIZE_JAVA_DEBUG_INFO := true
|
||||
|
||||
# Add the system properties.
|
||||
TARGET_SYSTEM_PROP += \
|
||||
build/make/target/board/go_defaults_common.prop
|
||||
|
|
|
@ -59,6 +59,7 @@ PRODUCT_PACKAGES += \
|
|||
InputDevices \
|
||||
KeyChain \
|
||||
LatinIME \
|
||||
Launcher3QuickStep \
|
||||
librs_jni \
|
||||
ManagedProvisioning \
|
||||
MmsService \
|
||||
|
@ -76,7 +77,9 @@ PRODUCT_PACKAGES += \
|
|||
screenrecord \
|
||||
SecureElement \
|
||||
Settings \
|
||||
SettingsIntelligence \
|
||||
SharedStorageBackup \
|
||||
SimAppDialog \
|
||||
StorageManager \
|
||||
SystemUI \
|
||||
Telecom \
|
||||
|
@ -102,3 +105,4 @@ PRODUCT_PROPERTY_OVERRIDES += \
|
|||
ro.carrier=unknown \
|
||||
ro.config.notification_sound=OnTheHunt.ogg \
|
||||
ro.config.alarm_alert=Alarm_Classic.ogg
|
||||
|
||||
|
|
|
@ -21,6 +21,9 @@
|
|||
$(call inherit-product, $(SRC_TARGET_DIR)/product/media_vendor.mk)
|
||||
PRODUCT_PACKAGES += \
|
||||
audio.primary.default \
|
||||
DisplayCutoutEmulationCornerOverlay \
|
||||
DisplayCutoutEmulationDoubleOverlay \
|
||||
DisplayCutoutEmulationTallOverlay \
|
||||
local_time.default \
|
||||
power.default \
|
||||
SysuiDarkThemeOverlay \
|
||||
|
|
|
@ -23,6 +23,7 @@ PRODUCT_LOCALES := \
|
|||
am_ET \
|
||||
ar_EG \
|
||||
ar_XB \
|
||||
as_IN \
|
||||
az_AZ \
|
||||
be_BY \
|
||||
bg_BG \
|
||||
|
@ -76,6 +77,7 @@ PRODUCT_LOCALES := \
|
|||
nb_NO \
|
||||
ne_NP \
|
||||
nl_NL \
|
||||
or_IN \
|
||||
pa_IN \
|
||||
pl_PL \
|
||||
pt_BR \
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
PRODUCT_LOCALES := en_US cs_CZ da_DK de_AT de_CH de_DE de_LI el_GR en_AU en_CA en_GB en_NZ en_SG eo_EU es_ES fr_CA fr_CH fr_BE fr_FR it_CH it_IT ja_JP ko_KR nb_NO nl_BE nl_NL pl_PL pt_PT ru_RU sv_SE tr_TR zh_CN zh_HK zh_TW am_ET hi_IN
|
||||
|
||||
$(call inherit-product, build/target/product/languages_full.mk)
|
|
@ -25,5 +25,6 @@ PRODUCT_SHIPPING_API_LEVEL := 28
|
|||
|
||||
PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := true
|
||||
PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \
|
||||
root/init.zygote64_32.rc \
|
||||
system/etc/seccomp_policy/mediacodec.policy \
|
||||
root/init.zygote64_32.rc \
|
||||
system/etc/seccomp_policy/crash_dump.arm.policy \
|
||||
system/etc/seccomp_policy/mediacodec.policy \
|
||||
|
|
|
@ -14,7 +14,8 @@
|
|||
# limitations under the License.
|
||||
#
|
||||
|
||||
# TODO(hansson): change inheritance to generic_no_telephony
|
||||
# This makefile is the basis of a generic system image for a handheld
|
||||
# device with no telephony.
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_system.mk)
|
||||
|
||||
PRODUCT_NAME := mainline_system
|
||||
|
|
|
@ -70,7 +70,7 @@ PRODUCT_COPY_FILES += \
|
|||
frameworks/native/data/etc/android.software.preview_sdk.xml:system/etc/permissions/android.software.preview_sdk.xml
|
||||
endif
|
||||
|
||||
# The order of PRODUCT_SYSTEM_SERVER_JARS matters.
|
||||
# The order here is the same order they end up on the classpath, so it matters.
|
||||
PRODUCT_SYSTEM_SERVER_JARS := \
|
||||
services \
|
||||
ethernet-service \
|
||||
|
@ -97,3 +97,7 @@ endif
|
|||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
|
||||
ro.logd.size.stats=64K \
|
||||
log.tag.stats_log=I
|
||||
|
||||
# Enable CFI for security-sensitive components
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/cfi-common.mk)
|
||||
$(call inherit-product-if-exists, vendor/google/products/cfi-vendor.mk)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launced on.
|
||||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launched on.
|
||||
PRODUCT_SHIPPING_API_LEVEL := 21
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launced on.
|
||||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launched on.
|
||||
PRODUCT_SHIPPING_API_LEVEL := 22
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launced on.
|
||||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launched on.
|
||||
PRODUCT_SHIPPING_API_LEVEL := 23
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launced on.
|
||||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launched on.
|
||||
PRODUCT_SHIPPING_API_LEVEL := 24
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launced on.
|
||||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launched on.
|
||||
PRODUCT_SHIPPING_API_LEVEL := 25
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launced on.
|
||||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launched on.
|
||||
PRODUCT_SHIPPING_API_LEVEL := 26
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launced on.
|
||||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launched on.
|
||||
PRODUCT_SHIPPING_API_LEVEL := 27
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
#PRODUCT_SHIPPING_API_LEVEL indicates the first api level, device has been commercially launched on.
|
||||
PRODUCT_SHIPPING_API_LEVEL := 28
|
|
@ -0,0 +1,45 @@
|
|||
#
|
||||
# Copyright 2018 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
# Use an empty profile to make non of the boot image be AOT compiled (for now).
|
||||
# Note that we could use a previous profile but we will miss the opportunity to
|
||||
# remove classes that are no longer in use.
|
||||
# Ideally we would just generate an empty boot.art but we don't have the build
|
||||
# support to separate the image from the compile code.
|
||||
PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION := build/target/product/empty-profile
|
||||
PRODUCT_DEX_PREOPT_BOOT_FLAGS := --count-hotness-in-compiled-code
|
||||
DEX_PREOPT_DEFAULT := nostripping
|
||||
|
||||
# Disable uncompressing priv apps so that there is enough space to build the system partition.
|
||||
DONT_UNCOMPRESS_PRIV_APPS_DEXS := true
|
||||
|
||||
# Use an empty preloaded-classes list.
|
||||
PRODUCT_COPY_FILES += \
|
||||
build/target/product/empty-preloaded-classes:system/etc/preloaded-classes
|
||||
|
||||
# Boot image property overrides.
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
dalvik.vm.jitinitialsize=32m \
|
||||
dalvik.vm.jitmaxsize=32m \
|
||||
dalvik.vm.usejitprofiles=true \
|
||||
dalvik.vm.hot-startup-method-samples=256 \
|
||||
dalvik.vm.profilesystemserver=true \
|
||||
dalvik.vm.profilebootimage=true
|
||||
|
||||
# Use speed compiler filter since system server doesn't have JIT.
|
||||
PRODUCT_DEX_PREOPT_BOOT_FLAGS += --compiler-filter=speed
|
||||
|
||||
PRODUCT_DIST_BOOT_AND_SYSTEM_JARS := true
|
|
@ -27,7 +27,7 @@ PRODUCT_PACKAGES += \
|
|||
|
||||
# Additional mixins to the boot classpath.
|
||||
PRODUCT_PACKAGES += \
|
||||
legacy-test \
|
||||
android.test.base \
|
||||
|
||||
# Why are we pulling in ext, which is frameworks/base, depending on tagsoup and nist-sip?
|
||||
PRODUCT_PACKAGES += \
|
||||
|
|
|
@ -20,10 +20,6 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_x86.mk)
|
|||
-include sdk/build/product_sdk.mk
|
||||
-include development/build/product_sdk.mk
|
||||
|
||||
# keep this apk for sdk targets for now
|
||||
PRODUCT_PACKAGES += \
|
||||
EmulatorSmokeTests
|
||||
|
||||
# Overrides
|
||||
PRODUCT_BRAND := Android
|
||||
PRODUCT_NAME := sdk_phone_x86
|
||||
|
|
|
@ -20,10 +20,6 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_x86_64.mk)
|
|||
-include sdk/build/product_sdk.mk
|
||||
-include development/build/product_sdk.mk
|
||||
|
||||
# keep this apk for sdk targets for now
|
||||
PRODUCT_PACKAGES += \
|
||||
EmulatorSmokeTests
|
||||
|
||||
# Overrides
|
||||
PRODUCT_BRAND := Android
|
||||
PRODUCT_NAME := sdk_phone_x86_64
|
||||
|
|
|
@ -29,22 +29,11 @@ PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true
|
|||
# Split selinux policy
|
||||
PRODUCT_FULL_TREBLE_OVERRIDE := true
|
||||
|
||||
# vintf utility:
|
||||
PRODUCT_PACKAGES += \
|
||||
vintf
|
||||
|
||||
# The Messaging app:
|
||||
# Needed for android.telecom.cts.ExtendedInCallServiceTest#testOnCannedTextResponsesLoaded
|
||||
PRODUCT_PACKAGES += \
|
||||
messaging
|
||||
|
||||
# All VNDK libraries (HAL interfaces, VNDK, VNDK-SP, LL-NDK)
|
||||
PRODUCT_PACKAGES += vndk_package
|
||||
|
||||
# SP-NDK:
|
||||
PRODUCT_PACKAGES += \
|
||||
libvulkan \
|
||||
|
||||
# The following policy XML files are used as fallback for
|
||||
# vendors/devices not using XML to configure audio policy.
|
||||
PRODUCT_COPY_FILES += \
|
||||
|
@ -54,20 +43,6 @@ PRODUCT_COPY_FILES += \
|
|||
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:system/etc/audio_policy_volumes.xml \
|
||||
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:system/etc/default_volume_tables.xml \
|
||||
|
||||
# Bluetooth:
|
||||
# audio.a2dp.default is a system module. Generic system image includes
|
||||
# audio.a2dp.default to support A2DP if board has the capability.
|
||||
PRODUCT_PACKAGES += \
|
||||
audio.a2dp.default
|
||||
|
||||
# Net:
|
||||
# Vendors can use the platform-provided network configuration utilities (ip,
|
||||
# iptable, etc.) to configure the Linux networking stack, but these utilities
|
||||
# do not yet include a HIDL interface wrapper. This is a solution on
|
||||
# Android O.
|
||||
PRODUCT_PACKAGES += \
|
||||
netutils-wrapper-1.0
|
||||
|
||||
# Telephony:
|
||||
# Provide a default APN configuration
|
||||
PRODUCT_COPY_FILES += \
|
||||
|
@ -87,3 +62,6 @@ PRODUCT_COPY_FILES += \
|
|||
# Name space configuration file for non-enforcing VNDK
|
||||
PRODUCT_PACKAGES += \
|
||||
ld.config.vndk_lite.txt
|
||||
|
||||
# Support addtional O-MR1 vendor interface
|
||||
PRODUCT_EXTRA_VNDK_VERSIONS := 27
|
||||
|
|
|
@ -0,0 +1,252 @@
|
|||
LLNDK: libEGL.so
|
||||
LLNDK: libGLESv1_CM.so
|
||||
LLNDK: libGLESv2.so
|
||||
LLNDK: libGLESv3.so
|
||||
LLNDK: libRS.so
|
||||
LLNDK: libandroid_net.so
|
||||
LLNDK: libc.so
|
||||
LLNDK: libdl.so
|
||||
LLNDK: libft2.so
|
||||
LLNDK: liblog.so
|
||||
LLNDK: libm.so
|
||||
LLNDK: libmediandk.so
|
||||
LLNDK: libnativewindow.so
|
||||
LLNDK: libneuralnetworks.so
|
||||
LLNDK: libsync.so
|
||||
LLNDK: libvndksupport.so
|
||||
LLNDK: libvulkan.so
|
||||
VNDK-SP: android.hardware.graphics.common@1.0.so
|
||||
VNDK-SP: android.hardware.graphics.common@1.1.so
|
||||
VNDK-SP: android.hardware.graphics.mapper@2.0.so
|
||||
VNDK-SP: android.hardware.graphics.mapper@2.1.so
|
||||
VNDK-SP: android.hardware.renderscript@1.0.so
|
||||
VNDK-SP: android.hidl.memory.token@1.0.so
|
||||
VNDK-SP: android.hidl.memory@1.0.so
|
||||
VNDK-SP: android.hidl.memory@1.0-impl.so
|
||||
VNDK-SP: libRSCpuRef.so
|
||||
VNDK-SP: libRSDriver.so
|
||||
VNDK-SP: libRS_internal.so
|
||||
VNDK-SP: libbacktrace.so
|
||||
VNDK-SP: libbase.so
|
||||
VNDK-SP: libbcinfo.so
|
||||
VNDK-SP: libblas.so
|
||||
VNDK-SP: libc++.so
|
||||
VNDK-SP: libcompiler_rt.so
|
||||
VNDK-SP: libcutils.so
|
||||
VNDK-SP: libhardware.so
|
||||
VNDK-SP: libhidlbase.so
|
||||
VNDK-SP: libhidlmemory.so
|
||||
VNDK-SP: libhidltransport.so
|
||||
VNDK-SP: libhwbinder.so
|
||||
VNDK-SP: libhwbinder_noltopgo.so
|
||||
VNDK-SP: libion.so
|
||||
VNDK-SP: liblzma.so
|
||||
VNDK-SP: libunwind.so
|
||||
VNDK-SP: libunwindstack.so
|
||||
VNDK-SP: libutils.so
|
||||
VNDK-SP: libutilscallstack.so
|
||||
VNDK-SP: libz.so
|
||||
VNDK-core: android.frameworks.displayservice@1.0.so
|
||||
VNDK-core: android.frameworks.schedulerservice@1.0.so
|
||||
VNDK-core: android.frameworks.sensorservice@1.0.so
|
||||
VNDK-core: android.frameworks.vr.composer@1.0.so
|
||||
VNDK-core: android.hardware.audio.common-util.so
|
||||
VNDK-core: android.hardware.audio.common@2.0.so
|
||||
VNDK-core: android.hardware.audio.common@2.0-util.so
|
||||
VNDK-core: android.hardware.audio.common@4.0.so
|
||||
VNDK-core: android.hardware.audio.common@4.0-util.so
|
||||
VNDK-core: android.hardware.audio.effect@2.0.so
|
||||
VNDK-core: android.hardware.audio.effect@4.0.so
|
||||
VNDK-core: android.hardware.audio@2.0.so
|
||||
VNDK-core: android.hardware.audio@4.0.so
|
||||
VNDK-core: android.hardware.authsecret@1.0.so
|
||||
VNDK-core: android.hardware.automotive.audiocontrol@1.0.so
|
||||
VNDK-core: android.hardware.automotive.evs@1.0.so
|
||||
VNDK-core: android.hardware.automotive.vehicle@2.0.so
|
||||
VNDK-core: android.hardware.biometrics.fingerprint@2.1.so
|
||||
VNDK-core: android.hardware.bluetooth.a2dp@1.0.so
|
||||
VNDK-core: android.hardware.bluetooth@1.0.so
|
||||
VNDK-core: android.hardware.boot@1.0.so
|
||||
VNDK-core: android.hardware.broadcastradio@1.0.so
|
||||
VNDK-core: android.hardware.broadcastradio@1.1.so
|
||||
VNDK-core: android.hardware.broadcastradio@2.0.so
|
||||
VNDK-core: android.hardware.camera.common@1.0.so
|
||||
VNDK-core: android.hardware.camera.device@1.0.so
|
||||
VNDK-core: android.hardware.camera.device@3.2.so
|
||||
VNDK-core: android.hardware.camera.device@3.3.so
|
||||
VNDK-core: android.hardware.camera.device@3.4.so
|
||||
VNDK-core: android.hardware.camera.metadata@3.2.so
|
||||
VNDK-core: android.hardware.camera.metadata@3.3.so
|
||||
VNDK-core: android.hardware.camera.provider@2.4.so
|
||||
VNDK-core: android.hardware.cas.native@1.0.so
|
||||
VNDK-core: android.hardware.cas@1.0.so
|
||||
VNDK-core: android.hardware.configstore-utils.so
|
||||
VNDK-core: android.hardware.configstore@1.0.so
|
||||
VNDK-core: android.hardware.configstore@1.1.so
|
||||
VNDK-core: android.hardware.confirmationui-support-lib.so
|
||||
VNDK-core: android.hardware.confirmationui@1.0.so
|
||||
VNDK-core: android.hardware.contexthub@1.0.so
|
||||
VNDK-core: android.hardware.drm@1.0.so
|
||||
VNDK-core: android.hardware.drm@1.1.so
|
||||
VNDK-core: android.hardware.dumpstate@1.0.so
|
||||
VNDK-core: android.hardware.gatekeeper@1.0.so
|
||||
VNDK-core: android.hardware.gnss@1.0.so
|
||||
VNDK-core: android.hardware.gnss@1.1.so
|
||||
VNDK-core: android.hardware.graphics.allocator@2.0.so
|
||||
VNDK-core: android.hardware.graphics.bufferqueue@1.0.so
|
||||
VNDK-core: android.hardware.graphics.composer@2.1.so
|
||||
VNDK-core: android.hardware.graphics.composer@2.2.so
|
||||
VNDK-core: android.hardware.health@1.0.so
|
||||
VNDK-core: android.hardware.health@2.0.so
|
||||
VNDK-core: android.hardware.ir@1.0.so
|
||||
VNDK-core: android.hardware.keymaster@3.0.so
|
||||
VNDK-core: android.hardware.keymaster@4.0.so
|
||||
VNDK-core: android.hardware.light@2.0.so
|
||||
VNDK-core: android.hardware.media.bufferpool@1.0.so
|
||||
VNDK-core: android.hardware.media.omx@1.0.so
|
||||
VNDK-core: android.hardware.media@1.0.so
|
||||
VNDK-core: android.hardware.memtrack@1.0.so
|
||||
VNDK-core: android.hardware.neuralnetworks@1.0.so
|
||||
VNDK-core: android.hardware.neuralnetworks@1.1.so
|
||||
VNDK-core: android.hardware.nfc@1.0.so
|
||||
VNDK-core: android.hardware.nfc@1.1.so
|
||||
VNDK-core: android.hardware.oemlock@1.0.so
|
||||
VNDK-core: android.hardware.power@1.0.so
|
||||
VNDK-core: android.hardware.power@1.1.so
|
||||
VNDK-core: android.hardware.power@1.2.so
|
||||
VNDK-core: android.hardware.radio.config@1.0.so
|
||||
VNDK-core: android.hardware.radio.deprecated@1.0.so
|
||||
VNDK-core: android.hardware.radio@1.0.so
|
||||
VNDK-core: android.hardware.radio@1.1.so
|
||||
VNDK-core: android.hardware.radio@1.2.so
|
||||
VNDK-core: android.hardware.secure_element@1.0.so
|
||||
VNDK-core: android.hardware.sensors@1.0.so
|
||||
VNDK-core: android.hardware.soundtrigger@2.0.so
|
||||
VNDK-core: android.hardware.soundtrigger@2.0-core.so
|
||||
VNDK-core: android.hardware.soundtrigger@2.1.so
|
||||
VNDK-core: android.hardware.tetheroffload.config@1.0.so
|
||||
VNDK-core: android.hardware.tetheroffload.control@1.0.so
|
||||
VNDK-core: android.hardware.thermal@1.0.so
|
||||
VNDK-core: android.hardware.thermal@1.1.so
|
||||
VNDK-core: android.hardware.tv.cec@1.0.so
|
||||
VNDK-core: android.hardware.tv.input@1.0.so
|
||||
VNDK-core: android.hardware.usb.gadget@1.0.so
|
||||
VNDK-core: android.hardware.usb@1.0.so
|
||||
VNDK-core: android.hardware.usb@1.1.so
|
||||
VNDK-core: android.hardware.vibrator@1.0.so
|
||||
VNDK-core: android.hardware.vibrator@1.1.so
|
||||
VNDK-core: android.hardware.vibrator@1.2.so
|
||||
VNDK-core: android.hardware.vr@1.0.so
|
||||
VNDK-core: android.hardware.weaver@1.0.so
|
||||
VNDK-core: android.hardware.wifi.hostapd@1.0.so
|
||||
VNDK-core: android.hardware.wifi.offload@1.0.so
|
||||
VNDK-core: android.hardware.wifi.supplicant@1.0.so
|
||||
VNDK-core: android.hardware.wifi.supplicant@1.1.so
|
||||
VNDK-core: android.hardware.wifi@1.0.so
|
||||
VNDK-core: android.hardware.wifi@1.1.so
|
||||
VNDK-core: android.hardware.wifi@1.2.so
|
||||
VNDK-core: android.hidl.allocator@1.0.so
|
||||
VNDK-core: android.hidl.memory.block@1.0.so
|
||||
VNDK-core: android.hidl.token@1.0.so
|
||||
VNDK-core: android.hidl.token@1.0-utils.so
|
||||
VNDK-core: android.system.net.netd@1.0.so
|
||||
VNDK-core: android.system.net.netd@1.1.so
|
||||
VNDK-core: android.system.wifi.keystore@1.0.so
|
||||
VNDK-core: libadf.so
|
||||
VNDK-core: libaudioroute.so
|
||||
VNDK-core: libaudioutils.so
|
||||
VNDK-core: libbinder.so
|
||||
VNDK-core: libcamera_metadata.so
|
||||
VNDK-core: libcap.so
|
||||
VNDK-core: libcn-cbor.so
|
||||
VNDK-core: libcrypto.so
|
||||
VNDK-core: libcrypto_utils.so
|
||||
VNDK-core: libcurl.so
|
||||
VNDK-core: libdiskconfig.so
|
||||
VNDK-core: libdumpstateutil.so
|
||||
VNDK-core: libevent.so
|
||||
VNDK-core: libexif.so
|
||||
VNDK-core: libexpat.so
|
||||
VNDK-core: libfmq.so
|
||||
VNDK-core: libgatekeeper.so
|
||||
VNDK-core: libgui.so
|
||||
VNDK-core: libhardware_legacy.so
|
||||
VNDK-core: libhidlallocatorutils.so
|
||||
VNDK-core: libhidlcache.so
|
||||
VNDK-core: libjpeg.so
|
||||
VNDK-core: libkeymaster_messages.so
|
||||
VNDK-core: libkeymaster_portable.so
|
||||
VNDK-core: libldacBT_abr.so
|
||||
VNDK-core: libldacBT_enc.so
|
||||
VNDK-core: liblz4.so
|
||||
VNDK-core: libmedia_helper.so
|
||||
VNDK-core: libmedia_omx.so
|
||||
VNDK-core: libmemtrack.so
|
||||
VNDK-core: libminijail.so
|
||||
VNDK-core: libmkbootimg_abi_check.so
|
||||
VNDK-core: libnetutils.so
|
||||
VNDK-core: libnl.so
|
||||
VNDK-core: libopus.so
|
||||
VNDK-core: libpagemap.so
|
||||
VNDK-core: libpcre2.so
|
||||
VNDK-core: libpiex.so
|
||||
VNDK-core: libpng.so
|
||||
VNDK-core: libpower.so
|
||||
VNDK-core: libprocinfo.so
|
||||
VNDK-core: libprotobuf-cpp-full.so
|
||||
VNDK-core: libprotobuf-cpp-lite.so
|
||||
VNDK-core: libpuresoftkeymasterdevice.so
|
||||
VNDK-core: libradio_metadata.so
|
||||
VNDK-core: libselinux.so
|
||||
VNDK-core: libsoftkeymasterdevice.so
|
||||
VNDK-core: libspeexresampler.so
|
||||
VNDK-core: libsqlite.so
|
||||
VNDK-core: libssl.so
|
||||
VNDK-core: libstagefright_amrnb_common.so
|
||||
VNDK-core: libstagefright_bufferqueue_helper.so
|
||||
VNDK-core: libstagefright_enc_common.so
|
||||
VNDK-core: libstagefright_flacdec.so
|
||||
VNDK-core: libstagefright_foundation.so
|
||||
VNDK-core: libstagefright_omx.so
|
||||
VNDK-core: libstagefright_omx_utils.so
|
||||
VNDK-core: libstagefright_soft_aacdec.so
|
||||
VNDK-core: libstagefright_soft_aacenc.so
|
||||
VNDK-core: libstagefright_soft_amrdec.so
|
||||
VNDK-core: libstagefright_soft_amrnbenc.so
|
||||
VNDK-core: libstagefright_soft_amrwbenc.so
|
||||
VNDK-core: libstagefright_soft_avcdec.so
|
||||
VNDK-core: libstagefright_soft_avcenc.so
|
||||
VNDK-core: libstagefright_soft_flacdec.so
|
||||
VNDK-core: libstagefright_soft_flacenc.so
|
||||
VNDK-core: libstagefright_soft_g711dec.so
|
||||
VNDK-core: libstagefright_soft_gsmdec.so
|
||||
VNDK-core: libstagefright_soft_hevcdec.so
|
||||
VNDK-core: libstagefright_soft_mp3dec.so
|
||||
VNDK-core: libstagefright_soft_mpeg2dec.so
|
||||
VNDK-core: libstagefright_soft_mpeg4dec.so
|
||||
VNDK-core: libstagefright_soft_mpeg4enc.so
|
||||
VNDK-core: libstagefright_soft_opusdec.so
|
||||
VNDK-core: libstagefright_soft_rawdec.so
|
||||
VNDK-core: libstagefright_soft_vorbisdec.so
|
||||
VNDK-core: libstagefright_soft_vpxdec.so
|
||||
VNDK-core: libstagefright_soft_vpxenc.so
|
||||
VNDK-core: libstagefright_xmlparser.so
|
||||
VNDK-core: libsuspend.so
|
||||
VNDK-core: libsysutils.so
|
||||
VNDK-core: libtinyalsa.so
|
||||
VNDK-core: libtinyxml2.so
|
||||
VNDK-core: libui.so
|
||||
VNDK-core: libusbhost.so
|
||||
VNDK-core: libvixl-arm.so
|
||||
VNDK-core: libvixl-arm64.so
|
||||
VNDK-core: libvorbisidec.so
|
||||
VNDK-core: libwifi-system-iface.so
|
||||
VNDK-core: libxml2.so
|
||||
VNDK-core: libyuv.so
|
||||
VNDK-core: libziparchive.so
|
||||
VNDK-private: libbacktrace.so
|
||||
VNDK-private: libblas.so
|
||||
VNDK-private: libcompiler_rt.so
|
||||
VNDK-private: libft2.so
|
||||
VNDK-private: libgui.so
|
||||
VNDK-private: libunwind.so
|
|
@ -16,7 +16,9 @@ LLNDK: libsync.so
|
|||
LLNDK: libvndksupport.so
|
||||
LLNDK: libvulkan.so
|
||||
VNDK-SP: android.hardware.graphics.common@1.0.so
|
||||
VNDK-SP: android.hardware.graphics.common@1.1.so
|
||||
VNDK-SP: android.hardware.graphics.mapper@2.0.so
|
||||
VNDK-SP: android.hardware.graphics.mapper@2.1.so
|
||||
VNDK-SP: android.hardware.renderscript@1.0.so
|
||||
VNDK-SP: android.hidl.memory.token@1.0.so
|
||||
VNDK-SP: android.hidl.memory@1.0.so
|
||||
|
@ -36,6 +38,7 @@ VNDK-SP: libhidlbase.so
|
|||
VNDK-SP: libhidlmemory.so
|
||||
VNDK-SP: libhidltransport.so
|
||||
VNDK-SP: libhwbinder.so
|
||||
VNDK-SP: libhwbinder_noltopgo.so
|
||||
VNDK-SP: libion.so
|
||||
VNDK-SP: liblzma.so
|
||||
VNDK-SP: libunwind.so
|
||||
|
@ -47,10 +50,17 @@ VNDK-core: android.frameworks.displayservice@1.0.so
|
|||
VNDK-core: android.frameworks.schedulerservice@1.0.so
|
||||
VNDK-core: android.frameworks.sensorservice@1.0.so
|
||||
VNDK-core: android.frameworks.vr.composer@1.0.so
|
||||
VNDK-core: android.hardware.audio.common-util.so
|
||||
VNDK-core: android.hardware.audio.common@2.0.so
|
||||
VNDK-core: android.hardware.audio.common@2.0-util.so
|
||||
VNDK-core: android.hardware.audio.common@4.0.so
|
||||
VNDK-core: android.hardware.audio.common@4.0-util.so
|
||||
VNDK-core: android.hardware.audio.effect@2.0.so
|
||||
VNDK-core: android.hardware.audio.effect@4.0.so
|
||||
VNDK-core: android.hardware.audio@2.0.so
|
||||
VNDK-core: android.hardware.audio@4.0.so
|
||||
VNDK-core: android.hardware.authsecret@1.0.so
|
||||
VNDK-core: android.hardware.automotive.audiocontrol@1.0.so
|
||||
VNDK-core: android.hardware.automotive.evs@1.0.so
|
||||
VNDK-core: android.hardware.automotive.vehicle@2.0.so
|
||||
VNDK-core: android.hardware.biometrics.fingerprint@2.1.so
|
||||
|
@ -59,29 +69,40 @@ VNDK-core: android.hardware.bluetooth@1.0.so
|
|||
VNDK-core: android.hardware.boot@1.0.so
|
||||
VNDK-core: android.hardware.broadcastradio@1.0.so
|
||||
VNDK-core: android.hardware.broadcastradio@1.1.so
|
||||
VNDK-core: android.hardware.broadcastradio@2.0.so
|
||||
VNDK-core: android.hardware.camera.common@1.0.so
|
||||
VNDK-core: android.hardware.camera.device@1.0.so
|
||||
VNDK-core: android.hardware.camera.device@3.2.so
|
||||
VNDK-core: android.hardware.camera.device@3.3.so
|
||||
VNDK-core: android.hardware.camera.device@3.4.so
|
||||
VNDK-core: android.hardware.camera.metadata@3.2.so
|
||||
VNDK-core: android.hardware.camera.metadata@3.3.so
|
||||
VNDK-core: android.hardware.camera.provider@2.4.so
|
||||
VNDK-core: android.hardware.cas.native@1.0.so
|
||||
VNDK-core: android.hardware.cas@1.0.so
|
||||
VNDK-core: android.hardware.configstore-utils.so
|
||||
VNDK-core: android.hardware.configstore@1.0.so
|
||||
VNDK-core: android.hardware.configstore@1.1.so
|
||||
VNDK-core: android.hardware.confirmationui-support-lib.so
|
||||
VNDK-core: android.hardware.confirmationui@1.0.so
|
||||
VNDK-core: android.hardware.contexthub@1.0.so
|
||||
VNDK-core: android.hardware.drm@1.0.so
|
||||
VNDK-core: android.hardware.drm@1.1.so
|
||||
VNDK-core: android.hardware.dumpstate@1.0.so
|
||||
VNDK-core: android.hardware.gatekeeper@1.0.so
|
||||
VNDK-core: android.hardware.gnss@1.0.so
|
||||
VNDK-core: android.hardware.gnss@1.1.so
|
||||
VNDK-core: android.hardware.graphics.allocator@2.0.so
|
||||
VNDK-core: android.hardware.graphics.bufferqueue@1.0.so
|
||||
VNDK-core: android.hardware.graphics.composer@2.1.so
|
||||
VNDK-core: android.hardware.graphics.composer@2.2.so
|
||||
VNDK-core: android.hardware.health@1.0.so
|
||||
VNDK-core: android.hardware.health@2.0.so
|
||||
VNDK-core: android.hardware.ir@1.0.so
|
||||
VNDK-core: android.hardware.keymaster@3.0.so
|
||||
VNDK-core: android.hardware.keymaster@4.0.so
|
||||
VNDK-core: android.hardware.light@2.0.so
|
||||
VNDK-core: android.hardware.media.bufferpool@1.0.so
|
||||
VNDK-core: android.hardware.media.omx@1.0.so
|
||||
VNDK-core: android.hardware.media@1.0.so
|
||||
VNDK-core: android.hardware.memtrack@1.0.so
|
||||
|
@ -92,6 +113,7 @@ VNDK-core: android.hardware.nfc@1.1.so
|
|||
VNDK-core: android.hardware.oemlock@1.0.so
|
||||
VNDK-core: android.hardware.power@1.0.so
|
||||
VNDK-core: android.hardware.power@1.1.so
|
||||
VNDK-core: android.hardware.power@1.2.so
|
||||
VNDK-core: android.hardware.radio.config@1.0.so
|
||||
VNDK-core: android.hardware.radio.deprecated@1.0.so
|
||||
VNDK-core: android.hardware.radio@1.0.so
|
||||
|
@ -100,6 +122,8 @@ VNDK-core: android.hardware.radio@1.2.so
|
|||
VNDK-core: android.hardware.secure_element@1.0.so
|
||||
VNDK-core: android.hardware.sensors@1.0.so
|
||||
VNDK-core: android.hardware.soundtrigger@2.0.so
|
||||
VNDK-core: android.hardware.soundtrigger@2.0-core.so
|
||||
VNDK-core: android.hardware.soundtrigger@2.1.so
|
||||
VNDK-core: android.hardware.tetheroffload.config@1.0.so
|
||||
VNDK-core: android.hardware.tetheroffload.control@1.0.so
|
||||
VNDK-core: android.hardware.thermal@1.0.so
|
||||
|
@ -111,12 +135,16 @@ VNDK-core: android.hardware.usb@1.0.so
|
|||
VNDK-core: android.hardware.usb@1.1.so
|
||||
VNDK-core: android.hardware.vibrator@1.0.so
|
||||
VNDK-core: android.hardware.vibrator@1.1.so
|
||||
VNDK-core: android.hardware.vibrator@1.2.so
|
||||
VNDK-core: android.hardware.vr@1.0.so
|
||||
VNDK-core: android.hardware.weaver@1.0.so
|
||||
VNDK-core: android.hardware.wifi.hostapd@1.0.so
|
||||
VNDK-core: android.hardware.wifi.offload@1.0.so
|
||||
VNDK-core: android.hardware.wifi.supplicant@1.0.so
|
||||
VNDK-core: android.hardware.wifi.supplicant@1.1.so
|
||||
VNDK-core: android.hardware.wifi@1.0.so
|
||||
VNDK-core: android.hardware.wifi@1.1.so
|
||||
VNDK-core: android.hardware.wifi@1.2.so
|
||||
VNDK-core: android.hidl.allocator@1.0.so
|
||||
VNDK-core: android.hidl.memory.block@1.0.so
|
||||
VNDK-core: android.hidl.token@1.0.so
|
||||
|
@ -148,7 +176,6 @@ VNDK-core: libhidlcache.so
|
|||
VNDK-core: libjpeg.so
|
||||
VNDK-core: libkeymaster_messages.so
|
||||
VNDK-core: libkeymaster_portable.so
|
||||
VNDK-core: libkeymaster_staging.so
|
||||
VNDK-core: libldacBT_abr.so
|
||||
VNDK-core: libldacBT_enc.so
|
||||
VNDK-core: liblz4.so
|
||||
|
@ -168,6 +195,7 @@ VNDK-core: libpower.so
|
|||
VNDK-core: libprocinfo.so
|
||||
VNDK-core: libprotobuf-cpp-full.so
|
||||
VNDK-core: libprotobuf-cpp-lite.so
|
||||
VNDK-core: libpuresoftkeymasterdevice.so
|
||||
VNDK-core: libradio_metadata.so
|
||||
VNDK-core: libselinux.so
|
||||
VNDK-core: libsoftkeymasterdevice.so
|
||||
|
@ -175,6 +203,7 @@ VNDK-core: libspeexresampler.so
|
|||
VNDK-core: libsqlite.so
|
||||
VNDK-core: libssl.so
|
||||
VNDK-core: libstagefright_amrnb_common.so
|
||||
VNDK-core: libstagefright_bufferqueue_helper.so
|
||||
VNDK-core: libstagefright_enc_common.so
|
||||
VNDK-core: libstagefright_flacdec.so
|
||||
VNDK-core: libstagefright_foundation.so
|
||||
|
@ -219,4 +248,5 @@ VNDK-private: libbacktrace.so
|
|||
VNDK-private: libblas.so
|
||||
VNDK-private: libcompiler_rt.so
|
||||
VNDK-private: libft2.so
|
||||
VNDK-private: libgui.so
|
||||
VNDK-private: libunwind.so
|
||||
|
|
|
@ -13,6 +13,7 @@ echo "ro.build.version.all_codenames=$PLATFORM_VERSION_ALL_CODENAMES"
|
|||
echo "ro.build.version.release=$PLATFORM_VERSION"
|
||||
echo "ro.build.version.security_patch=$PLATFORM_SECURITY_PATCH"
|
||||
echo "ro.build.version.base_os=$PLATFORM_BASE_OS"
|
||||
echo "ro.build.version.min_supported_target_sdk=$PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION"
|
||||
echo "ro.build.date=`$DATE`"
|
||||
echo "ro.build.date.utc=`$DATE +%s`"
|
||||
echo "ro.build.type=$TARGET_BUILD_TYPE"
|
||||
|
|
|
@ -1,278 +0,0 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
|
@ -1,20 +0,0 @@
|
|||
Copyright (c) 2011 John Resig, http://jquery.com/
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@ -1,200 +0,0 @@
|
|||
|
||||
/* =============================================================================
|
||||
Columns
|
||||
========================================================================== */
|
||||
/* Applied to body to debug layout alignments
|
||||
.grid {
|
||||
width:100%;
|
||||
height:100%;
|
||||
background:url(../images/grid.png) center repeat-y;
|
||||
top:0px;
|
||||
margin:auto;
|
||||
position:absolute;
|
||||
}
|
||||
*/
|
||||
|
||||
@media screen, projection, print {
|
||||
.full {
|
||||
padding: 2.5em 0;
|
||||
border-top: solid 1px #ddd;
|
||||
border-bottom: solid 1px #ddd;
|
||||
background: #f7f7f7;
|
||||
}
|
||||
.wrap {
|
||||
margin: 0 auto;
|
||||
width: 100%;
|
||||
min-width:600px;
|
||||
clear: both;
|
||||
}
|
||||
.cols {
|
||||
height: 1%;
|
||||
margin: 0 -1.533742331288343558282%;
|
||||
width: 103.06748466257669%}
|
||||
*+html .cols {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.cols:after {
|
||||
clear: both;
|
||||
content: ' ';
|
||||
display: block;
|
||||
height: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
|
||||
.col-13, .col-14, .col-15, .col-16 {
|
||||
float: left;
|
||||
margin: 0 1.063829787234% 20px 1.063829787234%;
|
||||
}
|
||||
* html .col-1, * html .col-2, * html .col-3, * html .col-4, * html .col-5, * html .col-6, * html
|
||||
.col-7, * html .col-8, * html .col-9, * html .col-10, * html .col-11, * html .col-12, * html
|
||||
.col-13, * html .col-14, * html .col-15, * html .col-16 {
|
||||
margin: 0;
|
||||
margin: 0 1.063829787234% 20px 1.063829787234%;
|
||||
}
|
||||
[dir='rtl'] .col-1, [dir='rtl'] .col-2, [dir='rtl'] .col-3, [dir='rtl'] .col-4, [dir='rtl'] .col-5,
|
||||
[dir='rtl'] .col-6, [dir='rtl'] .col-7, [dir='rtl'] .col-8, [dir='rtl'] .col-9, [dir='rtl'] .col-10,
|
||||
[dir='rtl'] .col-11, [dir='rtl'] .col-12 {
|
||||
float: right;
|
||||
}
|
||||
.col-1 {
|
||||
width: 4.16666666666667%;
|
||||
}
|
||||
.col-2 {
|
||||
width: 10.4166666666667%;
|
||||
}
|
||||
.col-3 {
|
||||
width: 16.6666666666667%;
|
||||
}
|
||||
.col-4 {
|
||||
width: 22.9166666666667%;
|
||||
}
|
||||
.col-5 {
|
||||
width: 29.1666666666667%;
|
||||
}
|
||||
.col-6 {
|
||||
width: 35.4166666666667%;
|
||||
}
|
||||
.col-7 {
|
||||
width: 41.6666666666667%;
|
||||
}
|
||||
.col-8 {
|
||||
width: 47.9166666666667%;
|
||||
}
|
||||
.col-9 {
|
||||
width: 55.3333333333333%;
|
||||
}
|
||||
.col-10 {
|
||||
width: 60.4166666666667%;
|
||||
}
|
||||
.col-11 {
|
||||
width: 66.6666666666667%;
|
||||
}
|
||||
.col-12 {
|
||||
width: 72.9166666666667%;
|
||||
}
|
||||
.col-13 {
|
||||
width: 79.1666666666667%;
|
||||
}
|
||||
.col-14 {
|
||||
width: 85.4166666666667%;
|
||||
}
|
||||
.col-15 {
|
||||
width: 91.6666666666667%;
|
||||
}
|
||||
.col-16 {
|
||||
width: 97.9166666666667%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#header .col-1,
|
||||
#nav-x .col-1 { width: 40px }
|
||||
#header .col-2,
|
||||
#nav-x .col-2 { width: 100px }
|
||||
#header .col-3,
|
||||
#nav-x .col-3 { width: 160px }
|
||||
#header .col-4,
|
||||
#nav-x .col-4 { width: 220px }
|
||||
#header .col-5,
|
||||
#nav-x .col-5 { width: 280px }
|
||||
#header .col-6,
|
||||
#nav-x .col-6 { width: 340px }
|
||||
#header .col-7,
|
||||
#nav-x .col-7 { width: 400px }
|
||||
#header .col-8,
|
||||
#nav-x .col-8 { width: 460px }
|
||||
#header .col-9,
|
||||
#nav-x .col-9 { width: 520px }
|
||||
#header .col-10,
|
||||
#nav-x .col-10 { width: 580px }
|
||||
#header .col-11,
|
||||
#nav-x .col-11 { width: 640px }
|
||||
#header .col-12,
|
||||
#nav-x .col-12 { width: 700px }
|
||||
#header .col-13,
|
||||
#nav-x .col-13 { width: 760px }
|
||||
#header .col-14,
|
||||
#nav-x .col-14 { width: 820px }
|
||||
#header .col-15,
|
||||
#nav-x .col-15 { width: 880px }
|
||||
#header .col-16,
|
||||
#nav-x .col-16 { width: 940px }
|
||||
|
||||
|
||||
|
||||
body {
|
||||
padding:0 20px;
|
||||
}
|
||||
#header,
|
||||
#searchResults,
|
||||
#nav-x {
|
||||
margin:0;
|
||||
}
|
||||
#body-content {
|
||||
margin:0;
|
||||
}
|
||||
#body-content > .col-12 {
|
||||
width:77.9804965%;
|
||||
margin:0 0 0 0.97%; /* this percentage chosen to make IE9 happy */
|
||||
}
|
||||
#side-nav {
|
||||
width: 19.9804965%;
|
||||
margin:0 1.063829787234% 0 0;
|
||||
}
|
||||
|
||||
#header .wrap {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
#nav-x .wrap,
|
||||
#searchResults.wrap {
|
||||
max-width:100%;
|
||||
}
|
||||
|
||||
.nav-x {
|
||||
margin:-2px 0 0 0;
|
||||
}
|
||||
|
||||
#devdoc-nav.fixed,
|
||||
#devdoc-nav.fixed a.totop {
|
||||
left:20px; /* !important ... for IE i think */
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
.col-right {
|
||||
margin-right:0px;
|
||||
}
|
||||
|
||||
@media screen and (max-width:772px) {
|
||||
.col-5, .col-6, .col-7 {
|
||||
clear: both;
|
||||
width: 97.0238096%}
|
||||
}
|
|
@ -1,188 +0,0 @@
|
|||
$(document).ready(function() {
|
||||
// prep nav expandos
|
||||
var pagePath = document.location.pathname;
|
||||
if (pagePath.indexOf(SITE_ROOT) == 0) {
|
||||
pagePath = pagePath.substr(SITE_ROOT.length);
|
||||
if (pagePath == '' || pagePath.charAt(pagePath.length - 1) == '/') {
|
||||
pagePath += 'index.html';
|
||||
}
|
||||
}
|
||||
|
||||
if (SITE_ROOT.match(/\.\.\//) || SITE_ROOT == '') {
|
||||
// If running locally, SITE_ROOT will be a relative path, so account for that by
|
||||
// finding the relative URL to this page. This will allow us to find links on the page
|
||||
// leading back to this page.
|
||||
var pathParts = pagePath.split('/');
|
||||
var relativePagePathParts = [];
|
||||
var upDirs = (SITE_ROOT.match(/(\.\.\/)+/) || [''])[0].length / 3;
|
||||
for (var i = 0; i < upDirs; i++) {
|
||||
relativePagePathParts.push('..');
|
||||
}
|
||||
for (var i = 0; i < upDirs; i++) {
|
||||
relativePagePathParts.push(pathParts[pathParts.length - (upDirs - i) - 1]);
|
||||
}
|
||||
relativePagePathParts.push(pathParts[pathParts.length - 1]);
|
||||
pagePath = relativePagePathParts.join('/');
|
||||
} else {
|
||||
// Otherwise the page path should be an absolute URL.
|
||||
pagePath = SITE_ROOT + pagePath;
|
||||
}
|
||||
|
||||
// select current page in sidenav and set up prev/next links if they exist
|
||||
var $selNavLink = $('.nav-y').find('a[href="' + pagePath + '"]');
|
||||
if ($selNavLink.length) {
|
||||
$selListItem = $selNavLink.closest('li');
|
||||
|
||||
$selListItem.addClass('selected');
|
||||
$selListItem.closest('li>ul').addClass('expanded');
|
||||
|
||||
// set up prev links
|
||||
var $prevLink = [];
|
||||
var $prevListItem = $selListItem.prev('li');
|
||||
if ($prevListItem.length) {
|
||||
if ($prevListItem.hasClass('nav-section')) {
|
||||
// jump to last topic of previous section
|
||||
$prevLink = $prevListItem.find('a:last');
|
||||
} else {
|
||||
// jump to previous topic in this section
|
||||
$prevLink = $prevListItem.find('a:eq(0)');
|
||||
}
|
||||
} else {
|
||||
// jump to this section's index page (if it exists)
|
||||
$prevLink = $selListItem.parents('li').find('a');
|
||||
}
|
||||
|
||||
if ($prevLink.length) {
|
||||
var prevHref = $prevLink.attr('href');
|
||||
if (prevHref == SITE_ROOT + 'index.html') {
|
||||
// Don't show Previous when it leads to the homepage
|
||||
$('.prev-page-link').hide();
|
||||
} else {
|
||||
$('.prev-page-link').attr('href', prevHref).show();
|
||||
}
|
||||
} else {
|
||||
$('.prev-page-link').hide();
|
||||
}
|
||||
|
||||
// set up next links
|
||||
var $nextLink = [];
|
||||
if ($selListItem.hasClass('nav-section')) {
|
||||
// we're on an index page, jump to the first topic
|
||||
$nextLink = $selListItem.find('ul').find('a:eq(0)')
|
||||
} else {
|
||||
// jump to the next topic in this section (if it exists)
|
||||
$nextLink = $selListItem.next('li').find('a:eq(0)');
|
||||
if (!$nextLink.length) {
|
||||
// no more topics in this section, jump to the first topic in the next section
|
||||
$nextLink = $selListItem.parents('li').next('li.nav-section').find('a:eq(0)');
|
||||
}
|
||||
}
|
||||
if ($nextLink.length) {
|
||||
$('.next-page-link').attr('href', $nextLink.attr('href')).show();
|
||||
} else {
|
||||
$('.next-page-link').hide();
|
||||
}
|
||||
}
|
||||
|
||||
// Set up expand/collapse behavior
|
||||
$('.nav-y li').has('ul').click(function() {
|
||||
if ($(this).hasClass('expanded')) {
|
||||
return;
|
||||
}
|
||||
|
||||
// hide other
|
||||
var $old = $('.nav-y li.expanded');
|
||||
if ($old.length) {
|
||||
var $oldUl = $old.children('ul');
|
||||
$oldUl.css('height', $oldUl.height() + 'px');
|
||||
window.setTimeout(function() {
|
||||
$oldUl
|
||||
.addClass('animate-height')
|
||||
.css('height', '');
|
||||
}, 0);
|
||||
$old.removeClass('expanded');
|
||||
}
|
||||
|
||||
// show me
|
||||
$(this).addClass('expanded');
|
||||
var $ul = $(this).children('ul');
|
||||
var expandedHeight = $ul.height();
|
||||
$ul
|
||||
.removeClass('animate-height')
|
||||
.css('height', 0);
|
||||
window.setTimeout(function() {
|
||||
$ul
|
||||
.addClass('animate-height')
|
||||
.css('height', expandedHeight + 'px');
|
||||
}, 0);
|
||||
});
|
||||
|
||||
// Stop expand/collapse behavior when clicking on nav section links (since we're navigating away
|
||||
// from the page)
|
||||
$('.nav-y li').has('ul').find('a:eq(0)').click(function(evt) {
|
||||
window.location.href = $(this).attr('href');
|
||||
return false;
|
||||
});
|
||||
|
||||
// Set up play-on-hover <video> tags.
|
||||
$('video.play-on-hover').bind('click', function(){
|
||||
$(this).get(0).load(); // in case the video isn't seekable
|
||||
$(this).get(0).play();
|
||||
});
|
||||
|
||||
// Set up tooltips
|
||||
var TOOLTIP_MARGIN = 10;
|
||||
$('acronym').each(function() {
|
||||
var $target = $(this);
|
||||
var $tooltip = $('<div>')
|
||||
.addClass('tooltip-box')
|
||||
.text($target.attr('title'))
|
||||
.hide()
|
||||
.appendTo('body');
|
||||
$target.removeAttr('title');
|
||||
|
||||
$target.hover(function() {
|
||||
// in
|
||||
var targetRect = $target.offset();
|
||||
targetRect.width = $target.width();
|
||||
targetRect.height = $target.height();
|
||||
|
||||
$tooltip.css({
|
||||
left: targetRect.left,
|
||||
top: targetRect.top + targetRect.height + TOOLTIP_MARGIN
|
||||
});
|
||||
$tooltip.addClass('below');
|
||||
$tooltip.show();
|
||||
}, function() {
|
||||
// out
|
||||
$tooltip.hide();
|
||||
});
|
||||
});
|
||||
|
||||
// Set up <h2> deeplinks
|
||||
$('h2').click(function() {
|
||||
var id = $(this).attr('id');
|
||||
if (id) {
|
||||
document.location.hash = id;
|
||||
}
|
||||
});
|
||||
|
||||
// Set up fixed navbar
|
||||
var navBarIsFixed = false;
|
||||
$(window).scroll(function() {
|
||||
var scrollTop = $(window).scrollTop();
|
||||
var navBarShouldBeFixed = (scrollTop > (100 - 40));
|
||||
if (navBarIsFixed != navBarShouldBeFixed) {
|
||||
if (navBarShouldBeFixed) {
|
||||
$('#nav')
|
||||
.addClass('fixed')
|
||||
.prependTo('#page-container');
|
||||
} else {
|
||||
$('#nav')
|
||||
.removeClass('fixed')
|
||||
.prependTo('#nav-container');
|
||||
}
|
||||
navBarIsFixed = navBarShouldBeFixed;
|
||||
}
|
||||
});
|
||||
});
|
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 180 B |
Before Width: | Height: | Size: 181 B |
Before Width: | Height: | Size: 592 B |
Before Width: | Height: | Size: 692 B |