2828import android .util .Log ;
2929import android .util .Printer ;
3030import android .util .Singleton ;
31+ import android .util .Slog ;
3132import android .view .IWindowManager ;
3233
3334import com .android .internal .os .RuntimeInit ;
4041import java .io .PrintWriter ;
4142import java .io .StringWriter ;
4243import java .util .ArrayList ;
44+ import java .util .Arrays ;
4345import java .util .HashMap ;
4446import java .util .Map ;
4547import java .util .concurrent .atomic .AtomicInteger ;
@@ -1688,7 +1690,13 @@ public static void onVmPolicyViolation(String message, Throwable originStack) {
16881690 } else {
16891691 p .writeInt (violations .size ());
16901692 for (int i = 0 ; i < violations .size (); ++i ) {
1693+ int start = p .dataPosition ();
16911694 violations .get (i ).writeToParcel (p , 0 /* unused flags? */ );
1695+ int size = p .dataPosition ()-start ;
1696+ if (size > 100 *1024 ) {
1697+ Slog .d (TAG , "Wrote violation #" + i + " of " + violations .size () + ": "
1698+ + (p .dataPosition ()-start ) + " bytes" );
1699+ }
16921700 }
16931701 if (LOG_V ) Log .d (TAG , "wrote violations to response parcel; num=" + violations .size ());
16941702 violations .clear (); // somewhat redundant, as we're about to null the threadlocal
@@ -2176,6 +2184,7 @@ public ViolationInfo(Parcel in, boolean unsetGatheringBit) {
21762184 */
21772185 public void writeToParcel (Parcel dest , int flags ) {
21782186 crashInfo .writeToParcel (dest , flags );
2187+ int start = dest .dataPosition ();
21792188 dest .writeInt (policy );
21802189 dest .writeInt (durationMillis );
21812190 dest .writeInt (violationNumThisLoop );
@@ -2184,6 +2193,17 @@ public void writeToParcel(Parcel dest, int flags) {
21842193 dest .writeLong (numInstances );
21852194 dest .writeString (broadcastIntentAction );
21862195 dest .writeStringArray (tags );
2196+ int total = dest .dataPosition ()-start ;
2197+ if (total > 100 *1024 ) {
2198+ Slog .d (TAG , "VIO: policy=" + policy + " dur=" + durationMillis
2199+ + " numLoop=" + violationNumThisLoop
2200+ + " anim=" + numAnimationsRunning
2201+ + " uptime=" + violationUptimeMillis
2202+ + " numInst=" + numInstances );
2203+ Slog .d (TAG , "VIO: action=" + broadcastIntentAction );
2204+ Slog .d (TAG , "VIO: tags=" + Arrays .toString (tags ));
2205+ Slog .d (TAG , "VIO: TOTAL BYTES WRITTEN: " + (dest .dataPosition ()-start ));
2206+ }
21872207 }
21882208
21892209
0 commit comments