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

Commit a3ea0e23 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Switch IpManager and IpReachabilityMonitor to use SharedLog"

parents 1fbe9624 9e665594
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import android.net.dhcp.DhcpClient;
import android.net.metrics.IpConnectivityLog;
import android.net.metrics.IpManagerEvent;
import android.net.util.MultinetworkPolicyTracker;
import android.net.util.SharedLog;
import android.os.INetworkManagementService;
import android.os.Message;
import android.os.RemoteException;
@@ -187,7 +188,7 @@ public class IpManager extends StateMachine {
        }

        private void log(String msg) {
            mLocalLog.log(PREFIX + msg);
            mLog.log(PREFIX + msg);
        }

        @Override
@@ -414,7 +415,7 @@ public class IpManager extends StateMachine {
    private final WakeupMessage mProvisioningTimeoutAlarm;
    private final WakeupMessage mDhcpActionTimeoutAlarm;
    private final MultinetworkPolicyTracker mMultinetworkPolicyTracker;
    private final LocalLog mLocalLog;
    private final SharedLog mLog;
    private final LocalLog mConnectivityPacketLog;
    private final MessageHandlingLogger mMsgStateLogger;
    private final IpConnectivityLog mMetricsLog = new IpConnectivityLog();
@@ -455,7 +456,7 @@ public class IpManager extends StateMachine {
        mCallback = new LoggingCallbackWrapper(callback);
        mNwService = nwService;

        mLocalLog = new LocalLog(MAX_LOG_RECORDS);
        mLog = new SharedLog(MAX_LOG_RECORDS, mTag);
        mConnectivityPacketLog = new LocalLog(MAX_PACKET_RECORDS);
        mMsgStateLogger = new MessageHandlingLogger();

@@ -500,7 +501,7 @@ public class IpManager extends StateMachine {

            private void logMsg(String msg) {
                Log.d(mTag, msg);
                getHandler().post(() -> { mLocalLog.log("OBSERVED " + msg); });
                getHandler().post(() -> { mLog.log("OBSERVED " + msg); });
            }
        };

@@ -508,7 +509,7 @@ public class IpManager extends StateMachine {
        mLinkProperties.setInterfaceName(mInterfaceName);

        mMultinetworkPolicyTracker = new MultinetworkPolicyTracker(mContext, getHandler(),
                () -> { mLocalLog.log("OBSERVED AvoidBadWifi changed"); });
                () -> { mLog.log("OBSERVED AvoidBadWifi changed"); });

        mProvisioningTimeoutAlarm = new WakeupMessage(mContext, getHandler(),
                mTag + ".EVENT_PROVISIONING_TIMEOUT", EVENT_PROVISIONING_TIMEOUT);
@@ -658,7 +659,7 @@ public class IpManager extends StateMachine {
        pw.println();
        pw.println(mTag + " StateMachine dump:");
        pw.increaseIndent();
        mLocalLog.readOnlyLocalLog().dump(fd, pw, args);
        mLog.dump(fd, pw, args);
        pw.decreaseIndent();

        pw.println();
@@ -693,7 +694,7 @@ public class IpManager extends StateMachine {
                msg.arg1, msg.arg2, Objects.toString(msg.obj), mMsgStateLogger);

        final String richerLogLine = getWhatToString(msg.what) + " " + logLine;
        mLocalLog.log(richerLogLine);
        mLog.log(richerLogLine);
        if (VDBG) {
            Log.d(mTag, richerLogLine);
        }
@@ -717,7 +718,7 @@ public class IpManager extends StateMachine {
    private void logError(String fmt, Object... args) {
        final String msg = "ERROR " + String.format(fmt, args);
        Log.e(mTag, msg);
        mLocalLog.log(msg);
        mLog.log(msg);
    }

    private void getNetworkInterface() {
@@ -1088,6 +1089,7 @@ public class IpManager extends StateMachine {
            mIpReachabilityMonitor = new IpReachabilityMonitor(
                    mContext,
                    mInterfaceName,
                    mLog,
                    new IpReachabilityMonitor.Callback() {
                        @Override
                        public void notifyLost(InetAddress ip, String logMsg) {
+8 −3
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import android.net.netlink.StructNdaCacheInfo;
import android.net.netlink.StructNdMsg;
import android.net.netlink.StructNlMsgHdr;
import android.net.util.MultinetworkPolicyTracker;
import android.net.util.SharedLog;
import android.os.PowerManager;
import android.os.SystemClock;
import android.system.ErrnoException;
@@ -150,6 +151,7 @@ public class IpReachabilityMonitor {
    private final PowerManager.WakeLock mWakeLock;
    private final String mInterfaceName;
    private final int mInterfaceIndex;
    private final SharedLog mLog;
    private final Callback mCallback;
    private final MultinetworkPolicyTracker mMultinetworkPolicyTracker;
    private final NetlinkSocketObserver mNetlinkSocketObserver;
@@ -222,11 +224,11 @@ public class IpReachabilityMonitor {
        return errno;
    }

    public IpReachabilityMonitor(Context context, String ifName, Callback callback) {
        this(context, ifName, callback, null);
    public IpReachabilityMonitor(Context context, String ifName, SharedLog log, Callback callback) {
        this(context, ifName, log, callback, null);
    }

    public IpReachabilityMonitor(Context context, String ifName, Callback callback,
    public IpReachabilityMonitor(Context context, String ifName, SharedLog log, Callback callback,
            MultinetworkPolicyTracker tracker) throws IllegalArgumentException {
        mInterfaceName = ifName;
        int ifIndex = -1;
@@ -238,6 +240,7 @@ public class IpReachabilityMonitor {
        }
        mWakeLock = ((PowerManager) context.getSystemService(Context.POWER_SERVICE)).newWakeLock(
                PowerManager.PARTIAL_WAKE_LOCK, TAG + "." + mInterfaceName);
        mLog = log.forSubComponent(TAG);
        mCallback = callback;
        mMultinetworkPolicyTracker = tracker;
        mNetlinkSocketObserver = new NetlinkSocketObserver();
@@ -410,6 +413,8 @@ public class IpReachabilityMonitor {
                break;
            }
            final int returnValue = probeNeighbor(mInterfaceIndex, target);
            mLog.log(String.format("put neighbor %s into NUD_PROBE state (rval=%d)",
                     target.getHostAddress(), returnValue));
            logEvent(IpReachabilityEvent.PROBE, returnValue);
        }
        mLastProbeTimeMs = SystemClock.elapsedRealtime();