Merge "[DU04-2]Appropriate changes to the NetworkPolicyManager API"
This commit is contained in:
@@ -219,7 +219,8 @@ package android.net {
|
|||||||
method @Nullable @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public android.telephony.SubscriptionPlan getSubscriptionPlan(@NonNull android.net.NetworkTemplate);
|
method @Nullable @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public android.telephony.SubscriptionPlan getSubscriptionPlan(@NonNull android.net.NetworkTemplate);
|
||||||
method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidNetworkingBlocked(int, boolean);
|
method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidNetworkingBlocked(int, boolean);
|
||||||
method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidRestrictedOnMeteredNetworks(int);
|
method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidRestrictedOnMeteredNetworks(int);
|
||||||
method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void notifyStatsProviderWarningOrLimitReached();
|
method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void notifyStatsProviderLimitReached();
|
||||||
|
method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void notifyStatsProviderWarningReached();
|
||||||
method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void registerNetworkPolicyCallback(@Nullable java.util.concurrent.Executor, @NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
|
method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void registerNetworkPolicyCallback(@Nullable java.util.concurrent.Executor, @NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
|
||||||
method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void unregisterNetworkPolicyCallback(@NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
|
method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void unregisterNetworkPolicyCallback(@NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -557,6 +557,24 @@ public class NetworkPolicyManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notifies that the specified {@link NetworkStatsProvider} has reached its warning threshold
|
||||||
|
* which was set through {@link NetworkStatsProvider#onSetWarningAndLimit(String, long, long)}.
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@RequiresPermission(anyOf = {
|
||||||
|
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
|
||||||
|
android.Manifest.permission.NETWORK_STACK})
|
||||||
|
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
|
||||||
|
public void notifyStatsProviderWarningReached() {
|
||||||
|
try {
|
||||||
|
mService.notifyStatsProviderWarningOrLimitReached();
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
throw e.rethrowFromSystemServer();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Notifies that the specified {@link NetworkStatsProvider} has reached its quota
|
* Notifies that the specified {@link NetworkStatsProvider} has reached its quota
|
||||||
* which was set through {@link NetworkStatsProvider#onSetLimit(String, long)} or
|
* which was set through {@link NetworkStatsProvider#onSetLimit(String, long)} or
|
||||||
@@ -568,7 +586,7 @@ public class NetworkPolicyManager {
|
|||||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
|
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
|
||||||
android.Manifest.permission.NETWORK_STACK})
|
android.Manifest.permission.NETWORK_STACK})
|
||||||
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
|
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
|
||||||
public void notifyStatsProviderWarningOrLimitReached() {
|
public void notifyStatsProviderLimitReached() {
|
||||||
try {
|
try {
|
||||||
mService.notifyStatsProviderWarningOrLimitReached();
|
mService.notifyStatsProviderWarningOrLimitReached();
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import android.net.NetworkStats;
|
|||||||
oneway interface INetworkStatsProviderCallback {
|
oneway interface INetworkStatsProviderCallback {
|
||||||
void notifyStatsUpdated(int token, in NetworkStats ifaceStats, in NetworkStats uidStats);
|
void notifyStatsUpdated(int token, in NetworkStats ifaceStats, in NetworkStats uidStats);
|
||||||
void notifyAlertReached();
|
void notifyAlertReached();
|
||||||
void notifyWarningOrLimitReached();
|
void notifyWarningReached();
|
||||||
|
void notifyLimitReached();
|
||||||
void unregister();
|
void unregister();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -152,19 +152,19 @@ public abstract class NetworkStatsProvider {
|
|||||||
try {
|
try {
|
||||||
// Reuse the code path to notify warning reached with limit reached
|
// Reuse the code path to notify warning reached with limit reached
|
||||||
// since framework handles them in the same way.
|
// since framework handles them in the same way.
|
||||||
getProviderCallbackBinderOrThrow().notifyWarningOrLimitReached();
|
getProviderCallbackBinderOrThrow().notifyWarningReached();
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
e.rethrowAsRuntimeException();
|
e.rethrowAsRuntimeException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Notify system that the quota set by {@link #onSetLimit} or limit set by
|
* Notify system that the limit set by {@link #onSetLimit} or limit set by
|
||||||
* {@link #onSetWarningAndLimit} has been reached.
|
* {@link #onSetWarningAndLimit} has been reached.
|
||||||
*/
|
*/
|
||||||
public void notifyLimitReached() {
|
public void notifyLimitReached() {
|
||||||
try {
|
try {
|
||||||
getProviderCallbackBinderOrThrow().notifyWarningOrLimitReached();
|
getProviderCallbackBinderOrThrow().notifyLimitReached();
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
e.rethrowAsRuntimeException();
|
e.rethrowAsRuntimeException();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2393,10 +2393,17 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void notifyWarningOrLimitReached() {
|
public void notifyWarningReached() {
|
||||||
Log.d(TAG, mTag + ": notifyWarningOrLimitReached");
|
Log.d(TAG, mTag + ": notifyWarningReached");
|
||||||
BinderUtils.withCleanCallingIdentity(() ->
|
BinderUtils.withCleanCallingIdentity(() ->
|
||||||
mNetworkPolicyManager.notifyStatsProviderWarningOrLimitReached());
|
mNetworkPolicyManager.notifyStatsProviderWarningReached());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void notifyLimitReached() {
|
||||||
|
Log.d(TAG, mTag + ": notifyLimitReached");
|
||||||
|
BinderUtils.withCleanCallingIdentity(() ->
|
||||||
|
mNetworkPolicyManager.notifyStatsProviderLimitReached());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user