summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/util/Xml.java2
-rw-r--r--core/java/com/android/internal/util/XmlUtils.java15
-rw-r--r--errorprone/refaster/EfficientXml.java24
-rw-r--r--errorprone/refaster/EfficientXml.java.refasterbin36469 -> 38713 bytes
-rw-r--r--services/core/java/com/android/server/SensorPrivacyService.java2
-rw-r--r--services/core/java/com/android/server/adb/AdbDebuggingManager.java19
-rw-r--r--services/core/java/com/android/server/display/PersistentDataStore.java16
-rw-r--r--services/core/java/com/android/server/input/PersistentDataStore.java2
-rw-r--r--services/core/java/com/android/server/notification/SnoozeHelper.java4
-rw-r--r--services/core/java/com/android/server/pm/Settings.java73
-rw-r--r--services/core/java/com/android/server/pm/UserManagerService.java28
-rw-r--r--services/core/java/com/android/server/pm/permission/LegacyPermission.java10
-rw-r--r--services/core/java/com/android/server/tv/PersistentDataStore.java13
-rw-r--r--services/core/java/com/android/server/tv/tunerresourcemanager/UseCasePriorityHints.java5
-rw-r--r--services/core/java/com/android/server/wallpaper/WallpaperManagerService.java4
-rw-r--r--services/core/java/com/android/server/wm/AppWarnings.java14
-rw-r--r--services/core/java/com/android/server/wm/DisplayWindowSettingsProvider.java28
17 files changed, 122 insertions, 137 deletions
diff --git a/core/java/android/util/Xml.java b/core/java/android/util/Xml.java
index c119f24cc0eb..c8193b3b0dbb 100644
--- a/core/java/android/util/Xml.java
+++ b/core/java/android/util/Xml.java
@@ -128,6 +128,7 @@ public class Xml {
*
* @hide
*/
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static @NonNull TypedXmlPullParser newFastPullParser() {
return XmlUtils.makeTyped(newPullParser());
}
@@ -206,6 +207,7 @@ public class Xml {
*
* @hide
*/
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static @NonNull TypedXmlSerializer newFastSerializer() {
return XmlUtils.makeTyped(new FastXmlSerializer());
}
diff --git a/core/java/com/android/internal/util/XmlUtils.java b/core/java/com/android/internal/util/XmlUtils.java
index 8eb0e280350f..244efc596926 100644
--- a/core/java/com/android/internal/util/XmlUtils.java
+++ b/core/java/com/android/internal/util/XmlUtils.java
@@ -53,6 +53,7 @@ import java.util.Set;
public class XmlUtils {
private static final String STRING_ARRAY_SEPARATOR = ":";
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
private static class ForcedTypedXmlSerializer extends XmlSerializerWrapper
implements TypedXmlSerializer {
public ForcedTypedXmlSerializer(XmlSerializer wrapped) {
@@ -133,6 +134,7 @@ public class XmlUtils {
}
}
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
private static class ForcedTypedXmlPullParser extends XmlPullParserWrapper
implements TypedXmlPullParser {
public ForcedTypedXmlPullParser(XmlPullParser wrapped) {
@@ -1715,6 +1717,7 @@ public class XmlUtils {
}
}
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static int readIntAttribute(XmlPullParser in, String name, int defaultValue) {
if (in instanceof TypedXmlPullParser) {
return ((TypedXmlPullParser) in).getAttributeInt(null, name, defaultValue);
@@ -1730,6 +1733,7 @@ public class XmlUtils {
}
}
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static int readIntAttribute(XmlPullParser in, String name) throws IOException {
if (in instanceof TypedXmlPullParser) {
try {
@@ -1746,6 +1750,7 @@ public class XmlUtils {
}
}
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static void writeIntAttribute(XmlSerializer out, String name, int value)
throws IOException {
if (out instanceof TypedXmlSerializer) {
@@ -1755,6 +1760,7 @@ public class XmlUtils {
out.attribute(null, name, Integer.toString(value));
}
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static long readLongAttribute(XmlPullParser in, String name, long defaultValue) {
if (in instanceof TypedXmlPullParser) {
return ((TypedXmlPullParser) in).getAttributeLong(null, name, defaultValue);
@@ -1770,6 +1776,7 @@ public class XmlUtils {
}
}
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static long readLongAttribute(XmlPullParser in, String name) throws IOException {
if (in instanceof TypedXmlPullParser) {
try {
@@ -1786,6 +1793,7 @@ public class XmlUtils {
}
}
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static void writeLongAttribute(XmlSerializer out, String name, long value)
throws IOException {
if (out instanceof TypedXmlSerializer) {
@@ -1795,6 +1803,7 @@ public class XmlUtils {
out.attribute(null, name, Long.toString(value));
}
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static float readFloatAttribute(XmlPullParser in, String name) throws IOException {
if (in instanceof TypedXmlPullParser) {
try {
@@ -1811,6 +1820,7 @@ public class XmlUtils {
}
}
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static void writeFloatAttribute(XmlSerializer out, String name, float value)
throws IOException {
if (out instanceof TypedXmlSerializer) {
@@ -1820,10 +1830,12 @@ public class XmlUtils {
out.attribute(null, name, Float.toString(value));
}
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static boolean readBooleanAttribute(XmlPullParser in, String name) {
return readBooleanAttribute(in, name, false);
}
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static boolean readBooleanAttribute(XmlPullParser in, String name,
boolean defaultValue) {
if (in instanceof TypedXmlPullParser) {
@@ -1837,6 +1849,7 @@ public class XmlUtils {
}
}
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static void writeBooleanAttribute(XmlSerializer out, String name, boolean value)
throws IOException {
if (out instanceof TypedXmlSerializer) {
@@ -1869,6 +1882,7 @@ public class XmlUtils {
}
}
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static byte[] readByteArrayAttribute(XmlPullParser in, String name) {
if (in instanceof TypedXmlPullParser) {
try {
@@ -1885,6 +1899,7 @@ public class XmlUtils {
}
}
+ @SuppressWarnings("AndroidFrameworkEfficientXml")
public static void writeByteArrayAttribute(XmlSerializer out, String name, byte[] value)
throws IOException {
if (value != null) {
diff --git a/errorprone/refaster/EfficientXml.java b/errorprone/refaster/EfficientXml.java
index bd1ddfc92e91..ae797c46b77e 100644
--- a/errorprone/refaster/EfficientXml.java
+++ b/errorprone/refaster/EfficientXml.java
@@ -292,6 +292,30 @@ public class EfficientXml {
}
}
+ class BooleanToStringTrue {
+ @BeforeTemplate
+ void before(TypedXmlSerializer out, String n) throws Exception {
+ out.attribute(null, n, "true");
+ }
+
+ @AfterTemplate
+ void after(TypedXmlSerializer out, String n) throws Exception {
+ out.attributeBoolean(null, n, true);
+ }
+ }
+
+ class BooleanToStringFalse {
+ @BeforeTemplate
+ void before(TypedXmlSerializer out, String n) throws Exception {
+ out.attribute(null, n, "false");
+ }
+
+ @AfterTemplate
+ void after(TypedXmlSerializer out, String n) throws Exception {
+ out.attributeBoolean(null, n, false);
+ }
+ }
+
class BooleanFromString {
@BeforeTemplate
boolean beforeParse(TypedXmlPullParser in, String n) throws Exception {
diff --git a/errorprone/refaster/EfficientXml.java.refaster b/errorprone/refaster/EfficientXml.java.refaster
index f2974fffb83b..750c2dbe98c0 100644
--- a/errorprone/refaster/EfficientXml.java.refaster
+++ b/errorprone/refaster/EfficientXml.java.refaster
Binary files differ
diff --git a/services/core/java/com/android/server/SensorPrivacyService.java b/services/core/java/com/android/server/SensorPrivacyService.java
index d30e9fb002e0..51e2b12bcee4 100644
--- a/services/core/java/com/android/server/SensorPrivacyService.java
+++ b/services/core/java/com/android/server/SensorPrivacyService.java
@@ -158,7 +158,7 @@ public final class SensorPrivacyService extends SystemService {
XmlUtils.beginDocument(parser, XML_TAG_SENSOR_PRIVACY);
parser.next();
String tagName = parser.getName();
- enabled = Boolean.valueOf(parser.getAttributeValue(null, XML_ATTRIBUTE_ENABLED));
+ enabled = parser.getAttributeBoolean(null, XML_ATTRIBUTE_ENABLED, false);
} catch (IOException | XmlPullParserException e) {
Log.e(TAG, "Caught an exception reading the state from storage: ", e);
// Delete the file to prevent the same error on subsequent calls and assume sensor
diff --git a/services/core/java/com/android/server/adb/AdbDebuggingManager.java b/services/core/java/com/android/server/adb/AdbDebuggingManager.java
index d99b195351f1..10b4def17ef5 100644
--- a/services/core/java/com/android/server/adb/AdbDebuggingManager.java
+++ b/services/core/java/com/android/server/adb/AdbDebuggingManager.java
@@ -71,7 +71,6 @@ import android.util.Xml;
import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
-import com.android.internal.util.FastXmlSerializer;
import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.XmlUtils;
import com.android.internal.util.dump.DualDumpOutputStream;
@@ -79,7 +78,6 @@ import com.android.server.FgThread;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
-import org.xmlpull.v1.XmlSerializer;
import java.io.BufferedReader;
import java.io.File;
@@ -89,7 +87,6 @@ import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.SecureRandom;
import java.util.AbstractMap;
@@ -1966,9 +1963,9 @@ public class AdbDebuggingManager {
String key = parser.getAttributeValue(null, XML_ATTRIBUTE_KEY);
long connectionTime;
try {
- connectionTime = Long.valueOf(
- parser.getAttributeValue(null, XML_ATTRIBUTE_LAST_CONNECTION));
- } catch (NumberFormatException e) {
+ connectionTime = parser.getAttributeLong(null,
+ XML_ATTRIBUTE_LAST_CONNECTION);
+ } catch (XmlPullParserException e) {
Slog.e(TAG,
"Caught a NumberFormatException parsing the last connection time: "
+ e);
@@ -2020,9 +2017,9 @@ public class AdbDebuggingManager {
String key = parser.getAttributeValue(null, XML_ATTRIBUTE_KEY);
long connectionTime;
try {
- connectionTime = Long.valueOf(
- parser.getAttributeValue(null, XML_ATTRIBUTE_LAST_CONNECTION));
- } catch (NumberFormatException e) {
+ connectionTime = parser.getAttributeLong(null,
+ XML_ATTRIBUTE_LAST_CONNECTION);
+ } catch (XmlPullParserException e) {
Slog.e(TAG,
"Caught a NumberFormatException parsing the last connection time: "
+ e);
@@ -2150,8 +2147,8 @@ public class AdbDebuggingManager {
for (Map.Entry<String, Long> keyEntry : mKeyMap.entrySet()) {
serializer.startTag(null, XML_TAG_ADB_KEY);
serializer.attribute(null, XML_ATTRIBUTE_KEY, keyEntry.getKey());
- serializer.attribute(null, XML_ATTRIBUTE_LAST_CONNECTION,
- String.valueOf(keyEntry.getValue()));
+ serializer.attributeLong(null, XML_ATTRIBUTE_LAST_CONNECTION,
+ keyEntry.getValue());
serializer.endTag(null, XML_TAG_ADB_KEY);
}
for (String bssid : mTrustedNetworks) {
diff --git a/services/core/java/com/android/server/display/PersistentDataStore.java b/services/core/java/com/android/server/display/PersistentDataStore.java
index b0820e81ec09..a62642b1f842 100644
--- a/services/core/java/com/android/server/display/PersistentDataStore.java
+++ b/services/core/java/com/android/server/display/PersistentDataStore.java
@@ -31,17 +31,12 @@ import android.util.Xml;
import android.view.Display;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.util.FastXmlSerializer;
import com.android.internal.util.XmlUtils;
import libcore.io.IoUtils;
-import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
-import org.xmlpull.v1.XmlSerializer;
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
@@ -49,7 +44,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
-import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
@@ -628,15 +622,7 @@ final class PersistentDataStore {
}
String packageName = parser.getAttributeValue(null, ATTR_PACKAGE_NAME);
- String timeStampString = parser.getAttributeValue(null, ATTR_TIME_STAMP);
- long timeStamp = -1;
- if (timeStampString != null) {
- try {
- timeStamp = Long.parseLong(timeStampString);
- } catch (NumberFormatException nfe) {
- // Ignore we will just not restore the timestamp.
- }
- }
+ long timeStamp = parser.getAttributeLong(null, ATTR_TIME_STAMP, -1);
try {
BrightnessConfiguration config =
diff --git a/services/core/java/com/android/server/input/PersistentDataStore.java b/services/core/java/com/android/server/input/PersistentDataStore.java
index a735a8f9d305..6cec2723b141 100644
--- a/services/core/java/com/android/server/input/PersistentDataStore.java
+++ b/services/core/java/com/android/server/input/PersistentDataStore.java
@@ -510,7 +510,7 @@ final class PersistentDataStore {
serializer.startTag(null, "keyboard-layout");
serializer.attribute(null, "descriptor", layout);
if (layout.equals(mCurrentKeyboardLayout)) {
- serializer.attribute(null, "current", "true");
+ serializer.attributeBoolean(null, "current", true);
}
serializer.endTag(null, "keyboard-layout");
}
diff --git a/services/core/java/com/android/server/notification/SnoozeHelper.java b/services/core/java/com/android/server/notification/SnoozeHelper.java
index b5ca2abf8afe..2122b9c19805 100644
--- a/services/core/java/com/android/server/notification/SnoozeHelper.java
+++ b/services/core/java/com/android/server/notification/SnoozeHelper.java
@@ -558,8 +558,8 @@ public class SnoozeHelper {
if (value < currentTime) {
return;
}
- out.attribute(null, XML_SNOOZED_NOTIFICATION_TIME,
- value.toString());
+ out.attributeLong(null, XML_SNOOZED_NOTIFICATION_TIME,
+ value);
});
writeXml(out, mPersistedSnoozedNotificationsWithContext,
XML_SNOOZED_NOTIFICATION_CONTEXT,
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index 966090cb96a7..0b080a8a1518 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -1970,28 +1970,28 @@ public final class Settings {
serializer.attributeLong(null, ATTR_CE_DATA_INODE, ustate.ceDataInode);
}
if (!ustate.installed) {
- serializer.attribute(null, ATTR_INSTALLED, "false");
+ serializer.attributeBoolean(null, ATTR_INSTALLED, false);
}
if (ustate.stopped) {
- serializer.attribute(null, ATTR_STOPPED, "true");
+ serializer.attributeBoolean(null, ATTR_STOPPED, true);
}
if (ustate.notLaunched) {
- serializer.attribute(null, ATTR_NOT_LAUNCHED, "true");
+ serializer.attributeBoolean(null, ATTR_NOT_LAUNCHED, true);
}
if (ustate.hidden) {
- serializer.attribute(null, ATTR_HIDDEN, "true");
+ serializer.attributeBoolean(null, ATTR_HIDDEN, true);
}
if (ustate.distractionFlags != 0) {
serializer.attributeInt(null, ATTR_DISTRACTION_FLAGS, ustate.distractionFlags);
}
if (ustate.suspended) {
- serializer.attribute(null, ATTR_SUSPENDED, "true");
+ serializer.attributeBoolean(null, ATTR_SUSPENDED, true);
}
if (ustate.instantApp) {
- serializer.attribute(null, ATTR_INSTANT_APP, "true");
+ serializer.attributeBoolean(null, ATTR_INSTANT_APP, true);
}
if (ustate.virtualPreload) {
- serializer.attribute(null, ATTR_VIRTUAL_PRELOAD, "true");
+ serializer.attributeBoolean(null, ATTR_VIRTUAL_PRELOAD, true);
}
if (ustate.enabled != COMPONENT_ENABLED_STATE_DEFAULT) {
serializer.attributeInt(null, ATTR_ENABLED, ustate.enabled);
@@ -2732,7 +2732,7 @@ public final class Settings {
serializer.attributeInt(null, "sharedUserId", pkg.appId);
}
if (pkg.uidError) {
- serializer.attribute(null, "uidError", "true");
+ serializer.attributeBoolean(null, "uidError", true);
}
InstallSource installSource = pkg.installSource;
if (installSource.installerPackageName != null) {
@@ -2743,13 +2743,13 @@ public final class Settings {
installSource.installerAttributionTag);
}
if (installSource.isOrphaned) {
- serializer.attribute(null, "isOrphaned", "true");
+ serializer.attributeBoolean(null, "isOrphaned", true);
}
if (installSource.initiatingPackageName != null) {
serializer.attribute(null, "installInitiator", installSource.initiatingPackageName);
}
if (installSource.isInitiatingPackageUninstalled) {
- serializer.attribute(null, "installInitiatorUninstalled", "true");
+ serializer.attributeBoolean(null, "installInitiatorUninstalled", true);
}
if (installSource.originatingPackageName != null) {
serializer.attribute(null, "installOriginator", installSource.originatingPackageName);
@@ -2761,16 +2761,16 @@ public final class Settings {
serializer.attributeInt(null, "categoryHint", pkg.categoryHint);
}
if (pkg.updateAvailable) {
- serializer.attribute(null, "updateAvailable", "true");
+ serializer.attributeBoolean(null, "updateAvailable", true);
}
if (pkg.forceQueryableOverride) {
- serializer.attribute(null, "forceQueryable", "true");
+ serializer.attributeBoolean(null, "forceQueryable", true);
}
if (pkg.isPackageStartable()) {
- serializer.attribute(null, "isStartable", "true");
+ serializer.attributeBoolean(null, "isStartable", true);
}
if (pkg.isPackageLoading()) {
- serializer.attribute(null, "isLoading", "true");
+ serializer.attributeBoolean(null, "isLoading", true);
}
writeUsesStaticLibLPw(serializer, pkg.usesStaticLibraries, pkg.usesStaticLibrariesVersions);
@@ -3501,14 +3501,14 @@ public final class Settings {
String systemStr = null;
String installerPackageName = null;
String installerAttributionTag = null;
- String isOrphaned = null;
+ boolean isOrphaned = false;
String installOriginatingPackageName = null;
String installInitiatingPackageName = null;
- String installInitiatorUninstalled = null;
+ boolean installInitiatorUninstalled = false;
String volumeUuid = null;
- String updateAvailable = null;
+ boolean updateAvailable = false;
int categoryHint = ApplicationInfo.CATEGORY_UNDEFINED;
- String uidError = null;
+ boolean uidError = false;
int pkgFlags = 0;
int pkgPrivateFlags = 0;
long timeStamp = 0;
@@ -3516,14 +3516,14 @@ public final class Settings {
long lastUpdateTime = 0;
PackageSetting packageSetting = null;
long versionCode = 0;
- String installedForceQueryable = null;
- String isStartable = null;
- String isLoading = null;
+ boolean installedForceQueryable = false;
+ boolean isStartable = false;
+ boolean isLoading = false;
try {
name = parser.getAttributeValue(null, ATTR_NAME);
realName = parser.getAttributeValue(null, "realName");
userId = parser.getAttributeInt(null, "userId", 0);
- uidError = parser.getAttributeValue(null, "uidError");
+ uidError = parser.getAttributeBoolean(null, "uidError", false);
sharedUserId = parser.getAttributeInt(null, "sharedUserId", 0);
codePathStr = parser.getAttributeValue(null, "codePath");
@@ -3533,10 +3533,10 @@ public final class Settings {
primaryCpuAbiString = parser.getAttributeValue(null, "primaryCpuAbi");
secondaryCpuAbiString = parser.getAttributeValue(null, "secondaryCpuAbi");
cpuAbiOverrideString = parser.getAttributeValue(null, "cpuAbiOverride");
- updateAvailable = parser.getAttributeValue(null, "updateAvailable");
- installedForceQueryable = parser.getAttributeValue(null, "forceQueryable");
- isStartable = parser.getAttributeValue(null, "isStartable");
- isLoading = parser.getAttributeValue(null, "isLoading");
+ updateAvailable = parser.getAttributeBoolean(null, "updateAvailable", false);
+ installedForceQueryable = parser.getAttributeBoolean(null, "forceQueryable", false);
+ isStartable = parser.getAttributeBoolean(null, "isStartable", false);
+ isLoading = parser.getAttributeBoolean(null, "isLoading", false);
if (primaryCpuAbiString == null && legacyCpuAbiString != null) {
primaryCpuAbiString = legacyCpuAbiString;
@@ -3545,11 +3545,11 @@ public final class Settings {
versionCode = parser.getAttributeLong(null, "version", 0);
installerPackageName = parser.getAttributeValue(null, "installer");
installerAttributionTag = parser.getAttributeValue(null, "installerAttributionTag");
- isOrphaned = parser.getAttributeValue(null, "isOrphaned");
+ isOrphaned = parser.getAttributeBoolean(null, "isOrphaned", false);
installInitiatingPackageName = parser.getAttributeValue(null, "installInitiator");
installOriginatingPackageName = parser.getAttributeValue(null, "installOriginator");
- installInitiatorUninstalled = parser.getAttributeValue(null,
- "installInitiatorUninstalled");
+ installInitiatorUninstalled = parser.getAttributeBoolean(null,
+ "installInitiatorUninstalled", false);
volumeUuid = parser.getAttributeValue(null, "volumeUuid");
categoryHint = parser.getAttributeInt(null, "categoryHint",
ApplicationInfo.CATEGORY_UNDEFINED);
@@ -3671,21 +3671,20 @@ public final class Settings {
+ userId + " at " + parser.getPositionDescription());
}
if (packageSetting != null) {
- packageSetting.uidError = "true".equals(uidError);
+ packageSetting.uidError = uidError;
InstallSource installSource = InstallSource.create(
installInitiatingPackageName, installOriginatingPackageName,
- installerPackageName, installerAttributionTag, "true".equals(isOrphaned),
- "true".equals(installInitiatorUninstalled));
+ installerPackageName, installerAttributionTag, isOrphaned,
+ installInitiatorUninstalled);
packageSetting.installSource = installSource;
packageSetting.volumeUuid = volumeUuid;
packageSetting.categoryHint = categoryHint;
packageSetting.legacyNativeLibraryPathString = legacyNativeLibraryPathStr;
packageSetting.primaryCpuAbiString = primaryCpuAbiString;
packageSetting.secondaryCpuAbiString = secondaryCpuAbiString;
- packageSetting.updateAvailable = "true".equals(updateAvailable);
- packageSetting.forceQueryableOverride = "true".equals(installedForceQueryable);
- packageSetting.incrementalStates = new IncrementalStates("true".equals(isStartable),
- "true".equals(isLoading));
+ packageSetting.updateAvailable = updateAvailable;
+ packageSetting.forceQueryableOverride = installedForceQueryable;
+ packageSetting.incrementalStates = new IncrementalStates(isStartable, isLoading);
// Handle legacy string here for single-user mode
final String enabledStr = parser.getAttributeValue(null, ATTR_ENABLED);
if (enabledStr != null) {
@@ -3915,7 +3914,7 @@ public final class Settings {
{
name = parser.getAttributeValue(null, ATTR_NAME);
int userId = parser.getAttributeInt(null, "userId", 0);
- if ("true".equals(parser.getAttributeValue(null, "system"))) {
+ if (parser.getAttributeBoolean(null, "system", false)) {
pkgFlags |= ApplicationInfo.FLAG_SYSTEM;
}
if (name == null) {
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index cc814bcc7760..a8b83fb3e3ee 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -2918,16 +2918,16 @@ public class UserManagerService extends IUserManager.Stub {
serializer.attribute(null, ATTR_ICON_PATH, userInfo.iconPath);
}
if (userInfo.partial) {
- serializer.attribute(null, ATTR_PARTIAL, "true");
+ serializer.attributeBoolean(null, ATTR_PARTIAL, true);
}
if (userInfo.preCreated) {
- serializer.attribute(null, ATTR_PRE_CREATED, "true");
+ serializer.attributeBoolean(null, ATTR_PRE_CREATED, true);
}
if (userInfo.convertedFromPreCreated) {
- serializer.attribute(null, ATTR_CONVERTED_FROM_PRE_CREATED, "true");
+ serializer.attributeBoolean(null, ATTR_CONVERTED_FROM_PRE_CREATED, true);
}
if (userInfo.guestToRemove) {
- serializer.attribute(null, ATTR_GUEST_TO_REMOVE, "true");
+ serializer.attributeBoolean(null, ATTR_GUEST_TO_REMOVE, true);
}
if (userInfo.profileGroupId != UserInfo.NO_PROFILE_GROUP_ID) {
serializer.attributeInt(null, ATTR_PROFILE_GROUP_ID, userInfo.profileGroupId);
@@ -3121,22 +3121,10 @@ public class UserManagerService extends IUserManager.Stub {
profileBadge = parser.getAttributeInt(null, ATTR_PROFILE_BADGE, 0);
restrictedProfileParentId = parser.getAttributeInt(null,
ATTR_RESTRICTED_PROFILE_PARENT_ID, UserInfo.NO_PROFILE_GROUP_ID);
- String valueString = parser.getAttributeValue(null, ATTR_PARTIAL);
- if ("true".equals(valueString)) {
- partial = true;
- }
- valueString = parser.getAttributeValue(null, ATTR_PRE_CREATED);
- if ("true".equals(valueString)) {
- preCreated = true;
- }
- valueString = parser.getAttributeValue(null, ATTR_CONVERTED_FROM_PRE_CREATED);
- if ("true".equals(valueString)) {
- converted = true;
- }
- valueString = parser.getAttributeValue(null, ATTR_GUEST_TO_REMOVE);
- if ("true".equals(valueString)) {
- guestToRemove = true;
- }
+ partial = parser.getAttributeBoolean(null, ATTR_PARTIAL, false);
+ preCreated = parser.getAttributeBoolean(null, ATTR_PRE_CREATED, false);
+ converted = parser.getAttributeBoolean(null, ATTR_CONVERTED_FROM_PRE_CREATED, false);
+ guestToRemove = parser.getAttributeBoolean(null, ATTR_GUEST_TO_REMOVE, false);
seedAccountName = parser.getAttributeValue(null, ATTR_SEED_ACCOUNT_NAME);
seedAccountType = parser.getAttributeValue(null, ATTR_SEED_ACCOUNT_TYPE);
diff --git a/services/core/java/com/android/server/pm/permission/LegacyPermission.java b/services/core/java/com/android/server/pm/permission/LegacyPermission.java
index 6a4eb63c8d7e..ca3a2e2e2da7 100644
--- a/services/core/java/com/android/server/pm/permission/LegacyPermission.java
+++ b/services/core/java/com/android/server/pm/permission/LegacyPermission.java
@@ -167,16 +167,12 @@ public final class LegacyPermission {
private static int readInt(@NonNull TypedXmlPullParser parser, @Nullable String namespace,
@NonNull String name, int defaultValue) {
- final String value = parser.getAttributeValue(namespace, name);
- if (value == null) {
- return defaultValue;
- }
try {
- return Integer.parseInt(value);
- } catch (NumberFormatException e) {
+ return parser.getAttributeInt(namespace, name);
+ } catch (Exception ignored) {
PackageManagerService.reportSettingsProblem(Log.WARN,
"Error in package manager settings: attribute " + name
- + " has bad integer value " + value + " at "
+ + " has bad integer value at "
+ parser.getPositionDescription());
return defaultValue;
}
diff --git a/services/core/java/com/android/server/tv/PersistentDataStore.java b/services/core/java/com/android/server/tv/PersistentDataStore.java
index d3c9b3bbe7f5..72556a75a4b5 100644
--- a/services/core/java/com/android/server/tv/PersistentDataStore.java
+++ b/services/core/java/com/android/server/tv/PersistentDataStore.java
@@ -30,23 +30,17 @@ import android.util.TypedXmlPullParser;
import android.util.TypedXmlSerializer;
import android.util.Xml;
-import com.android.internal.util.FastXmlSerializer;
import com.android.internal.util.XmlUtils;
import libcore.io.IoUtils;
-import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
-import org.xmlpull.v1.XmlSerializer;
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -246,12 +240,7 @@ final class PersistentDataStore {
if (parser.getName().equals(TAG_BLOCKED_RATINGS)) {
loadBlockedRatingsFromXml(parser);
} else if (parser.getName().equals(TAG_PARENTAL_CONTROLS)) {
- String enabled = parser.getAttributeValue(null, ATTR_ENABLED);
- if (TextUtils.isEmpty(enabled)) {
- throw new XmlPullParserException(
- "Missing " + ATTR_ENABLED + " attribute on " + TAG_PARENTAL_CONTROLS);
- }
- mParentalControlsEnabled = Boolean.parseBoolean(enabled);
+ mParentalControlsEnabled = parser.getAttributeBoolean(null, ATTR_ENABLED);
}
}
}
diff --git a/services/core/java/com/android/server/tv/tunerresourcemanager/UseCasePriorityHints.java b/services/core/java/com/android/server/tv/tunerresourcemanager/UseCasePriorityHints.java
index beb11ed4ea0c..7f49eead19fa 100644
--- a/services/core/java/com/android/server/tv/tunerresourcemanager/UseCasePriorityHints.java
+++ b/services/core/java/com/android/server/tv/tunerresourcemanager/UseCasePriorityHints.java
@@ -192,8 +192,9 @@ public class UseCasePriorityHints {
}
}
- private int readAttributeToInt(String attributeName, TypedXmlPullParser parser) {
- return Integer.valueOf(parser.getAttributeValue(null, attributeName));
+ private int readAttributeToInt(String attributeName, TypedXmlPullParser parser)
+ throws XmlPullParserException {
+ return parser.getAttributeInt(null, attributeName);
}
private void addNewUseCasePriority(int useCase, int fgPriority, int bgPriority) {
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index bbe86beceb82..c0df26a4ea63 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
@@ -2985,7 +2985,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub
}
if (wallpaper.allowBackup) {
- out.attribute(null, "backup", "true");
+ out.attributeBoolean(null, "backup", true);
}
out.endTag(null, tag);
@@ -3250,7 +3250,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub
wallpaper.primaryColors = new WallpaperColors(primary, secondary, tertiary, colorHints);
}
wallpaper.name = parser.getAttributeValue(null, "name");
- wallpaper.allowBackup = "true".equals(parser.getAttributeValue(null, "backup"));
+ wallpaper.allowBackup = parser.getAttributeBoolean(null, "backup", false);
}
// Called by SystemBackupAgent after files are restored to disk.
diff --git a/services/core/java/com/android/server/wm/AppWarnings.java b/services/core/java/com/android/server/wm/AppWarnings.java
index 55200b566979..994f07959f3b 100644
--- a/services/core/java/com/android/server/wm/AppWarnings.java
+++ b/services/core/java/com/android/server/wm/AppWarnings.java
@@ -31,16 +31,12 @@ import android.util.TypedXmlPullParser;
import android.util.TypedXmlSerializer;
import android.util.Xml;
-import com.android.internal.util.FastXmlSerializer;
-
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
-import org.xmlpull.v1.XmlSerializer;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
@@ -541,15 +537,7 @@ class AppWarnings {
if ("package".equals(tagName)) {
final String name = parser.getAttributeValue(null, "name");
if (name != null) {
- final String flags = parser.getAttributeValue(
- null, "flags");
- int flagsInt = 0;
- if (flags != null) {
- try {
- flagsInt = Integer.parseInt(flags);
- } catch (NumberFormatException e) {
- }
- }
+ int flagsInt = parser.getAttributeInt(null, "flags", 0);
mPackageFlags.put(name, flagsInt);
}
}
diff --git a/services/core/java/com/android/server/wm/DisplayWindowSettingsProvider.java b/services/core/java/com/android/server/wm/DisplayWindowSettingsProvider.java
index aa603aba0f78..a099fd993c85 100644
--- a/services/core/java/com/android/server/wm/DisplayWindowSettingsProvider.java
+++ b/services/core/java/com/android/server/wm/DisplayWindowSettingsProvider.java
@@ -444,12 +444,12 @@ class DisplayWindowSettingsProvider implements SettingsProvider {
out.attributeInt(null, "windowingMode", settingsEntry.mWindowingMode);
}
if (settingsEntry.mUserRotationMode != null) {
- out.attribute(null, "userRotationMode",
- settingsEntry.mUserRotationMode.toString());
+ out.attributeInt(null, "userRotationMode",
+ settingsEntry.mUserRotationMode);
}
if (settingsEntry.mUserRotation != null) {
- out.attribute(null, "userRotation",
- settingsEntry.mUserRotation.toString());
+ out.attributeInt(null, "userRotation",
+ settingsEntry.mUserRotation);
}
if (settingsEntry.mForcedWidth != 0 && settingsEntry.mForcedHeight != 0) {
out.attributeInt(null, "forcedWidth", settingsEntry.mForcedWidth);
@@ -459,30 +459,30 @@ class DisplayWindowSettingsProvider implements SettingsProvider {
out.attributeInt(null, "forcedDensity", settingsEntry.mForcedDensity);
}
if (settingsEntry.mForcedScalingMode != null) {
- out.attribute(null, "forcedScalingMode",
- settingsEntry.mForcedScalingMode.toString());
+ out.attributeInt(null, "forcedScalingMode",
+ settingsEntry.mForcedScalingMode);
}
if (settingsEntry.mRemoveContentMode != REMOVE_CONTENT_MODE_UNDEFINED) {
out.attributeInt(null, "removeContentMode", settingsEntry.mRemoveContentMode);
}
if (settingsEntry.mShouldShowWithInsecureKeyguard != null) {
- out.attribute(null, "shouldShowWithInsecureKeyguard",
- settingsEntry.mShouldShowWithInsecureKeyguard.toString());
+ out.attributeBoolean(null, "shouldShowWithInsecureKeyguard",
+ settingsEntry.mShouldShowWithInsecureKeyguard);
}
if (settingsEntry.mShouldShowSystemDecors != null) {
- out.attribute(null, "shouldShowSystemDecors",
- settingsEntry.mShouldShowSystemDecors.toString());
+ out.attributeBoolean(null, "shouldShowSystemDecors",
+ settingsEntry.mShouldShowSystemDecors);
}
if (settingsEntry.mImePolicy != null) {
out.attributeInt(null, "imePolicy", settingsEntry.mImePolicy);
}
if (settingsEntry.mFixedToUserRotation != null) {
- out.attribute(null, "fixedToUserRotation",
- settingsEntry.mFixedToUserRotation.toString());
+ out.attributeInt(null, "fixedToUserRotation",
+ settingsEntry.mFixedToUserRotation);
}
if (settingsEntry.mIgnoreOrientationRequest != null) {
- out.attribute(null, "ignoreOrientationRequest",
- settingsEntry.mIgnoreOrientationRequest.toString());
+ out.attributeBoolean(null, "ignoreOrientationRequest",
+ settingsEntry.mIgnoreOrientationRequest);
}
out.endTag(null, "display");
}