OSDN Git Service

Don't leak captive portal broadcast receivers.
authorLorenzo Colitti <lorenzo@google.com>
Mon, 8 Apr 2019 08:14:35 +0000 (17:14 +0900)
committerLorenzo Colitti <lorenzo@google.com>
Mon, 8 Apr 2019 12:14:23 +0000 (21:14 +0900)
commite35374386bdb473f0e6733ae15d90214ce402698
treeffb7c862b4b032aed7950db410f0024a449df7aa
parent43b75cad9eed2d8d12375316a51ed31b3af01400
Don't leak captive portal broadcast receivers.

Since aosp/937885, mLaunchCaptivePortalAppBroadcastReceiver is
nulled out, but not unregistered, when exiting MaybeNotifyState.
This causes the BroadcastReceiver to be leaked because it is no
longer unregistered when processing CMD_NETWORK_DISCONNECTED.

Fix this by unregistering the receiver in MaybeNotifyState#exit.
Also remove the unregister call in CMD_NETWORK_DISCONNECTED: it
is no longer necessary, because StateMachine, before quitting,
will call the exit method of the current state and all its
parent states.

Bug: 122164725
Test: atest FrameworksNetTests NetworkStackTests
Change-Id: I447b3cfd3821dda19482ed962dd59ec61fc5fc9b
packages/NetworkStack/src/com/android/server/connectivity/NetworkMonitor.java