xref: /aosp_15_r20/prebuilts/sdk/33/system/api/framework-connectivity-t.txt (revision 344a7f5ef16c479e7a7f54ee6567a9d112f9e72b)
1// Signature format: 2.0
2package android.app.usage {
3
4  public class NetworkStatsManager {
5    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);
6    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);
7  }
8
9}
10
11package android.nearby {
12
13  public interface BroadcastCallback {
14    method public void onStatusChanged(int);
15    field public static final int STATUS_FAILURE = 1; // 0x1
16    field public static final int STATUS_FAILURE_ALREADY_REGISTERED = 2; // 0x2
17    field public static final int STATUS_FAILURE_MISSING_PERMISSIONS = 4; // 0x4
18    field public static final int STATUS_FAILURE_SIZE_EXCEED_LIMIT = 3; // 0x3
19    field public static final int STATUS_OK = 0; // 0x0
20  }
21
22  public abstract class BroadcastRequest {
23    method @NonNull public java.util.List<java.lang.Integer> getMediums();
24    method @IntRange(from=0xffffff81, to=126) public int getTxPower();
25    method public int getType();
26    method public int getVersion();
27    field public static final int BROADCAST_TYPE_NEARBY_PRESENCE = 3; // 0x3
28    field public static final int BROADCAST_TYPE_UNKNOWN = -1; // 0xffffffff
29    field public static final int MEDIUM_BLE = 1; // 0x1
30    field public static final int PRESENCE_VERSION_UNKNOWN = -1; // 0xffffffff
31    field public static final int PRESENCE_VERSION_V0 = 0; // 0x0
32    field public static final int PRESENCE_VERSION_V1 = 1; // 0x1
33    field public static final int UNKNOWN_TX_POWER = -127; // 0xffffff81
34  }
35
36  public final class CredentialElement implements android.os.Parcelable {
37    ctor public CredentialElement(@NonNull String, @NonNull byte[]);
38    method public int describeContents();
39    method @NonNull public String getKey();
40    method @NonNull public byte[] getValue();
41    method public void writeToParcel(@NonNull android.os.Parcel, int);
42    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.CredentialElement> CREATOR;
43  }
44
45  public final class DataElement implements android.os.Parcelable {
46    ctor public DataElement(int, @NonNull byte[]);
47    method public int describeContents();
48    method public int getKey();
49    method @NonNull public byte[] getValue();
50    method public void writeToParcel(@NonNull android.os.Parcel, int);
51    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.DataElement> CREATOR;
52  }
53
54  public abstract class NearbyDevice {
55    method @NonNull public java.util.List<java.lang.Integer> getMediums();
56    method @Nullable public String getName();
57    method @IntRange(from=0xffffff81, to=126) public int getRssi();
58    method public static boolean isValidMedium(int);
59  }
60
61  public class NearbyManager {
62    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);
63    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);
64    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(@NonNull android.nearby.BroadcastCallback);
65    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopScan(@NonNull android.nearby.ScanCallback);
66  }
67
68  public final class PresenceBroadcastRequest extends android.nearby.BroadcastRequest implements android.os.Parcelable {
69    method public int describeContents();
70    method @NonNull public java.util.List<java.lang.Integer> getActions();
71    method @NonNull public android.nearby.PrivateCredential getCredential();
72    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
73    method @NonNull public byte[] getSalt();
74    method public void writeToParcel(@NonNull android.os.Parcel, int);
75    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceBroadcastRequest> CREATOR;
76  }
77
78  public static final class PresenceBroadcastRequest.Builder {
79    ctor public PresenceBroadcastRequest.Builder(@NonNull java.util.List<java.lang.Integer>, @NonNull byte[], @NonNull android.nearby.PrivateCredential);
80    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addAction(@IntRange(from=1, to=255) int);
81    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
82    method @NonNull public android.nearby.PresenceBroadcastRequest build();
83    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setTxPower(@IntRange(from=0xffffff81, to=126) int);
84    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setVersion(int);
85  }
86
87  public abstract class PresenceCredential {
88    method @NonNull public byte[] getAuthenticityKey();
89    method @NonNull public java.util.List<android.nearby.CredentialElement> getCredentialElements();
90    method public int getIdentityType();
91    method @NonNull public byte[] getSecretId();
92    method public int getType();
93    field public static final int CREDENTIAL_TYPE_PRIVATE = 0; // 0x0
94    field public static final int CREDENTIAL_TYPE_PUBLIC = 1; // 0x1
95    field public static final int IDENTITY_TYPE_PRIVATE = 1; // 0x1
96    field public static final int IDENTITY_TYPE_PROVISIONED = 2; // 0x2
97    field public static final int IDENTITY_TYPE_TRUSTED = 3; // 0x3
98    field public static final int IDENTITY_TYPE_UNKNOWN = 0; // 0x0
99  }
100
101  public final class PresenceDevice extends android.nearby.NearbyDevice implements android.os.Parcelable {
102    method public int describeContents();
103    method @NonNull public String getDeviceId();
104    method @Nullable public String getDeviceImageUrl();
105    method public int getDeviceType();
106    method public long getDiscoveryTimestampMillis();
107    method @NonNull public byte[] getEncryptedIdentity();
108    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
109    method @NonNull public byte[] getSalt();
110    method @NonNull public byte[] getSecretId();
111    method public void writeToParcel(@NonNull android.os.Parcel, int);
112    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceDevice> CREATOR;
113  }
114
115  public static final class PresenceDevice.Builder {
116    ctor public PresenceDevice.Builder(@NonNull String, @NonNull byte[], @NonNull byte[], @NonNull byte[]);
117    method @NonNull public android.nearby.PresenceDevice.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
118    method @NonNull public android.nearby.PresenceDevice.Builder addMedium(int);
119    method @NonNull public android.nearby.PresenceDevice build();
120    method @NonNull public android.nearby.PresenceDevice.Builder setDeviceImageUrl(@Nullable String);
121    method @NonNull public android.nearby.PresenceDevice.Builder setDeviceType(int);
122    method @NonNull public android.nearby.PresenceDevice.Builder setDiscoveryTimestampMillis(long);
123    method @NonNull public android.nearby.PresenceDevice.Builder setName(@Nullable String);
124    method @NonNull public android.nearby.PresenceDevice.Builder setRssi(int);
125  }
126
127  public final class PresenceScanFilter extends android.nearby.ScanFilter implements android.os.Parcelable {
128    method public int describeContents();
129    method @NonNull public java.util.List<android.nearby.PublicCredential> getCredentials();
130    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
131    method @NonNull public java.util.List<java.lang.Integer> getPresenceActions();
132    method public void writeToParcel(@NonNull android.os.Parcel, int);
133    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceScanFilter> CREATOR;
134  }
135
136  public static final class PresenceScanFilter.Builder {
137    ctor public PresenceScanFilter.Builder();
138    method @NonNull public android.nearby.PresenceScanFilter.Builder addCredential(@NonNull android.nearby.PublicCredential);
139    method @NonNull public android.nearby.PresenceScanFilter.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
140    method @NonNull public android.nearby.PresenceScanFilter.Builder addPresenceAction(@IntRange(from=1, to=255) int);
141    method @NonNull public android.nearby.PresenceScanFilter build();
142    method @NonNull public android.nearby.PresenceScanFilter.Builder setMaxPathLoss(@IntRange(from=0, to=127) int);
143  }
144
145  public final class PrivateCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
146    method public int describeContents();
147    method @NonNull public String getDeviceName();
148    method @NonNull public byte[] getMetadataEncryptionKey();
149    method public void writeToParcel(@NonNull android.os.Parcel, int);
150    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PrivateCredential> CREATOR;
151  }
152
153  public static final class PrivateCredential.Builder {
154    ctor public PrivateCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull String);
155    method @NonNull public android.nearby.PrivateCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
156    method @NonNull public android.nearby.PrivateCredential build();
157    method @NonNull public android.nearby.PrivateCredential.Builder setIdentityType(int);
158  }
159
160  public final class PublicCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
161    method public int describeContents();
162    method @NonNull public byte[] getEncryptedMetadata();
163    method @NonNull public byte[] getEncryptedMetadataKeyTag();
164    method @NonNull public byte[] getPublicKey();
165    method public void writeToParcel(@NonNull android.os.Parcel, int);
166    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PublicCredential> CREATOR;
167  }
168
169  public static final class PublicCredential.Builder {
170    ctor public PublicCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[]);
171    method @NonNull public android.nearby.PublicCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
172    method @NonNull public android.nearby.PublicCredential build();
173    method @NonNull public android.nearby.PublicCredential.Builder setIdentityType(int);
174  }
175
176  public interface ScanCallback {
177    method public void onDiscovered(@NonNull android.nearby.NearbyDevice);
178    method public void onLost(@NonNull android.nearby.NearbyDevice);
179    method public void onUpdated(@NonNull android.nearby.NearbyDevice);
180  }
181
182  public abstract class ScanFilter {
183    method @IntRange(from=0, to=127) public int getMaxPathLoss();
184    method public int getType();
185  }
186
187  public final class ScanRequest implements android.os.Parcelable {
188    method public int describeContents();
189    method @NonNull public java.util.List<android.nearby.ScanFilter> getScanFilters();
190    method public int getScanMode();
191    method public int getScanType();
192    method @NonNull public android.os.WorkSource getWorkSource();
193    method public boolean isBleEnabled();
194    method public static boolean isValidScanMode(int);
195    method public static boolean isValidScanType(int);
196    method @NonNull public static String scanModeToString(int);
197    method public void writeToParcel(@NonNull android.os.Parcel, int);
198    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.ScanRequest> CREATOR;
199    field public static final int SCAN_MODE_BALANCED = 1; // 0x1
200    field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2
201    field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0
202    field public static final int SCAN_MODE_NO_POWER = -1; // 0xffffffff
203    field public static final int SCAN_TYPE_FAST_PAIR = 1; // 0x1
204    field public static final int SCAN_TYPE_NEARBY_PRESENCE = 2; // 0x2
205  }
206
207  public static final class ScanRequest.Builder {
208    ctor public ScanRequest.Builder();
209    method @NonNull public android.nearby.ScanRequest.Builder addScanFilter(@NonNull android.nearby.ScanFilter);
210    method @NonNull public android.nearby.ScanRequest build();
211    method @NonNull public android.nearby.ScanRequest.Builder setBleEnabled(boolean);
212    method @NonNull public android.nearby.ScanRequest.Builder setScanMode(int);
213    method @NonNull public android.nearby.ScanRequest.Builder setScanType(int);
214    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.nearby.ScanRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
215  }
216
217}
218
219package android.net {
220
221  public class EthernetManager {
222    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>);
223    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>);
224    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);
225    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>);
226  }
227
228  public static interface EthernetManager.TetheredInterfaceCallback {
229    method public void onAvailable(@NonNull String);
230    method public void onUnavailable();
231  }
232
233  public static class EthernetManager.TetheredInterfaceRequest {
234    method public void release();
235  }
236
237  public final class EthernetNetworkManagementException extends java.lang.RuntimeException implements android.os.Parcelable {
238    ctor public EthernetNetworkManagementException(@NonNull String);
239    method public int describeContents();
240    method public void writeToParcel(@NonNull android.os.Parcel, int);
241    field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkManagementException> CREATOR;
242  }
243
244  public final class EthernetNetworkUpdateRequest implements android.os.Parcelable {
245    method public int describeContents();
246    method @Nullable public android.net.IpConfiguration getIpConfiguration();
247    method @Nullable public android.net.NetworkCapabilities getNetworkCapabilities();
248    method public void writeToParcel(@NonNull android.os.Parcel, int);
249    field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkUpdateRequest> CREATOR;
250  }
251
252  public static final class EthernetNetworkUpdateRequest.Builder {
253    ctor public EthernetNetworkUpdateRequest.Builder();
254    ctor public EthernetNetworkUpdateRequest.Builder(@NonNull android.net.EthernetNetworkUpdateRequest);
255    method @NonNull public android.net.EthernetNetworkUpdateRequest build();
256    method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setIpConfiguration(@Nullable android.net.IpConfiguration);
257    method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
258  }
259
260  public class IpSecManager {
261    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;
262    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;
263  }
264
265  public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable {
266    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
267    method public void close();
268    method @NonNull public String getInterfaceName();
269    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
270    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException;
271  }
272
273  public static class IpSecTransform.Builder {
274    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;
275  }
276
277  public final class NetworkStats implements java.lang.Iterable<android.net.NetworkStats.Entry> android.os.Parcelable {
278    ctor public NetworkStats(long, int);
279    method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats);
280    method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry);
281    method public int describeContents();
282    method @NonNull public java.util.Iterator<android.net.NetworkStats.Entry> iterator();
283    method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats);
284    method public void writeToParcel(@NonNull android.os.Parcel, int);
285    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR;
286    field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff
287    field public static final int DEFAULT_NETWORK_NO = 0; // 0x0
288    field public static final int DEFAULT_NETWORK_YES = 1; // 0x1
289    field public static final String IFACE_VT = "vt_data0";
290    field public static final int METERED_ALL = -1; // 0xffffffff
291    field public static final int METERED_NO = 0; // 0x0
292    field public static final int METERED_YES = 1; // 0x1
293    field public static final int ROAMING_ALL = -1; // 0xffffffff
294    field public static final int ROAMING_NO = 0; // 0x0
295    field public static final int ROAMING_YES = 1; // 0x1
296    field public static final int SET_ALL = -1; // 0xffffffff
297    field public static final int SET_DEFAULT = 0; // 0x0
298    field public static final int SET_FOREGROUND = 1; // 0x1
299    field public static final int TAG_NONE = 0; // 0x0
300    field public static final int UID_ALL = -1; // 0xffffffff
301    field public static final int UID_TETHERING = -5; // 0xfffffffb
302  }
303
304  public static class NetworkStats.Entry {
305    ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long);
306    method public int getDefaultNetwork();
307    method public int getMetered();
308    method public long getOperations();
309    method public int getRoaming();
310    method public long getRxBytes();
311    method public long getRxPackets();
312    method public int getSet();
313    method public int getTag();
314    method public long getTxBytes();
315    method public long getTxPackets();
316    method public int getUid();
317  }
318
319  public class TrafficStats {
320    method public static void setThreadStatsTagApp();
321    method public static void setThreadStatsTagBackup();
322    method public static void setThreadStatsTagRestore();
323    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f
324    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80
325    field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff
326    field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00
327    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f
328    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00
329  }
330
331}
332
333package android.net.netstats.provider {
334
335  public abstract class NetworkStatsProvider {
336    ctor public NetworkStatsProvider();
337    method public void notifyAlertReached();
338    method public void notifyLimitReached();
339    method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats);
340    method public void notifyWarningReached();
341    method public abstract void onRequestStatsUpdate(int);
342    method public abstract void onSetAlert(long);
343    method public abstract void onSetLimit(@NonNull String, long);
344    method public void onSetWarningAndLimit(@NonNull String, long, long);
345    field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff
346  }
347
348}
349
350