paulhu | 667e8fb | 2021-12-14 01:30:22 +0000 | [diff] [blame] | 1 | // Signature format: 2.0 |
Junyu Lai | 2ef865e | 2022-01-17 11:52:57 +0000 | [diff] [blame] | 2 | package android.app.usage { |
| 3 | |
| 4 | public class NetworkStatsManager { |
junyulai | b59e542 | 2022-03-01 17:08:01 +0800 | [diff] [blame] | 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); |
Junyu Lai | 2ef865e | 2022-01-17 11:52:57 +0000 | [diff] [blame] | 7 | } |
| 8 | |
| 9 | } |
| 10 | |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 11 | package android.nearby { |
| 12 | |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 13 | public interface BroadcastCallback { |
Wei Wang | 88c4844 | 2022-03-05 12:14:12 -0800 | [diff] [blame] | 14 | method public void onStatusChanged(int); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 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 | |
Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 22 | public abstract class BroadcastRequest { |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 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(); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 27 | field public static final int BROADCAST_TYPE_NEARBY_PRESENCE = 3; // 0x3 |
Wei Wang | 88c4844 | 2022-03-05 12:14:12 -0800 | [diff] [blame] | 28 | field public static final int BROADCAST_TYPE_UNKNOWN = -1; // 0xffffffff |
Wei Wang | f5bb26f | 2022-03-25 10:30:06 -0700 | [diff] [blame] | 29 | field public static final int MEDIUM_BLE = 1; // 0x1 |
Wei Wang | 88c4844 | 2022-03-05 12:14:12 -0800 | [diff] [blame] | 30 | field public static final int PRESENCE_VERSION_UNKNOWN = -1; // 0xffffffff |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 31 | field public static final int PRESENCE_VERSION_V0 = 0; // 0x0 |
| 32 | field public static final int PRESENCE_VERSION_V1 = 1; // 0x1 |
Wei Wang | 88c4844 | 2022-03-05 12:14:12 -0800 | [diff] [blame] | 33 | field public static final int UNKNOWN_TX_POWER = -127; // 0xffffff81 |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 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 | |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 54 | public abstract class NearbyDevice { |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 55 | method @NonNull public java.util.List<java.lang.Integer> getMediums(); |
| 56 | method @Nullable public String getName(); |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 57 | method @IntRange(from=0xffffff81, to=126) public int getRssi(); |
| 58 | method public static boolean isValidMedium(int); |
| 59 | } |
| 60 | |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 61 | public class NearbyManager { |
Xinyi Zhou | e73c76f | 2023-01-27 16:47:00 -0800 | [diff] [blame] | 62 | method public void queryOffloadCapability(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.nearby.OffloadCapability>); |
Xinyi Zhou | b4efda8 | 2022-03-15 18:22:35 -0700 | [diff] [blame] | 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); |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 67 | } |
| 68 | |
Xinyi Zhou | e73c76f | 2023-01-27 16:47:00 -0800 | [diff] [blame] | 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 | |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 86 | public final class PresenceBroadcastRequest extends android.nearby.BroadcastRequest implements android.os.Parcelable { |
Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 87 | method public int describeContents(); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 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(); |
Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 92 | method public void writeToParcel(@NonNull android.os.Parcel, int); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 93 | field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceBroadcastRequest> CREATOR; |
| 94 | } |
| 95 | |
| 96 | public static final class PresenceBroadcastRequest.Builder { |
Wei Wang | 88c4844 | 2022-03-05 12:14:12 -0800 | [diff] [blame] | 97 | ctor public PresenceBroadcastRequest.Builder(@NonNull java.util.List<java.lang.Integer>, @NonNull byte[], @NonNull android.nearby.PrivateCredential); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 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(); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 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 | |
Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 105 | public abstract class PresenceCredential { |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 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(); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 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 |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 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 { |
Wei Wang | 88c4844 | 2022-03-05 12:14:12 -0800 | [diff] [blame] | 134 | ctor public PresenceDevice.Builder(@NonNull String, @NonNull byte[], @NonNull byte[], @NonNull byte[]); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 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(); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 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); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 141 | method @NonNull public android.nearby.PresenceDevice.Builder setName(@Nullable String); |
| 142 | method @NonNull public android.nearby.PresenceDevice.Builder setRssi(int); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 143 | } |
| 144 | |
| 145 | public final class PresenceScanFilter extends android.nearby.ScanFilter implements android.os.Parcelable { |
Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 146 | method public int describeContents(); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 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(); |
Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 150 | method public void writeToParcel(@NonNull android.os.Parcel, int); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 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 { |
Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 164 | method public int describeContents(); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 165 | method @NonNull public String getDeviceName(); |
| 166 | method @NonNull public byte[] getMetadataEncryptionKey(); |
Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 167 | method public void writeToParcel(@NonNull android.os.Parcel, int); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 168 | field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PrivateCredential> CREATOR; |
| 169 | } |
| 170 | |
| 171 | public static final class PrivateCredential.Builder { |
Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 172 | ctor public PrivateCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull String); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 173 | method @NonNull public android.nearby.PrivateCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement); |
| 174 | method @NonNull public android.nearby.PrivateCredential build(); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 175 | method @NonNull public android.nearby.PrivateCredential.Builder setIdentityType(int); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 176 | } |
| 177 | |
| 178 | public final class PublicCredential extends android.nearby.PresenceCredential implements android.os.Parcelable { |
Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 179 | method public int describeContents(); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 180 | method @NonNull public byte[] getEncryptedMetadata(); |
| 181 | method @NonNull public byte[] getEncryptedMetadataKeyTag(); |
| 182 | method @NonNull public byte[] getPublicKey(); |
Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 183 | method public void writeToParcel(@NonNull android.os.Parcel, int); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 184 | field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PublicCredential> CREATOR; |
| 185 | } |
| 186 | |
| 187 | public static final class PublicCredential.Builder { |
Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 188 | ctor public PublicCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[]); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 189 | method @NonNull public android.nearby.PublicCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement); |
| 190 | method @NonNull public android.nearby.PublicCredential build(); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 191 | method @NonNull public android.nearby.PublicCredential.Builder setIdentityType(int); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 192 | } |
| 193 | |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 194 | public interface ScanCallback { |
| 195 | method public void onDiscovered(@NonNull android.nearby.NearbyDevice); |
Xinyi Zhou | 9afce39 | 2023-01-10 18:28:56 -0800 | [diff] [blame] | 196 | method public default void onError(int); |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 197 | method public void onLost(@NonNull android.nearby.NearbyDevice); |
| 198 | method public void onUpdated(@NonNull android.nearby.NearbyDevice); |
Xinyi Zhou | 75200b1 | 2023-02-10 23:13:52 -0800 | [diff] [blame] | 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 |
Xinyi Zhou | 9afce39 | 2023-01-10 18:28:56 -0800 | [diff] [blame] | 202 | field public static final int ERROR_UNKNOWN = 0; // 0x0 |
| 203 | field public static final int ERROR_UNSUPPORTED = 1; // 0x1 |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 204 | } |
| 205 | |
Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 206 | public abstract class ScanFilter { |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 207 | method @IntRange(from=0, to=127) public int getMaxPathLoss(); |
| 208 | method public int getType(); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 209 | } |
| 210 | |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 211 | public final class ScanRequest implements android.os.Parcelable { |
| 212 | method public int describeContents(); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 213 | method @NonNull public java.util.List<android.nearby.ScanFilter> getScanFilters(); |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 214 | method public int getScanMode(); |
| 215 | method public int getScanType(); |
| 216 | method @NonNull public android.os.WorkSource getWorkSource(); |
Xinyi Zhou | ff98750 | 2022-03-09 17:38:41 -0800 | [diff] [blame] | 217 | method public boolean isBleEnabled(); |
Xinyi Zhou | 8fe4541 | 2023-01-20 16:21:14 -0800 | [diff] [blame] | 218 | method public boolean isOffloadOnly(); |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 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 |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 228 | field public static final int SCAN_TYPE_FAST_PAIR = 1; // 0x1 |
Chun Zhang | e4440de | 2022-03-24 22:40:56 -0700 | [diff] [blame] | 229 | field public static final int SCAN_TYPE_NEARBY_PRESENCE = 2; // 0x2 |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 230 | } |
| 231 | |
| 232 | public static final class ScanRequest.Builder { |
| 233 | ctor public ScanRequest.Builder(); |
Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 234 | method @NonNull public android.nearby.ScanRequest.Builder addScanFilter(@NonNull android.nearby.ScanFilter); |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 235 | method @NonNull public android.nearby.ScanRequest build(); |
Xinyi Zhou | ff98750 | 2022-03-09 17:38:41 -0800 | [diff] [blame] | 236 | method @NonNull public android.nearby.ScanRequest.Builder setBleEnabled(boolean); |
Xinyi Zhou | 8fe4541 | 2023-01-20 16:21:14 -0800 | [diff] [blame] | 237 | method @NonNull public android.nearby.ScanRequest.Builder setOffloadOnly(boolean); |
Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 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 | |
Aaron Huang | 68ca373 | 2022-01-06 19:30:43 +0800 | [diff] [blame] | 245 | package android.net { |
| 246 | |
Xiao Ma | eaaf7d3 | 2022-01-23 16:14:51 +0000 | [diff] [blame] | 247 | public class EthernetManager { |
Patrick Rohr | fa376a5 | 2022-03-16 20:16:09 +0100 | [diff] [blame] | 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>); |
Xiao Ma | eaaf7d3 | 2022-01-23 16:14:51 +0000 | [diff] [blame] | 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); |
Patrick Rohr | c551ebb | 2022-03-16 20:15:18 +0100 | [diff] [blame] | 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>); |
Xiao Ma | eaaf7d3 | 2022-01-23 16:14:51 +0000 | [diff] [blame] | 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(); |
Patrick Rohr | 8a910f4 | 2022-03-16 20:07:23 +0100 | [diff] [blame] | 272 | method @Nullable public android.net.IpConfiguration getIpConfiguration(); |
Xiao Ma | eaaf7d3 | 2022-01-23 16:14:51 +0000 | [diff] [blame] | 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(); |
Patrick Rohr | 8a910f4 | 2022-03-16 20:07:23 +0100 | [diff] [blame] | 282 | method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setIpConfiguration(@Nullable android.net.IpConfiguration); |
Xiao Ma | eaaf7d3 | 2022-01-23 16:14:51 +0000 | [diff] [blame] | 283 | method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setNetworkCapabilities(@Nullable android.net.NetworkCapabilities); |
| 284 | } |
| 285 | |
Yan Yan | f8063e3 | 2022-02-08 19:26:29 -0800 | [diff] [blame] | 286 | public class IpSecManager { |
Aaron Huang | 68ca373 | 2022-01-06 19:30:43 +0800 | [diff] [blame] | 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; |
Yan Yan | 81c2160 | 2022-10-20 22:23:15 +0000 | [diff] [blame] | 289 | method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void startTunnelModeTransformMigration(@NonNull android.net.IpSecTransform, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress); |
Aaron Huang | 68ca373 | 2022-01-06 19:30:43 +0800 | [diff] [blame] | 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 | |
Junyu Lai | 2ef865e | 2022-01-17 11:52:57 +0000 | [diff] [blame] | 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); |
Paul Duffin | b3c3f2e | 2023-10-12 18:48:37 +0100 | [diff] [blame] | 308 | method public android.net.NetworkStats clone(); |
Junyu Lai | 2ef865e | 2022-01-17 11:52:57 +0000 | [diff] [blame] | 309 | method public int describeContents(); |
junyulai | 6801690 | 2022-03-28 15:39:12 +0800 | [diff] [blame] | 310 | method @NonNull public java.util.Iterator<android.net.NetworkStats.Entry> iterator(); |
Junyu Lai | 2ef865e | 2022-01-17 11:52:57 +0000 | [diff] [blame] | 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); |
junyulai | 6801690 | 2022-03-28 15:39:12 +0800 | [diff] [blame] | 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(); |
Junyu Lai | 2ef865e | 2022-01-17 11:52:57 +0000 | [diff] [blame] | 345 | } |
| 346 | |
| 347 | public class TrafficStats { |
| 348 | method public static void setThreadStatsTagApp(); |
| 349 | method public static void setThreadStatsTagBackup(); |
Junyu Lai | 2ef865e | 2022-01-17 11:52:57 +0000 | [diff] [blame] | 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 | |
| 361 | package 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 | |
Aaron Huang | 68ca373 | 2022-01-06 19:30:43 +0800 | [diff] [blame] | 376 | } |
| 377 | |
Yuyang Huang | 00cf7ed | 2023-05-15 10:54:07 +0900 | [diff] [blame] | 378 | package 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 | |
Kangping Dong | 1cec48f | 2023-08-21 18:48:14 +0800 | [diff] [blame] | 418 | package android.net.thread { |
| 419 | |
Kangping Dong | 7fea5fa | 2023-08-30 17:25:34 +0800 | [diff] [blame^] | 420 | @FlaggedApi("com.android.net.thread.flags.thread_enabled") public final class ActiveOperationalDataset implements android.os.Parcelable { |
| 421 | method @NonNull public static android.net.thread.ActiveOperationalDataset createRandomDataset(); |
| 422 | method public int describeContents(); |
| 423 | method @NonNull public static android.net.thread.ActiveOperationalDataset fromThreadTlvs(@NonNull byte[]); |
| 424 | method @NonNull public android.net.thread.OperationalDatasetTimestamp getActiveTimestamp(); |
| 425 | method @IntRange(from=0, to=65535) public int getChannel(); |
| 426 | method @NonNull @Size(min=1) public android.util.SparseArray<byte[]> getChannelMask(); |
| 427 | method @IntRange(from=0, to=255) public int getChannelPage(); |
| 428 | method @NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_EXTENDED_PAN_ID) public byte[] getExtendedPanId(); |
| 429 | method @NonNull public android.net.IpPrefix getMeshLocalPrefix(); |
| 430 | method @NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_NETWORK_KEY) public byte[] getNetworkKey(); |
| 431 | method @NonNull @Size(min=android.net.thread.ActiveOperationalDataset.LENGTH_MIN_NETWORK_NAME_BYTES, max=android.net.thread.ActiveOperationalDataset.LENGTH_MAX_NETWORK_NAME_BYTES) public String getNetworkName(); |
| 432 | method @IntRange(from=0, to=65534) public int getPanId(); |
| 433 | method @NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_PSKC) public byte[] getPskc(); |
| 434 | method @NonNull public android.net.thread.ActiveOperationalDataset.SecurityPolicy getSecurityPolicy(); |
| 435 | method @NonNull public byte[] toThreadTlvs(); |
| 436 | method public void writeToParcel(@NonNull android.os.Parcel, int); |
| 437 | field public static final int CHANNEL_MAX_24_GHZ = 26; // 0x1a |
| 438 | field public static final int CHANNEL_MIN_24_GHZ = 11; // 0xb |
| 439 | field public static final int CHANNEL_PAGE_24_GHZ = 0; // 0x0 |
| 440 | field @NonNull public static final android.os.Parcelable.Creator<android.net.thread.ActiveOperationalDataset> CREATOR; |
| 441 | field public static final int LENGTH_EXTENDED_PAN_ID = 8; // 0x8 |
| 442 | field public static final int LENGTH_MAX_DATASET_TLVS = 254; // 0xfe |
| 443 | field public static final int LENGTH_MAX_NETWORK_NAME_BYTES = 16; // 0x10 |
| 444 | field public static final int LENGTH_MESH_LOCAL_PREFIX_BITS = 64; // 0x40 |
| 445 | field public static final int LENGTH_MIN_NETWORK_NAME_BYTES = 1; // 0x1 |
| 446 | field public static final int LENGTH_NETWORK_KEY = 16; // 0x10 |
| 447 | field public static final int LENGTH_PSKC = 16; // 0x10 |
| 448 | } |
| 449 | |
| 450 | public static final class ActiveOperationalDataset.Builder { |
| 451 | ctor public ActiveOperationalDataset.Builder(@NonNull android.net.thread.ActiveOperationalDataset); |
| 452 | ctor public ActiveOperationalDataset.Builder(); |
| 453 | method @NonNull public android.net.thread.ActiveOperationalDataset build(); |
| 454 | method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setActiveTimestamp(@NonNull android.net.thread.OperationalDatasetTimestamp); |
| 455 | method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setChannel(@IntRange(from=0, to=255) int, @IntRange(from=0, to=65535) int); |
| 456 | method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setChannelMask(@NonNull @Size(min=1) android.util.SparseArray<byte[]>); |
| 457 | method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setExtendedPanId(@NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_EXTENDED_PAN_ID) byte[]); |
| 458 | method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setMeshLocalPrefix(@NonNull android.net.IpPrefix); |
| 459 | method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setNetworkKey(@NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_NETWORK_KEY) byte[]); |
| 460 | method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setNetworkName(@NonNull @Size(min=android.net.thread.ActiveOperationalDataset.LENGTH_MIN_NETWORK_NAME_BYTES, max=android.net.thread.ActiveOperationalDataset.LENGTH_MAX_NETWORK_NAME_BYTES) String); |
| 461 | method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setPanId(@IntRange(from=0, to=65534) int); |
| 462 | method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setPskc(@NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_PSKC) byte[]); |
| 463 | method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setSecurityPolicy(@NonNull android.net.thread.ActiveOperationalDataset.SecurityPolicy); |
| 464 | } |
| 465 | |
| 466 | public static final class ActiveOperationalDataset.SecurityPolicy { |
| 467 | ctor public ActiveOperationalDataset.SecurityPolicy(@IntRange(from=1, to=65535) int, @NonNull @Size(min=android.net.thread.ActiveOperationalDataset.SecurityPolicy.LENGTH_MIN_SECURITY_POLICY_FLAGS) byte[]); |
| 468 | method @NonNull @Size(min=android.net.thread.ActiveOperationalDataset.SecurityPolicy.LENGTH_MIN_SECURITY_POLICY_FLAGS) public byte[] getFlags(); |
| 469 | method @IntRange(from=1, to=65535) public int getRotationTimeHours(); |
| 470 | field public static final int DEFAULT_ROTATION_TIME_HOURS = 672; // 0x2a0 |
| 471 | field public static final int LENGTH_MIN_SECURITY_POLICY_FLAGS = 1; // 0x1 |
| 472 | } |
| 473 | |
| 474 | @FlaggedApi("com.android.net.thread.flags.thread_enabled") public final class OperationalDatasetTimestamp { |
| 475 | ctor public OperationalDatasetTimestamp(@IntRange(from=0, to=281474976710655L) long, @IntRange(from=0, to=32767) int, boolean); |
| 476 | method @NonNull public static android.net.thread.OperationalDatasetTimestamp fromInstant(@NonNull java.time.Instant); |
| 477 | method @IntRange(from=0, to=281474976710655L) public long getSeconds(); |
| 478 | method @IntRange(from=0, to=32767) public int getTicks(); |
| 479 | method public boolean isAuthoritativeSource(); |
| 480 | method @NonNull public java.time.Instant toInstant(); |
| 481 | } |
| 482 | |
| 483 | @FlaggedApi("com.android.net.thread.flags.thread_enabled") public final class PendingOperationalDataset implements android.os.Parcelable { |
| 484 | ctor public PendingOperationalDataset(@NonNull android.net.thread.ActiveOperationalDataset, @NonNull android.net.thread.OperationalDatasetTimestamp, @NonNull java.time.Duration); |
| 485 | method public int describeContents(); |
| 486 | method @NonNull public static android.net.thread.PendingOperationalDataset fromThreadTlvs(@NonNull byte[]); |
| 487 | method @NonNull public android.net.thread.ActiveOperationalDataset getActiveOperationalDataset(); |
| 488 | method @NonNull public java.time.Duration getDelayTimer(); |
| 489 | method @NonNull public android.net.thread.OperationalDatasetTimestamp getPendingTimestamp(); |
| 490 | method @NonNull public byte[] toThreadTlvs(); |
| 491 | method public void writeToParcel(@NonNull android.os.Parcel, int); |
| 492 | field @NonNull public static final android.os.Parcelable.Creator<android.net.thread.PendingOperationalDataset> CREATOR; |
| 493 | } |
| 494 | |
Kangping Dong | 75aa485 | 2023-10-24 14:18:08 +0800 | [diff] [blame] | 495 | @FlaggedApi("com.android.net.thread.flags.thread_enabled") public class ThreadNetworkController { |
Kangping Dong | 1cec48f | 2023-08-21 18:48:14 +0800 | [diff] [blame] | 496 | method public int getThreadVersion(); |
| 497 | field public static final int THREAD_VERSION_1_3 = 4; // 0x4 |
| 498 | } |
| 499 | |
Kangping Dong | 75aa485 | 2023-10-24 14:18:08 +0800 | [diff] [blame] | 500 | @FlaggedApi("com.android.net.thread.flags.thread_enabled") public class ThreadNetworkManager { |
Kangping Dong | 1cec48f | 2023-08-21 18:48:14 +0800 | [diff] [blame] | 501 | method @NonNull public java.util.List<android.net.thread.ThreadNetworkController> getAllThreadNetworkControllers(); |
| 502 | } |
| 503 | |
| 504 | } |
| 505 | |