summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/util/Log.java19
-rw-r--r--core/java/android/util/Slog.java8
-rw-r--r--core/java/com/android/internal/app/ProcessStats.java25
3 files changed, 28 insertions, 24 deletions
diff --git a/core/java/android/util/Log.java b/core/java/android/util/Log.java
index 8c1cf5f..abd173a 100644
--- a/core/java/android/util/Log.java
+++ b/core/java/android/util/Log.java
@@ -253,7 +253,7 @@ public final class Log {
* @param msg The message you would like logged.
*/
public static int wtf(String tag, String msg) {
- return wtf(tag, msg, null);
+ return wtf(LOG_ID_MAIN, tag, msg, null, false);
}
/**
@@ -262,7 +262,7 @@ public final class Log {
* @hide
*/
public static int wtfStack(String tag, String msg) {
- return wtfStack(LOG_ID_MAIN, tag, msg);
+ return wtf(LOG_ID_MAIN, tag, msg, null, true);
}
/**
@@ -272,7 +272,7 @@ public final class Log {
* @param tr An exception to log.
*/
public static int wtf(String tag, Throwable tr) {
- return wtf(tag, tr.getMessage(), tr);
+ return wtf(LOG_ID_MAIN, tag, tr.getMessage(), tr, false);
}
/**
@@ -283,18 +283,13 @@ public final class Log {
* @param tr An exception to log. May be null.
*/
public static int wtf(String tag, String msg, Throwable tr) {
- return wtf(LOG_ID_MAIN, tag, msg, tr);
+ return wtf(LOG_ID_MAIN, tag, msg, tr, false);
}
- static int wtfStack(int logId, String tag, String msg) {
- TerribleFailure here = new TerribleFailure("here", null);
- here.fillInStackTrace();
- return wtf(logId, tag, msg, here);
- }
-
- static int wtf(int logId, String tag, String msg, Throwable tr) {
+ static int wtf(int logId, String tag, String msg, Throwable tr, boolean localStack) {
TerribleFailure what = new TerribleFailure(msg, tr);
- int bytes = println_native(logId, ASSERT, tag, msg + '\n' + getStackTraceString(tr));
+ int bytes = println_native(logId, ASSERT, tag, msg + '\n'
+ + getStackTraceString(localStack ? what : tr));
sWtfHandler.onTerribleFailure(tag, what);
return bytes;
}
diff --git a/core/java/android/util/Slog.java b/core/java/android/util/Slog.java
index a5c22ff..70795bb 100644
--- a/core/java/android/util/Slog.java
+++ b/core/java/android/util/Slog.java
@@ -79,19 +79,19 @@ public final class Slog {
}
public static int wtf(String tag, String msg) {
- return Log.wtf(Log.LOG_ID_SYSTEM, tag, msg, null);
+ return Log.wtf(Log.LOG_ID_SYSTEM, tag, msg, null, false);
}
public static int wtfStack(String tag, String msg) {
- return Log.wtfStack(Log.LOG_ID_SYSTEM, tag, msg);
+ return Log.wtf(Log.LOG_ID_SYSTEM, tag, msg, null, true);
}
public static int wtf(String tag, Throwable tr) {
- return Log.wtf(Log.LOG_ID_SYSTEM, tag, tr.getMessage(), tr);
+ return Log.wtf(Log.LOG_ID_SYSTEM, tag, tr.getMessage(), tr, false);
}
public static int wtf(String tag, String msg, Throwable tr) {
- return Log.wtf(Log.LOG_ID_SYSTEM, tag, msg, tr);
+ return Log.wtf(Log.LOG_ID_SYSTEM, tag, msg, tr, false);
}
public static int println(int priority, String tag, String msg) {
diff --git a/core/java/com/android/internal/app/ProcessStats.java b/core/java/com/android/internal/app/ProcessStats.java
index 430e43a..222e446 100644
--- a/core/java/com/android/internal/app/ProcessStats.java
+++ b/core/java/com/android/internal/app/ProcessStats.java
@@ -2918,29 +2918,38 @@ public final class ProcessStats implements Parcelable {
}
}
- public void clearCurrentOwner(Object owner) {
+ public void clearCurrentOwner(Object owner, boolean silently) {
if (mOwner == owner) {
- mOwner = null;
mProc.decActiveServices(mName);
if (mStartedState != STATE_NOTHING || mBoundState != STATE_NOTHING
|| mExecState != STATE_NOTHING) {
long now = SystemClock.uptimeMillis();
if (mStartedState != STATE_NOTHING) {
- Slog.wtfStack(TAG, "Service owner " + owner + " cleared while started: pkg="
- + mPackage + " service=" + mName + " proc=" + mProc);
+ if (!silently) {
+ Slog.wtfStack(TAG, "Service owner " + owner
+ + " cleared while started: pkg=" + mPackage + " service="
+ + mName + " proc=" + mProc);
+ }
setStarted(false, 0, now);
}
if (mBoundState != STATE_NOTHING) {
- Slog.wtfStack(TAG, "Service owner " + owner + " cleared while bound: pkg="
- + mPackage + " service=" + mName + " proc=" + mProc);
+ if (!silently) {
+ Slog.wtfStack(TAG, "Service owner " + owner
+ + " cleared while bound: pkg=" + mPackage + " service="
+ + mName + " proc=" + mProc);
+ }
setBound(false, 0, now);
}
if (mExecState != STATE_NOTHING) {
- Slog.wtfStack(TAG, "Service owner " + owner + " cleared while exec: pkg="
- + mPackage + " service=" + mName + " proc=" + mProc);
+ if (!silently) {
+ Slog.wtfStack(TAG, "Service owner " + owner
+ + " cleared while exec: pkg=" + mPackage + " service="
+ + mName + " proc=" + mProc);
+ }
setExecuting(false, 0, now);
}
}
+ mOwner = null;
}
}