wifi: Add new callback to support use case in bridged mode

In bridged mode, it needs the way to know connected client and info in
each instance. Add callback onConnectedClientsChangedWithApInfo to
provide the link between clients and info

Design in Service side:
1. Maintain Map<String, List<WifiClient>) mConnectedClientsMap.
Using apInstanceIdentifier to get SoftApInfo.
2. Create SoftApCallbackInternal in WifiServiceImp for service internal
usage.
New flow:
WifiManager#SoftApCallback <-> ISoftApCallback <->
WifiServiceImpl.SoftApCallbackInternal

3. Use onConnectedClientsOrInfoChanged to replace below callbacks
a. onInfoChanged(SoftApInfo)
b. onInfoChanged(List<SoftApInfo>)
c. onConnectedClientsChanged(SoftApInfo, List<WifiClient>)
d. onConnectedClientsChanged(List<WifiClient>)

4. Revise the unit test flow for new test case implementation.

AP+AP Part 6 includes:
Support dual SoftApInfo callback
   a. New callback onInfoChanged(List<SoftApInfo>) &
      onConnectedClientsChanged(SoftApInfo, List<WifiClient>)
   b. Callback refactoring
   c. Support shutdown idle instance in bridged mode

Bug: 162686273
Test: FrameworksWifiTests
Test: Manual Test, check the log and check SystemUI to confirm clients
update correctly.

Change-Id: I852e7305c96637739b4fe8996c55643d310b0df2
8 files changed
tree: 1ba7994f040727baaf268966e7614d3b0b17d9e4
  1. apex/
  2. service/
  3. metrics_pdd_hook.py
  4. PREUPLOAD.cfg