Make change and version bump to QP1A.181025.001

Change-Id: I37e004cabe76bd3ff87e2ecaec152ed1720361cc
diff --git a/core/autogen_test_config.mk b/core/autogen_test_config.mk
index a01d80f..4b912fb 100644
--- a/core/autogen_test_config.mk
+++ b/core/autogen_test_config.mk
@@ -34,9 +34,16 @@
 endif
 # Auto generating test config file for native test
 $(autogen_test_config_file): PRIVATE_MODULE_NAME := $(LOCAL_MODULE)
+$(autogen_test_config_file): PRIVATE_RUN_UID := $(LOCAL_RUN_TEST_AS)
 $(autogen_test_config_file) : $(autogen_test_config_template)
 	@echo "Auto generating test config $(notdir $@)"
 	$(hide) sed 's&{MODULE}&$(PRIVATE_MODULE_NAME)&g' $< > $@
+ifneq ($(LOCAL_RUN_TEST_AS),)
+	$(hide) sed -i 's&{UID_OPTION}&<option name="run-test-as" value="$(PRIVATE_RUN_UID)" />&g' $@
+else
+	$(hide) sed -i '/{UID_OPTION}/d' $@
+endif
+
 my_auto_generate_config := true
 else
 # Auto generating test config file for instrumentation test
diff --git a/core/build_id.mk b/core/build_id.mk
index 33513a4..bb9465f 100644
--- a/core/build_id.mk
+++ b/core/build_id.mk
@@ -18,4 +18,4 @@
 # (like "CRB01").  It must be a single word, and is
 # capitalized by convention.
 
-BUILD_ID=QP1A.181024.002
+BUILD_ID=QP1A.181025.001
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index 07e34e1..a036267 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -244,6 +244,7 @@
 LOCAL_RMTYPEDEFS:=
 LOCAL_RRO_THEME:=
 LOCAL_RTTI_FLAG:=
+LOCAL_RUN_TEST_AS :=
 LOCAL_SANITIZE:=
 LOCAL_SANITIZE_DIAG:=
 LOCAL_SANITIZE_RECOVER:=
@@ -274,6 +275,7 @@
 LOCAL_STATIC_JAVA_AAR_LIBRARIES:=
 LOCAL_STATIC_JAVA_LIBRARIES:=
 LOCAL_STATIC_LIBRARIES:=
+LOCAL_STRIP_DEX:=
 LOCAL_STRIP_MODULE:=
 LOCAL_SYSTEM_SHARED_LIBRARIES:=none
 LOCAL_TARGET_REQUIRED_MODULES:=
@@ -284,6 +286,7 @@
 LOCAL_TIDY:=
 LOCAL_TIDY_CHECKS:=
 LOCAL_TIDY_FLAGS:=
+LOCAL_UNCOMPRESS_DEX:=
 LOCAL_UNINSTALLABLE_MODULE:=
 LOCAL_UNSTRIPPED_PATH:=
 LOCAL_USE_AAPT2:=$(USE_AAPT2)
diff --git a/core/definitions.mk b/core/definitions.mk
index 8dc4e4a..067c127 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -2640,12 +2640,12 @@
 # Copy an apk to a target location while removing classes*.dex
 # $(1): source file
 # $(2): destination file
-# $(3): LOCAL_DEX_PREOPT, if nostripping then leave classes*.dex
+# $(3): LOCAL_STRIP_DEX, if non-empty then strip classes*.dex
 define dexpreopt-copy-jar
 $(2): $(1)
 	@echo "Copy: $$@"
 	$$(copy-file-to-target)
-	$(if $(filter nostripping,$(3)),,$$(call dexpreopt-remove-classes.dex,$$@))
+	$(if $(3),$$(call dexpreopt-remove-classes.dex,$$@))
 endef
 
 # $(1): the .jar or .apk to remove classes.dex. Note that if all dex files
diff --git a/core/dex_preopt.mk b/core/dex_preopt.mk
index 1527047..92ed970 100644
--- a/core/dex_preopt.mk
+++ b/core/dex_preopt.mk
@@ -73,7 +73,7 @@
 _dbj_jar_no_dex := $(DEXPREOPT_BOOT_JAR_DIR_FULL_PATH)/$(1)_nodex.jar
 _dbj_src_jar := $(call intermediates-dir-for,JAVA_LIBRARIES,$(1),,COMMON)/javalib.jar
 
-$(call dexpreopt-copy-jar,$$(_dbj_src_jar),$$(_dbj_jar_no_dex),$(DEX_PREOPT_DEFAULT))
+$(call dexpreopt-copy-jar,$$(_dbj_src_jar),$$(_dbj_jar_no_dex),$(filter-out nostripping,$(DEX_PREOPT_DEFAULT)))
 
 _dbj_jar_no_dex :=
 _dbj_src_jar :=
