Zygote: Allow arbitrary-length wrap property names

The restriction on system property key length has been lifted.
Update the invoke-with code to first check the full-length property.
Then fall back to the truncated version for backwards-compatibility.

Bug: 37276041

Test: m
Test: manual with long package name (Maps)
(cherry picked from commit 4c88a8c684)

Change-Id: Ic27a26a676f7ac5a998a9bea14259725e89b7e37
This commit is contained in:
Andreas Gampe
2017-05-10 18:53:02 -07:00
committed by Christopher Ferris
parent 499c78c023
commit d5a44707db

View File

@@ -762,14 +762,6 @@ class ZygoteConnection {
public static void applyInvokeWithSystemProperty(Arguments args) {
if (args.invokeWith == null && args.niceName != null) {
String property = "wrap." + args.niceName;
if (property.length() > 31) {
// Properties with a trailing "." are illegal.
if (property.charAt(30) != '.') {
property = property.substring(0, 31);
} else {
property = property.substring(0, 30);
}
}
args.invokeWith = SystemProperties.get(property);
if (args.invokeWith != null && args.invokeWith.length() == 0) {
args.invokeWith = null;