| 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 | b4efda8 | 2022-03-15 18:22:35 -0700 | [diff] [blame] | 62 |     method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.nearby.BroadcastRequest, @NonNull java.util.concurrent.Executor, @NonNull android.nearby.BroadcastCallback); | 
 | 63 |     method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int startScan(@NonNull android.nearby.ScanRequest, @NonNull java.util.concurrent.Executor, @NonNull android.nearby.ScanCallback); | 
 | 64 |     method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(@NonNull android.nearby.BroadcastCallback); | 
 | 65 |     method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopScan(@NonNull android.nearby.ScanCallback); | 
| Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 66 |   } | 
 | 67 |  | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 68 |   public final class PresenceBroadcastRequest extends android.nearby.BroadcastRequest implements android.os.Parcelable { | 
| Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 69 |     method public int describeContents(); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 70 |     method @NonNull public java.util.List<java.lang.Integer> getActions(); | 
 | 71 |     method @NonNull public android.nearby.PrivateCredential getCredential(); | 
 | 72 |     method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties(); | 
 | 73 |     method @NonNull public byte[] getSalt(); | 
| Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 74 |     method public void writeToParcel(@NonNull android.os.Parcel, int); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 75 |     field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceBroadcastRequest> CREATOR; | 
 | 76 |   } | 
 | 77 |  | 
 | 78 |   public static final class PresenceBroadcastRequest.Builder { | 
| Wei Wang | 88c4844 | 2022-03-05 12:14:12 -0800 | [diff] [blame] | 79 |     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] | 80 |     method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addAction(@IntRange(from=1, to=255) int); | 
 | 81 |     method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addExtendedProperty(@NonNull android.nearby.DataElement); | 
 | 82 |     method @NonNull public android.nearby.PresenceBroadcastRequest build(); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 83 |     method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setTxPower(@IntRange(from=0xffffff81, to=126) int); | 
 | 84 |     method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setVersion(int); | 
 | 85 |   } | 
 | 86 |  | 
| Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 87 |   public abstract class PresenceCredential { | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 88 |     method @NonNull public byte[] getAuthenticityKey(); | 
 | 89 |     method @NonNull public java.util.List<android.nearby.CredentialElement> getCredentialElements(); | 
 | 90 |     method public int getIdentityType(); | 
 | 91 |     method @NonNull public byte[] getSecretId(); | 
 | 92 |     method public int getType(); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 93 |     field public static final int CREDENTIAL_TYPE_PRIVATE = 0; // 0x0 | 
 | 94 |     field public static final int CREDENTIAL_TYPE_PUBLIC = 1; // 0x1 | 
 | 95 |     field public static final int IDENTITY_TYPE_PRIVATE = 1; // 0x1 | 
 | 96 |     field public static final int IDENTITY_TYPE_PROVISIONED = 2; // 0x2 | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 97 |     field public static final int IDENTITY_TYPE_TRUSTED = 3; // 0x3 | 
 | 98 |     field public static final int IDENTITY_TYPE_UNKNOWN = 0; // 0x0 | 
 | 99 |   } | 
 | 100 |  | 
 | 101 |   public final class PresenceDevice extends android.nearby.NearbyDevice implements android.os.Parcelable { | 
 | 102 |     method public int describeContents(); | 
 | 103 |     method @NonNull public String getDeviceId(); | 
 | 104 |     method @Nullable public String getDeviceImageUrl(); | 
 | 105 |     method public int getDeviceType(); | 
 | 106 |     method public long getDiscoveryTimestampMillis(); | 
 | 107 |     method @NonNull public byte[] getEncryptedIdentity(); | 
 | 108 |     method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties(); | 
 | 109 |     method @NonNull public byte[] getSalt(); | 
 | 110 |     method @NonNull public byte[] getSecretId(); | 
 | 111 |     method public void writeToParcel(@NonNull android.os.Parcel, int); | 
 | 112 |     field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceDevice> CREATOR; | 
 | 113 |   } | 
 | 114 |  | 
 | 115 |   public static final class PresenceDevice.Builder { | 
| Wei Wang | 88c4844 | 2022-03-05 12:14:12 -0800 | [diff] [blame] | 116 |     ctor public PresenceDevice.Builder(@NonNull String, @NonNull byte[], @NonNull byte[], @NonNull byte[]); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 117 |     method @NonNull public android.nearby.PresenceDevice.Builder addExtendedProperty(@NonNull android.nearby.DataElement); | 
 | 118 |     method @NonNull public android.nearby.PresenceDevice.Builder addMedium(int); | 
 | 119 |     method @NonNull public android.nearby.PresenceDevice build(); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 120 |     method @NonNull public android.nearby.PresenceDevice.Builder setDeviceImageUrl(@Nullable String); | 
 | 121 |     method @NonNull public android.nearby.PresenceDevice.Builder setDeviceType(int); | 
 | 122 |     method @NonNull public android.nearby.PresenceDevice.Builder setDiscoveryTimestampMillis(long); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 123 |     method @NonNull public android.nearby.PresenceDevice.Builder setName(@Nullable String); | 
 | 124 |     method @NonNull public android.nearby.PresenceDevice.Builder setRssi(int); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 125 |   } | 
 | 126 |  | 
 | 127 |   public final class PresenceScanFilter extends android.nearby.ScanFilter implements android.os.Parcelable { | 
| Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 128 |     method public int describeContents(); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 129 |     method @NonNull public java.util.List<android.nearby.PublicCredential> getCredentials(); | 
 | 130 |     method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties(); | 
 | 131 |     method @NonNull public java.util.List<java.lang.Integer> getPresenceActions(); | 
| Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 132 |     method public void writeToParcel(@NonNull android.os.Parcel, int); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 133 |     field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceScanFilter> CREATOR; | 
 | 134 |   } | 
 | 135 |  | 
 | 136 |   public static final class PresenceScanFilter.Builder { | 
 | 137 |     ctor public PresenceScanFilter.Builder(); | 
 | 138 |     method @NonNull public android.nearby.PresenceScanFilter.Builder addCredential(@NonNull android.nearby.PublicCredential); | 
 | 139 |     method @NonNull public android.nearby.PresenceScanFilter.Builder addExtendedProperty(@NonNull android.nearby.DataElement); | 
 | 140 |     method @NonNull public android.nearby.PresenceScanFilter.Builder addPresenceAction(@IntRange(from=1, to=255) int); | 
 | 141 |     method @NonNull public android.nearby.PresenceScanFilter build(); | 
 | 142 |     method @NonNull public android.nearby.PresenceScanFilter.Builder setMaxPathLoss(@IntRange(from=0, to=127) int); | 
 | 143 |   } | 
 | 144 |  | 
 | 145 |   public final class PrivateCredential extends android.nearby.PresenceCredential implements android.os.Parcelable { | 
| 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 String getDeviceName(); | 
 | 148 |     method @NonNull public byte[] getMetadataEncryptionKey(); | 
| Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 149 |     method public void writeToParcel(@NonNull android.os.Parcel, int); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 150 |     field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PrivateCredential> CREATOR; | 
 | 151 |   } | 
 | 152 |  | 
 | 153 |   public static final class PrivateCredential.Builder { | 
| Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 154 |     ctor public PrivateCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull String); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 155 |     method @NonNull public android.nearby.PrivateCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement); | 
 | 156 |     method @NonNull public android.nearby.PrivateCredential build(); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 157 |     method @NonNull public android.nearby.PrivateCredential.Builder setIdentityType(int); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 158 |   } | 
 | 159 |  | 
 | 160 |   public final class PublicCredential extends android.nearby.PresenceCredential implements android.os.Parcelable { | 
| Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 161 |     method public int describeContents(); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 162 |     method @NonNull public byte[] getEncryptedMetadata(); | 
 | 163 |     method @NonNull public byte[] getEncryptedMetadataKeyTag(); | 
 | 164 |     method @NonNull public byte[] getPublicKey(); | 
| Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 165 |     method public void writeToParcel(@NonNull android.os.Parcel, int); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 166 |     field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PublicCredential> CREATOR; | 
 | 167 |   } | 
 | 168 |  | 
 | 169 |   public static final class PublicCredential.Builder { | 
| Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 170 |     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] | 171 |     method @NonNull public android.nearby.PublicCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement); | 
 | 172 |     method @NonNull public android.nearby.PublicCredential build(); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 173 |     method @NonNull public android.nearby.PublicCredential.Builder setIdentityType(int); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 174 |   } | 
 | 175 |  | 
| Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 176 |   public interface ScanCallback { | 
 | 177 |     method public void onDiscovered(@NonNull android.nearby.NearbyDevice); | 
 | 178 |     method public void onLost(@NonNull android.nearby.NearbyDevice); | 
 | 179 |     method public void onUpdated(@NonNull android.nearby.NearbyDevice); | 
 | 180 |   } | 
 | 181 |  | 
| Wei Wang | 24e2cb2 | 2022-03-12 12:15:34 -0800 | [diff] [blame] | 182 |   public abstract class ScanFilter { | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 183 |     method @IntRange(from=0, to=127) public int getMaxPathLoss(); | 
 | 184 |     method public int getType(); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 185 |   } | 
 | 186 |  | 
| Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 187 |   public final class ScanRequest implements android.os.Parcelable { | 
 | 188 |     method public int describeContents(); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 189 |     method @NonNull public java.util.List<android.nearby.ScanFilter> getScanFilters(); | 
| Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 190 |     method public int getScanMode(); | 
 | 191 |     method public int getScanType(); | 
 | 192 |     method @NonNull public android.os.WorkSource getWorkSource(); | 
| Xinyi Zhou | ff98750 | 2022-03-09 17:38:41 -0800 | [diff] [blame] | 193 |     method public boolean isBleEnabled(); | 
| Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 194 |     method public static boolean isValidScanMode(int); | 
 | 195 |     method public static boolean isValidScanType(int); | 
 | 196 |     method @NonNull public static String scanModeToString(int); | 
 | 197 |     method public void writeToParcel(@NonNull android.os.Parcel, int); | 
 | 198 |     field @NonNull public static final android.os.Parcelable.Creator<android.nearby.ScanRequest> CREATOR; | 
 | 199 |     field public static final int SCAN_MODE_BALANCED = 1; // 0x1 | 
 | 200 |     field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2 | 
 | 201 |     field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0 | 
 | 202 |     field public static final int SCAN_MODE_NO_POWER = -1; // 0xffffffff | 
| Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 203 |     field public static final int SCAN_TYPE_FAST_PAIR = 1; // 0x1 | 
| Chun Zhang | e4440de | 2022-03-24 22:40:56 -0700 | [diff] [blame] | 204 |     field public static final int SCAN_TYPE_NEARBY_PRESENCE = 2; // 0x2 | 
| Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 205 |   } | 
 | 206 |  | 
 | 207 |   public static final class ScanRequest.Builder { | 
 | 208 |     ctor public ScanRequest.Builder(); | 
| Wei Wang | b15b5a8 | 2022-02-01 17:08:08 -0800 | [diff] [blame] | 209 |     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] | 210 |     method @NonNull public android.nearby.ScanRequest build(); | 
| Xinyi Zhou | ff98750 | 2022-03-09 17:38:41 -0800 | [diff] [blame] | 211 |     method @NonNull public android.nearby.ScanRequest.Builder setBleEnabled(boolean); | 
| Remi NGUYEN VAN | 51935fc | 2022-01-07 13:18:54 +0900 | [diff] [blame] | 212 |     method @NonNull public android.nearby.ScanRequest.Builder setScanMode(int); | 
 | 213 |     method @NonNull public android.nearby.ScanRequest.Builder setScanType(int); | 
 | 214 |     method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.nearby.ScanRequest.Builder setWorkSource(@Nullable android.os.WorkSource); | 
 | 215 |   } | 
 | 216 |  | 
 | 217 | } | 
 | 218 |  | 
| Aaron Huang | 68ca373 | 2022-01-06 19:30:43 +0800 | [diff] [blame] | 219 | package android.net { | 
 | 220 |  | 
| Xiao Ma | eaaf7d3 | 2022-01-23 16:14:51 +0000 | [diff] [blame] | 221 |   public class EthernetManager { | 
| Patrick Rohr | fa376a5 | 2022-03-16 20:16:09 +0100 | [diff] [blame] | 222 |     method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.MANAGE_ETHERNET_NETWORKS}) public void disableInterface(@NonNull String, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.String,android.net.EthernetNetworkManagementException>); | 
 | 223 |     method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.MANAGE_ETHERNET_NETWORKS}) public void enableInterface(@NonNull String, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.String,android.net.EthernetNetworkManagementException>); | 
