[NS04.5] Have NetworkOffer embark a provider ID
...instead of a Messenger.
This will be useful later to compare whether a given offer is
offered by the same provider satisfying a request.
Bug: 167544279
Test: ConnectivityServiceTest
Merged-In: I3c2563d4ae4e3715d0c6270344ba8f7ef067872f
Merged-In: I975a9439021c7fa511c50ac982819b6dd146291e
Change-Id: I975a9439021c7fa511c50ac982819b6dd146291e
(cherry-picked from 148dcce559)
This commit is contained in:
@@ -3364,11 +3364,11 @@ public class ConnectivityManager {
|
||||
@RequiresPermission(anyOf = {
|
||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
|
||||
android.Manifest.permission.NETWORK_FACTORY})
|
||||
public void offerNetwork(@NonNull final NetworkProvider provider,
|
||||
public void offerNetwork(@NonNull final int providerId,
|
||||
@NonNull final NetworkScore score, @NonNull final NetworkCapabilities caps,
|
||||
@NonNull final INetworkOfferCallback callback) {
|
||||
try {
|
||||
mService.offerNetwork(Objects.requireNonNull(provider.getMessenger(), "null messenger"),
|
||||
mService.offerNetwork(providerId,
|
||||
Objects.requireNonNull(score, "null score"),
|
||||
Objects.requireNonNull(caps, "null caps"),
|
||||
Objects.requireNonNull(callback, "null callback"));
|
||||
|
||||
@@ -223,7 +223,7 @@ interface IConnectivityManager
|
||||
|
||||
int getRestrictBackgroundStatusByCaller();
|
||||
|
||||
void offerNetwork(in Messenger messenger, in NetworkScore score,
|
||||
void offerNetwork(int providerId, in NetworkScore score,
|
||||
in NetworkCapabilities caps, in INetworkOfferCallback callback);
|
||||
void unofferNetwork(in INetworkOfferCallback callback);
|
||||
}
|
||||
|
||||
@@ -272,6 +272,9 @@ public class NetworkProvider {
|
||||
public void offerNetwork(@NonNull final NetworkScore score,
|
||||
@NonNull final NetworkCapabilities caps, @NonNull final Executor executor,
|
||||
@NonNull final NetworkOfferCallback callback) {
|
||||
// Can't offer a network with a provider that is not yet registered or already unregistered.
|
||||
final int providerId = mProviderId;
|
||||
if (providerId == ID_NONE) return;
|
||||
NetworkOfferCallbackProxy proxy = null;
|
||||
synchronized (mProxies) {
|
||||
for (final NetworkOfferCallbackProxy existingProxy : mProxies) {
|
||||
@@ -285,7 +288,8 @@ public class NetworkProvider {
|
||||
mProxies.add(proxy);
|
||||
}
|
||||
}
|
||||
mContext.getSystemService(ConnectivityManager.class).offerNetwork(this, score, caps, proxy);
|
||||
mContext.getSystemService(ConnectivityManager.class)
|
||||
.offerNetwork(providerId, score, caps, proxy);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user