From 7048285cb3a9e618aea65d21f3f74c49dbde0b4d Mon Sep 17 00:00:00 2001 From: Erik Kline Date: Wed, 21 Feb 2018 14:54:04 -0800 Subject: [PATCH] Wait for IpClient to shutdown This makes sure that we never accidentally have two IpClients vying for control of the same interface. Test: as follows - built - flashed - booted Bug: 62476366 Change-Id: Iab4ca7c2445e70b6f8beaf5dc6921cb0c6cd56ed --- .../src/com/android/server/ethernet/EthernetNetworkFactory.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java b/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java index d4648795c6..f95500e6e8 100644 --- a/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java +++ b/service-t/src/com/android/server/ethernet/EthernetNetworkFactory.java @@ -355,8 +355,10 @@ public class EthernetNetworkFactory extends NetworkFactory { void stop() { if (mIpClient != null) { mIpClient.shutdown(); + mIpClient.awaitShutdown(); mIpClient = null; } + // ConnectivityService will only forget our NetworkAgent if we send it a NetworkInfo object // with a state of DISCONNECTED or SUSPENDED. So we can't simply clear our NetworkInfo here: // that sets the state to IDLE, and ConnectivityService will still think we're connected.