diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java index 5c0be89f71226..a2aadb52cd81d 100644 --- a/wifi/java/android/net/wifi/WifiManager.java +++ b/wifi/java/android/net/wifi/WifiManager.java @@ -3215,6 +3215,7 @@ public class WifiManager { private final CloseGuard mCloseGuard = CloseGuard.get(); private final WifiConfiguration mConfig; + private boolean mClosed = false; /** @hide */ @VisibleForTesting @@ -3230,8 +3231,13 @@ public class WifiManager { @Override public void close() { try { - stopLocalOnlyHotspot(); - mCloseGuard.close(); + synchronized (mLock) { + if (!mClosed) { + mClosed = true; + stopLocalOnlyHotspot(); + mCloseGuard.close(); + } + } } catch (Exception e) { Log.e(TAG, "Failed to stop Local Only Hotspot."); }