summaryrefslogtreecommitdiff
path: root/core/java/android/os/StrictMode.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/os/StrictMode.java')
-rw-r--r--core/java/android/os/StrictMode.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/os/StrictMode.java b/core/java/android/os/StrictMode.java
index ea71ad8c0563..4e9d1f096257 100644
--- a/core/java/android/os/StrictMode.java
+++ b/core/java/android/os/StrictMode.java
@@ -28,6 +28,7 @@ import android.util.ArrayMap;
import android.util.Log;
import android.util.Printer;
import android.util.Singleton;
+import android.util.Slog;
import android.view.IWindowManager;
import com.android.internal.os.RuntimeInit;
@@ -40,6 +41,7 @@ import dalvik.system.VMDebug;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
@@ -1688,7 +1690,13 @@ public final class StrictMode {
} else {
p.writeInt(violations.size());
for (int i = 0; i < violations.size(); ++i) {
+ int start = p.dataPosition();
violations.get(i).writeToParcel(p, 0 /* unused flags? */);
+ int size = p.dataPosition()-start;
+ if (size > 100*1024) {
+ Slog.d(TAG, "Wrote violation #" + i + " of " + violations.size() + ": "
+ + (p.dataPosition()-start) + " bytes");
+ }
}
if (LOG_V) Log.d(TAG, "wrote violations to response parcel; num=" + violations.size());
violations.clear(); // somewhat redundant, as we're about to null the threadlocal
@@ -2176,6 +2184,7 @@ public final class StrictMode {
*/
public void writeToParcel(Parcel dest, int flags) {
crashInfo.writeToParcel(dest, flags);
+ int start = dest.dataPosition();
dest.writeInt(policy);
dest.writeInt(durationMillis);
dest.writeInt(violationNumThisLoop);
@@ -2184,6 +2193,17 @@ public final class StrictMode {
dest.writeLong(numInstances);
dest.writeString(broadcastIntentAction);
dest.writeStringArray(tags);
+ int total = dest.dataPosition()-start;
+ if (total > 100*1024) {
+ Slog.d(TAG, "VIO: policy=" + policy + " dur=" + durationMillis
+ + " numLoop=" + violationNumThisLoop
+ + " anim=" + numAnimationsRunning
+ + " uptime=" + violationUptimeMillis
+ + " numInst=" + numInstances);
+ Slog.d(TAG, "VIO: action=" + broadcastIntentAction);
+ Slog.d(TAG, "VIO: tags=" + Arrays.toString(tags));
+ Slog.d(TAG, "VIO: TOTAL BYTES WRITTEN: " + (dest.dataPosition()-start));
+ }
}