Merge "Release the interface request when Ethernet tethering is stopped." am: 8281abfdb6

Change-Id: Ia0491c302528ce0a727c1ffa77a1fc3a7508f601
This commit is contained in:
Treehugger Robot
2020-03-19 15:08:46 +00:00
committed by Automerger Merge Worker

View File

@@ -640,22 +640,22 @@ public class Tethering {
mEthernetIfaceRequest = em.requestTetheredInterface(mExecutor, mEthernetCallback); mEthernetIfaceRequest = em.requestTetheredInterface(mExecutor, mEthernetCallback);
} else { } else {
stopEthernetTetheringLocked(); stopEthernetTetheringLocked();
if (mEthernetCallback != null) {
mEthernetIfaceRequest.release();
mEthernetCallback = null;
mEthernetIfaceRequest = null;
}
} }
} }
return TETHER_ERROR_NO_ERROR; return TETHER_ERROR_NO_ERROR;
} }
private void stopEthernetTetheringLocked() { private void stopEthernetTetheringLocked() {
if (mConfiguredEthernetIface == null) return; if (mConfiguredEthernetIface != null) {
changeInterfaceState(mConfiguredEthernetIface, IpServer.STATE_AVAILABLE);
stopTrackingInterfaceLocked(mConfiguredEthernetIface); stopTrackingInterfaceLocked(mConfiguredEthernetIface);
mConfiguredEthernetIface = null; mConfiguredEthernetIface = null;
} }
if (mEthernetCallback != null) {
mEthernetIfaceRequest.release();
mEthernetCallback = null;
mEthernetIfaceRequest = null;
}
}
private class EthernetCallback implements EthernetManager.TetheredInterfaceCallback { private class EthernetCallback implements EthernetManager.TetheredInterfaceCallback {
@Override @Override