diff options
6 files changed, 78 insertions, 80 deletions
diff --git a/core/java/com/android/internal/util/FastPrintWriter.java b/core/java/com/android/internal/util/FastPrintWriter.java index c70a243..c74fea0 100644 --- a/core/java/com/android/internal/util/FastPrintWriter.java +++ b/core/java/com/android/internal/util/FastPrintWriter.java @@ -15,7 +15,7 @@ import java.nio.charset.CoderResult; import java.nio.charset.CodingErrorAction; public class FastPrintWriter extends PrintWriter { - private static Writer sDummyWriter = new Writer() { + private static class DummyWriter extends Writer { @Override public void close() throws IOException { UnsupportedOperationException ex @@ -100,7 +100,7 @@ public class FastPrintWriter extends PrintWriter { * if {@code out} is {@code null}. */ public FastPrintWriter(OutputStream out, boolean autoFlush, int bufferLen) { - super(sDummyWriter, autoFlush); + super(new DummyWriter(), autoFlush); if (out == null) { throw new NullPointerException("out is null"); } @@ -169,7 +169,7 @@ public class FastPrintWriter extends PrintWriter { * if {@code wr} is {@code null}. */ public FastPrintWriter(Writer wr, boolean autoFlush, int bufferLen) { - super(sDummyWriter, autoFlush); + super(new DummyWriter(), autoFlush); if (wr == null) { throw new NullPointerException("wr is null"); } @@ -212,7 +212,7 @@ public class FastPrintWriter extends PrintWriter { * if {@code pr} is {@code null}. */ public FastPrintWriter(Printer pr, int bufferLen) { - super(sDummyWriter, true); + super(new DummyWriter(), true); if (pr == null) { throw new NullPointerException("pr is null"); } diff --git a/services/core/java/com/android/server/SystemConfig.java b/services/core/java/com/android/server/SystemConfig.java index eb89f21..6ad128c 100644 --- a/services/core/java/com/android/server/SystemConfig.java +++ b/services/core/java/com/android/server/SystemConfig.java @@ -205,8 +205,8 @@ public class SystemConfig { } if (!parser.getName().equals("permissions") && !parser.getName().equals("config")) { - throw new XmlPullParserException("Unexpected start tag: found " + parser.getName() + - ", expected 'permissions' or 'config'"); + throw new XmlPullParserException("Unexpected start tag in " + permFile + + ": found " + parser.getName() + ", expected 'permissions' or 'config'"); } while (true) { @@ -222,7 +222,7 @@ public class SystemConfig { int gid = android.os.Process.getGidForName(gidStr); mGlobalGids = appendInt(mGlobalGids, gid); } else { - Slog.w(TAG, "<group> without gid at " + Slog.w(TAG, "<group> without gid in " + permFile + " at " + parser.getPositionDescription()); } @@ -231,7 +231,7 @@ public class SystemConfig { } else if ("permission".equals(name) && !onlyFeatures) { String perm = parser.getAttributeValue(null, "name"); if (perm == null) { - Slog.w(TAG, "<permission> without name at " + Slog.w(TAG, "<permission> without name in " + permFile + " at " + parser.getPositionDescription()); XmlUtils.skipCurrentTag(parser); continue; @@ -242,14 +242,14 @@ public class SystemConfig { } else if ("assign-permission".equals(name) && !onlyFeatures) { String perm = parser.getAttributeValue(null, "name"); if (perm == null) { - Slog.w(TAG, "<assign-permission> without name at " + Slog.w(TAG, "<assign-permission> without name in " + permFile + " at " + parser.getPositionDescription()); XmlUtils.skipCurrentTag(parser); continue; } String uidStr = parser.getAttributeValue(null, "uid"); if (uidStr == null) { - Slog.w(TAG, "<assign-permission> without uid at " + Slog.w(TAG, "<assign-permission> without uid in " + permFile + " at " + parser.getPositionDescription()); XmlUtils.skipCurrentTag(parser); continue; @@ -257,7 +257,7 @@ public class SystemConfig { int uid = Process.getUidForName(uidStr); if (uid < 0) { Slog.w(TAG, "<assign-permission> with unknown uid \"" - + uidStr + "\" at " + + uidStr + " in " + permFile + " at " + parser.getPositionDescription()); XmlUtils.skipCurrentTag(parser); continue; @@ -275,10 +275,10 @@ public class SystemConfig { String lname = parser.getAttributeValue(null, "name"); String lfile = parser.getAttributeValue(null, "file"); if (lname == null) { - Slog.w(TAG, "<library> without name at " + Slog.w(TAG, "<library> without name in " + permFile + " at " + parser.getPositionDescription()); } else if (lfile == null) { - Slog.w(TAG, "<library> without file at " + Slog.w(TAG, "<library> without file in " + permFile + " at " + parser.getPositionDescription()); } else { //Log.i(TAG, "Got library " + lname + " in " + lfile); @@ -297,7 +297,7 @@ public class SystemConfig { allowed = !"true".equals(notLowRam); } if (fname == null) { - Slog.w(TAG, "<feature> without name at " + Slog.w(TAG, "<feature> without name in " + permFile + " at " + parser.getPositionDescription()); } else if (allowed) { //Log.i(TAG, "Got feature " + fname); @@ -311,7 +311,7 @@ public class SystemConfig { } else if ("unavailable-feature".equals(name)) { String fname = parser.getAttributeValue(null, "name"); if (fname == null) { - Slog.w(TAG, "<unavailable-feature> without name at " + Slog.w(TAG, "<unavailable-feature> without name in " + permFile + " at " + parser.getPositionDescription()); } else { mUnavailableFeatures.add(fname); @@ -322,7 +322,7 @@ public class SystemConfig { } else if ("allow-in-power-save".equals(name) && !onlyFeatures) { String pkgname = parser.getAttributeValue(null, "package"); if (pkgname == null) { - Slog.w(TAG, "<allow-in-power-save> without package at " + Slog.w(TAG, "<allow-in-power-save> without package in " + permFile + " at " + parser.getPositionDescription()); } else { mAllowInPowerSave.add(pkgname); @@ -333,7 +333,7 @@ public class SystemConfig { } else if ("fixed-ime-app".equals(name) && !onlyFeatures) { String pkgname = parser.getAttributeValue(null, "package"); if (pkgname == null) { - Slog.w(TAG, "<fixed-ime-app> without package at " + Slog.w(TAG, "<fixed-ime-app> without package in " + permFile + " at " + parser.getPositionDescription()); } else { mFixedImeApps.add(pkgname); diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 97b4353..4b7fb2b 100755 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -2998,6 +2998,10 @@ public final class ActivityManagerService extends ActivityManagerNative instructionSet = VMRuntime.getInstructionSet(app.info.primaryCpuAbi); } + app.gids = gids; + app.requiredAbi = requiredAbi; + app.instructionSet = instructionSet; + // Start the process. It will either succeed and return a result containing // the PID of the new process, or else throw a RuntimeException. boolean isActivityProcess = (entryPoint == null); @@ -3028,7 +3032,11 @@ public final class ActivityManagerService extends ActivityManagerNative StringBuilder buf = mStringBuilder; buf.setLength(0); buf.append("Start proc "); + buf.append(startResult.pid); + buf.append(':'); buf.append(app.processName); + buf.append('/'); + UserHandle.formatUid(buf, uid); if (!isActivityProcess) { buf.append(" ["); buf.append(entryPoint); @@ -3040,23 +3048,6 @@ public final class ActivityManagerService extends ActivityManagerNative buf.append(" "); buf.append(hostingNameStr); } - buf.append(": pid="); - buf.append(startResult.pid); - buf.append(" uid="); - buf.append(uid); - buf.append(" gids={"); - if (gids != null) { - for (int gi=0; gi<gids.length; gi++) { - if (gi != 0) buf.append(", "); - buf.append(gids[gi]); - - } - } - buf.append("}"); - if (requiredAbi != null) { - buf.append(" abi="); - buf.append(requiredAbi); - } Slog.i(TAG, buf.toString()); app.setPid(startResult.pid); app.usingWrapper = startResult.usingWrapper; @@ -5327,7 +5318,6 @@ public final class ActivityManagerService extends ActivityManagerNative int callingPid = Binder.getCallingPid(); if (callingPid == Process.myPid()) { // Yeah, um, no. - Slog.w(TAG, "Can't addPackageDependency on system process"); return; } ProcessRecord proc; diff --git a/services/core/java/com/android/server/am/CoreSettingsObserver.java b/services/core/java/com/android/server/am/CoreSettingsObserver.java index 0dc163b..d1682b8 100644 --- a/services/core/java/com/android/server/am/CoreSettingsObserver.java +++ b/services/core/java/com/android/server/am/CoreSettingsObserver.java @@ -108,50 +108,46 @@ final class CoreSettingsObserver extends ContentObserver { for (Map.Entry<String, Class<?>> entry : map.entrySet()) { String setting = entry.getKey(); Class<?> type = entry.getValue(); - try { - if (type == String.class) { - final String value; - if (map == sSecureSettingToTypeMap) { - value = Settings.Secure.getString(context.getContentResolver(), setting); - } else if (map == sSystemSettingToTypeMap) { - value = Settings.System.getString(context.getContentResolver(), setting); - } else { - value = Settings.Global.getString(context.getContentResolver(), setting); - } - snapshot.putString(setting, value); - } else if (type == int.class) { - final int value; - if (map == sSecureSettingToTypeMap) { - value = Settings.Secure.getInt(context.getContentResolver(), setting); - } else if (map == sSystemSettingToTypeMap) { - value = Settings.System.getInt(context.getContentResolver(), setting); - } else { - value = Settings.Global.getInt(context.getContentResolver(), setting); - } - snapshot.putInt(setting, value); - } else if (type == float.class) { - final float value; - if (map == sSecureSettingToTypeMap) { - value = Settings.Secure.getFloat(context.getContentResolver(), setting); - } else if (map == sSystemSettingToTypeMap) { - value = Settings.System.getFloat(context.getContentResolver(), setting); - } else { - value = Settings.Global.getFloat(context.getContentResolver(), setting); - } - snapshot.putFloat(setting, value); - } else if (type == long.class) { - final long value; - if (map == sSecureSettingToTypeMap) { - value = Settings.Secure.getLong(context.getContentResolver(), setting); - } else if (map == sSystemSettingToTypeMap) { - value = Settings.System.getLong(context.getContentResolver(), setting); - } else { - value = Settings.Global.getLong(context.getContentResolver(), setting); - } - snapshot.putLong(setting, value); + if (type == String.class) { + final String value; + if (map == sSecureSettingToTypeMap) { + value = Settings.Secure.getString(context.getContentResolver(), setting); + } else if (map == sSystemSettingToTypeMap) { + value = Settings.System.getString(context.getContentResolver(), setting); + } else { + value = Settings.Global.getString(context.getContentResolver(), setting); } - } catch (SettingNotFoundException snfe) { - Log.w(LOG_TAG, "Cannot find setting \"" + setting + "\"", snfe); + snapshot.putString(setting, value); + } else if (type == int.class) { + final int value; + if (map == sSecureSettingToTypeMap) { + value = Settings.Secure.getInt(context.getContentResolver(), setting, 0); + } else if (map == sSystemSettingToTypeMap) { + value = Settings.System.getInt(context.getContentResolver(), setting, 0); + } else { + value = Settings.Global.getInt(context.getContentResolver(), setting, 0); + } + snapshot.putInt(setting, value); + } else if (type == float.class) { + final float value; + if (map == sSecureSettingToTypeMap) { + value = Settings.Secure.getFloat(context.getContentResolver(), setting, 0); + } else if (map == sSystemSettingToTypeMap) { + value = Settings.System.getFloat(context.getContentResolver(), setting, 0); + } else { + value = Settings.Global.getFloat(context.getContentResolver(), setting, 0); + } + snapshot.putFloat(setting, value); + } else if (type == long.class) { + final long value; + if (map == sSecureSettingToTypeMap) { + value = Settings.Secure.getLong(context.getContentResolver(), setting, 0); + } else if (map == sSystemSettingToTypeMap) { + value = Settings.System.getLong(context.getContentResolver(), setting, 0); + } else { + value = Settings.Global.getLong(context.getContentResolver(), setting, 0); + } + snapshot.putLong(setting, value); } } } diff --git a/services/core/java/com/android/server/am/ProcessRecord.java b/services/core/java/com/android/server/am/ProcessRecord.java index 7c48f3e..a6c616a 100644 --- a/services/core/java/com/android/server/am/ProcessRecord.java +++ b/services/core/java/com/android/server/am/ProcessRecord.java @@ -64,6 +64,9 @@ final class ProcessRecord { ProcessStats.ProcessState baseProcessTracker; BatteryStatsImpl.Uid.Proc curProcBatteryStats; int pid; // The process of this application; 0 if none + int[] gids; // The gids this process was launched with + String requiredAbi; // The ABI this process was launched with + String instructionSet; // The instruction set this process was launched with boolean starting; // True if the process is being started long lastActivityTime; // For managing the LRU list long lastPssTime; // Last time we retrieved PSS data @@ -183,7 +186,17 @@ final class ProcessRecord { if (uid != info.uid) { pw.print(" ISOLATED uid="); pw.print(uid); } - pw.println(); + pw.print(" gids={"); + if (gids != null) { + for (int gi=0; gi<gids.length; gi++) { + if (gi != 0) pw.print(", "); + pw.print(gids[gi]); + + } + } + pw.println("}"); + pw.print(prefix); pw.print("requiredAbi="); pw.print(requiredAbi); + pw.print(" instructionSet="); pw.println(instructionSet); if (info.className != null) { pw.print(prefix); pw.print("class="); pw.println(info.className); } diff --git a/services/core/java/com/android/server/notification/ConditionProviders.java b/services/core/java/com/android/server/notification/ConditionProviders.java index 64d77c1..ab53fbc 100644 --- a/services/core/java/com/android/server/notification/ConditionProviders.java +++ b/services/core/java/com/android/server/notification/ConditionProviders.java @@ -168,7 +168,6 @@ public class ConditionProviders extends ManagedServices { @Override protected void onServiceAdded(ManagedServiceInfo info) { - Slog.d(TAG, "onServiceAdded " + info); final IConditionProvider provider = provider(info); try { provider.onConnected(); |