Stop TCP keepalive from CS for fd initiated stop events

When a TCP keepalive start request is sent from ConnectivityService
to KeepaliveTracker, the keepalive is tracked on both
AutomaticOnOffKeepaliveTracker and KeepaliveTracker. The existing
design stops the keepalive inside KeepaliveTracker without
notifying AutomaticOnOffKeepaliveTracker for fd initiated stops.
This causes AutomaticOnOffKeepaliveTracker to lose track of these
fd initiated stops and cause a leak on the object.

The updated design sends the event to ConnectivityService handler
to handle the event down from ConnectivityService. This ensures
that each stakeholder class will get the stop event.

Bug: 283885097
Test: atest FrameworksNetTests
Test: atest CtsNetTestCases
(cherry picked from https://android-review.googlesource.com/q/commit:739f0960f3b18f3cb7c68241319f2a0ed5a4535a)
Merged-In: I3c40d80694cd2c046f3a19ddb8f437878c98ab43
Change-Id: I3c40d80694cd2c046f3a19ddb8f437878c98ab43
3 files changed