Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 313af5a3 authored by Robert Greenwalt's avatar Robert Greenwalt Committed by Android (Google) Code Review
Browse files

Merge "Add Inet Condition log to bugreports" into gingerbread

parents df59f257 4e8dfefb
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import com.android.server.connectivity.Tethering;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;

/**
@@ -109,6 +110,10 @@ public class ConnectivityService extends IConnectivityManager.Stub {
    private boolean mSystemReady;
    private Intent mInitialBroadcast;

    // used in DBG mode to track inet condition reports
    private static final int INET_CONDITION_LOG_MAX_SIZE = 15;
    private ArrayList mInetLog;

    private static class NetworkAttributes {
        /**
         * Class for holding settings read from resources.
@@ -329,6 +334,9 @@ public class ConnectivityService extends IConnectivityManager.Stub {
                                  mTethering.getTetherableWifiRegexs().length != 0) &&
                                 mTethering.getUpstreamIfaceRegexs().length != 0);

        if (DBG) {
            mInetLog = new ArrayList();
        }
    }


@@ -1365,6 +1373,14 @@ public class ConnectivityService extends IConnectivityManager.Stub {
        pw.println();

        mTethering.dump(fd, pw, args);

        if (mInetLog != null) {
            pw.println();
            pw.println("Inet condition reports:");
            for(int i = 0; i < mInetLog.size(); i++) {
                pw.println(mInetLog.get(i));
            }
        }
    }

    // must be stateless - things change under us.
@@ -1613,6 +1629,17 @@ public class ConnectivityService extends IConnectivityManager.Stub {
                android.Manifest.permission.STATUS_BAR,
                "ConnectivityService");

        if (DBG) {
            int pid = getCallingPid();
            int uid = getCallingUid();
            String s = pid + "(" + uid + ") reports inet is " +
                (percentage > 50 ? "connected" : "disconnected") + " (" + percentage + ") on " +
                "network Type " + networkType + " at " + GregorianCalendar.getInstance().getTime();
            mInetLog.add(s);
            while(mInetLog.size() > INET_CONDITION_LOG_MAX_SIZE) {
                mInetLog.remove(0);
            }
        }
        mHandler.sendMessage(mHandler.obtainMessage(
            NetworkStateTracker.EVENT_INET_CONDITION_CHANGE, networkType, percentage));
    }