blob: 9bdb59556df3d35099308b2aad03708ab6968ea1 [file] [log] [blame]
paulhu667e8fb2021-12-14 01:30:22 +00001// Signature format: 2.0
Paul Duffin7bd2d102023-10-10 17:11:25 +01002// - add-additional-overrides=no
3// - migrating=Migration in progress see b/299366704
Junyu Lai2ef865e2022-01-17 11:52:57 +00004package android.app.usage {
5
6 public class NetworkStatsManager {
junyulaib59e5422022-03-01 17:08:01 +08007 method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STATS_PROVIDER, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void registerNetworkStatsProvider(@NonNull String, @NonNull android.net.netstats.provider.NetworkStatsProvider);
8 method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STATS_PROVIDER, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void unregisterNetworkStatsProvider(@NonNull android.net.netstats.provider.NetworkStatsProvider);
Junyu Lai2ef865e2022-01-17 11:52:57 +00009 }
10
11}
12
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +090013package android.nearby {
14
Wei Wangb15b5a82022-02-01 17:08:08 -080015 public interface BroadcastCallback {
Wei Wang88c48442022-03-05 12:14:12 -080016 method public void onStatusChanged(int);
Wei Wangb15b5a82022-02-01 17:08:08 -080017 field public static final int STATUS_FAILURE = 1; // 0x1
18 field public static final int STATUS_FAILURE_ALREADY_REGISTERED = 2; // 0x2
19 field public static final int STATUS_FAILURE_MISSING_PERMISSIONS = 4; // 0x4
20 field public static final int STATUS_FAILURE_SIZE_EXCEED_LIMIT = 3; // 0x3
21 field public static final int STATUS_OK = 0; // 0x0
22 }
23
Wei Wang24e2cb22022-03-12 12:15:34 -080024 public abstract class BroadcastRequest {
Wei Wangb15b5a82022-02-01 17:08:08 -080025 method @NonNull public java.util.List<java.lang.Integer> getMediums();
26 method @IntRange(from=0xffffff81, to=126) public int getTxPower();
27 method public int getType();
28 method public int getVersion();
Wei Wangb15b5a82022-02-01 17:08:08 -080029 field public static final int BROADCAST_TYPE_NEARBY_PRESENCE = 3; // 0x3
Wei Wang88c48442022-03-05 12:14:12 -080030 field public static final int BROADCAST_TYPE_UNKNOWN = -1; // 0xffffffff
Wei Wangf5bb26f2022-03-25 10:30:06 -070031 field public static final int MEDIUM_BLE = 1; // 0x1
Wei Wang88c48442022-03-05 12:14:12 -080032 field public static final int PRESENCE_VERSION_UNKNOWN = -1; // 0xffffffff
Wei Wangb15b5a82022-02-01 17:08:08 -080033 field public static final int PRESENCE_VERSION_V0 = 0; // 0x0
34 field public static final int PRESENCE_VERSION_V1 = 1; // 0x1
Wei Wang88c48442022-03-05 12:14:12 -080035 field public static final int UNKNOWN_TX_POWER = -127; // 0xffffff81
Wei Wangb15b5a82022-02-01 17:08:08 -080036 }
37
38 public final class CredentialElement implements android.os.Parcelable {
39 ctor public CredentialElement(@NonNull String, @NonNull byte[]);
40 method public int describeContents();
41 method @NonNull public String getKey();
42 method @NonNull public byte[] getValue();
43 method public void writeToParcel(@NonNull android.os.Parcel, int);
44 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.CredentialElement> CREATOR;
45 }
46
47 public final class DataElement implements android.os.Parcelable {
48 ctor public DataElement(int, @NonNull byte[]);
49 method public int describeContents();
50 method public int getKey();
51 method @NonNull public byte[] getValue();
52 method public void writeToParcel(@NonNull android.os.Parcel, int);
53 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.DataElement> CREATOR;
54 }
55
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +090056 public abstract class NearbyDevice {
Wei Wangb15b5a82022-02-01 17:08:08 -080057 method @NonNull public java.util.List<java.lang.Integer> getMediums();
58 method @Nullable public String getName();
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +090059 method @IntRange(from=0xffffff81, to=126) public int getRssi();
60 method public static boolean isValidMedium(int);
61 }
62
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +090063 public class NearbyManager {
Xinyi Zhoue73c76f2023-01-27 16:47:00 -080064 method public void queryOffloadCapability(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.nearby.OffloadCapability>);
Xinyi Zhoub4efda82022-03-15 18:22:35 -070065 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.nearby.BroadcastRequest, @NonNull java.util.concurrent.Executor, @NonNull android.nearby.BroadcastCallback);
66 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int startScan(@NonNull android.nearby.ScanRequest, @NonNull java.util.concurrent.Executor, @NonNull android.nearby.ScanCallback);
67 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(@NonNull android.nearby.BroadcastCallback);
68 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopScan(@NonNull android.nearby.ScanCallback);
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +090069 }
70
Xinyi Zhoue73c76f2023-01-27 16:47:00 -080071 public final class OffloadCapability implements android.os.Parcelable {
72 method public int describeContents();
73 method public long getVersion();
74 method public boolean isFastPairSupported();
75 method public boolean isNearbyShareSupported();
76 method public void writeToParcel(@NonNull android.os.Parcel, int);
77 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.OffloadCapability> CREATOR;
78 }
79
80 public static final class OffloadCapability.Builder {
81 ctor public OffloadCapability.Builder();
82 method @NonNull public android.nearby.OffloadCapability build();
83 method @NonNull public android.nearby.OffloadCapability.Builder setFastPairSupported(boolean);
84 method @NonNull public android.nearby.OffloadCapability.Builder setNearbyShareSupported(boolean);
85 method @NonNull public android.nearby.OffloadCapability.Builder setVersion(long);
86 }
87
Wei Wangb15b5a82022-02-01 17:08:08 -080088 public final class PresenceBroadcastRequest extends android.nearby.BroadcastRequest implements android.os.Parcelable {
Wei Wang24e2cb22022-03-12 12:15:34 -080089 method public int describeContents();
Wei Wangb15b5a82022-02-01 17:08:08 -080090 method @NonNull public java.util.List<java.lang.Integer> getActions();
91 method @NonNull public android.nearby.PrivateCredential getCredential();
92 method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
93 method @NonNull public byte[] getSalt();
Wei Wang24e2cb22022-03-12 12:15:34 -080094 method public void writeToParcel(@NonNull android.os.Parcel, int);
Wei Wangb15b5a82022-02-01 17:08:08 -080095 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceBroadcastRequest> CREATOR;
96 }
97
98 public static final class PresenceBroadcastRequest.Builder {
Wei Wang88c48442022-03-05 12:14:12 -080099 ctor public PresenceBroadcastRequest.Builder(@NonNull java.util.List<java.lang.Integer>, @NonNull byte[], @NonNull android.nearby.PrivateCredential);
Wei Wangb15b5a82022-02-01 17:08:08 -0800100 method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addAction(@IntRange(from=1, to=255) int);
101 method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
102 method @NonNull public android.nearby.PresenceBroadcastRequest build();
Wei Wangb15b5a82022-02-01 17:08:08 -0800103 method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setTxPower(@IntRange(from=0xffffff81, to=126) int);
104 method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setVersion(int);
105 }
106
Wei Wang24e2cb22022-03-12 12:15:34 -0800107 public abstract class PresenceCredential {
Wei Wangb15b5a82022-02-01 17:08:08 -0800108 method @NonNull public byte[] getAuthenticityKey();
109 method @NonNull public java.util.List<android.nearby.CredentialElement> getCredentialElements();
110 method public int getIdentityType();
111 method @NonNull public byte[] getSecretId();
112 method public int getType();
Wei Wangb15b5a82022-02-01 17:08:08 -0800113 field public static final int CREDENTIAL_TYPE_PRIVATE = 0; // 0x0
114 field public static final int CREDENTIAL_TYPE_PUBLIC = 1; // 0x1
115 field public static final int IDENTITY_TYPE_PRIVATE = 1; // 0x1
116 field public static final int IDENTITY_TYPE_PROVISIONED = 2; // 0x2
Wei Wangb15b5a82022-02-01 17:08:08 -0800117 field public static final int IDENTITY_TYPE_TRUSTED = 3; // 0x3
118 field public static final int IDENTITY_TYPE_UNKNOWN = 0; // 0x0
119 }
120
121 public final class PresenceDevice extends android.nearby.NearbyDevice implements android.os.Parcelable {
122 method public int describeContents();
123 method @NonNull public String getDeviceId();
124 method @Nullable public String getDeviceImageUrl();
125 method public int getDeviceType();
126 method public long getDiscoveryTimestampMillis();
127 method @NonNull public byte[] getEncryptedIdentity();
128 method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
129 method @NonNull public byte[] getSalt();
130 method @NonNull public byte[] getSecretId();
131 method public void writeToParcel(@NonNull android.os.Parcel, int);
132 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceDevice> CREATOR;
133 }
134
135 public static final class PresenceDevice.Builder {
Wei Wang88c48442022-03-05 12:14:12 -0800136 ctor public PresenceDevice.Builder(@NonNull String, @NonNull byte[], @NonNull byte[], @NonNull byte[]);
Wei Wangb15b5a82022-02-01 17:08:08 -0800137 method @NonNull public android.nearby.PresenceDevice.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
138 method @NonNull public android.nearby.PresenceDevice.Builder addMedium(int);
139 method @NonNull public android.nearby.PresenceDevice build();
Wei Wangb15b5a82022-02-01 17:08:08 -0800140 method @NonNull public android.nearby.PresenceDevice.Builder setDeviceImageUrl(@Nullable String);
141 method @NonNull public android.nearby.PresenceDevice.Builder setDeviceType(int);
142 method @NonNull public android.nearby.PresenceDevice.Builder setDiscoveryTimestampMillis(long);
Wei Wangb15b5a82022-02-01 17:08:08 -0800143 method @NonNull public android.nearby.PresenceDevice.Builder setName(@Nullable String);
144 method @NonNull public android.nearby.PresenceDevice.Builder setRssi(int);
Wei Wangb15b5a82022-02-01 17:08:08 -0800145 }
146
147 public final class PresenceScanFilter extends android.nearby.ScanFilter implements android.os.Parcelable {
Wei Wang24e2cb22022-03-12 12:15:34 -0800148 method public int describeContents();
Wei Wangb15b5a82022-02-01 17:08:08 -0800149 method @NonNull public java.util.List<android.nearby.PublicCredential> getCredentials();
150 method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
151 method @NonNull public java.util.List<java.lang.Integer> getPresenceActions();
Wei Wang24e2cb22022-03-12 12:15:34 -0800152 method public void writeToParcel(@NonNull android.os.Parcel, int);
Wei Wangb15b5a82022-02-01 17:08:08 -0800153 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceScanFilter> CREATOR;
154 }
155
156 public static final class PresenceScanFilter.Builder {
157 ctor public PresenceScanFilter.Builder();
158 method @NonNull public android.nearby.PresenceScanFilter.Builder addCredential(@NonNull android.nearby.PublicCredential);
159 method @NonNull public android.nearby.PresenceScanFilter.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
160 method @NonNull public android.nearby.PresenceScanFilter.Builder addPresenceAction(@IntRange(from=1, to=255) int);
161 method @NonNull public android.nearby.PresenceScanFilter build();
162 method @NonNull public android.nearby.PresenceScanFilter.Builder setMaxPathLoss(@IntRange(from=0, to=127) int);
163 }
164
165 public final class PrivateCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
Wei Wang24e2cb22022-03-12 12:15:34 -0800166 method public int describeContents();
Wei Wangb15b5a82022-02-01 17:08:08 -0800167 method @NonNull public String getDeviceName();
168 method @NonNull public byte[] getMetadataEncryptionKey();
Wei Wang24e2cb22022-03-12 12:15:34 -0800169 method public void writeToParcel(@NonNull android.os.Parcel, int);
Wei Wangb15b5a82022-02-01 17:08:08 -0800170 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PrivateCredential> CREATOR;
171 }
172
173 public static final class PrivateCredential.Builder {
Wei Wang24e2cb22022-03-12 12:15:34 -0800174 ctor public PrivateCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull String);
Wei Wangb15b5a82022-02-01 17:08:08 -0800175 method @NonNull public android.nearby.PrivateCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
176 method @NonNull public android.nearby.PrivateCredential build();
Wei Wangb15b5a82022-02-01 17:08:08 -0800177 method @NonNull public android.nearby.PrivateCredential.Builder setIdentityType(int);
Wei Wangb15b5a82022-02-01 17:08:08 -0800178 }
179
180 public final class PublicCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
Wei Wang24e2cb22022-03-12 12:15:34 -0800181 method public int describeContents();
Wei Wangb15b5a82022-02-01 17:08:08 -0800182 method @NonNull public byte[] getEncryptedMetadata();
183 method @NonNull public byte[] getEncryptedMetadataKeyTag();
184 method @NonNull public byte[] getPublicKey();
Wei Wang24e2cb22022-03-12 12:15:34 -0800185 method public void writeToParcel(@NonNull android.os.Parcel, int);
Wei Wangb15b5a82022-02-01 17:08:08 -0800186 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PublicCredential> CREATOR;
187 }
188
189 public static final class PublicCredential.Builder {
Wei Wang24e2cb22022-03-12 12:15:34 -0800190 ctor public PublicCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[]);
Wei Wangb15b5a82022-02-01 17:08:08 -0800191 method @NonNull public android.nearby.PublicCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
192 method @NonNull public android.nearby.PublicCredential build();
Wei Wangb15b5a82022-02-01 17:08:08 -0800193 method @NonNull public android.nearby.PublicCredential.Builder setIdentityType(int);
Wei Wangb15b5a82022-02-01 17:08:08 -0800194 }
195
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900196 public interface ScanCallback {
197 method public void onDiscovered(@NonNull android.nearby.NearbyDevice);
Xinyi Zhou9afce392023-01-10 18:28:56 -0800198 method public default void onError(int);
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900199 method public void onLost(@NonNull android.nearby.NearbyDevice);
200 method public void onUpdated(@NonNull android.nearby.NearbyDevice);
Xinyi Zhou75200b12023-02-10 23:13:52 -0800201 field public static final int ERROR_INVALID_ARGUMENT = 2; // 0x2
202 field public static final int ERROR_PERMISSION_DENIED = 3; // 0x3
203 field public static final int ERROR_RESOURCE_EXHAUSTED = 4; // 0x4
Xinyi Zhou9afce392023-01-10 18:28:56 -0800204 field public static final int ERROR_UNKNOWN = 0; // 0x0
205 field public static final int ERROR_UNSUPPORTED = 1; // 0x1
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900206 }
207
Wei Wang24e2cb22022-03-12 12:15:34 -0800208 public abstract class ScanFilter {
Wei Wangb15b5a82022-02-01 17:08:08 -0800209 method @IntRange(from=0, to=127) public int getMaxPathLoss();
210 method public int getType();
Wei Wangb15b5a82022-02-01 17:08:08 -0800211 }
212
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900213 public final class ScanRequest implements android.os.Parcelable {
214 method public int describeContents();
Wei Wangb15b5a82022-02-01 17:08:08 -0800215 method @NonNull public java.util.List<android.nearby.ScanFilter> getScanFilters();
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900216 method public int getScanMode();
217 method public int getScanType();
218 method @NonNull public android.os.WorkSource getWorkSource();
Xinyi Zhouff987502022-03-09 17:38:41 -0800219 method public boolean isBleEnabled();
Xinyi Zhou8fe45412023-01-20 16:21:14 -0800220 method public boolean isOffloadOnly();
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900221 method public static boolean isValidScanMode(int);
222 method public static boolean isValidScanType(int);
223 method @NonNull public static String scanModeToString(int);
224 method public void writeToParcel(@NonNull android.os.Parcel, int);
225 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.ScanRequest> CREATOR;
226 field public static final int SCAN_MODE_BALANCED = 1; // 0x1
227 field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2
228 field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0
229 field public static final int SCAN_MODE_NO_POWER = -1; // 0xffffffff
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900230 field public static final int SCAN_TYPE_FAST_PAIR = 1; // 0x1
Chun Zhange4440de2022-03-24 22:40:56 -0700231 field public static final int SCAN_TYPE_NEARBY_PRESENCE = 2; // 0x2
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900232 }
233
234 public static final class ScanRequest.Builder {
235 ctor public ScanRequest.Builder();
Wei Wangb15b5a82022-02-01 17:08:08 -0800236 method @NonNull public android.nearby.ScanRequest.Builder addScanFilter(@NonNull android.nearby.ScanFilter);
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900237 method @NonNull public android.nearby.ScanRequest build();
Xinyi Zhouff987502022-03-09 17:38:41 -0800238 method @NonNull public android.nearby.ScanRequest.Builder setBleEnabled(boolean);
Xinyi Zhou8fe45412023-01-20 16:21:14 -0800239 method @NonNull public android.nearby.ScanRequest.Builder setOffloadOnly(boolean);
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900240 method @NonNull public android.nearby.ScanRequest.Builder setScanMode(int);
241 method @NonNull public android.nearby.ScanRequest.Builder setScanType(int);
242 method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.nearby.ScanRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
243 }
244
245}
246
Aaron Huang68ca3732022-01-06 19:30:43 +0800247package android.net {
248
Xiao Maeaaf7d32022-01-23 16:14:51 +0000249 public class EthernetManager {
Patrick Rohrfa376a52022-03-16 20:16:09 +0100250 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.MANAGE_ETHERNET_NETWORKS}) public void disableInterface(@NonNull String, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.String,android.net.EthernetNetworkManagementException>);
251 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.MANAGE_ETHERNET_NETWORKS}) public void enableInterface(@NonNull String, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.String,android.net.EthernetNetworkManagementException>);
Xiao Maeaaf7d32022-01-23 16:14:51 +0000252 method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public android.net.EthernetManager.TetheredInterfaceRequest requestTetheredInterface(@NonNull java.util.concurrent.Executor, @NonNull android.net.EthernetManager.TetheredInterfaceCallback);
Patrick Rohrc551ebb2022-03-16 20:15:18 +0100253 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.MANAGE_ETHERNET_NETWORKS}) public void updateConfiguration(@NonNull String, @NonNull android.net.EthernetNetworkUpdateRequest, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.String,android.net.EthernetNetworkManagementException>);
Xiao Maeaaf7d32022-01-23 16:14:51 +0000254 }
255
256 public static interface EthernetManager.TetheredInterfaceCallback {
257 method public void onAvailable(@NonNull String);
258 method public void onUnavailable();
259 }
260
261 public static class EthernetManager.TetheredInterfaceRequest {
262 method public void release();
263 }
264
265 public final class EthernetNetworkManagementException extends java.lang.RuntimeException implements android.os.Parcelable {
266 ctor public EthernetNetworkManagementException(@NonNull String);
267 method public int describeContents();
268 method public void writeToParcel(@NonNull android.os.Parcel, int);
269 field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkManagementException> CREATOR;
270 }
271
272 public final class EthernetNetworkUpdateRequest implements android.os.Parcelable {
273 method public int describeContents();
Patrick Rohr8a910f42022-03-16 20:07:23 +0100274 method @Nullable public android.net.IpConfiguration getIpConfiguration();
Xiao Maeaaf7d32022-01-23 16:14:51 +0000275 method @Nullable public android.net.NetworkCapabilities getNetworkCapabilities();
276 method public void writeToParcel(@NonNull android.os.Parcel, int);
277 field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkUpdateRequest> CREATOR;
278 }
279
280 public static final class EthernetNetworkUpdateRequest.Builder {
281 ctor public EthernetNetworkUpdateRequest.Builder();
282 ctor public EthernetNetworkUpdateRequest.Builder(@NonNull android.net.EthernetNetworkUpdateRequest);
283 method @NonNull public android.net.EthernetNetworkUpdateRequest build();
Patrick Rohr8a910f42022-03-16 20:07:23 +0100284 method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setIpConfiguration(@Nullable android.net.IpConfiguration);
Xiao Maeaaf7d32022-01-23 16:14:51 +0000285 method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
286 }
287
Yan Yanf8063e32022-02-08 19:26:29 -0800288 public class IpSecManager {
Aaron Huang68ca3732022-01-06 19:30:43 +0800289 method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void applyTunnelModeTransform(@NonNull android.net.IpSecManager.IpSecTunnelInterface, int, @NonNull android.net.IpSecTransform) throws java.io.IOException;
290 method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecManager.IpSecTunnelInterface createIpSecTunnelInterface(@NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull android.net.Network) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException;
Yan Yan81c21602022-10-20 22:23:15 +0000291 method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void startTunnelModeTransformMigration(@NonNull android.net.IpSecTransform, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress);
Aaron Huang68ca3732022-01-06 19:30:43 +0800292 }
293
294 public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable {
295 method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
296 method public void close();
297 method @NonNull public String getInterfaceName();
298 method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
299 method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException;
300 }
301
302 public static class IpSecTransform.Builder {
303 method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecTransform buildTunnelModeTransform(@NonNull java.net.InetAddress, @NonNull android.net.IpSecManager.SecurityParameterIndex) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException;
304 }
305
Junyu Lai2ef865e2022-01-17 11:52:57 +0000306 public final class NetworkStats implements java.lang.Iterable<android.net.NetworkStats.Entry> android.os.Parcelable {
307 ctor public NetworkStats(long, int);
308 method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats);
309 method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry);
310 method public int describeContents();
junyulai68016902022-03-28 15:39:12 +0800311 method @NonNull public java.util.Iterator<android.net.NetworkStats.Entry> iterator();
Junyu Lai2ef865e2022-01-17 11:52:57 +0000312 method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats);
313 method public void writeToParcel(@NonNull android.os.Parcel, int);
314 field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR;
315 field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff
316 field public static final int DEFAULT_NETWORK_NO = 0; // 0x0
317 field public static final int DEFAULT_NETWORK_YES = 1; // 0x1
318 field public static final String IFACE_VT = "vt_data0";
319 field public static final int METERED_ALL = -1; // 0xffffffff
320 field public static final int METERED_NO = 0; // 0x0
321 field public static final int METERED_YES = 1; // 0x1
322 field public static final int ROAMING_ALL = -1; // 0xffffffff
323 field public static final int ROAMING_NO = 0; // 0x0
324 field public static final int ROAMING_YES = 1; // 0x1
325 field public static final int SET_ALL = -1; // 0xffffffff
326 field public static final int SET_DEFAULT = 0; // 0x0
327 field public static final int SET_FOREGROUND = 1; // 0x1
328 field public static final int TAG_NONE = 0; // 0x0
329 field public static final int UID_ALL = -1; // 0xffffffff
330 field public static final int UID_TETHERING = -5; // 0xfffffffb
331 }
332
333 public static class NetworkStats.Entry {
334 ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long);
junyulai68016902022-03-28 15:39:12 +0800335 method public int getDefaultNetwork();
336 method public int getMetered();
337 method public long getOperations();
338 method public int getRoaming();
339 method public long getRxBytes();
340 method public long getRxPackets();
341 method public int getSet();
342 method public int getTag();
343 method public long getTxBytes();
344 method public long getTxPackets();
345 method public int getUid();
Junyu Lai2ef865e2022-01-17 11:52:57 +0000346 }
347
348 public class TrafficStats {
349 method public static void setThreadStatsTagApp();
350 method public static void setThreadStatsTagBackup();
Junyu Lai2ef865e2022-01-17 11:52:57 +0000351 method public static void setThreadStatsTagRestore();
352 field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f
353 field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80
354 field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff
355 field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00
356 field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f
357 field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00
358 }
359
360}
361
362package android.net.netstats.provider {
363
364 public abstract class NetworkStatsProvider {
365 ctor public NetworkStatsProvider();
366 method public void notifyAlertReached();
367 method public void notifyLimitReached();
368 method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats);
369 method public void notifyWarningReached();
370 method public abstract void onRequestStatsUpdate(int);
371 method public abstract void onSetAlert(long);
372 method public abstract void onSetLimit(@NonNull String, long);
373 method public void onSetWarningAndLimit(@NonNull String, long, long);
374 field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff
375 }
376
Aaron Huang68ca3732022-01-06 19:30:43 +0800377}
378
Yuyang Huang00cf7ed2023-05-15 10:54:07 +0900379package android.net.nsd {
380
381 public final class NsdManager {
382 method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void registerOffloadEngine(@NonNull String, long, long, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.OffloadEngine);
383 method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void unregisterOffloadEngine(@NonNull android.net.nsd.OffloadEngine);
384 }
385
386 public interface OffloadEngine {
387 method public void onOffloadServiceRemoved(@NonNull android.net.nsd.OffloadServiceInfo);
388 method public void onOffloadServiceUpdated(@NonNull android.net.nsd.OffloadServiceInfo);
389 field public static final int OFFLOAD_CAPABILITY_BYPASS_MULTICAST_LOCK = 1; // 0x1
390 field public static final int OFFLOAD_TYPE_FILTER_QUERIES = 2; // 0x2
391 field public static final int OFFLOAD_TYPE_FILTER_REPLIES = 4; // 0x4
392 field public static final int OFFLOAD_TYPE_REPLY = 1; // 0x1
393 }
394
395 public final class OffloadServiceInfo implements android.os.Parcelable {
396 ctor public OffloadServiceInfo(@NonNull android.net.nsd.OffloadServiceInfo.Key, @NonNull java.util.List<java.lang.String>, @NonNull String, @Nullable byte[], @IntRange(from=0, to=java.lang.Integer.MAX_VALUE) int, long);
397 method public int describeContents();
398 method @NonNull public String getHostname();
399 method @NonNull public android.net.nsd.OffloadServiceInfo.Key getKey();
400 method @Nullable public byte[] getOffloadPayload();
401 method public long getOffloadType();
402 method public int getPriority();
403 method @NonNull public java.util.List<java.lang.String> getSubtypes();
404 method public void writeToParcel(@NonNull android.os.Parcel, int);
405 field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.OffloadServiceInfo> CREATOR;
406 }
407
408 public static final class OffloadServiceInfo.Key implements android.os.Parcelable {
409 ctor public OffloadServiceInfo.Key(@NonNull String, @NonNull String);
410 method public int describeContents();
411 method @NonNull public String getServiceName();
412 method @NonNull public String getServiceType();
413 method public void writeToParcel(@NonNull android.os.Parcel, int);
414 field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.OffloadServiceInfo.Key> CREATOR;
415 }
416
417}
418
Kangping Dong1cec48f2023-08-21 18:48:14 +0800419package android.net.thread {
420
421 public class ThreadNetworkController {
422 method public int getThreadVersion();
423 field public static final int THREAD_VERSION_1_3 = 4; // 0x4
424 }
425
426 public class ThreadNetworkManager {
427 method @NonNull public java.util.List<android.net.thread.ThreadNetworkController> getAllThreadNetworkControllers();
428 }
429
430}
431