diff --git a/core/dex_preopt_odex_install.mk b/core/dex_preopt_odex_install.mk
index cd78eda..62597d1 100644
--- a/core/dex_preopt_odex_install.mk
+++ b/core/dex_preopt_odex_install.mk
@@ -5,7 +5,6 @@
 
 # We explicitly uncompress APKs of privileged apps, and used by
 # privileged apps
-LOCAL_UNCOMPRESS_DEX := false
 ifneq (true,$(DONT_UNCOMPRESS_PRIV_APPS_DEXS))
   ifeq (true,$(LOCAL_PRIVILEGED_MODULE))
     LOCAL_UNCOMPRESS_DEX := true
@@ -33,6 +32,13 @@
   endif
 endif
 
+ifeq (nostripping,$(LOCAL_DEX_PREOPT))
+  LOCAL_DEX_PREOPT := true
+  LOCAL_STRIP_DEX :=
+else
+  LOCAL_STRIP_DEX := true
+endif
+
 ifeq (false,$(LOCAL_DEX_PREOPT))
   LOCAL_DEX_PREOPT :=
 endif
@@ -81,14 +87,14 @@
 ifeq ($(LOCAL_DEX_PREOPT),true)
   # Don't strip with dexes we explicitly uncompress (dexopt will not store the dex code).
   ifeq ($(LOCAL_UNCOMPRESS_DEX),true)
-    LOCAL_DEX_PREOPT := nostripping
+    LOCAL_STRIP_DEX :=
   endif  # LOCAL_UNCOMPRESS_DEX
 
   # system_other isn't there for an OTA, so don't strip
   # if module is on system, and odex is on system_other.
   ifeq ($(BOARD_USES_SYSTEM_OTHER_ODEX),true)
     ifneq ($(call install-on-system-other, $(my_module_path)),)
-      LOCAL_DEX_PREOPT := nostripping
+      LOCAL_STRIP_DEX :=
     endif  # install-on-system-other
   endif  # BOARD_USES_SYSTEM_OTHER_ODEX
 
@@ -320,7 +326,8 @@
 
     ifeq (true,$(my_generate_dm))
       LOCAL_DEX_PREOPT_FLAGS += --copy-dex-files=false
-      LOCAL_DEX_PREOPT := nostripping
+      LOCAL_DEX_PREOPT := true
+      LOCAL_STRIP_DEX :=
       my_built_dm := $(dir $(LOCAL_BUILT_MODULE))generated.dm
       my_installed_dm := $(patsubst %.apk,%,$(LOCAL_INSTALLED_MODULE)).dm
       my_copied_vdex := $(dir $(LOCAL_BUILT_MODULE))primary.vdex
diff --git a/core/java_library.mk b/core/java_library.mk
index 5716f4c..e4e51d8 100644
--- a/core/java_library.mk
+++ b/core/java_library.mk
@@ -96,7 +96,7 @@
 	@echo "Dexpreopt Jar: $(PRIVATE_MODULE) ($@)"
 	$(call dexpreopt-one-file,$<,$@)
 
-$(eval $(call dexpreopt-copy-jar,$(common_javalib.jar),$(LOCAL_BUILT_MODULE),$(LOCAL_DEX_PREOPT)))
+$(eval $(call dexpreopt-copy-jar,$(common_javalib.jar),$(LOCAL_BUILT_MODULE),$(LOCAL_STRIP_DEX)))
 
 endif # ! boot jar
 
diff --git a/core/native_test_config_template.xml b/core/native_test_config_template.xml
index a88d57c..077223e 100644
--- a/core/native_test_config_template.xml
+++ b/core/native_test_config_template.xml
@@ -23,6 +23,7 @@
     </target_preparer>
 
     <test class="com.android.tradefed.testtype.GTest" >
+        {UID_OPTION}
         <option name="native-test-device-path" value="/data/local/tmp" />
         <option name="module-name" value="{MODULE}" />
     </test>
diff --git a/core/package_internal.mk b/core/package_internal.mk
index 84d1c2c..9a52af7 100644
--- a/core/package_internal.mk
+++ b/core/package_internal.mk
@@ -665,7 +665,7 @@
 	@# Keep a copy of apk with classes.dex unstripped
 	$(hide) cp -f $@ $(dir $@)package.dex.apk
 endif  # BUILD_PLATFORM_ZIP
-ifneq (nostripping,$(LOCAL_DEX_PREOPT))
+ifdef LOCAL_STRIP_DEX
 	$(call dexpreopt-remove-classes.dex,$@)
 endif
 endif  # LOCAL_DEX_PREOPT
