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

Commit 29bd384f authored by Lorenzo Colitti's avatar Lorenzo Colitti
Browse files

Add debug output for bad wifi avoidance restrictions.

Bug: 31075769
Change-Id: Ibd97f40917c946aa164c13c7e06c4696d21dc203
parent 165c51c0
Loading
Loading
Loading
Loading
+38 −0
Original line number Diff line number Diff line
@@ -2065,7 +2065,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
        mKeepaliveTracker.dump(pw);

        pw.println();
        dumpAvoidBadWifiSettings(pw);

        pw.println();
        if (mInetLog != null && mInetLog.size() > 0) {
            pw.println();
            pw.println("Inet condition reports:");
@@ -2781,6 +2783,42 @@ public class ConnectivityService extends IConnectivityManager.Stub
        return mAvoidBadWifi != prev;
    }

    private void dumpAvoidBadWifiSettings(IndentingPrintWriter pw) {
        boolean configRestrict = configRestrictsAvoidBadWifi();
        if (!configRestrict) {
            pw.println("Bad Wi-Fi avoidance: unrestricted");
            return;
        }

        pw.println("Bad Wi-Fi avoidance: " + avoidBadWifi());
        pw.increaseIndent();
        pw.println("Config restrict:   " + configRestrict);

        String value = Settings.Global.getString(
                mContext.getContentResolver(), Settings.Global.NETWORK_AVOID_BAD_WIFI);
        String description;
        // Can't use a switch statement because strings are legal case labels, but null is not.
        if ("0".equals(value)) {
            description = "get stuck";
        } else if (value == null) {
            description = "prompt";
        } else if ("1".equals(value)) {
            description = "avoid";
        } else {
            description = value + " (?)";
        }
        pw.println("User setting:      " + description);
        pw.println("Network overrides:");
        pw.increaseIndent();
        for (NetworkAgentInfo nai : mNetworkAgentInfos.values()) {
            if (nai.avoidUnvalidated) {
                pw.println(nai.name());
            }
        }
        pw.decreaseIndent();
        pw.decreaseIndent();
    }

    private void showValidationNotification(NetworkAgentInfo nai, NotificationType type) {
        final String action;
        switch (type) {