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

Commit 9d8609fb authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add some debugs to diagnose test failure." into tm-dev

parents cc2d08db 362b52cf
Loading
Loading
Loading
Loading
+55 −1
Original line number Diff line number Diff line
@@ -77,6 +77,8 @@ public class NetworkPolicyLogger {
    private static final int EVENT_FIREWALL_CHAIN_ENABLED = 12;
    private static final int EVENT_UPDATE_METERED_RESTRICTED_PKGS = 13;
    private static final int EVENT_APP_IDLE_WL_CHANGED = 14;
    private static final int EVENT_METERED_ALLOWLIST_CHANGED = 15;
    private static final int EVENT_METERED_DENYLIST_CHANGED = 16;

    private final LogBuffer mNetworkBlockedBuffer = new LogBuffer(MAX_NETWORK_BLOCKED_LOG_SIZE);
    private final LogBuffer mUidStateChangeBuffer = new LogBuffer(MAX_LOG_SIZE);
@@ -89,7 +91,7 @@ public class NetworkPolicyLogger {
    void networkBlocked(int uid, @Nullable UidBlockedState uidBlockedState) {
        synchronized (mLock) {
            if (LOGD || uid == mDebugUid) {
                Slog.d(TAG, "Blocked state of uid: " + uidBlockedState.toString());
                Slog.d(TAG, "Blocked state of " + uid + ": " + uidBlockedState.toString());
            }
            if (uidBlockedState == null) {
                mNetworkBlockedBuffer.networkBlocked(uid, BLOCKED_REASON_NONE, ALLOWED_REASON_NONE,
@@ -245,6 +247,24 @@ public class NetworkPolicyLogger {
        }
    }

    void meteredAllowlistChanged(int uid, boolean added) {
        synchronized (mLock) {
            if (LOGD || mDebugUid == uid) {
                Slog.d(TAG, getMeteredAllowlistChangedLog(uid, added));
            }
            mEventsBuffer.meteredAllowlistChanged(uid, added);
        }
    }

    void meteredDenylistChanged(int uid, boolean added) {
        synchronized (mLock) {
            if (LOGD || mDebugUid == uid) {
                Slog.d(TAG, getMeteredDenylistChangedLog(uid, added));
            }
            mEventsBuffer.meteredDenylistChanged(uid, added);
        }
    }

    void setDebugUid(int uid) {
        mDebugUid = uid;
    }
@@ -320,6 +340,14 @@ public class NetworkPolicyLogger {
        return "Firewall chain " + getFirewallChainName(chain) + " state: " + enabled;
    }

    private static String getMeteredAllowlistChangedLog(int uid, boolean added) {
        return "metered-allowlist for " + uid + " changed to " + added;
    }

    private static String getMeteredDenylistChangedLog(int uid, boolean added) {
        return "metered-denylist for " + uid + " changed to " + added;
    }

    private static String getFirewallChainName(int chain) {
        switch (chain) {
            case FIREWALL_CHAIN_DOZABLE:
@@ -520,6 +548,28 @@ public class NetworkPolicyLogger {
            data.timeStamp = System.currentTimeMillis();
        }

        public void meteredAllowlistChanged(int uid, boolean added) {
            final Data data = getNextSlot();
            if (data == null) return;

            data.reset();
            data.type = EVENT_METERED_ALLOWLIST_CHANGED;
            data.ifield1 = uid;
            data.bfield1 = added;
            data.timeStamp = System.currentTimeMillis();
        }

        public void meteredDenylistChanged(int uid, boolean added) {
            final Data data = getNextSlot();
            if (data == null) return;

            data.reset();
            data.type = EVENT_METERED_DENYLIST_CHANGED;
            data.ifield1 = uid;
            data.bfield1 = added;
            data.timeStamp = System.currentTimeMillis();
        }

        public void reverseDump(IndentingPrintWriter pw) {
            final Data[] allData = toArray();
            for (int i = allData.length - 1; i >= 0; --i) {
@@ -567,6 +617,10 @@ public class NetworkPolicyLogger {
                    return getUidFirewallRuleChangedLog(data.ifield1, data.ifield2, data.ifield3);
                case EVENT_FIREWALL_CHAIN_ENABLED:
                    return getFirewallChainEnabledLog(data.ifield1, data.bfield1);
                case EVENT_METERED_ALLOWLIST_CHANGED:
                    return getMeteredAllowlistChangedLog(data.ifield1, data.bfield1);
                case EVENT_METERED_DENYLIST_CHANGED:
                    return getMeteredDenylistChangedLog(data.ifield1, data.bfield1);
                default:
                    return String.valueOf(data.type);
            }
+5 −1
Original line number Diff line number Diff line
@@ -4864,7 +4864,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
                    + ", isAllowed=" + isAllowed
                    + ", isRestrictedByAdmin=" + isRestrictedByAdmin
                    + ", oldBlockedState=" + previousUidBlockedState.toString()
                    + ", newBlockedState="
                    + ", newBlockedState=" + uidBlockedState.toString()
                    + ", oldBlockedMeteredReasons=" + NetworkPolicyManager.blockedReasonsToString(
                    uidBlockedState.blockedReasons & BLOCKED_METERED_REASON_MASK)
                    + ", oldBlockedMeteredEffectiveReasons="
@@ -5420,6 +5420,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
        if (LOGV) Slog.v(TAG, "setMeteredNetworkDenylist " + uid + ": " + enable);
        try {
            mNetworkManager.setUidOnMeteredNetworkDenylist(uid, enable);
            mLogger.meteredAllowlistChanged(uid, enable);
        } catch (IllegalStateException e) {
            Log.wtf(TAG, "problem setting denylist (" + enable + ") rules for " + uid, e);
        } catch (RemoteException e) {
@@ -5431,6 +5432,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
        if (LOGV) Slog.v(TAG, "setMeteredNetworkAllowlist " + uid + ": " + enable);
        try {
            mNetworkManager.setUidOnMeteredNetworkAllowlist(uid, enable);
            mLogger.meteredDenylistChanged(uid, enable);
        } catch (IllegalStateException e) {
            Log.wtf(TAG, "problem setting allowlist (" + enable + ") rules for " + uid, e);
        } catch (RemoteException e) {
@@ -5563,7 +5565,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
                    .setFirewallUidRule(FIREWALL_CHAIN_LOW_POWER_STANDBY, uid,
                            FIREWALL_RULE_DEFAULT);
            mNetworkManager.setUidOnMeteredNetworkAllowlist(uid, false);
            mLogger.meteredAllowlistChanged(uid, false);
            mNetworkManager.setUidOnMeteredNetworkDenylist(uid, false);
            mLogger.meteredDenylistChanged(uid, false);
        } catch (IllegalStateException e) {
            Log.wtf(TAG, "problem resetting firewall uid rules for " + uid, e);
        } catch (RemoteException e) {