| Xiao Ma | eaaf7d3 | 2022-01-23 16:14:51 +0000 | [diff] [blame] | 224 |     method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public android.net.EthernetManager.TetheredInterfaceRequest requestTetheredInterface(@NonNull java.util.concurrent.Executor, @NonNull android.net.EthernetManager.TetheredInterfaceCallback); | 
| Patrick Rohr | c551ebb | 2022-03-16 20:15:18 +0100 | [diff] [blame] | 225 |     method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.MANAGE_ETHERNET_NETWORKS}) public void updateConfiguration(@NonNull String, @NonNull android.net.EthernetNetworkUpdateRequest, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.String,android.net.EthernetNetworkManagementException>); | 
| Xiao Ma | eaaf7d3 | 2022-01-23 16:14:51 +0000 | [diff] [blame] | 226 |   } | 
 | 227 |  | 
 | 228 |   public static interface EthernetManager.TetheredInterfaceCallback { | 
 | 229 |     method public void onAvailable(@NonNull String); | 
 | 230 |     method public void onUnavailable(); | 
 | 231 |   } | 
 | 232 |  | 
 | 233 |   public static class EthernetManager.TetheredInterfaceRequest { | 
 | 234 |     method public void release(); | 
 | 235 |   } | 
 | 236 |  | 
 | 237 |   public final class EthernetNetworkManagementException extends java.lang.RuntimeException implements android.os.Parcelable { | 
 | 238 |     ctor public EthernetNetworkManagementException(@NonNull String); | 
 | 239 |     method public int describeContents(); | 
 | 240 |     method public void writeToParcel(@NonNull android.os.Parcel, int); | 
 | 241 |     field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkManagementException> CREATOR; | 
 | 242 |   } | 
 | 243 |  | 
 | 244 |   public final class EthernetNetworkUpdateRequest implements android.os.Parcelable { | 
 | 245 |     method public int describeContents(); | 
| Patrick Rohr | 8a910f4 | 2022-03-16 20:07:23 +0100 | [diff] [blame] | 246 |     method @Nullable public android.net.IpConfiguration getIpConfiguration(); | 
| Xiao Ma | eaaf7d3 | 2022-01-23 16:14:51 +0000 | [diff] [blame] | 247 |     method @Nullable public android.net.NetworkCapabilities getNetworkCapabilities(); | 
 | 248 |     method public void writeToParcel(@NonNull android.os.Parcel, int); | 
 | 249 |     field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkUpdateRequest> CREATOR; | 
 | 250 |   } | 
 | 251 |  | 
 | 252 |   public static final class EthernetNetworkUpdateRequest.Builder { | 
 | 253 |     ctor public EthernetNetworkUpdateRequest.Builder(); | 
 | 254 |     ctor public EthernetNetworkUpdateRequest.Builder(@NonNull android.net.EthernetNetworkUpdateRequest); | 
 | 255 |     method @NonNull public android.net.EthernetNetworkUpdateRequest build(); | 
| Patrick Rohr | 8a910f4 | 2022-03-16 20:07:23 +0100 | [diff] [blame] | 256 |     method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setIpConfiguration(@Nullable android.net.IpConfiguration); | 
| Xiao Ma | eaaf7d3 | 2022-01-23 16:14:51 +0000 | [diff] [blame] | 257 |     method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setNetworkCapabilities(@Nullable android.net.NetworkCapabilities); | 
 | 258 |   } | 
 | 259 |  | 
