blob: f19db9a78dbbdb01141e6f2a2417e1cc8271ba7f [file] [log] [blame]
paulhu667e8fb2021-12-14 01:30:22 +00001// Signature format: 2.0
Junyu Lai2ef865e2022-01-17 11:52:57 +00002package android.app.usage {
3
4 public class NetworkStatsManager {
Frank098c5172022-02-09 21:02:25 +08005 method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public android.net.NetworkStats getMobileUidStats();
6 method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public android.net.NetworkStats getWifiUidStats();
Junyu Lai2ef865e2022-01-17 11:52:57 +00007 method @NonNull @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 @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STATS_PROVIDER, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void unregisterNetworkStatsProvider(@NonNull android.net.netstats.provider.NetworkStatsProvider);
9 }
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 Wang88c48442022-03-05 12:14:12 -080031 field public static final int PRESENCE_VERSION_UNKNOWN = -1; // 0xffffffff
Wei Wangb15b5a82022-02-01 17:08:08 -080032 field public static final int PRESENCE_VERSION_V0 = 0; // 0x0
33 field public static final int PRESENCE_VERSION_V1 = 1; // 0x1
Wei Wang88c48442022-03-05 12:14:12 -080034 field public static final int UNKNOWN_TX_POWER = -127; // 0xffffff81
Wei Wangb15b5a82022-02-01 17:08:08 -080035 }
36
37 public final class CredentialElement implements android.os.Parcelable {
38 ctor public CredentialElement(@NonNull String, @NonNull byte[]);
39 method public int describeContents();
40 method @NonNull public String getKey();
41 method @NonNull public byte[] getValue();
42 method public void writeToParcel(@NonNull android.os.Parcel, int);
43 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.CredentialElement> CREATOR;
44 }
45
46 public final class DataElement implements android.os.Parcelable {
47 ctor public DataElement(int, @NonNull byte[]);
48 method public int describeContents();
49 method public int getKey();
50 method @NonNull public byte[] getValue();
51 method public void writeToParcel(@NonNull android.os.Parcel, int);
52 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.DataElement> CREATOR;
53 }
54
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +090055 public class FastPairAccountKeyDeviceMetadata {
56 method @Nullable public byte[] getAccountKey();
57 method @Nullable public android.nearby.FastPairDeviceMetadata getFastPairDeviceMetadata();
58 method @Nullable public android.nearby.FastPairDiscoveryItem getFastPairDiscoveryItem();
59 method @Nullable public byte[] getSha256AccountKeyPublicAddress();
60 }
61
62 public static final class FastPairAccountKeyDeviceMetadata.Builder {
63 ctor public FastPairAccountKeyDeviceMetadata.Builder();
64 method @NonNull public android.nearby.FastPairAccountKeyDeviceMetadata build();
65 method @NonNull public android.nearby.FastPairAccountKeyDeviceMetadata.Builder setAccountKey(@Nullable byte[]);
66 method @NonNull public android.nearby.FastPairAccountKeyDeviceMetadata.Builder setFastPairDeviceMetadata(@Nullable android.nearby.FastPairDeviceMetadata);
67 method @NonNull public android.nearby.FastPairAccountKeyDeviceMetadata.Builder setFastPairDiscoveryItem(@Nullable android.nearby.FastPairDiscoveryItem);
68 method @NonNull public android.nearby.FastPairAccountKeyDeviceMetadata.Builder setSha256AccountKeyPublicAddress(@Nullable byte[]);
69 }
70
Chun Zhangee379fd2022-03-09 11:18:20 -080071 public class FastPairAntispoofKeyDeviceMetadata {
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +090072 }
73
Chun Zhangee379fd2022-03-09 11:18:20 -080074 public static final class FastPairAntispoofKeyDeviceMetadata.Builder {
75 ctor public FastPairAntispoofKeyDeviceMetadata.Builder();
76 method @NonNull public android.nearby.FastPairAntispoofKeyDeviceMetadata build();
77 method @NonNull public android.nearby.FastPairAntispoofKeyDeviceMetadata.Builder setAntiSpoofPublicKey(@Nullable byte[]);
78 method @NonNull public android.nearby.FastPairAntispoofKeyDeviceMetadata.Builder setFastPairDeviceMetadata(@Nullable android.nearby.FastPairDeviceMetadata);
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +090079 }
80
81 public abstract class FastPairDataProviderBase {
82 ctor public FastPairDataProviderBase(@NonNull String);
83 method @Nullable public final android.os.IBinder getBinder();
84 method public abstract void onLoadFastPairAccountDevicesMetadata(@NonNull android.nearby.FastPairDataProviderBase.FastPairAccountDevicesMetadataRequest, @NonNull android.nearby.FastPairDataProviderBase.FastPairAccountDevicesMetadataCallback);
Chun Zhangee379fd2022-03-09 11:18:20 -080085 method public abstract void onLoadFastPairAntispoofKeyDeviceMetadata(@NonNull android.nearby.FastPairDataProviderBase.FastPairAntispoofKeyDeviceMetadataRequest, @NonNull android.nearby.FastPairDataProviderBase.FastPairAntispoofKeyDeviceMetadataCallback);
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +090086 method public abstract void onLoadFastPairEligibleAccounts(@NonNull android.nearby.FastPairDataProviderBase.FastPairEligibleAccountsRequest, @NonNull android.nearby.FastPairDataProviderBase.FastPairEligibleAccountsCallback);
87 method public abstract void onManageFastPairAccount(@NonNull android.nearby.FastPairDataProviderBase.FastPairManageAccountRequest, @NonNull android.nearby.FastPairDataProviderBase.FastPairManageActionCallback);
88 method public abstract void onManageFastPairAccountDevice(@NonNull android.nearby.FastPairDataProviderBase.FastPairManageAccountDeviceRequest, @NonNull android.nearby.FastPairDataProviderBase.FastPairManageActionCallback);
89 field public static final String ACTION_FAST_PAIR_DATA_PROVIDER = "android.nearby.action.FAST_PAIR_DATA_PROVIDER";
90 field public static final int ERROR_CODE_BAD_REQUEST = 0; // 0x0
91 field public static final int ERROR_CODE_INTERNAL_ERROR = 1; // 0x1
92 field public static final int MANAGE_REQUEST_ADD = 0; // 0x0
93 field public static final int MANAGE_REQUEST_REMOVE = 1; // 0x1
94 }
95
96 public static interface FastPairDataProviderBase.FastPairAccountDevicesMetadataCallback {
97 method public void onError(int, @Nullable String);
98 method public void onFastPairAccountDevicesMetadataReceived(@NonNull java.util.Collection<android.nearby.FastPairAccountKeyDeviceMetadata>);
99 }
100
101 public static class FastPairDataProviderBase.FastPairAccountDevicesMetadataRequest {
102 method @NonNull public android.accounts.Account getAccount();
Chun Zhang9c18dab2022-02-16 23:26:32 -0800103 method @NonNull public java.util.Collection<byte[]> getAccountKeys();
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900104 }
105
Chun Zhangee379fd2022-03-09 11:18:20 -0800106 public static interface FastPairDataProviderBase.FastPairAntispoofKeyDeviceMetadataCallback {
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900107 method public void onError(int, @Nullable String);
Chun Zhangee379fd2022-03-09 11:18:20 -0800108 method public void onFastPairAntispoofKeyDeviceMetadataReceived(@NonNull android.nearby.FastPairAntispoofKeyDeviceMetadata);
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900109 }
110
Chun Zhangee379fd2022-03-09 11:18:20 -0800111 public static class FastPairDataProviderBase.FastPairAntispoofKeyDeviceMetadataRequest {
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900112 method @NonNull public byte[] getModelId();
113 }
114
115 public static interface FastPairDataProviderBase.FastPairEligibleAccountsCallback {
116 method public void onError(int, @Nullable String);
117 method public void onFastPairEligibleAccountsReceived(@NonNull java.util.Collection<android.nearby.FastPairEligibleAccount>);
118 }
119
120 public static class FastPairDataProviderBase.FastPairEligibleAccountsRequest {
121 }
122
123 public static class FastPairDataProviderBase.FastPairManageAccountDeviceRequest {
124 method @NonNull public android.accounts.Account getAccount();
125 method @NonNull public android.nearby.FastPairAccountKeyDeviceMetadata getAccountKeyDeviceMetadata();
126 method @Nullable public String getBleAddress();
127 method public int getRequestType();
128 }
129
130 public static class FastPairDataProviderBase.FastPairManageAccountRequest {
131 method @NonNull public android.accounts.Account getAccount();
132 method public int getRequestType();
133 }
134
135 public static interface FastPairDataProviderBase.FastPairManageActionCallback {
136 method public void onError(int, @Nullable String);
137 method public void onSuccess();
138 }
139
140 public class FastPairDeviceMetadata {
141 method @Nullable public String getAssistantSetupHalfSheet();
142 method @Nullable public String getAssistantSetupNotification();
143 method public int getBleTxPower();
144 method @Nullable public String getConfirmPinDescription();
145 method @Nullable public String getConfirmPinTitle();
146 method @Nullable public String getConnectSuccessCompanionAppInstalled();
147 method @Nullable public String getConnectSuccessCompanionAppNotInstalled();
148 method public int getDeviceType();
149 method @Nullable public String getDownloadCompanionAppDescription();
150 method @Nullable public String getFailConnectGoToSettingsDescription();
151 method @Nullable public String getFastPairTvConnectDeviceNoAccountDescription();
152 method @Nullable public byte[] getImage();
153 method @Nullable public String getImageUrl();
154 method @Nullable public String getInitialNotificationDescription();
155 method @Nullable public String getInitialNotificationDescriptionNoAccount();
156 method @Nullable public String getInitialPairingDescription();
157 method @Nullable public String getIntentUri();
158 method @Nullable public String getLocale();
Chun Zhangf639ce02022-02-08 22:16:38 -0800159 method @Nullable public String getName();
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900160 method @Nullable public String getOpenCompanionAppDescription();
161 method @Nullable public String getRetroactivePairingDescription();
162 method @Nullable public String getSubsequentPairingDescription();
163 method @Nullable public String getSyncContactsDescription();
164 method @Nullable public String getSyncContactsTitle();
165 method @Nullable public String getSyncSmsDescription();
166 method @Nullable public String getSyncSmsTitle();
167 method public float getTriggerDistance();
168 method @Nullable public String getTrueWirelessImageUrlCase();
169 method @Nullable public String getTrueWirelessImageUrlLeftBud();
170 method @Nullable public String getTrueWirelessImageUrlRightBud();
171 method @Nullable public String getUnableToConnectDescription();
172 method @Nullable public String getUnableToConnectTitle();
173 method @Nullable public String getUpdateCompanionAppDescription();
174 method @Nullable public String getWaitLaunchCompanionAppDescription();
175 }
176
177 public static final class FastPairDeviceMetadata.Builder {
178 ctor public FastPairDeviceMetadata.Builder();
179 method @NonNull public android.nearby.FastPairDeviceMetadata build();
180 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setAssistantSetupHalfSheet(@Nullable String);
181 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setAssistantSetupNotification(@Nullable String);
182 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setBleTxPower(int);
183 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setConfirmPinDescription(@Nullable String);
184 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setConfirmPinTitle(@Nullable String);
185 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setConnectSuccessCompanionAppInstalled(@Nullable String);
186 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setConnectSuccessCompanionAppNotInstalled(@Nullable String);
187 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setDeviceType(int);
188 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setDownloadCompanionAppDescription(@Nullable String);
189 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setFailConnectGoToSettingsDescription(@Nullable String);
190 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setFastPairTvConnectDeviceNoAccountDescription(@Nullable String);
191 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setImage(@Nullable byte[]);
192 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setImageUrl(@Nullable String);
193 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setInitialNotificationDescription(@Nullable String);
194 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setInitialNotificationDescriptionNoAccount(@Nullable String);
195 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setInitialPairingDescription(@Nullable String);
196 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setIntentUri(@Nullable String);
197 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setLocale(@Nullable String);
Chun Zhangf639ce02022-02-08 22:16:38 -0800198 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setName(@Nullable String);
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900199 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setOpenCompanionAppDescription(@Nullable String);
200 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setRetroactivePairingDescription(@Nullable String);
201 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setSubsequentPairingDescription(@Nullable String);
202 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setSyncContactsDescription(@Nullable String);
203 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setSyncContactsTitle(@Nullable String);
204 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setSyncSmsDescription(@Nullable String);
205 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setSyncSmsTitle(@Nullable String);
206 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setTriggerDistance(float);
207 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setTrueWirelessImageUrlCase(@Nullable String);
208 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setTrueWirelessImageUrlLeftBud(@Nullable String);
209 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setTrueWirelessImageUrlRightBud(@Nullable String);
210 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setUnableToConnectDescription(@Nullable String);
211 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setUnableToConnectTitle(@Nullable String);
212 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setUpdateCompanionAppDescription(@Nullable String);
213 method @NonNull public android.nearby.FastPairDeviceMetadata.Builder setWaitLaunchCompanionAppDescription(@Nullable String);
214 }
215
216 public class FastPairDiscoveryItem {
217 method @Nullable public String getActionUrl();
218 method public int getActionUrlType();
219 method @Nullable public String getAppName();
220 method public int getAttachmentType();
221 method @Nullable public byte[] getAuthenticationPublicKeySecp256r1();
222 method @Nullable public byte[] getBleRecordBytes();
223 method public int getDebugCategory();
224 method @Nullable public String getDebugMessage();
225 method @Nullable public String getDescription();
226 method @Nullable public String getDeviceName();
227 method @Nullable public String getDisplayUrl();
228 method @Nullable public String getEntityId();
229 method @Nullable public String getFeatureGraphicUrl();
230 method public long getFirstObservationTimestampMillis();
231 method @Nullable public String getGroupId();
232 method @Nullable public String getIconFfeUrl();
233 method @Nullable public byte[] getIconPng();
234 method @Nullable public String getId();
235 method public long getLastObservationTimestampMillis();
236 method public int getLastUserExperience();
237 method public long getLostMillis();
238 method @Nullable public String getMacAddress();
239 method @Nullable public String getPackageName();
240 method public long getPendingAppInstallTimestampMillis();
241 method public int getRssi();
242 method public int getState();
243 method @Nullable public String getTitle();
244 method @Nullable public String getTriggerId();
245 method public int getTxPower();
246 method public int getType();
247 }
248
249 public static final class FastPairDiscoveryItem.Builder {
250 ctor public FastPairDiscoveryItem.Builder();
251 method @NonNull public android.nearby.FastPairDiscoveryItem build();
252 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setActionUrl(@Nullable String);
253 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setActionUrlType(int);
254 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setAppName(@Nullable String);
255 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setAttachmentType(int);
256 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setAuthenticationPublicKeySecp256r1(@Nullable byte[]);
257 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setBleRecordBytes(@Nullable byte[]);
258 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setDebugCategory(int);
259 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setDebugMessage(@Nullable String);
260 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setDescription(@Nullable String);
261 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setDeviceName(@Nullable String);
262 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setDisplayUrl(@Nullable String);
263 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setEntityId(@Nullable String);
264 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setFeatureGraphicUrl(@Nullable String);
265 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setFirstObservationTimestampMillis(long);
266 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setGroupId(@Nullable String);
267 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setIconFfeUrl(@Nullable String);
268 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setIconPng(@Nullable byte[]);
269 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setId(@Nullable String);
270 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setLastObservationTimestampMillis(long);
271 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setLastUserExperience(int);
272 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setLostMillis(long);
273 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setMacAddress(@Nullable String);
274 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setPackageName(@Nullable String);
275 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setPendingAppInstallTimestampMillis(long);
276 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setRssi(int);
277 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setState(int);
278 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setTitle(@Nullable String);
279 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setTriggerId(@Nullable String);
280 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setTxPower(int);
281 method @NonNull public android.nearby.FastPairDiscoveryItem.Builder setType(int);
282 }
283
284 public class FastPairEligibleAccount {
285 }
286
287 public static final class FastPairEligibleAccount.Builder {
288 ctor public FastPairEligibleAccount.Builder();
289 method @NonNull public android.nearby.FastPairEligibleAccount build();
290 method @NonNull public android.nearby.FastPairEligibleAccount.Builder setAccount(@Nullable android.accounts.Account);
291 method @NonNull public android.nearby.FastPairEligibleAccount.Builder setOptIn(boolean);
292 }
293
294 public abstract class NearbyDevice {
Wei Wangb15b5a82022-02-01 17:08:08 -0800295 method @NonNull public java.util.List<java.lang.Integer> getMediums();
296 method @Nullable public String getName();
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900297 method @IntRange(from=0xffffff81, to=126) public int getRssi();
298 method public static boolean isValidMedium(int);
299 }
300
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900301 public class NearbyManager {
Xinyi Zhou59b40a22022-03-07 13:04:59 -0800302 method public static boolean getFastPairScanEnabled(@NonNull android.content.Context, boolean);
303 method public static void setFastPairScanEnabled(@NonNull android.content.Context, boolean);
Wei Wangb15b5a82022-02-01 17:08:08 -0800304 method public void startBroadcast(@NonNull android.nearby.BroadcastRequest, @NonNull java.util.concurrent.Executor, @NonNull android.nearby.BroadcastCallback);
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900305 method public void startScan(@NonNull android.nearby.ScanRequest, @NonNull java.util.concurrent.Executor, @NonNull android.nearby.ScanCallback);
Wei Wangb15b5a82022-02-01 17:08:08 -0800306 method public void stopBroadcast(@NonNull android.nearby.BroadcastCallback);
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900307 method public void stopScan(@NonNull android.nearby.ScanCallback);
308 }
309
Wei Wangb15b5a82022-02-01 17:08:08 -0800310 public final class PresenceBroadcastRequest extends android.nearby.BroadcastRequest implements android.os.Parcelable {
Wei Wang24e2cb22022-03-12 12:15:34 -0800311 method public int describeContents();
Wei Wangb15b5a82022-02-01 17:08:08 -0800312 method @NonNull public java.util.List<java.lang.Integer> getActions();
313 method @NonNull public android.nearby.PrivateCredential getCredential();
314 method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
315 method @NonNull public byte[] getSalt();
Wei Wang24e2cb22022-03-12 12:15:34 -0800316 method public void writeToParcel(@NonNull android.os.Parcel, int);
Wei Wangb15b5a82022-02-01 17:08:08 -0800317 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceBroadcastRequest> CREATOR;
318 }
319
320 public static final class PresenceBroadcastRequest.Builder {
Wei Wang88c48442022-03-05 12:14:12 -0800321 ctor public PresenceBroadcastRequest.Builder(@NonNull java.util.List<java.lang.Integer>, @NonNull byte[], @NonNull android.nearby.PrivateCredential);
Wei Wangb15b5a82022-02-01 17:08:08 -0800322 method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addAction(@IntRange(from=1, to=255) int);
323 method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
324 method @NonNull public android.nearby.PresenceBroadcastRequest build();
Wei Wangb15b5a82022-02-01 17:08:08 -0800325 method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setTxPower(@IntRange(from=0xffffff81, to=126) int);
326 method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setVersion(int);
327 }
328
Wei Wang24e2cb22022-03-12 12:15:34 -0800329 public abstract class PresenceCredential {
Wei Wangb15b5a82022-02-01 17:08:08 -0800330 method @NonNull public byte[] getAuthenticityKey();
331 method @NonNull public java.util.List<android.nearby.CredentialElement> getCredentialElements();
332 method public int getIdentityType();
333 method @NonNull public byte[] getSecretId();
334 method public int getType();
Wei Wangb15b5a82022-02-01 17:08:08 -0800335 field public static final int CREDENTIAL_TYPE_PRIVATE = 0; // 0x0
336 field public static final int CREDENTIAL_TYPE_PUBLIC = 1; // 0x1
337 field public static final int IDENTITY_TYPE_PRIVATE = 1; // 0x1
338 field public static final int IDENTITY_TYPE_PROVISIONED = 2; // 0x2
339 field public static final int IDENTITY_TYPE_PUBLIC = 4; // 0x4
340 field public static final int IDENTITY_TYPE_TRUSTED = 3; // 0x3
341 field public static final int IDENTITY_TYPE_UNKNOWN = 0; // 0x0
342 }
343
344 public final class PresenceDevice extends android.nearby.NearbyDevice implements android.os.Parcelable {
345 method public int describeContents();
346 method @NonNull public String getDeviceId();
347 method @Nullable public String getDeviceImageUrl();
348 method public int getDeviceType();
349 method public long getDiscoveryTimestampMillis();
350 method @NonNull public byte[] getEncryptedIdentity();
351 method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
352 method @NonNull public byte[] getSalt();
353 method @NonNull public byte[] getSecretId();
354 method public void writeToParcel(@NonNull android.os.Parcel, int);
355 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceDevice> CREATOR;
356 }
357
358 public static final class PresenceDevice.Builder {
Wei Wang88c48442022-03-05 12:14:12 -0800359 ctor public PresenceDevice.Builder(@NonNull String, @NonNull byte[], @NonNull byte[], @NonNull byte[]);
Wei Wangb15b5a82022-02-01 17:08:08 -0800360 method @NonNull public android.nearby.PresenceDevice.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
361 method @NonNull public android.nearby.PresenceDevice.Builder addMedium(int);
362 method @NonNull public android.nearby.PresenceDevice build();
Wei Wangb15b5a82022-02-01 17:08:08 -0800363 method @NonNull public android.nearby.PresenceDevice.Builder setDeviceImageUrl(@Nullable String);
364 method @NonNull public android.nearby.PresenceDevice.Builder setDeviceType(int);
365 method @NonNull public android.nearby.PresenceDevice.Builder setDiscoveryTimestampMillis(long);
Wei Wangb15b5a82022-02-01 17:08:08 -0800366 method @NonNull public android.nearby.PresenceDevice.Builder setName(@Nullable String);
367 method @NonNull public android.nearby.PresenceDevice.Builder setRssi(int);
Wei Wangb15b5a82022-02-01 17:08:08 -0800368 }
369
370 public final class PresenceScanFilter extends android.nearby.ScanFilter implements android.os.Parcelable {
Wei Wang24e2cb22022-03-12 12:15:34 -0800371 method public int describeContents();
Wei Wangb15b5a82022-02-01 17:08:08 -0800372 method @NonNull public java.util.List<android.nearby.PublicCredential> getCredentials();
373 method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
374 method @NonNull public java.util.List<java.lang.Integer> getPresenceActions();
Wei Wang24e2cb22022-03-12 12:15:34 -0800375 method public void writeToParcel(@NonNull android.os.Parcel, int);
Wei Wangb15b5a82022-02-01 17:08:08 -0800376 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceScanFilter> CREATOR;
377 }
378
379 public static final class PresenceScanFilter.Builder {
380 ctor public PresenceScanFilter.Builder();
381 method @NonNull public android.nearby.PresenceScanFilter.Builder addCredential(@NonNull android.nearby.PublicCredential);
382 method @NonNull public android.nearby.PresenceScanFilter.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
383 method @NonNull public android.nearby.PresenceScanFilter.Builder addPresenceAction(@IntRange(from=1, to=255) int);
384 method @NonNull public android.nearby.PresenceScanFilter build();
385 method @NonNull public android.nearby.PresenceScanFilter.Builder setMaxPathLoss(@IntRange(from=0, to=127) int);
386 }
387
388 public final class PrivateCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
Wei Wang24e2cb22022-03-12 12:15:34 -0800389 method public int describeContents();
Wei Wangb15b5a82022-02-01 17:08:08 -0800390 method @NonNull public String getDeviceName();
391 method @NonNull public byte[] getMetadataEncryptionKey();
Wei Wang24e2cb22022-03-12 12:15:34 -0800392 method public void writeToParcel(@NonNull android.os.Parcel, int);
Wei Wangb15b5a82022-02-01 17:08:08 -0800393 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PrivateCredential> CREATOR;
394 }
395
396 public static final class PrivateCredential.Builder {
Wei Wang24e2cb22022-03-12 12:15:34 -0800397 ctor public PrivateCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull String);
Wei Wangb15b5a82022-02-01 17:08:08 -0800398 method @NonNull public android.nearby.PrivateCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
399 method @NonNull public android.nearby.PrivateCredential build();
Wei Wangb15b5a82022-02-01 17:08:08 -0800400 method @NonNull public android.nearby.PrivateCredential.Builder setIdentityType(int);
Wei Wangb15b5a82022-02-01 17:08:08 -0800401 }
402
403 public final class PublicCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
Wei Wang24e2cb22022-03-12 12:15:34 -0800404 method public int describeContents();
Wei Wangb15b5a82022-02-01 17:08:08 -0800405 method @NonNull public byte[] getEncryptedMetadata();
406 method @NonNull public byte[] getEncryptedMetadataKeyTag();
407 method @NonNull public byte[] getPublicKey();
Wei Wang24e2cb22022-03-12 12:15:34 -0800408 method public void writeToParcel(@NonNull android.os.Parcel, int);
Wei Wangb15b5a82022-02-01 17:08:08 -0800409 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PublicCredential> CREATOR;
410 }
411
412 public static final class PublicCredential.Builder {
Wei Wang24e2cb22022-03-12 12:15:34 -0800413 ctor public PublicCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[]);
Wei Wangb15b5a82022-02-01 17:08:08 -0800414 method @NonNull public android.nearby.PublicCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
415 method @NonNull public android.nearby.PublicCredential build();
Wei Wangb15b5a82022-02-01 17:08:08 -0800416 method @NonNull public android.nearby.PublicCredential.Builder setIdentityType(int);
Wei Wangb15b5a82022-02-01 17:08:08 -0800417 }
418
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900419 public interface ScanCallback {
420 method public void onDiscovered(@NonNull android.nearby.NearbyDevice);
421 method public void onLost(@NonNull android.nearby.NearbyDevice);
422 method public void onUpdated(@NonNull android.nearby.NearbyDevice);
423 }
424
Wei Wang24e2cb22022-03-12 12:15:34 -0800425 public abstract class ScanFilter {
Wei Wangb15b5a82022-02-01 17:08:08 -0800426 method @IntRange(from=0, to=127) public int getMaxPathLoss();
427 method public int getType();
Wei Wangb15b5a82022-02-01 17:08:08 -0800428 }
429
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900430 public final class ScanRequest implements android.os.Parcelable {
431 method public int describeContents();
Wei Wangb15b5a82022-02-01 17:08:08 -0800432 method @NonNull public java.util.List<android.nearby.ScanFilter> getScanFilters();
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900433 method public int getScanMode();
434 method public int getScanType();
435 method @NonNull public android.os.WorkSource getWorkSource();
Xinyi Zhouff987502022-03-09 17:38:41 -0800436 method public boolean isBleEnabled();
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900437 method public static boolean isValidScanMode(int);
438 method public static boolean isValidScanType(int);
439 method @NonNull public static String scanModeToString(int);
440 method public void writeToParcel(@NonNull android.os.Parcel, int);
441 field @NonNull public static final android.os.Parcelable.Creator<android.nearby.ScanRequest> CREATOR;
442 field public static final int SCAN_MODE_BALANCED = 1; // 0x1
443 field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2
444 field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0
445 field public static final int SCAN_MODE_NO_POWER = -1; // 0xffffffff
446 field public static final int SCAN_TYPE_EXPOSURE_NOTIFICATION = 4; // 0x4
447 field public static final int SCAN_TYPE_FAST_PAIR = 1; // 0x1
448 field public static final int SCAN_TYPE_NEARBY_PRESENCE = 3; // 0x3
449 field public static final int SCAN_TYPE_NEARBY_SHARE = 2; // 0x2
450 }
451
452 public static final class ScanRequest.Builder {
453 ctor public ScanRequest.Builder();
Wei Wangb15b5a82022-02-01 17:08:08 -0800454 method @NonNull public android.nearby.ScanRequest.Builder addScanFilter(@NonNull android.nearby.ScanFilter);
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900455 method @NonNull public android.nearby.ScanRequest build();
Xinyi Zhouff987502022-03-09 17:38:41 -0800456 method @NonNull public android.nearby.ScanRequest.Builder setBleEnabled(boolean);
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900457 method @NonNull public android.nearby.ScanRequest.Builder setScanMode(int);
458 method @NonNull public android.nearby.ScanRequest.Builder setScanType(int);
459 method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.nearby.ScanRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
460 }
461
462}
463
Aaron Huang68ca3732022-01-06 19:30:43 +0800464package android.net {
465
Xiao Maeaaf7d32022-01-23 16:14:51 +0000466 public class EthernetManager {
467 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.MANAGE_ETHERNET_NETWORKS}) public void connectNetwork(@NonNull String, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.BiConsumer<android.net.Network,android.net.EthernetNetworkManagementException>);
468 method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.MANAGE_ETHERNET_NETWORKS}) public void disconnectNetwork(@NonNull String, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.BiConsumer<android.net.Network,android.net.EthernetNetworkManagementException>);
469 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);
470 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 java.util.function.BiConsumer<android.net.Network,android.net.EthernetNetworkManagementException>);
471 }
472
473 public static interface EthernetManager.TetheredInterfaceCallback {
474 method public void onAvailable(@NonNull String);
475 method public void onUnavailable();
476 }
477
478 public static class EthernetManager.TetheredInterfaceRequest {
479 method public void release();
480 }
481
482 public final class EthernetNetworkManagementException extends java.lang.RuntimeException implements android.os.Parcelable {
483 ctor public EthernetNetworkManagementException(@NonNull String);
484 method public int describeContents();
485 method public void writeToParcel(@NonNull android.os.Parcel, int);
486 field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkManagementException> CREATOR;
487 }
488
489 public final class EthernetNetworkUpdateRequest implements android.os.Parcelable {
490 method public int describeContents();
491 method @NonNull public android.net.IpConfiguration getIpConfiguration();
492 method @Nullable public android.net.NetworkCapabilities getNetworkCapabilities();
493 method public void writeToParcel(@NonNull android.os.Parcel, int);
494 field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkUpdateRequest> CREATOR;
495 }
496
497 public static final class EthernetNetworkUpdateRequest.Builder {
498 ctor public EthernetNetworkUpdateRequest.Builder();
499 ctor public EthernetNetworkUpdateRequest.Builder(@NonNull android.net.EthernetNetworkUpdateRequest);
500 method @NonNull public android.net.EthernetNetworkUpdateRequest build();
501 method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setIpConfiguration(@NonNull android.net.IpConfiguration);
502 method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
503 }
504
Yan Yanf8063e32022-02-08 19:26:29 -0800505 public class IpSecManager {
Aaron Huang68ca3732022-01-06 19:30:43 +0800506 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;
507 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;
508 }
509
510 public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable {
511 method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
512 method public void close();
513 method @NonNull public String getInterfaceName();
514 method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
515 method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException;
516 }
517
518 public static class IpSecTransform.Builder {
519 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;
520 }
521
Junyu Lai2ef865e2022-01-17 11:52:57 +0000522 public final class NetworkStats implements java.lang.Iterable<android.net.NetworkStats.Entry> android.os.Parcelable {
523 ctor public NetworkStats(long, int);
524 method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats);
525 method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry);
526 method public int describeContents();
527 method @NonNull public java.util.Iterator<android.net.NetworkStats.Entry> iterator();
528 method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats);
529 method public void writeToParcel(@NonNull android.os.Parcel, int);
530 field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR;
531 field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff
532 field public static final int DEFAULT_NETWORK_NO = 0; // 0x0
533 field public static final int DEFAULT_NETWORK_YES = 1; // 0x1
534 field public static final String IFACE_VT = "vt_data0";
535 field public static final int METERED_ALL = -1; // 0xffffffff
536 field public static final int METERED_NO = 0; // 0x0
537 field public static final int METERED_YES = 1; // 0x1
538 field public static final int ROAMING_ALL = -1; // 0xffffffff
539 field public static final int ROAMING_NO = 0; // 0x0
540 field public static final int ROAMING_YES = 1; // 0x1
541 field public static final int SET_ALL = -1; // 0xffffffff
542 field public static final int SET_DEFAULT = 0; // 0x0
543 field public static final int SET_FOREGROUND = 1; // 0x1
544 field public static final int TAG_NONE = 0; // 0x0
545 field public static final int UID_ALL = -1; // 0xffffffff
546 field public static final int UID_TETHERING = -5; // 0xfffffffb
547 }
548
549 public static class NetworkStats.Entry {
550 ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long);
551 method public int getDefaultNetwork();
552 method public int getMetered();
553 method public long getOperations();
554 method public int getRoaming();
555 method public long getRxBytes();
556 method public long getRxPackets();
557 method public int getSet();
558 method public int getTag();
559 method public long getTxBytes();
560 method public long getTxPackets();
561 method public int getUid();
562 }
563
564 public class TrafficStats {
565 method public static void setThreadStatsTagApp();
566 method public static void setThreadStatsTagBackup();
567 method public static void setThreadStatsTagDownload();
568 method public static void setThreadStatsTagRestore();
569 field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f
570 field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80
571 field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff
572 field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00
573 field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f
574 field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00
575 }
576
577}
578
579package android.net.netstats.provider {
580
581 public abstract class NetworkStatsProvider {
582 ctor public NetworkStatsProvider();
583 method public void notifyAlertReached();
584 method public void notifyLimitReached();
585 method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats);
586 method public void notifyWarningReached();
587 method public abstract void onRequestStatsUpdate(int);
588 method public abstract void onSetAlert(long);
589 method public abstract void onSetLimit(@NonNull String, long);
590 method public void onSetWarningAndLimit(@NonNull String, long, long);
591 field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff
592 }
593
Aaron Huang68ca3732022-01-06 19:30:43 +0800594}
595