diff --git a/core/prebuilt_internal.mk b/core/prebuilt_internal.mk
index 809c572..a4b58fc 100644
--- a/core/prebuilt_internal.mk
+++ b/core/prebuilt_internal.mk
@@ -380,9 +380,9 @@
 	$(run-appcompat)
 endif  # module_run_appcompat
 ifdef LOCAL_DEX_PREOPT
-ifneq (nostripping,$(LOCAL_DEX_PREOPT))
+ifdef LOCAL_STRIP_DEX
 	$(call dexpreopt-remove-classes.dex,$@)
-endif  # LOCAL_DEX_PREOPT != nostripping
+endif  # LOCAL_STRIP_DEX
 endif  # LOCAL_DEX_PREOPT
 	$(sign-package)
 	# No need for align-package because sign-package takes care of alignment
@@ -400,7 +400,7 @@
 # can do optimizations based on whether the built module only
 # contains uncompressed dex code.
 ifdef LOCAL_DEX_PREOPT
-ifeq (nostripping,$(LOCAL_DEX_PREOPT))
+ifndef LOCAL_STRIP_DEX
 $(built_odex) : $(built_module)
 	$(call dexpreopt-one-file,$<,$@)
 else
@@ -470,7 +470,7 @@
 	@echo "Dexpreopt Jar: $(PRIVATE_MODULE) ($@)"
 	$(call dexpreopt-one-file,$<,$@)
 
-$(eval $(call dexpreopt-copy-jar,$(my_prebuilt_src_file),$(built_module),$(LOCAL_DEX_PREOPT)))
+$(eval $(call dexpreopt-copy-jar,$(my_prebuilt_src_file),$(built_module),$(LOCAL_STRIP_DEX)))
 endif # boot jar
 else # ! LOCAL_DEX_PREOPT
 $(built_module) : $(my_prebuilt_src_file)
diff --git a/core/soong_app_prebuilt.mk b/core/soong_app_prebuilt.mk
index d34f367..31cb28e 100644
--- a/core/soong_app_prebuilt.mk
+++ b/core/soong_app_prebuilt.mk
@@ -69,7 +69,7 @@
 ifdef LOCAL_DEX_PREOPT
   $(built_odex): $(LOCAL_SOONG_DEX_JAR)
 	$(call dexpreopt-one-file,$<,$@)
-  $(eval $(call dexpreopt-copy-jar,$(LOCAL_PREBUILT_MODULE_FILE),$(LOCAL_BUILT_MODULE),$(LOCAL_DEX_PREOPT)))
+  $(eval $(call dexpreopt-copy-jar,$(LOCAL_PREBUILT_MODULE_FILE),$(LOCAL_BUILT_MODULE),$(LOCAL_STRIP_DEX)))
 else
   $(eval $(call copy-one-file,$(LOCAL_PREBUILT_MODULE_FILE),$(LOCAL_BUILT_MODULE)))
 endif
diff --git a/core/soong_java_prebuilt.mk b/core/soong_java_prebuilt.mk
index 20bfc66..288a763 100644
--- a/core/soong_java_prebuilt.mk
+++ b/core/soong_java_prebuilt.mk
@@ -108,7 +108,7 @@
 	@echo "Dexpreopt Jar: $(PRIVATE_MODULE) ($@)"
 	$(call dexpreopt-one-file,$<,$@)
 
-         $(eval $(call dexpreopt-copy-jar,$(common_javalib.jar),$(LOCAL_BUILT_MODULE),$(LOCAL_DEX_PREOPT)))
+         $(eval $(call dexpreopt-copy-jar,$(common_javalib.jar),$(LOCAL_BUILT_MODULE),$(LOCAL_STRIP_DEX)))
         endif # ! boot jar
       else # LOCAL_DEX_PREOPT
         $(eval $(call copy-one-file,$(common_javalib.jar),$(LOCAL_BUILT_MODULE)))
diff --git a/target/product/vndk/current.txt b/target/product/vndk/current.txt
index 6ea3fb9..3c5ee26 100644
--- a/target/product/vndk/current.txt
+++ b/target/product/vndk/current.txt
@@ -103,6 +103,7 @@
 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.bufferqueue@2.0.so
 VNDK-core: android.hardware.graphics.composer@2.1.so
 VNDK-core: android.hardware.graphics.composer@2.2.so
 VNDK-core: android.hardware.graphics.composer@2.3.so
@@ -142,6 +143,7 @@
 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.soundtrigger@2.2.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
@@ -258,8 +260,6 @@
 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