blob: 6f0119edcbecd3ac374e775220862881169a7840 [file] [log] [blame]
Motomu Utsumi5dcd1452023-09-07 18:39:06 +09001// 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 public void queryOffloadCapability(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.nearby.OffloadCapability>);
63 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);
64 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);
65 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(@NonNull android.nearby.BroadcastCallback);
66 method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopScan(@NonNull android.nearby.ScanCallback);
67 }
68
69 public final class OffloadCapability implements android.os.Parcelable {
70 method public int describeContents();
71 method public long getVersion();
72 method public boolean isFastPairSupported();
73 method public boolean isNearbyShareSupported();
74 method public void writeToParcel(@NonNull android.os.Parcel, int);
75 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.OffloadCapability> CREATOR;
76 }
77
78 public static final class OffloadCapability.Builder {
79 ctor public OffloadCapability.Builder();
80 method @NonNull public android.nearby.OffloadCapability build();
81 method @NonNull public android.nearby.OffloadCapability.Builder setFastPairSupported(boolean);
82 method @NonNull public android.nearby.OffloadCapability.Builder setNearbyShareSupported(boolean);
83 method @NonNull public android.nearby.OffloadCapability.Builder setVersion(long);
84 }
85
86 public final class PresenceBroadcastRequest extends android.nearby.BroadcastRequest implements android.os.Parcelable {
87 method public int describeContents();
88 method @NonNull public java.util.List<java.lang.Integer> getActions();
89 method @NonNull public android.nearby.PrivateCredential getCredential();
90 method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
91 method @NonNull public byte[] getSalt();
92 method public void writeToParcel(@NonNull android.os.Parcel, int);
93 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceBroadcastRequest> CREATOR;
94 }
95
96 public static final class PresenceBroadcastRequest.Builder {
97 ctor public PresenceBroadcastRequest.Builder(@NonNull java.util.List<java.lang.Integer>, @NonNull byte[], @NonNull android.nearby.PrivateCredential);
98 method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addAction(@IntRange(from=1, to=255) int);
99 method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
100 method @NonNull public android.nearby.PresenceBroadcastRequest build();
101 method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setTxPower(@IntRange(from=0xffffff81, to=126) int);
102 method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setVersion(int);
103 }
104
105 public abstract class PresenceCredential {
106 method @NonNull public byte[] getAuthenticityKey();
107 method @NonNull public java.util.List<android.nearby.CredentialElement> getCredentialElements();
108 method public int getIdentityType();
109 method @NonNull public byte[] getSecretId();
110 method public int getType();
111 field public static final int CREDENTIAL_TYPE_PRIVATE = 0; // 0x0
112 field public static final int CREDENTIAL_TYPE_PUBLIC = 1; // 0x1
113 field public static final int IDENTITY_TYPE_PRIVATE = 1; // 0x1
114 field public static final int IDENTITY_TYPE_PROVISIONED = 2; // 0x2
115 field public static final int IDENTITY_TYPE_TRUSTED = 3; // 0x3
116 field public static final int IDENTITY_TYPE_UNKNOWN = 0; // 0x0
117 }
118
119 public final class PresenceDevice extends android.nearby.NearbyDevice implements android.os.Parcelable {
120 method public int describeContents();
121 method @NonNull public String getDeviceId();
122 method @Nullable public String getDeviceImageUrl();
123 method public int getDeviceType();
124 method public long getDiscoveryTimestampMillis();
125 method @NonNull public byte[] getEncryptedIdentity();
126 method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
127 method @NonNull public byte[] getSalt();
128 method @NonNull public byte[] getSecretId();
129 method public void writeToParcel(@NonNull android.os.Parcel, int);
130 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceDevice> CREATOR;
131 }
132
133 public static final class PresenceDevice.Builder {
134 ctor public PresenceDevice.Builder(@NonNull String, @NonNull byte[], @NonNull byte[], @NonNull byte[]);
135 method @NonNull public android.nearby.PresenceDevice.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
136 method @NonNull public android.nearby.PresenceDevice.Builder addMedium(int);
137 method @NonNull public android.nearby.PresenceDevice build();
138 method @NonNull public android.nearby.PresenceDevice.Builder setDeviceImageUrl(@Nullable String);
139 method @NonNull public android.nearby.PresenceDevice.Builder setDeviceType(int);
140 method @NonNull public android.nearby.PresenceDevice.Builder setDiscoveryTimestampMillis(long);
141 method @NonNull public android.nearby.PresenceDevice.Builder setName(@Nullable String);
142 method @NonNull public android.nearby.PresenceDevice.Builder setRssi(int);
143 }
144
145 public final class PresenceScanFilter extends android.nearby.ScanFilter implements android.os.Parcelable {
146 method public int describeContents();
147 method @NonNull public java.util.List<android.nearby.PublicCredential> getCredentials();
148 method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
149 method @NonNull public java.util.List<java.lang.Integer> getPresenceActions();
150 method public void writeToParcel(@NonNull android.os.Parcel, int);
151 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceScanFilter> CREATOR;
152 }
153
154 public static final class PresenceScanFilter.Builder {
155 ctor public PresenceScanFilter.Builder();
156 method @NonNull public android.nearby.PresenceScanFilter.Builder addCredential(@NonNull android.nearby.PublicCredential);
157 method @NonNull public android.nearby.PresenceScanFilter.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
158 method @NonNull public android.nearby.PresenceScanFilter.Builder addPresenceAction(@IntRange(from=1, to=255) int);
159 method @NonNull public android.nearby.PresenceScanFilter build();
160 method @NonNull public android.nearby.PresenceScanFilter.Builder setMaxPathLoss(@IntRange(from=0, to=127) int);
161 }
162
163 public final class PrivateCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
164 method public int describeContents();
165 method @NonNull public String getDeviceName();
166 method @NonNull public byte[] getMetadataEncryptionKey();
167 method public void writeToParcel(@NonNull android.os.Parcel, int);
168 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PrivateCredential> CREATOR;
169 }
170
171 public static final class PrivateCredential.Builder {
172 ctor public PrivateCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull String);
173 method @NonNull public android.nearby.PrivateCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
174 method @NonNull public android.nearby.PrivateCredential build();
175 method @NonNull public android.nearby.PrivateCredential.Builder setIdentityType(int);
176 }
177
178 public final class PublicCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
179 method public int describeContents();
180 method @NonNull public byte[] getEncryptedMetadata();
181 method @NonNull public byte[] getEncryptedMetadataKeyTag();
182 method @NonNull public byte[] getPublicKey();
183 method public void writeToParcel(@NonNull android.os.Parcel, int);
184 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PublicCredential> CREATOR;
185 }
186
187 public static final class PublicCredential.Builder {
188 ctor public PublicCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[]);
189 method @NonNull public android.nearby.PublicCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
190 method @NonNull public android.nearby.PublicCredential build();
191 method @NonNull public android.nearby.PublicCredential.Builder setIdentityType(int);
192 }
193
194 public interface ScanCallback {
195 method public void onDiscovered(@NonNull android.nearby.NearbyDevice);
196 method public default void onError(int);
197 method public void onLost(@NonNull android.nearby.NearbyDevice);
198 method public void onUpdated(@NonNull android.nearby.NearbyDevice);
199 field public static final int ERROR_INVALID_ARGUMENT = 2; // 0x2
200 field public static final int ERROR_PERMISSION_DENIED = 3; // 0x3
201 field public static final int ERROR_RESOURCE_EXHAUSTED = 4; // 0x4
202 field public static final int ERROR_UNKNOWN = 0; // 0x0
203 field public static final int ERROR_UNSUPPORTED = 1; // 0x1
204 }
205
206 public abstract class ScanFilter {
207 method @IntRange(from=0, to=127) public int getMaxPathLoss();
208 method public int getType();
209 }
210
211 public final class ScanRequest implements android.os.Parcelable {
212 method public int describeContents();
213 method @NonNull public java.util.List<android.nearby.ScanFilter> getScanFilters();
214 method public int getScanMode();
215 method public int getScanType();
216 method @NonNull public android.os.WorkSource getWorkSource();
217 method public boolean isBleEnabled();
218 method public boolean isOffloadOnly();
219 method public static boolean isValidScanMode(int);
220 method public static boolean isValidScanType(int);
221 method @NonNull public static String scanModeToString(int);
222 method public void writeToParcel(@NonNull android.os.Parcel, int);
223 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.ScanRequest> CREATOR;
224 field public static final int SCAN_MODE_BALANCED = 1; // 0x1
225 field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2
226 field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0
227 field public static final int SCAN_MODE_NO_POWER = -1; // 0xffffffff
228 field public static final int SCAN_TYPE_FAST_PAIR = 1; // 0x1
229 field public static final int SCAN_TYPE_NEARBY_PRESENCE = 2; // 0x2
230 }
231
232 public static final class ScanRequest.Builder {
233 ctor public ScanRequest.Builder();
234 method @NonNull public android.nearby.ScanRequest.Builder addScanFilter(@NonNull android.nearby.ScanFilter);
235 method @NonNull public android.nearby.ScanRequest build();
236 method @NonNull public android.nearby.ScanRequest.Builder setBleEnabled(boolean);
237 method @NonNull public android.nearby.ScanRequest.Builder setOffloadOnly(boolean);
238 method @NonNull public android.nearby.ScanRequest.Builder setScanMode(int);
239 method @NonNull public android.nearby.ScanRequest.Builder setScanType(int);
240 method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.nearby.ScanRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
241 }
242
243}
244
245package android.net {
246
247 public class EthernetManager {
248 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>);
249 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>);
250 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);
251 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>);
252 }
253
254 public static interface EthernetManager.TetheredInterfaceCallback {
255 method public void onAvailable(@NonNull String);
256 method public void onUnavailable();
257 }
258
259 public static class EthernetManager.TetheredInterfaceRequest {
260 method public void release();
261 }
262
263 public final class EthernetNetworkManagementException extends java.lang.RuntimeException implements android.os.Parcelable {
264 ctor public EthernetNetworkManagementException(@NonNull String);
265 method public int describeContents();
266 method public void writeToParcel(@NonNull android.os.Parcel, int);
267 field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkManagementException> CREATOR;
268 }
269
270 public final class EthernetNetworkUpdateRequest implements android.os.Parcelable {
271 method public int describeContents();
272 method @Nullable public android.net.IpConfiguration getIpConfiguration();
273 method @Nullable public android.net.NetworkCapabilities getNetworkCapabilities();
274 method public void writeToParcel(@NonNull android.os.Parcel, int);
275 field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkUpdateRequest> CREATOR;
276 }
277
278 public static final class EthernetNetworkUpdateRequest.Builder {
279 ctor public EthernetNetworkUpdateRequest.Builder();
280 ctor public EthernetNetworkUpdateRequest.Builder(@NonNull android.net.EthernetNetworkUpdateRequest);
281 method @NonNull public android.net.EthernetNetworkUpdateRequest build();
282 method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setIpConfiguration(@Nullable android.net.IpConfiguration);
283 method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
284 }
285
286 public class IpSecManager {
287 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;
288 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;
289 method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void startTunnelModeTransformMigration(@NonNull android.net.IpSecTransform, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress);
290 }
291
292 public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable {
293 method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
294 method public void close();
295 method @NonNull public String getInterfaceName();
296 method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
297 method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException;
298 }
299
300 public static class IpSecTransform.Builder {
301 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;
302 }
303
304 public final class NetworkStats implements java.lang.Iterable<android.net.NetworkStats.Entry> android.os.Parcelable {
305 ctor public NetworkStats(long, int);
306 method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats);
307 method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry);
Motomu Utsumief98bd52023-11-02 11:57:44 +0900308 method public android.net.NetworkStats clone();
Motomu Utsumi5dcd1452023-09-07 18:39:06 +0900309 method public int describeContents();
310 method @NonNull public java.util.Iterator<android.net.NetworkStats.Entry> iterator();
311 method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats);
312 method public void writeToParcel(@NonNull android.os.Parcel, int);
313 field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR;
314 field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff
315 field public static final int DEFAULT_NETWORK_NO = 0; // 0x0
316 field public static final int DEFAULT_NETWORK_YES = 1; // 0x1
317 field public static final String IFACE_VT = "vt_data0";
318 field public static final int METERED_ALL = -1; // 0xffffffff
319 field public static final int METERED_NO = 0; // 0x0
320 field public static final int METERED_YES = 1; // 0x1
321 field public static final int ROAMING_ALL = -1; // 0xffffffff
322 field public static final int ROAMING_NO = 0; // 0x0
323 field public static final int ROAMING_YES = 1; // 0x1
324 field public static final int SET_ALL = -1; // 0xffffffff
325 field public static final int SET_DEFAULT = 0; // 0x0
326 field public static final int SET_FOREGROUND = 1; // 0x1
327 field public static final int TAG_NONE = 0; // 0x0
328 field public static final int UID_ALL = -1; // 0xffffffff
329 field public static final int UID_TETHERING = -5; // 0xfffffffb
330 }
331
332 public static class NetworkStats.Entry {
333 ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long);
334 method public int getDefaultNetwork();
335 method public int getMetered();
336 method public long getOperations();
337 method public int getRoaming();
338 method public long getRxBytes();
339 method public long getRxPackets();
340 method public int getSet();
341 method public int getTag();
342 method public long getTxBytes();
343 method public long getTxPackets();
344 method public int getUid();
345 }
346
347 public class TrafficStats {
348 method public static void setThreadStatsTagApp();
349 method public static void setThreadStatsTagBackup();
350 method public static void setThreadStatsTagRestore();
351 field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f
352 field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80
353 field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff
354 field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00
355 field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f
356 field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00
357 }
358
359}
360
361package android.net.netstats.provider {
362
363 public abstract class NetworkStatsProvider {
364 ctor public NetworkStatsProvider();
365 method public void notifyAlertReached();
366 method public void notifyLimitReached();
367 method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats);
368 method public void notifyWarningReached();
369 method public abstract void onRequestStatsUpdate(int);
370 method public abstract void onSetAlert(long);
371 method public abstract void onSetLimit(@NonNull String, long);
372 method public void onSetWarningAndLimit(@NonNull String, long, long);
373 field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff
374 }
375
376}
377
378package android.net.nsd {
379
380 public final class NsdManager {
381 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);
382 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);
383 }
384
385 public interface OffloadEngine {
386 method public void onOffloadServiceRemoved(@NonNull android.net.nsd.OffloadServiceInfo);
387 method public void onOffloadServiceUpdated(@NonNull android.net.nsd.OffloadServiceInfo);
388 field public static final int OFFLOAD_CAPABILITY_BYPASS_MULTICAST_LOCK = 1; // 0x1
389 field public static final int OFFLOAD_TYPE_FILTER_QUERIES = 2; // 0x2
390 field public static final int OFFLOAD_TYPE_FILTER_REPLIES = 4; // 0x4
391 field public static final int OFFLOAD_TYPE_REPLY = 1; // 0x1
392 }
393
394 public final class OffloadServiceInfo implements android.os.Parcelable {
395 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);
396 method public int describeContents();
397 method @NonNull public String getHostname();
398 method @NonNull public android.net.nsd.OffloadServiceInfo.Key getKey();
399 method @Nullable public byte[] getOffloadPayload();
400 method public long getOffloadType();
401 method public int getPriority();
402 method @NonNull public java.util.List<java.lang.String> getSubtypes();
403 method public void writeToParcel(@NonNull android.os.Parcel, int);
404 field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.OffloadServiceInfo> CREATOR;
405 }
406
407 public static final class OffloadServiceInfo.Key implements android.os.Parcelable {
408 ctor public OffloadServiceInfo.Key(@NonNull String, @NonNull String);
409 method public int describeContents();
410 method @NonNull public String getServiceName();
411 method @NonNull public String getServiceType();
412 method public void writeToParcel(@NonNull android.os.Parcel, int);
413 field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.OffloadServiceInfo.Key> CREATOR;
414 }
415
416}
417