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

Commit d60ae7f6 authored by Doug Zongker's avatar Doug Zongker Committed by Mike Lockwood
Browse files

store the hw addr in the extraInfo field of ethernet NetworkInfos

parent f0451db4
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ public class EthernetDataTracker implements NetworkStateTracker {
    private LinkCapabilities mLinkCapabilities;
    private NetworkInfo mNetworkInfo;
    private InterfaceObserver mInterfaceObserver;
    private String mHwAddr;

    /* For sending events to connectivity service handler */
    private Handler mCsHandler;
@@ -102,6 +103,7 @@ public class EthernetDataTracker implements NetworkStateTracker {
        mLinkProperties = new LinkProperties();
        mLinkCapabilities = new LinkCapabilities();
        mLinkUp = false;
        mHwAddr = null;

        mNetworkInfo.setIsAvailable(false);
        setTeardownRequested(false);
@@ -132,7 +134,7 @@ public class EthernetDataTracker implements NetworkStateTracker {

        mLinkProperties.clear();
        mNetworkInfo.setIsAvailable(false);
        mNetworkInfo.setDetailedState(DetailedState.DISCONNECTED, null, null);
        mNetworkInfo.setDetailedState(DetailedState.DISCONNECTED, null, mHwAddr);

        Message msg = mCsHandler.obtainMessage(EVENT_CONFIGURATION_CHANGED, mNetworkInfo);
        msg.sendToTarget();
@@ -169,7 +171,7 @@ public class EthernetDataTracker implements NetworkStateTracker {
                mLinkProperties = dhcpInfoInternal.makeLinkProperties();
                mLinkProperties.setInterfaceName(mIface);

                mNetworkInfo.setDetailedState(DetailedState.CONNECTED, null, null);
                mNetworkInfo.setDetailedState(DetailedState.CONNECTED, null, mHwAddr);
                Message msg = mCsHandler.obtainMessage(EVENT_STATE_CHANGED, mNetworkInfo);
                msg.sendToTarget();
            }
@@ -218,6 +220,12 @@ public class EthernetDataTracker implements NetworkStateTracker {
                    mIface = iface;
                    InterfaceConfiguration config = service.getInterfaceConfig(iface);
                    mLinkUp = config.isActive();
                    if (config != null && mHwAddr == null) {
                        mHwAddr = config.hwAddr;
                        if (mHwAddr != null) {
                            mNetworkInfo.setExtraInfo(mHwAddr);
                        }
                    }
                    reconnect();
                    break;
                }
+12 −0
Original line number Diff line number Diff line
@@ -350,6 +350,18 @@ public class NetworkInfo implements Parcelable {
        }
    }

    /**
     * Set the extraInfo field.
     * @param extraInfo an optional {@code String} providing addditional network state
     * information passed up from the lower networking layers.
     * @hide
     */
    public void setExtraInfo(String extraInfo) {
        synchronized (this) {
            this.mExtraInfo = extraInfo;
        }
    }

    /**
     * Report the reason an attempt to establish connectivity failed,
     * if one is available.