Merge "Remove the name length limit for system properties."
This commit is contained in:
committed by
Android (Google) Code Review
commit
cb0629eaa1
@@ -35,7 +35,6 @@ public class SystemProperties {
|
||||
private static final String TAG = "SystemProperties";
|
||||
private static final boolean TRACK_KEY_ACCESS = false;
|
||||
|
||||
public static final int PROP_NAME_MAX = 31;
|
||||
public static final int PROP_VALUE_MAX = 91;
|
||||
|
||||
private static final ArrayList<Runnable> sChangeCallbacks = new ArrayList<Runnable>();
|
||||
@@ -82,12 +81,8 @@ public class SystemProperties {
|
||||
/**
|
||||
* Get the value for the given key.
|
||||
* @return an empty string if the key isn't found
|
||||
* @throws IllegalArgumentException if the key exceeds 32 characters
|
||||
*/
|
||||
public static String get(String key) {
|
||||
if (key.length() > PROP_NAME_MAX) {
|
||||
throw newKeyTooLargeException(key);
|
||||
}
|
||||
if (TRACK_KEY_ACCESS) onKeyAccess(key);
|
||||
return native_get(key);
|
||||
}
|
||||
@@ -95,12 +90,8 @@ public class SystemProperties {
|
||||
/**
|
||||
* Get the value for the given key.
|
||||
* @return if the key isn't found, return def if it isn't null, or an empty string otherwise
|
||||
* @throws IllegalArgumentException if the key exceeds 32 characters
|
||||
*/
|
||||
public static String get(String key, String def) {
|
||||
if (key.length() > PROP_NAME_MAX) {
|
||||
throw newKeyTooLargeException(key);
|
||||
}
|
||||
if (TRACK_KEY_ACCESS) onKeyAccess(key);
|
||||
return native_get(key, def);
|
||||
}
|
||||
@@ -111,12 +102,8 @@ public class SystemProperties {
|
||||
* @param def a default value to return
|
||||
* @return the key parsed as an integer, or def if the key isn't found or
|
||||
* cannot be parsed
|
||||
* @throws IllegalArgumentException if the key exceeds 32 characters
|
||||
*/
|
||||
public static int getInt(String key, int def) {
|
||||
if (key.length() > PROP_NAME_MAX) {
|
||||
throw newKeyTooLargeException(key);
|
||||
}
|
||||
if (TRACK_KEY_ACCESS) onKeyAccess(key);
|
||||
return native_get_int(key, def);
|
||||
}
|
||||
@@ -127,12 +114,8 @@ public class SystemProperties {
|
||||
* @param def a default value to return
|
||||
* @return the key parsed as a long, or def if the key isn't found or
|
||||
* cannot be parsed
|
||||
* @throws IllegalArgumentException if the key exceeds 32 characters
|
||||
*/
|
||||
public static long getLong(String key, long def) {
|
||||
if (key.length() > PROP_NAME_MAX) {
|
||||
throw newKeyTooLargeException(key);
|
||||
}
|
||||
if (TRACK_KEY_ACCESS) onKeyAccess(key);
|
||||
return native_get_long(key, def);
|
||||
}
|
||||
@@ -148,25 +131,17 @@ public class SystemProperties {
|
||||
* @param def a default value to return
|
||||
* @return the key parsed as a boolean, or def if the key isn't found or is
|
||||
* not able to be parsed as a boolean.
|
||||
* @throws IllegalArgumentException if the key exceeds 32 characters
|
||||
*/
|
||||
public static boolean getBoolean(String key, boolean def) {
|
||||
if (key.length() > PROP_NAME_MAX) {
|
||||
throw newKeyTooLargeException(key);
|
||||
}
|
||||
if (TRACK_KEY_ACCESS) onKeyAccess(key);
|
||||
return native_get_boolean(key, def);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value for the given key.
|
||||
* @throws IllegalArgumentException if the key exceeds 32 characters
|
||||
* @throws IllegalArgumentException if the value exceeds 92 characters
|
||||
*/
|
||||
public static void set(String key, String val) {
|
||||
if (key.length() > PROP_NAME_MAX) {
|
||||
throw newKeyTooLargeException(key);
|
||||
}
|
||||
if (val != null && val.length() > PROP_VALUE_MAX) {
|
||||
throw newValueTooLargeException(key, val);
|
||||
}
|
||||
@@ -196,11 +171,6 @@ public class SystemProperties {
|
||||
}
|
||||
}
|
||||
|
||||
private static IllegalArgumentException newKeyTooLargeException(String key) {
|
||||
return new IllegalArgumentException("system property key '" + key + "' is longer than "
|
||||
+ PROP_NAME_MAX + " characters");
|
||||
}
|
||||
|
||||
private static IllegalArgumentException newValueTooLargeException(String key, String value) {
|
||||
return new IllegalArgumentException("value of system property '" + key + "' is longer than "
|
||||
+ PROP_VALUE_MAX + " characters: " + value);
|
||||
|
||||
@@ -80,9 +80,7 @@ public class PackageManagerServiceCompilerMapping {
|
||||
try {
|
||||
// Check that the system property name is legal.
|
||||
String sysPropName = getSystemPropertyName(reason);
|
||||
if (sysPropName == null ||
|
||||
sysPropName.isEmpty() ||
|
||||
sysPropName.length() > SystemProperties.PROP_NAME_MAX) {
|
||||
if (sysPropName == null || sysPropName.isEmpty()) {
|
||||
throw new IllegalStateException("Reason system property name \"" +
|
||||
sysPropName +"\" for reason " + REASON_STRINGS[reason]);
|
||||
}
|
||||
|
||||
@@ -4041,9 +4041,8 @@ public class TelephonyManager {
|
||||
}
|
||||
}
|
||||
|
||||
if (property.length() > SystemProperties.PROP_NAME_MAX
|
||||
|| propVal.length() > SystemProperties.PROP_VALUE_MAX) {
|
||||
Rlog.d(TAG, "setTelephonyProperty: property to long phoneId=" + phoneId +
|
||||
if (propVal.length() > SystemProperties.PROP_VALUE_MAX) {
|
||||
Rlog.d(TAG, "setTelephonyProperty: property too long phoneId=" + phoneId +
|
||||
" property=" + property + " value: " + value + " propVal=" + propVal);
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user