summaryrefslogtreecommitdiff
path: root/core/api/module-lib-current.txt
diff options
context:
space:
mode:
authorSudheer Shanka <sudheersai@google.com>2021-03-02 06:33:46 +0000
committerRemi NGUYEN VAN <reminv@google.com>2021-03-18 10:42:25 +0000
commit7dc302d612565f210d6bf4dd6b83d90b823a7b3c (patch)
tree002782bb198f221ae57febfe0ada46ff9d7b93cc /core/api/module-lib-current.txt
parentb67cbe263125fcd3a5cf71dd2d33dc8e73b2790e (diff)
Add an API to listen for changes in network blocked status of an uid.
Given that ConnectivityService is moving to a mainline module, we need a @SystemApi for it to listen for changes in blocked status of an uid. So, we decided to create a new API for this which can provide ConnectivityService with more info about why an uid is blocked (which will be useful for adding a new similar onBlockedStatusChanged callback in CM.NetworkCallback) and also captures data saver restriction without having out to track it separately. Currently, NPMS does some redundant computations because we are calculating both uid rules and blocked reasons separately. In a follow-up change, we will compute uid rules using blocked reasons and later possibly remove that onUidRulesChanged callback. Bug: 176289731 Test: atest ./tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java Test: atest ./tests/net/java/com/android/server/ConnectivityServiceTest.java Test: atest ./services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java Change-Id: Ib9949b8619c6b148f73630b314c4113d76c31ec1 Merged-In: Ib9949b8619c6b148f73630b314c4113d76c31ec1
Diffstat (limited to 'core/api/module-lib-current.txt')
-rw-r--r--core/api/module-lib-current.txt19
1 files changed, 19 insertions, 0 deletions
diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt
index 992b57f356c5..ec3084828926 100644
--- a/core/api/module-lib-current.txt
+++ b/core/api/module-lib-current.txt
@@ -42,6 +42,25 @@ package android.net {
method public int getResourceId();
}
+ public class NetworkPolicyManager {
+ method @NonNull public static String blockedReasonsToString(int);
+ method public static boolean isUidBlocked(int, boolean);
+ 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);
+ field public static final int BLOCKED_METERED_REASON_ADMIN_DISABLED = 262144; // 0x40000
+ field public static final int BLOCKED_METERED_REASON_DATA_SAVER = 65536; // 0x10000
+ field public static final int BLOCKED_METERED_REASON_USER_RESTRICTED = 131072; // 0x20000
+ field public static final int BLOCKED_REASON_APP_STANDBY = 4; // 0x4
+ field public static final int BLOCKED_REASON_BATTERY_SAVER = 1; // 0x1
+ field public static final int BLOCKED_REASON_DOZE = 2; // 0x2
+ field public static final int BLOCKED_REASON_NONE = 0; // 0x0
+ field public static final int BLOCKED_REASON_RESTRICTED_MODE = 8; // 0x8
+ }
+
+ public static interface NetworkPolicyManager.NetworkPolicyCallback {
+ method public default void onUidBlockedReasonChanged(int, int);
+ }
+
public final class NetworkStateSnapshot implements android.os.Parcelable {
ctor public NetworkStateSnapshot(@NonNull android.net.Network, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, @Nullable String, int);
method public int describeContents();