OSDN Git Service

Don't leak captive portal broadcast receivers.
authorLorenzo Colitti <lorenzo@google.com>
Tue, 9 Apr 2019 04:35:03 +0000 (21:35 -0700)
committerLorenzo Colitti <lorenzo@google.com>
Tue, 9 Apr 2019 06:26:23 +0000 (06:26 +0000)
commit15be2b1a36be688c1b5edde3c43dfbc1459a60a2
treec939b87d4d70253bbee012e578573e63585c637b
parent16f682cac6840e6fd760cd3a076a36c46042cf6c
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
Merged-In: I1db24fe05ada8b3a37a9a60aa568b6153bf51ad8
(cherry picked from commit 3a1c0ad3eee7830d808106649052dd7430e34f92)
packages/NetworkStack/src/com/android/server/connectivity/NetworkMonitor.java