| Yan Yan | f8063e3 | 2022-02-08 19:26:29 -0800 | [diff] [blame] | 260 |   public class IpSecManager { | 
| Aaron Huang | 68ca373 | 2022-01-06 19:30:43 +0800 | [diff] [blame] | 261 |     method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void applyTunnelModeTransform(@NonNull android.net.IpSecManager.IpSecTunnelInterface, int, @NonNull android.net.IpSecTransform) throws java.io.IOException; | 
 | 262 |     method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecManager.IpSecTunnelInterface createIpSecTunnelInterface(@NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull android.net.Network) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException; | 
| Yan Yan | 81c2160 | 2022-10-20 22:23:15 +0000 | [diff] [blame] | 263 |     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] | 264 |   } | 
 | 265 |  | 
 | 266 |   public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable { | 
 | 267 |     method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException; | 
 | 268 |     method public void close(); | 
 | 269 |     method @NonNull public String getInterfaceName(); | 
 | 270 |     method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException; | 
 | 271 |     method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException; | 
 | 272 |   } | 
 | 273 |  | 
 | 274 |   public static class IpSecTransform.Builder { | 
 | 275 |     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; | 
 | 276 |   } | 
 | 277 |  | 
| Junyu Lai | 2ef865e | 2022-01-17 11:52:57 +0000 | [diff] [blame] | 278 |   public final class NetworkStats implements java.lang.Iterable<android.net.NetworkStats.Entry> android.os.Parcelable { | 
 | 279 |     ctor public NetworkStats(long, int); | 
 | 280 |     method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats); | 
 | 281 |     method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry); | 
 | 282 |     method public int describeContents(); | 
| junyulai | 6801690 | 2022-03-28 15:39:12 +0800 | [diff] [blame] | 283 |     method @NonNull public java.util.Iterator<android.net.NetworkStats.Entry> iterator(); | 
| Junyu Lai | 2ef865e | 2022-01-17 11:52:57 +0000 | [diff] [blame] | 284 |     method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats); | 
 | 285 |     method public void writeToParcel(@NonNull android.os.Parcel, int); | 
 | 286 |     field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR; | 
 | 287 |     field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff | 
 | 288 |     field public static final int DEFAULT_NETWORK_NO = 0; // 0x0 | 
 | 289 |     field public static final int DEFAULT_NETWORK_YES = 1; // 0x1 | 
 | 290 |     field public static final String IFACE_VT = "vt_data0"; | 
 | 291 |     field public static final int METERED_ALL = -1; // 0xffffffff | 
 | 292 |     field public static final int METERED_NO = 0; // 0x0 | 
 | 293 |     field public static final int METERED_YES = 1; // 0x1 | 
 | 294 |     field public static final int ROAMING_ALL = -1; // 0xffffffff | 
 | 295 |     field public static final int ROAMING_NO = 0; // 0x0 | 
 | 296 |     field public static final int ROAMING_YES = 1; // 0x1 | 
 | 297 |     field public static final int SET_ALL = -1; // 0xffffffff | 
 | 298 |     field public static final int SET_DEFAULT = 0; // 0x0 | 
 | 299 |     field public static final int SET_FOREGROUND = 1; // 0x1 | 
 | 300 |     field public static final int TAG_NONE = 0; // 0x0 | 
 | 301 |     field public static final int UID_ALL = -1; // 0xffffffff | 
 | 302 |     field public static final int UID_TETHERING = -5; // 0xfffffffb | 
 | 303 |   } | 
 | 304 |  | 
 | 305 |   public static class NetworkStats.Entry { | 
 | 306 |     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] | 307 |     method public int getDefaultNetwork(); | 
 | 308 |     method public int getMetered(); | 
 | 309 |     method public long getOperations(); | 
 | 310 |     method public int getRoaming(); | 
 | 311 |     method public long getRxBytes(); | 
 | 312 |     method public long getRxPackets(); | 
 | 313 |     method public int getSet(); | 
 | 314 |     method public int getTag(); | 
 | 315 |     method public long getTxBytes(); | 
 | 316 |     method public long getTxPackets(); | 
 | 317 |     method public int getUid(); | 
