Merge "[NS01] Add NetworkScore"
This commit is contained in:
@@ -3205,10 +3205,6 @@ public class ConnectivityManager {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO : remove this method. It is a stopgap measure to help sheperding a number
|
||||
// of dependent changes that would conflict throughout the automerger graph. Having this
|
||||
// temporarily helps with the process of going through with all these dependent changes across
|
||||
// the entire tree.
|
||||
/**
|
||||
* @hide
|
||||
* Register a NetworkAgent with ConnectivityService.
|
||||
@@ -3218,20 +3214,8 @@ public class ConnectivityManager {
|
||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
|
||||
android.Manifest.permission.NETWORK_FACTORY})
|
||||
public Network registerNetworkAgent(INetworkAgent na, NetworkInfo ni, LinkProperties lp,
|
||||
NetworkCapabilities nc, int score, NetworkAgentConfig config) {
|
||||
return registerNetworkAgent(na, ni, lp, nc, score, config, NetworkProvider.ID_NONE);
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
* Register a NetworkAgent with ConnectivityService.
|
||||
* @return Network corresponding to NetworkAgent.
|
||||
*/
|
||||
@RequiresPermission(anyOf = {
|
||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
|
||||
android.Manifest.permission.NETWORK_FACTORY})
|
||||
public Network registerNetworkAgent(INetworkAgent na, NetworkInfo ni, LinkProperties lp,
|
||||
NetworkCapabilities nc, int score, NetworkAgentConfig config, int providerId) {
|
||||
NetworkCapabilities nc, @NonNull NetworkScore score, NetworkAgentConfig config,
|
||||
int providerId) {
|
||||
try {
|
||||
return mService.registerNetworkAgent(na, ni, lp, nc, score, config, providerId);
|
||||
} catch (RemoteException e) {
|
||||
|
||||
@@ -30,6 +30,7 @@ import android.net.NetworkAgentConfig;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.NetworkInfo;
|
||||
import android.net.NetworkRequest;
|
||||
import android.net.NetworkScore;
|
||||
import android.net.NetworkState;
|
||||
import android.net.NetworkStateSnapshot;
|
||||
import android.net.OemNetworkPreferences;
|
||||
@@ -138,7 +139,7 @@ interface IConnectivityManager
|
||||
void declareNetworkRequestUnfulfillable(in NetworkRequest request);
|
||||
|
||||
Network registerNetworkAgent(in INetworkAgent na, in NetworkInfo ni, in LinkProperties lp,
|
||||
in NetworkCapabilities nc, int score, in NetworkAgentConfig config,
|
||||
in NetworkCapabilities nc, in NetworkScore score, in NetworkAgentConfig config,
|
||||
in int factorySerialNumber);
|
||||
|
||||
NetworkRequest requestNetwork(in NetworkCapabilities networkCapabilities, int reqType,
|
||||
|
||||
@@ -371,6 +371,14 @@ public abstract class NetworkAgent {
|
||||
return ni;
|
||||
}
|
||||
|
||||
// Temporary backward compatibility constructor
|
||||
public NetworkAgent(@NonNull Context context, @NonNull Looper looper, @NonNull String logTag,
|
||||
@NonNull NetworkCapabilities nc, @NonNull LinkProperties lp, int score,
|
||||
@NonNull NetworkAgentConfig config, @Nullable NetworkProvider provider) {
|
||||
this(context, looper, logTag, nc, lp,
|
||||
new NetworkScore.Builder().setLegacyInt(score).build(), config, provider);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new network agent.
|
||||
* @param context a {@link Context} to get system services from.
|
||||
@@ -382,10 +390,12 @@ public abstract class NetworkAgent {
|
||||
* @param score the initial score of this network. Update with sendNetworkScore.
|
||||
* @param config an immutable {@link NetworkAgentConfig} for this agent.
|
||||
* @param provider the {@link NetworkProvider} managing this agent.
|
||||
* @hide TODO : unhide when impl is complete
|
||||
*/
|
||||
public NetworkAgent(@NonNull Context context, @NonNull Looper looper, @NonNull String logTag,
|
||||
@NonNull NetworkCapabilities nc, @NonNull LinkProperties lp, int score,
|
||||
@NonNull NetworkAgentConfig config, @Nullable NetworkProvider provider) {
|
||||
@NonNull NetworkCapabilities nc, @NonNull LinkProperties lp,
|
||||
@NonNull NetworkScore score, @NonNull NetworkAgentConfig config,
|
||||
@Nullable NetworkProvider provider) {
|
||||
this(looper, context, logTag, nc, lp, score, config,
|
||||
provider == null ? NetworkProvider.ID_NONE : provider.getProviderId(),
|
||||
getLegacyNetworkInfo(config));
|
||||
@@ -395,12 +405,12 @@ public abstract class NetworkAgent {
|
||||
public final Context context;
|
||||
public final NetworkCapabilities capabilities;
|
||||
public final LinkProperties properties;
|
||||
public final int score;
|
||||
public final NetworkScore score;
|
||||
public final NetworkAgentConfig config;
|
||||
public final NetworkInfo info;
|
||||
InitialConfiguration(@NonNull Context context, @NonNull NetworkCapabilities capabilities,
|
||||
@NonNull LinkProperties properties, int score, @NonNull NetworkAgentConfig config,
|
||||
@NonNull NetworkInfo info) {
|
||||
@NonNull LinkProperties properties, @NonNull NetworkScore score,
|
||||
@NonNull NetworkAgentConfig config, @NonNull NetworkInfo info) {
|
||||
this.context = context;
|
||||
this.capabilities = capabilities;
|
||||
this.properties = properties;
|
||||
@@ -412,8 +422,9 @@ public abstract class NetworkAgent {
|
||||
private volatile InitialConfiguration mInitialConfiguration;
|
||||
|
||||
private NetworkAgent(@NonNull Looper looper, @NonNull Context context, @NonNull String logTag,
|
||||
@NonNull NetworkCapabilities nc, @NonNull LinkProperties lp, int score,
|
||||
@NonNull NetworkAgentConfig config, int providerId, @NonNull NetworkInfo ni) {
|
||||
@NonNull NetworkCapabilities nc, @NonNull LinkProperties lp,
|
||||
@NonNull NetworkScore score, @NonNull NetworkAgentConfig config, int providerId,
|
||||
@NonNull NetworkInfo ni) {
|
||||
mHandler = new NetworkAgentHandler(looper);
|
||||
LOG_TAG = logTag;
|
||||
mNetworkInfo = new NetworkInfo(ni);
|
||||
@@ -872,16 +883,25 @@ public abstract class NetworkAgent {
|
||||
queueOrSendMessage(reg -> reg.sendNetworkCapabilities(nc));
|
||||
}
|
||||
|
||||
/**
|
||||
* Must be called by the agent to update the score of this network.
|
||||
*
|
||||
* @param score the new score.
|
||||
* @hide TODO : unhide when impl is complete
|
||||
*/
|
||||
public final void sendNetworkScore(@NonNull NetworkScore score) {
|
||||
Objects.requireNonNull(score);
|
||||
queueOrSendMessage(reg -> reg.sendScore(score));
|
||||
}
|
||||
|
||||
/**
|
||||
* Must be called by the agent to update the score of this network.
|
||||
*
|
||||
* @param score the new score, between 0 and 99.
|
||||
* deprecated use sendNetworkScore(NetworkScore) TODO : remove in S.
|
||||
*/
|
||||
public final void sendNetworkScore(@IntRange(from = 0, to = 99) int score) {
|
||||
if (score < 0) {
|
||||
throw new IllegalArgumentException("Score must be >= 0");
|
||||
}
|
||||
queueOrSendMessage(reg -> reg.sendScore(score));
|
||||
sendNetworkScore(new NetworkScore.Builder().setLegacyInt(score).build());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user