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

Commit 22223c8c authored by Sudheer Shanka's avatar Sudheer Shanka Committed by Automerger Merge Worker
Browse files

Merge "Fix NPE in NetworkPolicyLogger.networkBlocked()." am: 09de945c

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1977008

Change-Id: I5653f2b8c875ad77b26c90e95571be766a43f997
parents 99109bf9 09de945c
Loading
Loading
Loading
Loading
+11 −3
Original line number Original line Diff line number Diff line
@@ -15,12 +15,14 @@
 */
 */
package com.android.server.net;
package com.android.server.net;


import static android.net.ConnectivityManager.BLOCKED_REASON_NONE;
import static android.net.INetd.FIREWALL_CHAIN_DOZABLE;
import static android.net.INetd.FIREWALL_CHAIN_DOZABLE;
import static android.net.INetd.FIREWALL_CHAIN_POWERSAVE;
import static android.net.INetd.FIREWALL_CHAIN_POWERSAVE;
import static android.net.INetd.FIREWALL_CHAIN_RESTRICTED;
import static android.net.INetd.FIREWALL_CHAIN_RESTRICTED;
import static android.net.INetd.FIREWALL_CHAIN_STANDBY;
import static android.net.INetd.FIREWALL_CHAIN_STANDBY;
import static android.net.INetd.FIREWALL_RULE_ALLOW;
import static android.net.INetd.FIREWALL_RULE_ALLOW;
import static android.net.INetd.FIREWALL_RULE_DENY;
import static android.net.INetd.FIREWALL_RULE_DENY;
import static android.net.NetworkPolicyManager.ALLOWED_REASON_NONE;
import static android.net.NetworkPolicyManager.FIREWALL_CHAIN_NAME_DOZABLE;
import static android.net.NetworkPolicyManager.FIREWALL_CHAIN_NAME_DOZABLE;
import static android.net.NetworkPolicyManager.FIREWALL_CHAIN_NAME_POWERSAVE;
import static android.net.NetworkPolicyManager.FIREWALL_CHAIN_NAME_POWERSAVE;
import static android.net.NetworkPolicyManager.FIREWALL_CHAIN_NAME_RESTRICTED;
import static android.net.NetworkPolicyManager.FIREWALL_CHAIN_NAME_RESTRICTED;
@@ -29,6 +31,7 @@ import static android.net.NetworkPolicyManager.FIREWALL_RULE_DEFAULT;
import static android.os.PowerExemptionManager.reasonCodeToString;
import static android.os.PowerExemptionManager.reasonCodeToString;
import static android.os.Process.INVALID_UID;
import static android.os.Process.INVALID_UID;


import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.ActivityManager;
import android.app.ActivityManager.ProcessCapability;
import android.app.ActivityManager.ProcessCapability;
import android.net.NetworkPolicyManager;
import android.net.NetworkPolicyManager;
@@ -81,15 +84,20 @@ public class NetworkPolicyLogger {


    private final Object mLock = new Object();
    private final Object mLock = new Object();


    void networkBlocked(int uid, UidBlockedState uidBlockedState) {
    void networkBlocked(int uid, @Nullable UidBlockedState uidBlockedState) {
        synchronized (mLock) {
        synchronized (mLock) {
            if (LOGD || uid == mDebugUid) {
            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,
                        BLOCKED_REASON_NONE);
            } else {
                mNetworkBlockedBuffer.networkBlocked(uid, uidBlockedState.blockedReasons,
                mNetworkBlockedBuffer.networkBlocked(uid, uidBlockedState.blockedReasons,
                        uidBlockedState.allowedReasons, uidBlockedState.effectiveBlockedReasons);
                        uidBlockedState.allowedReasons, uidBlockedState.effectiveBlockedReasons);
            }
            }
        }
        }
    }


    void uidStateChanged(int uid, int procState, long procStateSeq,
    void uidStateChanged(int uid, int procState, long procStateSeq,
            @ProcessCapability int capability) {
            @ProcessCapability int capability) {