Make change and version bump to QP1A.190212.001
Change-Id: I5cd74802c15d2554933f63c4361e280e5e911125
diff --git a/core/build_id.mk b/core/build_id.mk
index 53094b7..26c4acd 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.190211.001
+BUILD_ID=QP1A.190212.001
diff --git a/core/tasks/find-shareduid-violation.mk b/core/tasks/find-shareduid-violation.mk
new file mode 100644
index 0000000..45fd937
--- /dev/null
+++ b/core/tasks/find-shareduid-violation.mk
@@ -0,0 +1,32 @@
+#
+# Copyright (C) 2019 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.
+#
+
+shareduid_violation_modules_filename := $(PRODUCT_OUT)/shareduid_violation_modules.json
+
+find_shareduid_script := $(BUILD_SYSTEM)/tasks/find-shareduid-violation.py
+
+$(shareduid_violation_modules_filename): $(INSTALLED_SYSTEMIMAGE_TARGET) \
+ $(INSTALLED_RAMDISK_TARGET) \
+ $(INSTALLED_BOOTIMAGE_TARGET) \
+ $(INSTALLED_USERDATAIMAGE_TARGET) \
+ $(INSTALLED_VENDORIMAGE_TARGET) \
+ $(INSTALLED_PRODUCTIMAGE_TARGET) \
+ $(INSTALLED_PRODUCT_SERVICESIMAGE_TARGET)
+
+$(shareduid_violation_modules_filename): $(find_shareduid_script)
+$(shareduid_violation_modules_filename): $(AAPT2)
+ $(find_shareduid_script) $(PRODUCT_OUT) $(AAPT2) > $@
+$(call dist-for-goals,droidcore,$(shareduid_violation_modules_filename))
diff --git a/core/tasks/find-shareduid-violation.py b/core/tasks/find-shareduid-violation.py
new file mode 100755
index 0000000..0fe6ffa
--- /dev/null
+++ b/core/tasks/find-shareduid-violation.py
@@ -0,0 +1,66 @@
+#!/usr/bin/env python3
+#
+# Copyright (C) 2019 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.
+#
+import os
+import subprocess
+from glob import glob
+from collections import defaultdict
+import sys
+import json
+
+if len(sys.argv) < 3:
+ product_out = os.environ["PRODUCT_OUT"]
+ aapt = "aapt2"
+else:
+ product_out = sys.argv[1]
+ aapt = sys.argv[2]
+
+def make_aapt_cmd(file):
+ cmds = [aapt + ' dump ' + file + ' --file AndroidManifest.xml',
+ aapt + ' dump xmltree ' + file + ' --file AndroidManifest.xml']
+ return " || ".join(cmds)
+
+def extract_shared_uid(file):
+ manifest = subprocess.check_output(make_aapt_cmd(file), shell=True).decode().split('\n')
+ for l in manifest:
+ if "sharedUserId" in l:
+ return l.split('"')[-2]
+ return None
+
+
+partitions = ["system", "vendor", "product"]
+
+shareduid_app_dict = defaultdict(list)
+
+for p in partitions:
+ for f in glob(os.path.join(product_out, p, "*", "*", "*.apk")):
+ apk_file = os.path.basename(f)
+ shared_uid = extract_shared_uid(f)
+
+ if shared_uid is None:
+ continue
+ shareduid_app_dict[shared_uid].append((p, apk_file))
+
+
+output = defaultdict(lambda: defaultdict(list))
+
+for uid, app_infos in shareduid_app_dict.items():
+ partitions = {p for p, _ in app_infos}
+ if len(partitions) > 1:
+ for part in partitions:
+ output[uid][part].extend([a for p, a in app_infos if p == part])
+
+print(json.dumps(output, indent=2, sort_keys=True))
diff --git a/envsetup.sh b/envsetup.sh
index a03f02d..8abf7dc 100644
--- a/envsetup.sh
+++ b/envsetup.sh
@@ -9,7 +9,7 @@
build, and stores those selections in the environment to be read by subsequent
invocations of 'm' etc.
- tapas: tapas [<App1> <App2> ...] [arm|x86|mips|arm64|x86_64|mips64] [eng|userdebug|user]
-- croot: Changes directory to the top of the tree.
+- croot: Changes directory to the top of the tree, or a subdirectory thereof.
- m: Makes from the top of the tree.
- mm: Builds all of the modules in the current directory, but not their dependencies.
- mmm: Builds all of the modules in the supplied directories, but not their dependencies.
@@ -370,6 +370,10 @@
if should_add_completion bit ; then
complete -C "bit --tab" bit
fi
+ if [ -z "$ZSH_VERSION" ]; then
+ # Doesn't work in zsh.
+ complete -o nospace -F _croot croot
+ fi
complete -F _lunch lunch
complete -F _complete_android_module_names gomod
@@ -985,6 +989,18 @@
fi
}
+function _croot()
+{
+ local T=$(gettop)
+ if [ "$T" ]; then
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ k=0
+ for c in $(compgen -d ${T}/${cur}); do
+ COMPREPLY[k++]=${c#${T}/}/
+ done
+ fi
+}
+
function cproj()
{
local TOPFILE=build/make/core/envsetup.mk
diff --git a/target/board/BoardConfigMainlineCommon.mk b/target/board/BoardConfigMainlineCommon.mk
index e87bd5e..e13317f 100644
--- a/target/board/BoardConfigMainlineCommon.mk
+++ b/target/board/BoardConfigMainlineCommon.mk
@@ -37,3 +37,5 @@
BOARD_AVB_ENABLE := true
BOARD_AVB_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
+
+BOARD_CHARGER_ENABLE_SUSPEND := true
diff --git a/target/product/gsi/current.txt b/target/product/gsi/current.txt
index a39a6aa..ad91e5e 100644
--- a/target/product/gsi/current.txt
+++ b/target/product/gsi/current.txt
@@ -92,6 +92,7 @@
VNDK-core: android.hardware.camera.metadata@3.3.so
VNDK-core: android.hardware.camera.metadata@3.4.so
VNDK-core: android.hardware.camera.provider@2.4.so
+VNDK-core: android.hardware.camera.provider@2.5.so
VNDK-core: android.hardware.cas.native@1.0.so
VNDK-core: android.hardware.cas@1.0.so
VNDK-core: android.hardware.cas@1.1.so