WifiInfo: Always mask MAC address in TransportInfo

This field is protected with privileged LOCAL_MAC_ADDRESS permission.
Connectivity stack only enforces location permission when sending out
the opaque TransportInfo to clients (there is no mechanism to provide
granular support of redacting certain fields in TransportInfo based
on other permissions).
So, always mask it out when sent via connectivity API surface. Apps
(like settings) will need to use existing
WifiManager.getConnectionInfo() to retrieve this field for the primary
connection. There is no use-case where
privileged apps need the MAC address of the secondary STA. Settings app
(which is the primary user of the API) will only need it for the WifiInfo
of the primary internet connection, which is retrieved via
WifiManager#getConnectionInfo(), where the MAC address is not masked.

Bug: 162602799
Test: atest ClientModeImplTest
Change-Id: Iadfed5984b00ba7106b33431a55634834c028515
5 files changed