diff --git a/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java b/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java index 32dbd7e0b6..cd086e721f 100644 --- a/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java +++ b/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java @@ -506,12 +506,15 @@ public class EthernetNetworkFactory extends NetworkFactory { mNetworkFactory.getProvider(), new EthernetNetworkAgent.Callbacks() { @Override public void onNetworkUnwanted() { + // if mNetworkAgent is null, we have already called stop. + if (mNetworkAgent == null) return; + if (this == mNetworkAgent.getCallbacks()) { stop(); - } else if (mNetworkAgent != null) { + } else { Log.d(TAG, "Ignoring unwanted as we have a more modern " + "instance"); - } // Otherwise, we've already called stop. + } } }); mNetworkAgent.register();