ConnectivityManager: Provide API's to include location sensitive info
Existing NetworkCallback users will get NetworkCapabilities with location sensitive data removed (except for ownerUid which will be added for existing apps for backwards compatibility). Apps have to opt-in to receive location sensitive data. Note: This was chosen because WifiInfo is the only TransportInfo tha has location sensitive info & that was added only in Android 12. If we choose to default to true, all existings apps retrieving NetworkCapabilities for wifi networks will be blamed for location access unnecessarily. Changes: i) Add a flag in NetworkCallback creation to retrieve NetworkCapabilities with location sensitive info in their callback. (More flags are being planned for NetworkCallback for throttling callback frequency, etc) ii) For NetworkCapabilities.getOwnerUid(), we will continue to send the data for apps targeting older SDK (since this is an existing field and the new flag defaults location sensitive data to off). Bug: 156867433 Test: atest android.net Test: atest com.android.server Change-Id: If70b5ea6f5c8885f0c353c8df08a826d55fe7f7a
This commit is contained in:
@@ -143,6 +143,7 @@ package android.net {
|
||||
|
||||
public static class ConnectivityManager.NetworkCallback {
|
||||
ctor public ConnectivityManager.NetworkCallback();
|
||||
ctor public ConnectivityManager.NetworkCallback(int);
|
||||
method public void onAvailable(@NonNull android.net.Network);
|
||||
method public void onBlockedStatusChanged(@NonNull android.net.Network, boolean);
|
||||
method public void onCapabilitiesChanged(@NonNull android.net.Network, @NonNull android.net.NetworkCapabilities);
|
||||
@@ -150,6 +151,7 @@ package android.net {
|
||||
method public void onLosing(@NonNull android.net.Network, int);
|
||||
method public void onLost(@NonNull android.net.Network);
|
||||
method public void onUnavailable();
|
||||
field public static final int FLAG_INCLUDE_LOCATION_INFO = 1; // 0x1
|
||||
}
|
||||
|
||||
public static interface ConnectivityManager.OnNetworkActiveListener {
|
||||
|
||||
Reference in New Issue
Block a user