| Junyu Lai | 2ef865e | 2022-01-17 11:52:57 +0000 | [diff] [blame] | 318 |   } | 
 | 319 |  | 
 | 320 |   public class TrafficStats { | 
 | 321 |     method public static void setThreadStatsTagApp(); | 
 | 322 |     method public static void setThreadStatsTagBackup(); | 
| Junyu Lai | 2ef865e | 2022-01-17 11:52:57 +0000 | [diff] [blame] | 323 |     method public static void setThreadStatsTagRestore(); | 
 | 324 |     field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f | 
 | 325 |     field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80 | 
 | 326 |     field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff | 
 | 327 |     field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00 | 
 | 328 |     field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f | 
 | 329 |     field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00 | 
 | 330 |   } | 
 | 331 |  | 
 | 332 | } | 
 | 333 |  | 
 | 334 | package android.net.netstats.provider { | 
 | 335 |  | 
 | 336 |   public abstract class NetworkStatsProvider { | 
 | 337 |     ctor public NetworkStatsProvider(); | 
 | 338 |     method public void notifyAlertReached(); | 
 | 339 |     method public void notifyLimitReached(); | 
 | 340 |     method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats); | 
 | 341 |     method public void notifyWarningReached(); | 
 | 342 |     method public abstract void onRequestStatsUpdate(int); | 
 | 343 |     method public abstract void onSetAlert(long); | 
 | 344 |     method public abstract void onSetLimit(@NonNull String, long); | 
 | 345 |     method public void onSetWarningAndLimit(@NonNull String, long, long); | 
 | 346 |     field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff | 
 | 347 |   } | 
 | 348 |  | 
| Aaron Huang | 68ca373 | 2022-01-06 19:30:43 +0800 | [diff] [blame] | 349 | } | 
 | 350 |  | 
| Yuyang Huang | 00cf7ed | 2023-05-15 10:54:07 +0900 | [diff] [blame] | 351 | package android.net.nsd { | 
 | 352 |  | 
 | 353 |   public final class NsdManager { | 
 | 354 |     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); | 
 | 355 |     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); | 
 | 356 |   } | 
 | 357 |  | 
 | 358 |   public interface OffloadEngine { | 
 | 359 |     method public void onOffloadServiceRemoved(@NonNull android.net.nsd.OffloadServiceInfo); | 
 | 360 |     method public void onOffloadServiceUpdated(@NonNull android.net.nsd.OffloadServiceInfo); | 
 | 361 |     field public static final int OFFLOAD_CAPABILITY_BYPASS_MULTICAST_LOCK = 1; // 0x1 | 
 | 362 |     field public static final int OFFLOAD_TYPE_FILTER_QUERIES = 2; // 0x2 | 
 | 363 |     field public static final int OFFLOAD_TYPE_FILTER_REPLIES = 4; // 0x4 | 
 | 364 |     field public static final int OFFLOAD_TYPE_REPLY = 1; // 0x1 | 
 | 365 |   } | 
 | 366 |  | 
 | 367 |   public final class OffloadServiceInfo implements android.os.Parcelable { | 
 | 368 |     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); | 
 | 369 |     method public int describeContents(); | 
 | 370 |     method @NonNull public String getHostname(); | 
 | 371 |     method @NonNull public android.net.nsd.OffloadServiceInfo.Key getKey(); | 
 | 372 |     method @Nullable public byte[] getOffloadPayload(); | 
 | 373 |     method public long getOffloadType(); | 
 | 374 |     method public int getPriority(); | 
 | 375 |     method @NonNull public java.util.List<java.lang.String> getSubtypes(); | 
 | 376 |     method public void writeToParcel(@NonNull android.os.Parcel, int); | 
 | 377 |     field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.OffloadServiceInfo> CREATOR; | 
 | 378 |   } | 
 | 379 |  | 
 | 380 |   public static final class OffloadServiceInfo.Key implements android.os.Parcelable { | 
 | 381 |     ctor public OffloadServiceInfo.Key(@NonNull String, @NonNull String); | 
 | 382 |     method public int describeContents(); | 
 | 383 |     method @NonNull public String getServiceName(); | 
 | 384 |     method @NonNull public String getServiceType(); | 
 | 385 |     method public void writeToParcel(@NonNull android.os.Parcel, int); | 
 | 386 |     field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.OffloadServiceInfo.Key> CREATOR; | 
 | 387 |   } | 
 | 388 |  | 
 | 389 | } | 
 | 390 |  |