diff options
author | Mårten Kongstad <amhk@google.com> | 2022-09-23 09:05:50 +0200 |
---|---|---|
committer | Mårten Kongstad <amhk@google.com> | 2022-09-23 09:05:50 +0200 |
commit | f2e5892a3e018d25e16d28cab0df3124207e2209 (patch) | |
tree | 5124466341bba85ed9fe63f7a485494c1ae5789e | |
parent | 9b281f1f7ee793a471f4bcf58b9ec26cdf036cfc (diff) | |
download | sdk-f2e5892a3e018d25e16d28cab0df3124207e2209.tar.gz |
Finalize artifacts for extension SDK 4
Import from build id T1004843.
Generated with:
$ ./packages/modules/common/tools/finalize_sdk.py -f 4 -b 248201691 -r 'Finalized in September 2022 between T and U (adservices, sdkextensions, tethering)' -m com.google.android.sdkext -m com.google.android.tethering -m com.google.android.adservices T1004843
Bug: 248201691
Test: presubmit
Change-Id: Idd6c60207e9afc6e4c7c593580cba1a8b23ed145
67 files changed, 2870 insertions, 0 deletions
diff --git a/extensions/4/module-lib/api/framework-adservices-removed.txt b/extensions/4/module-lib/api/framework-adservices-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/module-lib/api/framework-adservices-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/module-lib/api/framework-adservices.txt b/extensions/4/module-lib/api/framework-adservices.txt new file mode 100644 index 000000000..3a3276d5f --- /dev/null +++ b/extensions/4/module-lib/api/framework-adservices.txt @@ -0,0 +1,9 @@ +// Signature format: 2.0 +package android.adservices { + + public class AdServicesFrameworkInitializer { + method public static void registerServiceWrappers(); + } + +} + diff --git a/extensions/4/module-lib/api/framework-connectivity-removed.txt b/extensions/4/module-lib/api/framework-connectivity-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/module-lib/api/framework-connectivity-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/module-lib/api/framework-connectivity-t-removed.txt b/extensions/4/module-lib/api/framework-connectivity-t-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/module-lib/api/framework-connectivity-t-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/module-lib/api/framework-connectivity-t.txt b/extensions/4/module-lib/api/framework-connectivity-t.txt new file mode 100644 index 000000000..5a8d47b5f --- /dev/null +++ b/extensions/4/module-lib/api/framework-connectivity-t.txt @@ -0,0 +1,209 @@ +// Signature format: 2.0 +package android.app.usage { + + public class NetworkStatsManager { + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void forceUpdate(); + method public static int getCollapsedRatType(int); + method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public android.net.NetworkStats getMobileUidStats(); + method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public android.net.NetworkStats getWifiUidStats(); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void noteUidForeground(int, boolean); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void notifyNetworkStatus(@NonNull java.util.List<android.net.Network>, @NonNull java.util.List<android.net.NetworkStateSnapshot>, @Nullable String, @NonNull java.util.List<android.net.UnderlyingNetworkInfo>); + method @NonNull @WorkerThread public android.app.usage.NetworkStats queryDetailsForDevice(@NonNull android.net.NetworkTemplate, long, long); + method @NonNull @WorkerThread public android.app.usage.NetworkStats queryDetailsForUidTagState(@NonNull android.net.NetworkTemplate, long, long, int, int, int) throws java.lang.SecurityException; + method @NonNull @WorkerThread public android.app.usage.NetworkStats querySummary(@NonNull android.net.NetworkTemplate, long, long) throws java.lang.SecurityException; + method @NonNull @WorkerThread public android.app.usage.NetworkStats.Bucket querySummaryForDevice(@NonNull android.net.NetworkTemplate, long, long); + method @NonNull @WorkerThread public android.app.usage.NetworkStats queryTaggedSummary(@NonNull android.net.NetworkTemplate, long, long) throws java.lang.SecurityException; + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}, conditional=true) public void registerUsageCallback(@NonNull android.net.NetworkTemplate, long, @NonNull java.util.concurrent.Executor, @NonNull android.app.usage.NetworkStatsManager.UsageCallback); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void setDefaultGlobalAlert(long); + method public void setPollForce(boolean); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void setPollOnOpen(boolean); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void setStatsProviderWarningAndLimitAsync(@NonNull String, long, long); + field public static final int NETWORK_TYPE_5G_NSA = -2; // 0xfffffffe + } + + public abstract static class NetworkStatsManager.UsageCallback { + method public void onThresholdReached(@NonNull android.net.NetworkTemplate); + } + +} + +package android.nearby { + + public final class NearbyFrameworkInitializer { + method public static void registerServiceWrappers(); + } + +} + +package android.net { + + public final class ConnectivityFrameworkInitializerTiramisu { + method public static void registerServiceWrappers(); + } + + public class EthernetManager { + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void addEthernetStateListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void addInterfaceStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.EthernetManager.InterfaceStateListener); + method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public java.util.List<java.lang.String> getInterfaceList(); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void removeEthernetStateListener(@NonNull java.util.function.IntConsumer); + method public void removeInterfaceStateListener(@NonNull android.net.EthernetManager.InterfaceStateListener); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setEthernetEnabled(boolean); + method public void setIncludeTestInterfaces(boolean); + field public static final int ETHERNET_STATE_DISABLED = 0; // 0x0 + field public static final int ETHERNET_STATE_ENABLED = 1; // 0x1 + field public static final int ROLE_CLIENT = 1; // 0x1 + field public static final int ROLE_NONE = 0; // 0x0 + field public static final int ROLE_SERVER = 2; // 0x2 + field public static final int STATE_ABSENT = 0; // 0x0 + field public static final int STATE_LINK_DOWN = 1; // 0x1 + field public static final int STATE_LINK_UP = 2; // 0x2 + } + + public static interface EthernetManager.InterfaceStateListener { + method public void onInterfaceStateChanged(@NonNull String, int, int, @Nullable android.net.IpConfiguration); + } + + public class IpSecManager { + field public static final int DIRECTION_FWD = 2; // 0x2 + } + + public static final class IpSecManager.UdpEncapsulationSocket implements java.lang.AutoCloseable { + method public int getResourceId(); + } + + public class NetworkIdentity { + method public int getOemManaged(); + method public int getRatType(); + method public int getSubId(); + method @Nullable public String getSubscriberId(); + method public int getType(); + method @Nullable public String getWifiNetworkKey(); + method public boolean isDefaultNetwork(); + method public boolean isMetered(); + method public boolean isRoaming(); + } + + public static final class NetworkIdentity.Builder { + ctor public NetworkIdentity.Builder(); + method @NonNull public android.net.NetworkIdentity build(); + method @NonNull public android.net.NetworkIdentity.Builder clearRatType(); + method @NonNull public android.net.NetworkIdentity.Builder setDefaultNetwork(boolean); + method @NonNull public android.net.NetworkIdentity.Builder setMetered(boolean); + method @NonNull public android.net.NetworkIdentity.Builder setNetworkStateSnapshot(@NonNull android.net.NetworkStateSnapshot); + method @NonNull public android.net.NetworkIdentity.Builder setOemManaged(int); + method @NonNull public android.net.NetworkIdentity.Builder setRatType(int); + method @NonNull public android.net.NetworkIdentity.Builder setRoaming(boolean); + method @NonNull public android.net.NetworkIdentity.Builder setSubId(int); + method @NonNull public android.net.NetworkIdentity.Builder setSubscriberId(@Nullable String); + method @NonNull public android.net.NetworkIdentity.Builder setType(int); + method @NonNull public android.net.NetworkIdentity.Builder setWifiNetworkKey(@Nullable String); + } + + public final class NetworkStateSnapshot implements android.os.Parcelable { + ctor public NetworkStateSnapshot(@NonNull android.net.Network, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, @Nullable String, int); + method public int describeContents(); + method public int getLegacyType(); + method @NonNull public android.net.LinkProperties getLinkProperties(); + method @NonNull public android.net.Network getNetwork(); + method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities(); + method public int getSubId(); + method @Deprecated @Nullable public String getSubscriberId(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStateSnapshot> CREATOR; + } + + public class NetworkStatsCollection { + method @NonNull public java.util.Map<android.net.NetworkStatsCollection.Key,android.net.NetworkStatsHistory> getEntries(); + } + + public static final class NetworkStatsCollection.Builder { + ctor public NetworkStatsCollection.Builder(long); + method @NonNull public android.net.NetworkStatsCollection.Builder addEntry(@NonNull android.net.NetworkStatsCollection.Key, @NonNull android.net.NetworkStatsHistory); + method @NonNull public android.net.NetworkStatsCollection build(); + } + + public static final class NetworkStatsCollection.Key { + ctor public NetworkStatsCollection.Key(@NonNull java.util.Set<android.net.NetworkIdentity>, int, int, int); + } + + public final class NetworkStatsHistory implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.net.NetworkStatsHistory.Entry> getEntries(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStatsHistory> CREATOR; + } + + public static final class NetworkStatsHistory.Builder { + ctor public NetworkStatsHistory.Builder(long, int); + method @NonNull public android.net.NetworkStatsHistory.Builder addEntry(@NonNull android.net.NetworkStatsHistory.Entry); + method @NonNull public android.net.NetworkStatsHistory build(); + } + + public static final class NetworkStatsHistory.Entry { + ctor public NetworkStatsHistory.Entry(long, long, long, long, long, long, long); + method public long getActiveTime(); + method public long getBucketStart(); + method public long getOperations(); + method public long getRxBytes(); + method public long getRxPackets(); + method public long getTxBytes(); + method public long getTxPackets(); + } + + public final class NetworkTemplate implements android.os.Parcelable { + method public int describeContents(); + method public int getDefaultNetworkStatus(); + method public int getMatchRule(); + method public int getMeteredness(); + method public int getOemManaged(); + method public int getRatType(); + method public int getRoaming(); + method @NonNull public java.util.Set<java.lang.String> getSubscriberIds(); + method @NonNull public java.util.Set<java.lang.String> getWifiNetworkKeys(); + method public boolean matches(@NonNull android.net.NetworkIdentity); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkTemplate> CREATOR; + field public static final int MATCH_BLUETOOTH = 8; // 0x8 + field public static final int MATCH_CARRIER = 10; // 0xa + field public static final int MATCH_ETHERNET = 5; // 0x5 + field public static final int MATCH_MOBILE = 1; // 0x1 + field public static final int MATCH_PROXY = 9; // 0x9 + field public static final int MATCH_WIFI = 4; // 0x4 + field public static final int NETWORK_TYPE_ALL = -1; // 0xffffffff + field public static final int OEM_MANAGED_ALL = -1; // 0xffffffff + field public static final int OEM_MANAGED_NO = 0; // 0x0 + field public static final int OEM_MANAGED_PAID = 1; // 0x1 + field public static final int OEM_MANAGED_PRIVATE = 2; // 0x2 + field public static final int OEM_MANAGED_YES = -2; // 0xfffffffe + } + + public static final class NetworkTemplate.Builder { + ctor public NetworkTemplate.Builder(int); + method @NonNull public android.net.NetworkTemplate build(); + method @NonNull public android.net.NetworkTemplate.Builder setDefaultNetworkStatus(int); + method @NonNull public android.net.NetworkTemplate.Builder setMeteredness(int); + method @NonNull public android.net.NetworkTemplate.Builder setOemManaged(int); + method @NonNull public android.net.NetworkTemplate.Builder setRatType(int); + method @NonNull public android.net.NetworkTemplate.Builder setRoaming(int); + method @NonNull public android.net.NetworkTemplate.Builder setSubscriberIds(@NonNull java.util.Set<java.lang.String>); + method @NonNull public android.net.NetworkTemplate.Builder setWifiNetworkKeys(@NonNull java.util.Set<java.lang.String>); + } + + public class TrafficStats { + method public static void attachSocketTagger(); + method public static void init(@NonNull android.content.Context); + method public static void setThreadStatsTagDownload(); + } + + public final class UnderlyingNetworkInfo implements android.os.Parcelable { + ctor public UnderlyingNetworkInfo(int, @NonNull String, @NonNull java.util.List<java.lang.String>); + method public int describeContents(); + method @NonNull public String getInterface(); + method public int getOwnerUid(); + method @NonNull public java.util.List<java.lang.String> getUnderlyingInterfaces(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.UnderlyingNetworkInfo> CREATOR; + } + +} + diff --git a/extensions/4/module-lib/api/framework-connectivity.txt b/extensions/4/module-lib/api/framework-connectivity.txt new file mode 100644 index 000000000..4ce6add5c --- /dev/null +++ b/extensions/4/module-lib/api/framework-connectivity.txt @@ -0,0 +1,239 @@ +// Signature format: 2.0 +package android.net { + + public final class ConnectivityFrameworkInitializer { + method public static void registerServiceWrappers(); + } + + public class ConnectivityManager { + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void addUidToMeteredNetworkAllowList(int); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void addUidToMeteredNetworkDenyList(int); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void factoryReset(); + method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public java.util.List<android.net.NetworkStateSnapshot> getAllNetworkStateSnapshots(); + method @Nullable public android.net.ProxyInfo getGlobalProxy(); + method @NonNull public static android.util.Range<java.lang.Integer> getIpSecNetIdRange(); + method @Nullable @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public android.net.LinkProperties getRedactedLinkPropertiesForPackage(@NonNull android.net.LinkProperties, int, @NonNull String); + method @Nullable @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public android.net.NetworkCapabilities getRedactedNetworkCapabilitiesForPackage(@NonNull android.net.NetworkCapabilities, int, @NonNull String); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void registerDefaultNetworkCallbackForUid(int, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void registerSystemDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void removeUidFromMeteredNetworkAllowList(int); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void removeUidFromMeteredNetworkDenyList(int); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void replaceFirewallChain(int, @NonNull int[]); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void requestBackgroundNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler); + method @Deprecated public boolean requestRouteToHostAddress(int, java.net.InetAddress); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAcceptPartialConnectivity(@NonNull android.net.Network, boolean, boolean); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAcceptUnvalidated(@NonNull android.net.Network, boolean, boolean); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAvoidUnvalidated(@NonNull android.net.Network); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setFirewallChainEnabled(int, boolean); + method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setGlobalProxy(@Nullable android.net.ProxyInfo); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setLegacyLockdownVpnEnabled(boolean); + method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setProfileNetworkPreference(@NonNull android.os.UserHandle, int, @Nullable java.util.concurrent.Executor, @Nullable Runnable); + method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setProfileNetworkPreferences(@NonNull android.os.UserHandle, @NonNull java.util.List<android.net.ProfileNetworkPreference>, @Nullable java.util.concurrent.Executor, @Nullable Runnable); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setRequireVpnForUids(boolean, @NonNull java.util.Collection<android.util.Range<java.lang.Integer>>); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setUidFirewallRule(int, int, int); + method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_TEST_NETWORKS, android.Manifest.permission.NETWORK_STACK}) public void simulateDataStall(int, long, @NonNull android.net.Network, @NonNull android.os.PersistableBundle); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void startCaptivePortalApp(@NonNull android.net.Network); + method public void systemReady(); + field public static final String ACTION_CLEAR_DNS_CACHE = "android.net.action.CLEAR_DNS_CACHE"; + field public static final String ACTION_PROMPT_LOST_VALIDATION = "android.net.action.PROMPT_LOST_VALIDATION"; + field public static final String ACTION_PROMPT_PARTIAL_CONNECTIVITY = "android.net.action.PROMPT_PARTIAL_CONNECTIVITY"; + field public static final String ACTION_PROMPT_UNVALIDATED = "android.net.action.PROMPT_UNVALIDATED"; + field public static final int BLOCKED_METERED_REASON_ADMIN_DISABLED = 262144; // 0x40000 + field public static final int BLOCKED_METERED_REASON_DATA_SAVER = 65536; // 0x10000 + field public static final int BLOCKED_METERED_REASON_MASK = -65536; // 0xffff0000 + field public static final int BLOCKED_METERED_REASON_USER_RESTRICTED = 131072; // 0x20000 + field public static final int BLOCKED_REASON_APP_STANDBY = 4; // 0x4 + field public static final int BLOCKED_REASON_BATTERY_SAVER = 1; // 0x1 + field public static final int BLOCKED_REASON_DOZE = 2; // 0x2 + field public static final int BLOCKED_REASON_LOCKDOWN_VPN = 16; // 0x10 + field public static final int BLOCKED_REASON_LOW_POWER_STANDBY = 32; // 0x20 + field public static final int BLOCKED_REASON_NONE = 0; // 0x0 + field public static final int BLOCKED_REASON_RESTRICTED_MODE = 8; // 0x8 + field public static final int FIREWALL_CHAIN_DOZABLE = 1; // 0x1 + field public static final int FIREWALL_CHAIN_LOW_POWER_STANDBY = 5; // 0x5 + field public static final int FIREWALL_CHAIN_OEM_DENY_1 = 7; // 0x7 + field public static final int FIREWALL_CHAIN_OEM_DENY_2 = 8; // 0x8 + field public static final int FIREWALL_CHAIN_OEM_DENY_3 = 9; // 0x9 + field public static final int FIREWALL_CHAIN_POWERSAVE = 3; // 0x3 + field public static final int FIREWALL_CHAIN_RESTRICTED = 4; // 0x4 + field public static final int FIREWALL_CHAIN_STANDBY = 2; // 0x2 + field public static final int FIREWALL_RULE_ALLOW = 1; // 0x1 + field public static final int FIREWALL_RULE_DEFAULT = 0; // 0x0 + field public static final int FIREWALL_RULE_DENY = 2; // 0x2 + field public static final int PROFILE_NETWORK_PREFERENCE_DEFAULT = 0; // 0x0 + field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE = 1; // 0x1 + field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE_NO_FALLBACK = 2; // 0x2 + } + + public static class ConnectivityManager.NetworkCallback { + method public void onBlockedStatusChanged(@NonNull android.net.Network, int); + } + + public class ConnectivitySettingsManager { + method public static void clearGlobalProxy(@NonNull android.content.Context); + method @Nullable public static String getCaptivePortalHttpUrl(@NonNull android.content.Context); + method public static int getCaptivePortalMode(@NonNull android.content.Context, int); + method @NonNull public static java.time.Duration getConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration); + method @NonNull public static android.util.Range<java.lang.Integer> getDnsResolverSampleRanges(@NonNull android.content.Context); + method @NonNull public static java.time.Duration getDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration); + method public static int getDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, int); + method @Nullable public static android.net.ProxyInfo getGlobalProxy(@NonNull android.content.Context); + method public static long getIngressRateLimitInBytesPerSecond(@NonNull android.content.Context); + method @NonNull public static java.time.Duration getMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration); + method public static boolean getMobileDataAlwaysOn(@NonNull android.content.Context, boolean); + method @NonNull public static java.util.Set<java.lang.Integer> getMobileDataPreferredUids(@NonNull android.content.Context); + method public static int getNetworkAvoidBadWifi(@NonNull android.content.Context); + method @Nullable public static String getNetworkMeteredMultipathPreference(@NonNull android.content.Context); + method public static int getNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, int); + method @NonNull public static java.time.Duration getNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration); + method @NonNull public static String getPrivateDnsDefaultMode(@NonNull android.content.Context); + method @Nullable public static String getPrivateDnsHostname(@NonNull android.content.Context); + method public static int getPrivateDnsMode(@NonNull android.content.Context); + method @NonNull public static java.util.Set<java.lang.Integer> getUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context); + method public static boolean getWifiAlwaysRequested(@NonNull android.content.Context, boolean); + method @NonNull public static java.time.Duration getWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration); + method public static void setCaptivePortalHttpUrl(@NonNull android.content.Context, @Nullable String); + method public static void setCaptivePortalMode(@NonNull android.content.Context, int); + method public static void setConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration); + method public static void setDnsResolverSampleRanges(@NonNull android.content.Context, @NonNull android.util.Range<java.lang.Integer>); + method public static void setDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration); + method public static void setDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, @IntRange(from=0, to=100) int); + method public static void setGlobalProxy(@NonNull android.content.Context, @NonNull android.net.ProxyInfo); + method public static void setIngressRateLimitInBytesPerSecond(@NonNull android.content.Context, @IntRange(from=-1L, to=4294967295L) long); + method public static void setMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration); + method public static void setMobileDataAlwaysOn(@NonNull android.content.Context, boolean); + method public static void setMobileDataPreferredUids(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>); + method public static void setNetworkAvoidBadWifi(@NonNull android.content.Context, int); + method public static void setNetworkMeteredMultipathPreference(@NonNull android.content.Context, @NonNull String); + method public static void setNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, @IntRange(from=0) int); + method public static void setNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration); + method public static void setPrivateDnsDefaultMode(@NonNull android.content.Context, @NonNull int); + method public static void setPrivateDnsHostname(@NonNull android.content.Context, @Nullable String); + method public static void setPrivateDnsMode(@NonNull android.content.Context, int); + method public static void setUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>); + method public static void setWifiAlwaysRequested(@NonNull android.content.Context, boolean); + method public static void setWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration); + field public static final int CAPTIVE_PORTAL_MODE_AVOID = 2; // 0x2 + field public static final int CAPTIVE_PORTAL_MODE_IGNORE = 0; // 0x0 + field public static final int CAPTIVE_PORTAL_MODE_PROMPT = 1; // 0x1 + field public static final int NETWORK_AVOID_BAD_WIFI_AVOID = 2; // 0x2 + field public static final int NETWORK_AVOID_BAD_WIFI_IGNORE = 0; // 0x0 + field public static final int NETWORK_AVOID_BAD_WIFI_PROMPT = 1; // 0x1 + field public static final int PRIVATE_DNS_MODE_OFF = 1; // 0x1 + field public static final int PRIVATE_DNS_MODE_OPPORTUNISTIC = 2; // 0x2 + field public static final int PRIVATE_DNS_MODE_PROVIDER_HOSTNAME = 3; // 0x3 + } + + public final class DhcpOption implements android.os.Parcelable { + ctor public DhcpOption(byte, @Nullable byte[]); + method public int describeContents(); + method public byte getType(); + method @Nullable public byte[] getValue(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.DhcpOption> CREATOR; + } + + public final class NetworkAgentConfig implements android.os.Parcelable { + method @Nullable public String getSubscriberId(); + method public boolean isBypassableVpn(); + method public boolean isVpnValidationRequired(); + } + + public static final class NetworkAgentConfig.Builder { + method @NonNull public android.net.NetworkAgentConfig.Builder setBypassableVpn(boolean); + method @NonNull public android.net.NetworkAgentConfig.Builder setLocalRoutesExcludedForVpn(boolean); + method @NonNull public android.net.NetworkAgentConfig.Builder setSubscriberId(@Nullable String); + method @NonNull public android.net.NetworkAgentConfig.Builder setVpnRequiresValidation(boolean); + } + + public final class NetworkCapabilities implements android.os.Parcelable { + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public java.util.Set<java.lang.Integer> getAllowedUids(); + method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getUids(); + method public boolean hasForbiddenCapability(int); + field public static final long REDACT_ALL = -1L; // 0xffffffffffffffffL + field public static final long REDACT_FOR_ACCESS_FINE_LOCATION = 1L; // 0x1L + field public static final long REDACT_FOR_LOCAL_MAC_ADDRESS = 2L; // 0x2L + field public static final long REDACT_FOR_NETWORK_SETTINGS = 4L; // 0x4L + field public static final long REDACT_NONE = 0L; // 0x0L + field public static final int TRANSPORT_TEST = 7; // 0x7 + } + + public static final class NetworkCapabilities.Builder { + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAllowedUids(@NonNull java.util.Set<java.lang.Integer>); + method @NonNull public android.net.NetworkCapabilities.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>); + } + + public class NetworkRequest implements android.os.Parcelable { + method @NonNull public int[] getEnterpriseIds(); + method @NonNull public int[] getForbiddenCapabilities(); + method public boolean hasEnterpriseId(int); + method public boolean hasForbiddenCapability(int); + } + + public static class NetworkRequest.Builder { + method @NonNull public android.net.NetworkRequest.Builder addForbiddenCapability(int); + method @NonNull public android.net.NetworkRequest.Builder removeForbiddenCapability(int); + method @NonNull public android.net.NetworkRequest.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>); + } + + public final class ProfileNetworkPreference implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public int[] getExcludedUids(); + method @NonNull public int[] getIncludedUids(); + method public int getPreference(); + method public int getPreferenceEnterpriseId(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.ProfileNetworkPreference> CREATOR; + } + + public static final class ProfileNetworkPreference.Builder { + ctor public ProfileNetworkPreference.Builder(); + method @NonNull public android.net.ProfileNetworkPreference build(); + method @NonNull public android.net.ProfileNetworkPreference.Builder setExcludedUids(@NonNull int[]); + method @NonNull public android.net.ProfileNetworkPreference.Builder setIncludedUids(@NonNull int[]); + method @NonNull public android.net.ProfileNetworkPreference.Builder setPreference(int); + method @NonNull public android.net.ProfileNetworkPreference.Builder setPreferenceEnterpriseId(int); + } + + public final class TestNetworkInterface implements android.os.Parcelable { + ctor public TestNetworkInterface(@NonNull android.os.ParcelFileDescriptor, @NonNull String); + method public int describeContents(); + method @NonNull public android.os.ParcelFileDescriptor getFileDescriptor(); + method @NonNull public String getInterfaceName(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkInterface> CREATOR; + } + + public class TestNetworkManager { + method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTapInterface(); + method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTunInterface(@NonNull java.util.Collection<android.net.LinkAddress>); + method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void setupTestNetwork(@NonNull String, @NonNull android.os.IBinder); + method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void teardownTestNetwork(@NonNull android.net.Network); + field public static final String TEST_TAP_PREFIX = "testtap"; + } + + public final class TestNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable { + ctor public TestNetworkSpecifier(@NonNull String); + method public int describeContents(); + method @Nullable public String getInterfaceName(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkSpecifier> CREATOR; + } + + public interface TransportInfo { + method public default long getApplicableRedactions(); + method @NonNull public default android.net.TransportInfo makeCopy(long); + } + + public final class VpnTransportInfo implements android.os.Parcelable android.net.TransportInfo { + ctor public VpnTransportInfo(int, @Nullable String); + method public int describeContents(); + method @Nullable public String getSessionId(); + method public int getType(); + method @NonNull public android.net.VpnTransportInfo makeCopy(long); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.VpnTransportInfo> CREATOR; + } + +} + diff --git a/extensions/4/module-lib/api/framework-sdkextensions-removed.txt b/extensions/4/module-lib/api/framework-sdkextensions-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/module-lib/api/framework-sdkextensions-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/module-lib/api/framework-sdkextensions.txt b/extensions/4/module-lib/api/framework-sdkextensions.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/module-lib/api/framework-sdkextensions.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/module-lib/api/framework-sdksandbox-removed.txt b/extensions/4/module-lib/api/framework-sdksandbox-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/module-lib/api/framework-sdksandbox-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/module-lib/api/framework-sdksandbox.txt b/extensions/4/module-lib/api/framework-sdksandbox.txt new file mode 100644 index 000000000..c4fcb762e --- /dev/null +++ b/extensions/4/module-lib/api/framework-sdksandbox.txt @@ -0,0 +1,9 @@ +// Signature format: 2.0 +package android.app.sdksandbox { + + public class SdkSandboxManagerFrameworkInitializer { + method public static void registerServiceWrappers(); + } + +} + diff --git a/extensions/4/module-lib/api/framework-tethering-removed.txt b/extensions/4/module-lib/api/framework-tethering-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/module-lib/api/framework-tethering-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/module-lib/api/framework-tethering.txt b/extensions/4/module-lib/api/framework-tethering.txt new file mode 100644 index 000000000..460c21621 --- /dev/null +++ b/extensions/4/module-lib/api/framework-tethering.txt @@ -0,0 +1,50 @@ +// Signature format: 2.0 +package android.net { + + public final class TetheringConstants { + field public static final String EXTRA_ADD_TETHER_TYPE = "extraAddTetherType"; + field public static final String EXTRA_PROVISION_CALLBACK = "extraProvisionCallback"; + field public static final String EXTRA_REM_TETHER_TYPE = "extraRemTetherType"; + field public static final String EXTRA_RUN_PROVISION = "extraRunProvision"; + field public static final String EXTRA_SET_ALARM = "extraSetAlarm"; + } + + public class TetheringManager { + ctor public TetheringManager(@NonNull android.content.Context, @NonNull java.util.function.Supplier<android.os.IBinder>); + method public int getLastTetherError(@NonNull String); + method @NonNull public String[] getTetherableBluetoothRegexs(); + method @NonNull public String[] getTetherableIfaces(); + method @NonNull public String[] getTetherableUsbRegexs(); + method @NonNull public String[] getTetherableWifiRegexs(); + method @NonNull public String[] getTetheredIfaces(); + method @NonNull public String[] getTetheringErroredIfaces(); + method public boolean isTetheringSupported(); + method public boolean isTetheringSupported(@NonNull String); + method public void requestLatestTetheringEntitlementResult(int, @NonNull android.os.ResultReceiver, boolean); + method @Deprecated public int setUsbTethering(boolean); + method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void startTethering(int, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StartTetheringCallback); + method @Deprecated public int tether(@NonNull String); + method @Deprecated public int untether(@NonNull String); + } + + public static interface TetheringManager.TetheredInterfaceCallback { + method public void onAvailable(@NonNull String); + method public void onUnavailable(); + } + + public static interface TetheringManager.TetheredInterfaceRequest { + method public void release(); + } + + public static interface TetheringManager.TetheringEventCallback { + method @Deprecated public default void onTetherableInterfaceRegexpsChanged(@NonNull android.net.TetheringManager.TetheringInterfaceRegexps); + } + + @Deprecated public static class TetheringManager.TetheringInterfaceRegexps { + method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableBluetoothRegexs(); + method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableUsbRegexs(); + method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableWifiRegexs(); + } + +} + diff --git a/extensions/4/module-lib/framework-adservices.jar b/extensions/4/module-lib/framework-adservices.jar Binary files differnew file mode 100644 index 000000000..69c2b337f --- /dev/null +++ b/extensions/4/module-lib/framework-adservices.jar diff --git a/extensions/4/module-lib/framework-connectivity-t.jar b/extensions/4/module-lib/framework-connectivity-t.jar Binary files differnew file mode 100644 index 000000000..6aef73a7c --- /dev/null +++ b/extensions/4/module-lib/framework-connectivity-t.jar diff --git a/extensions/4/module-lib/framework-connectivity.jar b/extensions/4/module-lib/framework-connectivity.jar Binary files differnew file mode 100644 index 000000000..42c7e9d7a --- /dev/null +++ b/extensions/4/module-lib/framework-connectivity.jar diff --git a/extensions/4/module-lib/framework-sdkextensions.jar b/extensions/4/module-lib/framework-sdkextensions.jar Binary files differnew file mode 100644 index 000000000..85c2fbb8f --- /dev/null +++ b/extensions/4/module-lib/framework-sdkextensions.jar diff --git a/extensions/4/module-lib/framework-sdksandbox.jar b/extensions/4/module-lib/framework-sdksandbox.jar Binary files differnew file mode 100644 index 000000000..3e924b638 --- /dev/null +++ b/extensions/4/module-lib/framework-sdksandbox.jar diff --git a/extensions/4/module-lib/framework-tethering.jar b/extensions/4/module-lib/framework-tethering.jar Binary files differnew file mode 100644 index 000000000..b5e074dc9 --- /dev/null +++ b/extensions/4/module-lib/framework-tethering.jar diff --git a/extensions/4/public/api/framework-adservices-removed.txt b/extensions/4/public/api/framework-adservices-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/public/api/framework-adservices-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/public/api/framework-adservices.txt b/extensions/4/public/api/framework-adservices.txt new file mode 100644 index 000000000..1b0d0c0f7 --- /dev/null +++ b/extensions/4/public/api/framework-adservices.txt @@ -0,0 +1,408 @@ +// Signature format: 2.0 +package android.adservices { + + public class AdServicesState { + method public static boolean isAdServicesStateEnabled(); + } + + public class AdServicesVersion { + field public static final int API_VERSION; + } + +} + +package android.adservices.adid { + + public class AdId { + ctor public AdId(@NonNull String, boolean); + method @NonNull public String getAdId(); + method public boolean isLimitAdTrackingEnabled(); + field public static final String ZERO_OUT = "00000000-0000-0000-0000-000000000000"; + } + + public class AdIdManager { + method @NonNull @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_AD_ID) public void getAdId(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.adservices.adid.AdId,java.lang.Exception>); + } + +} + +package android.adservices.adselection { + + public final class AdSelectionConfig implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public android.adservices.common.AdSelectionSignals getAdSelectionSignals(); + method @NonNull public java.util.List<android.adservices.common.AdTechIdentifier> getCustomAudienceBuyers(); + method @NonNull public android.net.Uri getDecisionLogicUri(); + method @NonNull public java.util.Map<android.adservices.common.AdTechIdentifier,android.adservices.common.AdSelectionSignals> getPerBuyerSignals(); + method @NonNull public android.adservices.common.AdTechIdentifier getSeller(); + method @NonNull public android.adservices.common.AdSelectionSignals getSellerSignals(); + method @NonNull public android.net.Uri getTrustedScoringSignalsUri(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.adservices.adselection.AdSelectionConfig> CREATOR; + } + + public static final class AdSelectionConfig.Builder { + ctor public AdSelectionConfig.Builder(); + method @NonNull public android.adservices.adselection.AdSelectionConfig build(); + method @NonNull public android.adservices.adselection.AdSelectionConfig.Builder setAdSelectionSignals(@NonNull android.adservices.common.AdSelectionSignals); + method @NonNull public android.adservices.adselection.AdSelectionConfig.Builder setCustomAudienceBuyers(@NonNull java.util.List<android.adservices.common.AdTechIdentifier>); + method @NonNull public android.adservices.adselection.AdSelectionConfig.Builder setDecisionLogicUri(@NonNull android.net.Uri); + method @NonNull public android.adservices.adselection.AdSelectionConfig.Builder setPerBuyerSignals(@NonNull java.util.Map<android.adservices.common.AdTechIdentifier,android.adservices.common.AdSelectionSignals>); + method @NonNull public android.adservices.adselection.AdSelectionConfig.Builder setSeller(@NonNull android.adservices.common.AdTechIdentifier); + method @NonNull public android.adservices.adselection.AdSelectionConfig.Builder setSellerSignals(@NonNull android.adservices.common.AdSelectionSignals); + method @NonNull public android.adservices.adselection.AdSelectionConfig.Builder setTrustedScoringSignalsUri(@NonNull android.net.Uri); + } + + public class AdSelectionManager { + method @NonNull public android.adservices.adselection.TestAdSelectionManager getTestAdSelectionManager(); + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void reportImpression(@NonNull android.adservices.adselection.ReportImpressionRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>); + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void selectAds(@NonNull android.adservices.adselection.AdSelectionConfig, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.adservices.adselection.AdSelectionOutcome,java.lang.Exception>); + } + + public class AdSelectionOutcome { + method @NonNull public long getAdSelectionId(); + method @NonNull public android.net.Uri getRenderUri(); + } + + public static final class AdSelectionOutcome.Builder { + ctor public AdSelectionOutcome.Builder(); + method @NonNull public android.adservices.adselection.AdSelectionOutcome build(); + method @NonNull public android.adservices.adselection.AdSelectionOutcome.Builder setAdSelectionId(long); + method @NonNull public android.adservices.adselection.AdSelectionOutcome.Builder setRenderUri(@NonNull android.net.Uri); + } + + public class AddAdSelectionOverrideRequest { + ctor public AddAdSelectionOverrideRequest(@NonNull android.adservices.adselection.AdSelectionConfig, @NonNull String, @NonNull android.adservices.common.AdSelectionSignals); + method @NonNull public android.adservices.adselection.AdSelectionConfig getAdSelectionConfig(); + method @NonNull public String getDecisionLogicJs(); + method @NonNull public android.adservices.common.AdSelectionSignals getTrustedScoringSignals(); + } + + public class RemoveAdSelectionOverrideRequest { + ctor public RemoveAdSelectionOverrideRequest(@NonNull android.adservices.adselection.AdSelectionConfig); + method @NonNull public android.adservices.adselection.AdSelectionConfig getAdSelectionConfig(); + } + + public class ReportImpressionRequest { + ctor public ReportImpressionRequest(long, @NonNull android.adservices.adselection.AdSelectionConfig); + method @NonNull public android.adservices.adselection.AdSelectionConfig getAdSelectionConfig(); + method public long getAdSelectionId(); + } + + public class TestAdSelectionManager { + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void overrideAdSelectionConfigRemoteInfo(@NonNull android.adservices.adselection.AddAdSelectionOverrideRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>); + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void removeAdSelectionConfigRemoteInfoOverride(@NonNull android.adservices.adselection.RemoveAdSelectionOverrideRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>); + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void resetAllAdSelectionConfigRemoteOverrides(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>); + } + +} + +package android.adservices.appsetid { + + public class AppSetId { + ctor public AppSetId(@NonNull String, int); + method @NonNull public String getId(); + method public int getScope(); + field public static final int SCOPE_APP = 1; // 0x1 + field public static final int SCOPE_DEVELOPER = 2; // 0x2 + } + + public class AppSetIdManager { + method @NonNull public void getAppSetId(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.adservices.appsetid.AppSetId,java.lang.Exception>); + } + +} + +package android.adservices.common { + + public final class AdData implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public String getMetadata(); + method @NonNull public android.net.Uri getRenderUri(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.AdData> CREATOR; + } + + public static final class AdData.Builder { + ctor public AdData.Builder(); + method @NonNull public android.adservices.common.AdData build(); + method @NonNull public android.adservices.common.AdData.Builder setMetadata(@NonNull String); + method @NonNull public android.adservices.common.AdData.Builder setRenderUri(@NonNull android.net.Uri); + } + + public final class AdSelectionSignals implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public static android.adservices.common.AdSelectionSignals fromString(@NonNull String); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.AdSelectionSignals> CREATOR; + field public static final android.adservices.common.AdSelectionSignals EMPTY; + } + + public class AdServicesPermissions { + field public static final String ACCESS_ADSERVICES_AD_ID = "android.permission.ACCESS_ADSERVICES_AD_ID"; + field public static final String ACCESS_ADSERVICES_ATTRIBUTION = "android.permission.ACCESS_ADSERVICES_ATTRIBUTION"; + field public static final String ACCESS_ADSERVICES_CUSTOM_AUDIENCE = "android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE"; + field public static final String ACCESS_ADSERVICES_TOPICS = "android.permission.ACCESS_ADSERVICES_TOPICS"; + } + + public final class AdTechIdentifier implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public static android.adservices.common.AdTechIdentifier fromString(@NonNull String); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.AdTechIdentifier> CREATOR; + } + +} + +package android.adservices.customaudience { + + public class AddCustomAudienceOverrideRequest { + ctor public AddCustomAudienceOverrideRequest(@NonNull android.adservices.common.AdTechIdentifier, @NonNull String, @NonNull String, @NonNull android.adservices.common.AdSelectionSignals); + method @NonNull public String getBiddingLogicJs(); + method @NonNull public android.adservices.common.AdTechIdentifier getBuyer(); + method @NonNull public String getName(); + method @NonNull public android.adservices.common.AdSelectionSignals getTrustedBiddingSignals(); + } + + public static final class AddCustomAudienceOverrideRequest.Builder { + ctor public AddCustomAudienceOverrideRequest.Builder(); + method @NonNull public android.adservices.customaudience.AddCustomAudienceOverrideRequest build(); + method @NonNull public android.adservices.customaudience.AddCustomAudienceOverrideRequest.Builder setBiddingLogicJs(@NonNull String); + method @NonNull public android.adservices.customaudience.AddCustomAudienceOverrideRequest.Builder setBuyer(@NonNull android.adservices.common.AdTechIdentifier); + method @NonNull public android.adservices.customaudience.AddCustomAudienceOverrideRequest.Builder setName(@NonNull String); + method @NonNull public android.adservices.customaudience.AddCustomAudienceOverrideRequest.Builder setTrustedBiddingSignals(@NonNull android.adservices.common.AdSelectionSignals); + } + + public final class CustomAudience implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public java.time.Instant getActivationTime(); + method @NonNull public java.util.List<android.adservices.common.AdData> getAds(); + method @NonNull public android.net.Uri getBiddingLogicUri(); + method @NonNull public android.adservices.common.AdTechIdentifier getBuyer(); + method @NonNull public android.net.Uri getDailyUpdateUri(); + method @Nullable public java.time.Instant getExpirationTime(); + method @NonNull public String getName(); + method @Nullable public android.adservices.customaudience.TrustedBiddingData getTrustedBiddingData(); + method @Nullable public android.adservices.common.AdSelectionSignals getUserBiddingSignals(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.adservices.customaudience.CustomAudience> CREATOR; + } + + public static final class CustomAudience.Builder { + ctor public CustomAudience.Builder(); + method @NonNull public android.adservices.customaudience.CustomAudience build(); + method @NonNull public android.adservices.customaudience.CustomAudience.Builder setActivationTime(@Nullable java.time.Instant); + method @NonNull public android.adservices.customaudience.CustomAudience.Builder setAds(@Nullable java.util.List<android.adservices.common.AdData>); + method @NonNull public android.adservices.customaudience.CustomAudience.Builder setBiddingLogicUri(@NonNull android.net.Uri); + method @NonNull public android.adservices.customaudience.CustomAudience.Builder setBuyer(@NonNull android.adservices.common.AdTechIdentifier); + method @NonNull public android.adservices.customaudience.CustomAudience.Builder setDailyUpdateUri(@NonNull android.net.Uri); + method @NonNull public android.adservices.customaudience.CustomAudience.Builder setExpirationTime(@Nullable java.time.Instant); + method @NonNull public android.adservices.customaudience.CustomAudience.Builder setName(@NonNull String); + method @NonNull public android.adservices.customaudience.CustomAudience.Builder setTrustedBiddingData(@Nullable android.adservices.customaudience.TrustedBiddingData); + method @NonNull public android.adservices.customaudience.CustomAudience.Builder setUserBiddingSignals(@Nullable android.adservices.common.AdSelectionSignals); + } + + public class CustomAudienceManager { + method @NonNull public android.adservices.customaudience.TestCustomAudienceManager getTestCustomAudienceManager(); + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void joinCustomAudience(@NonNull android.adservices.customaudience.JoinCustomAudienceRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>); + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void leaveCustomAudience(@NonNull android.adservices.customaudience.LeaveCustomAudienceRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>); + } + + public class JoinCustomAudienceRequest { + method @NonNull public android.adservices.customaudience.CustomAudience getCustomAudience(); + } + + public static final class JoinCustomAudienceRequest.Builder { + ctor public JoinCustomAudienceRequest.Builder(); + method @NonNull public android.adservices.customaudience.JoinCustomAudienceRequest build(); + method @NonNull public android.adservices.customaudience.JoinCustomAudienceRequest.Builder setCustomAudience(@NonNull android.adservices.customaudience.CustomAudience); + } + + public final class LeaveCustomAudienceRequest { + method @NonNull public android.adservices.common.AdTechIdentifier getBuyer(); + method @NonNull public String getName(); + } + + public static final class LeaveCustomAudienceRequest.Builder { + ctor public LeaveCustomAudienceRequest.Builder(); + method @NonNull public android.adservices.customaudience.LeaveCustomAudienceRequest build(); + method @NonNull public android.adservices.customaudience.LeaveCustomAudienceRequest.Builder setBuyer(@NonNull android.adservices.common.AdTechIdentifier); + method @NonNull public android.adservices.customaudience.LeaveCustomAudienceRequest.Builder setName(@NonNull String); + } + + public class RemoveCustomAudienceOverrideRequest { + ctor public RemoveCustomAudienceOverrideRequest(@NonNull android.adservices.common.AdTechIdentifier, @NonNull String); + method @NonNull public android.adservices.common.AdTechIdentifier getBuyer(); + method @NonNull public String getName(); + } + + public static final class RemoveCustomAudienceOverrideRequest.Builder { + ctor public RemoveCustomAudienceOverrideRequest.Builder(); + method @NonNull public android.adservices.customaudience.RemoveCustomAudienceOverrideRequest build(); + method @NonNull public android.adservices.customaudience.RemoveCustomAudienceOverrideRequest.Builder setBuyer(@NonNull android.adservices.common.AdTechIdentifier); + method @NonNull public android.adservices.customaudience.RemoveCustomAudienceOverrideRequest.Builder setName(@NonNull String); + } + + public class TestCustomAudienceManager { + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void overrideCustomAudienceRemoteInfo(@NonNull android.adservices.customaudience.AddCustomAudienceOverrideRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>); + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void removeCustomAudienceRemoteInfoOverride(@NonNull android.adservices.customaudience.RemoveCustomAudienceOverrideRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>); + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE) public void resetAllCustomAudienceOverrides(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>); + } + + public final class TrustedBiddingData implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<java.lang.String> getTrustedBiddingKeys(); + method @NonNull public android.net.Uri getTrustedBiddingUri(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.adservices.customaudience.TrustedBiddingData> CREATOR; + } + + public static final class TrustedBiddingData.Builder { + ctor public TrustedBiddingData.Builder(); + method @NonNull public android.adservices.customaudience.TrustedBiddingData build(); + method @NonNull public android.adservices.customaudience.TrustedBiddingData.Builder setTrustedBiddingKeys(@NonNull java.util.List<java.lang.String>); + method @NonNull public android.adservices.customaudience.TrustedBiddingData.Builder setTrustedBiddingUri(@NonNull android.net.Uri); + } + +} + +package android.adservices.exceptions { + + public class AdServicesException extends java.lang.Exception { + ctor public AdServicesException(@Nullable String, @Nullable Throwable); + ctor public AdServicesException(@Nullable String); + } + +} + +package android.adservices.measurement { + + public class DeletionRequest { + method public int getDeletionMode(); + method @NonNull public java.util.List<android.net.Uri> getDomainUris(); + method @NonNull public java.time.Instant getEnd(); + method public int getMatchBehavior(); + method @NonNull public java.util.List<android.net.Uri> getOriginUris(); + method @NonNull public java.time.Instant getStart(); + field public static final int DELETION_MODE_ALL = 0; // 0x0 + field public static final int DELETION_MODE_EXCLUDE_INTERNAL_DATA = 1; // 0x1 + field public static final int MATCH_BEHAVIOR_DELETE = 0; // 0x0 + field public static final int MATCH_BEHAVIOR_PRESERVE = 1; // 0x1 + } + + public static final class DeletionRequest.Builder { + ctor public DeletionRequest.Builder(); + method @NonNull public android.adservices.measurement.DeletionRequest build(); + method @NonNull public android.adservices.measurement.DeletionRequest.Builder setDeletionMode(int); + method @NonNull public android.adservices.measurement.DeletionRequest.Builder setDomainUris(@Nullable java.util.List<android.net.Uri>); + method @NonNull public android.adservices.measurement.DeletionRequest.Builder setEnd(@NonNull java.time.Instant); + method @NonNull public android.adservices.measurement.DeletionRequest.Builder setMatchBehavior(int); + method @NonNull public android.adservices.measurement.DeletionRequest.Builder setOriginUris(@Nullable java.util.List<android.net.Uri>); + method @NonNull public android.adservices.measurement.DeletionRequest.Builder setStart(@NonNull java.time.Instant); + } + + public class MeasurementManager { + method public void deleteRegistrations(@NonNull android.adservices.measurement.DeletionRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>); + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION) public void getMeasurementApiStatus(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Integer,java.lang.Exception>); + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION) public void registerSource(@NonNull android.net.Uri, @Nullable android.view.InputEvent, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>); + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION) public void registerTrigger(@NonNull android.net.Uri, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>); + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION) public void registerWebSource(@NonNull android.adservices.measurement.WebSourceRegistrationRequest, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>); + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_ATTRIBUTION) public void registerWebTrigger(@NonNull android.adservices.measurement.WebTriggerRegistrationRequest, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.Object,java.lang.Exception>); + field public static final int MEASUREMENT_API_STATE_DISABLED = 0; // 0x0 + field public static final int MEASUREMENT_API_STATE_ENABLED = 1; // 0x1 + } + + public final class WebSourceParams implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public android.net.Uri getRegistrationUri(); + method public boolean isDebugKeyAllowed(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.adservices.measurement.WebSourceParams> CREATOR; + } + + public static final class WebSourceParams.Builder { + ctor public WebSourceParams.Builder(@NonNull android.net.Uri); + method @NonNull public android.adservices.measurement.WebSourceParams build(); + method @NonNull public android.adservices.measurement.WebSourceParams.Builder setDebugKeyAllowed(boolean); + } + + public final class WebSourceRegistrationRequest implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.net.Uri getAppDestination(); + method @Nullable public android.view.InputEvent getInputEvent(); + method @NonNull public java.util.List<android.adservices.measurement.WebSourceParams> getSourceParams(); + method @NonNull public android.net.Uri getTopOriginUri(); + method @Nullable public android.net.Uri getVerifiedDestination(); + method @Nullable public android.net.Uri getWebDestination(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.adservices.measurement.WebSourceRegistrationRequest> CREATOR; + } + + public static final class WebSourceRegistrationRequest.Builder { + ctor public WebSourceRegistrationRequest.Builder(@NonNull java.util.List<android.adservices.measurement.WebSourceParams>, @NonNull android.net.Uri); + method @NonNull public android.adservices.measurement.WebSourceRegistrationRequest build(); + method @NonNull public android.adservices.measurement.WebSourceRegistrationRequest.Builder setAppDestination(@Nullable android.net.Uri); + method @NonNull public android.adservices.measurement.WebSourceRegistrationRequest.Builder setInputEvent(@Nullable android.view.InputEvent); + method @NonNull public android.adservices.measurement.WebSourceRegistrationRequest.Builder setVerifiedDestination(@Nullable android.net.Uri); + method @NonNull public android.adservices.measurement.WebSourceRegistrationRequest.Builder setWebDestination(@Nullable android.net.Uri); + } + + public final class WebTriggerParams implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public android.net.Uri getRegistrationUri(); + method public boolean isDebugKeyAllowed(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.adservices.measurement.WebTriggerParams> CREATOR; + } + + public static final class WebTriggerParams.Builder { + ctor public WebTriggerParams.Builder(@NonNull android.net.Uri); + method @NonNull public android.adservices.measurement.WebTriggerParams build(); + method @NonNull public android.adservices.measurement.WebTriggerParams.Builder setDebugKeyAllowed(boolean); + } + + public final class WebTriggerRegistrationRequest implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public android.net.Uri getDestination(); + method @NonNull public java.util.List<android.adservices.measurement.WebTriggerParams> getTriggerParams(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.adservices.measurement.WebTriggerRegistrationRequest> CREATOR; + } + + public static final class WebTriggerRegistrationRequest.Builder { + ctor public WebTriggerRegistrationRequest.Builder(@NonNull java.util.List<android.adservices.measurement.WebTriggerParams>, @NonNull android.net.Uri); + method @NonNull public android.adservices.measurement.WebTriggerRegistrationRequest build(); + } + +} + +package android.adservices.topics { + + public final class GetTopicsRequest { + method @NonNull public static android.adservices.topics.GetTopicsRequest create(); + method @NonNull public static android.adservices.topics.GetTopicsRequest createWithAdsSdkName(@NonNull String); + method @NonNull public String getAdsSdkName(); + } + + public final class GetTopicsResponse { + method @NonNull public java.util.List<android.adservices.topics.Topic> getTopics(); + } + + public static final class GetTopicsResponse.Builder { + ctor public GetTopicsResponse.Builder(@NonNull java.util.List<android.adservices.topics.Topic>); + method @NonNull public android.adservices.topics.GetTopicsResponse build(); + } + + public final class Topic { + ctor public Topic(long, long, int); + method public long getModelVersion(); + method public long getTaxonomyVersion(); + method public int getTopicId(); + } + + public final class TopicsManager { + method @NonNull @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_TOPICS) public void getTopics(@NonNull android.adservices.topics.GetTopicsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.adservices.topics.GetTopicsResponse,java.lang.Exception>); + } + +} + diff --git a/extensions/4/public/api/framework-connectivity-removed.txt b/extensions/4/public/api/framework-connectivity-removed.txt new file mode 100644 index 000000000..303a1e617 --- /dev/null +++ b/extensions/4/public/api/framework-connectivity-removed.txt @@ -0,0 +1,11 @@ +// Signature format: 2.0 +package android.net { + + public class ConnectivityManager { + method @Deprecated public boolean requestRouteToHost(int, int); + method @Deprecated public int startUsingNetworkFeature(int, String); + method @Deprecated public int stopUsingNetworkFeature(int, String); + } + +} + diff --git a/extensions/4/public/api/framework-connectivity-t-removed.txt b/extensions/4/public/api/framework-connectivity-t-removed.txt new file mode 100644 index 000000000..1ba87d8a2 --- /dev/null +++ b/extensions/4/public/api/framework-connectivity-t-removed.txt @@ -0,0 +1,9 @@ +// Signature format: 2.0 +package android.net { + + public class TrafficStats { + method @Deprecated public static void setThreadStatsUidSelf(); + } + +} + diff --git a/extensions/4/public/api/framework-connectivity-t.txt b/extensions/4/public/api/framework-connectivity-t.txt new file mode 100644 index 000000000..eb77288c7 --- /dev/null +++ b/extensions/4/public/api/framework-connectivity-t.txt @@ -0,0 +1,251 @@ +// Signature format: 2.0 +package android.app.usage { + + public final class NetworkStats implements java.lang.AutoCloseable { + method public void close(); + method public boolean getNextBucket(@Nullable android.app.usage.NetworkStats.Bucket); + method public boolean hasNextBucket(); + } + + public static class NetworkStats.Bucket { + ctor public NetworkStats.Bucket(); + method public int getDefaultNetworkStatus(); + method public long getEndTimeStamp(); + method public int getMetered(); + method public int getRoaming(); + method public long getRxBytes(); + method public long getRxPackets(); + method public long getStartTimeStamp(); + method public int getState(); + method public int getTag(); + method public long getTxBytes(); + method public long getTxPackets(); + method public int getUid(); + field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff + field public static final int DEFAULT_NETWORK_NO = 1; // 0x1 + field public static final int DEFAULT_NETWORK_YES = 2; // 0x2 + field public static final int METERED_ALL = -1; // 0xffffffff + field public static final int METERED_NO = 1; // 0x1 + field public static final int METERED_YES = 2; // 0x2 + field public static final int ROAMING_ALL = -1; // 0xffffffff + field public static final int ROAMING_NO = 1; // 0x1 + field public static final int ROAMING_YES = 2; // 0x2 + field public static final int STATE_ALL = -1; // 0xffffffff + field public static final int STATE_DEFAULT = 1; // 0x1 + field public static final int STATE_FOREGROUND = 2; // 0x2 + field public static final int TAG_NONE = 0; // 0x0 + field public static final int UID_ALL = -1; // 0xffffffff + field public static final int UID_REMOVED = -4; // 0xfffffffc + field public static final int UID_TETHERING = -5; // 0xfffffffb + } + + public class NetworkStatsManager { + method @WorkerThread public android.app.usage.NetworkStats queryDetails(int, @Nullable String, long, long) throws android.os.RemoteException, java.lang.SecurityException; + method @NonNull @WorkerThread public android.app.usage.NetworkStats queryDetailsForUid(int, @Nullable String, long, long, int) throws java.lang.SecurityException; + method @NonNull @WorkerThread public android.app.usage.NetworkStats queryDetailsForUidTag(int, @Nullable String, long, long, int, int) throws java.lang.SecurityException; + method @NonNull @WorkerThread public android.app.usage.NetworkStats queryDetailsForUidTagState(int, @Nullable String, long, long, int, int, int) throws java.lang.SecurityException; + method @WorkerThread public android.app.usage.NetworkStats querySummary(int, @Nullable String, long, long) throws android.os.RemoteException, java.lang.SecurityException; + method @WorkerThread public android.app.usage.NetworkStats.Bucket querySummaryForDevice(int, @Nullable String, long, long) throws android.os.RemoteException, java.lang.SecurityException; + method @WorkerThread public android.app.usage.NetworkStats.Bucket querySummaryForUser(int, @Nullable String, long, long) throws android.os.RemoteException, java.lang.SecurityException; + method public void registerUsageCallback(int, @Nullable String, long, @NonNull android.app.usage.NetworkStatsManager.UsageCallback); + method public void registerUsageCallback(int, @Nullable String, long, @NonNull android.app.usage.NetworkStatsManager.UsageCallback, @Nullable android.os.Handler); + method public void unregisterUsageCallback(@NonNull android.app.usage.NetworkStatsManager.UsageCallback); + } + + public abstract static class NetworkStatsManager.UsageCallback { + ctor public NetworkStatsManager.UsageCallback(); + method public abstract void onThresholdReached(int, @Nullable String); + } + +} + +package android.net { + + public final class EthernetNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable { + ctor public EthernetNetworkSpecifier(@NonNull String); + method public int describeContents(); + method @Nullable public String getInterfaceName(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkSpecifier> CREATOR; + } + + public final class IpSecAlgorithm implements android.os.Parcelable { + ctor public IpSecAlgorithm(@NonNull String, @NonNull byte[]); + ctor public IpSecAlgorithm(@NonNull String, @NonNull byte[], int); + method public int describeContents(); + method @NonNull public byte[] getKey(); + method @NonNull public String getName(); + method @NonNull public static java.util.Set<java.lang.String> getSupportedAlgorithms(); + method public int getTruncationLengthBits(); + method public void writeToParcel(android.os.Parcel, int); + field public static final String AUTH_AES_CMAC = "cmac(aes)"; + field public static final String AUTH_AES_XCBC = "xcbc(aes)"; + field public static final String AUTH_CRYPT_AES_GCM = "rfc4106(gcm(aes))"; + field public static final String AUTH_CRYPT_CHACHA20_POLY1305 = "rfc7539esp(chacha20,poly1305)"; + field public static final String AUTH_HMAC_MD5 = "hmac(md5)"; + field public static final String AUTH_HMAC_SHA1 = "hmac(sha1)"; + field public static final String AUTH_HMAC_SHA256 = "hmac(sha256)"; + field public static final String AUTH_HMAC_SHA384 = "hmac(sha384)"; + field public static final String AUTH_HMAC_SHA512 = "hmac(sha512)"; + field @NonNull public static final android.os.Parcelable.Creator<android.net.IpSecAlgorithm> CREATOR; + field public static final String CRYPT_AES_CBC = "cbc(aes)"; + field public static final String CRYPT_AES_CTR = "rfc3686(ctr(aes))"; + } + + public class IpSecManager { + method @NonNull public android.net.IpSecManager.SecurityParameterIndex allocateSecurityParameterIndex(@NonNull java.net.InetAddress) throws android.net.IpSecManager.ResourceUnavailableException; + method @NonNull public android.net.IpSecManager.SecurityParameterIndex allocateSecurityParameterIndex(@NonNull java.net.InetAddress, int) throws android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException; + method public void applyTransportModeTransform(@NonNull java.net.Socket, int, @NonNull android.net.IpSecTransform) throws java.io.IOException; + method public void applyTransportModeTransform(@NonNull java.net.DatagramSocket, int, @NonNull android.net.IpSecTransform) throws java.io.IOException; + method public void applyTransportModeTransform(@NonNull java.io.FileDescriptor, int, @NonNull android.net.IpSecTransform) throws java.io.IOException; + method @NonNull public android.net.IpSecManager.UdpEncapsulationSocket openUdpEncapsulationSocket(int) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException; + method @NonNull public android.net.IpSecManager.UdpEncapsulationSocket openUdpEncapsulationSocket() throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException; + method public void removeTransportModeTransforms(@NonNull java.net.Socket) throws java.io.IOException; + method public void removeTransportModeTransforms(@NonNull java.net.DatagramSocket) throws java.io.IOException; + method public void removeTransportModeTransforms(@NonNull java.io.FileDescriptor) throws java.io.IOException; + field public static final int DIRECTION_IN = 0; // 0x0 + field public static final int DIRECTION_OUT = 1; // 0x1 + } + + public static final class IpSecManager.ResourceUnavailableException extends android.util.AndroidException { + } + + public static final class IpSecManager.SecurityParameterIndex implements java.lang.AutoCloseable { + method public void close(); + method public int getSpi(); + } + + public static final class IpSecManager.SpiUnavailableException extends android.util.AndroidException { + method public int getSpi(); + } + + public static final class IpSecManager.UdpEncapsulationSocket implements java.lang.AutoCloseable { + method public void close() throws java.io.IOException; + method public java.io.FileDescriptor getFileDescriptor(); + method public int getPort(); + } + + public final class IpSecTransform implements java.lang.AutoCloseable { + method public void close(); + } + + public static class IpSecTransform.Builder { + ctor public IpSecTransform.Builder(@NonNull android.content.Context); + method @NonNull public android.net.IpSecTransform buildTransportModeTransform(@NonNull java.net.InetAddress, @NonNull android.net.IpSecManager.SecurityParameterIndex) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException; + method @NonNull public android.net.IpSecTransform.Builder setAuthenticatedEncryption(@NonNull android.net.IpSecAlgorithm); + method @NonNull public android.net.IpSecTransform.Builder setAuthentication(@NonNull android.net.IpSecAlgorithm); + method @NonNull public android.net.IpSecTransform.Builder setEncryption(@NonNull android.net.IpSecAlgorithm); + method @NonNull public android.net.IpSecTransform.Builder setIpv4Encapsulation(@NonNull android.net.IpSecManager.UdpEncapsulationSocket, int); + } + + public class TrafficStats { + ctor public TrafficStats(); + method public static void clearThreadStatsTag(); + method public static void clearThreadStatsUid(); + method public static int getAndSetThreadStatsTag(int); + method public static long getMobileRxBytes(); + method public static long getMobileRxPackets(); + method public static long getMobileTxBytes(); + method public static long getMobileTxPackets(); + method public static long getRxBytes(@NonNull String); + method public static long getRxPackets(@NonNull String); + method public static int getThreadStatsTag(); + method public static int getThreadStatsUid(); + method public static long getTotalRxBytes(); + method public static long getTotalRxPackets(); + method public static long getTotalTxBytes(); + method public static long getTotalTxPackets(); + method public static long getTxBytes(@NonNull String); + method public static long getTxPackets(@NonNull String); + method public static long getUidRxBytes(int); + method public static long getUidRxPackets(int); + method @Deprecated public static long getUidTcpRxBytes(int); + method @Deprecated public static long getUidTcpRxSegments(int); + method @Deprecated public static long getUidTcpTxBytes(int); + method @Deprecated public static long getUidTcpTxSegments(int); + method public static long getUidTxBytes(int); + method public static long getUidTxPackets(int); + method @Deprecated public static long getUidUdpRxBytes(int); + method @Deprecated public static long getUidUdpRxPackets(int); + method @Deprecated public static long getUidUdpTxBytes(int); + method @Deprecated public static long getUidUdpTxPackets(int); + method public static void incrementOperationCount(int); + method public static void incrementOperationCount(int, int); + method public static void setThreadStatsTag(int); + method public static void setThreadStatsUid(int); + method public static void tagDatagramSocket(@NonNull java.net.DatagramSocket) throws java.net.SocketException; + method public static void tagFileDescriptor(@NonNull java.io.FileDescriptor) throws java.io.IOException; + method public static void tagSocket(@NonNull java.net.Socket) throws java.net.SocketException; + method public static void untagDatagramSocket(@NonNull java.net.DatagramSocket) throws java.net.SocketException; + method public static void untagFileDescriptor(@NonNull java.io.FileDescriptor) throws java.io.IOException; + method public static void untagSocket(@NonNull java.net.Socket) throws java.net.SocketException; + field public static final int UNSUPPORTED = -1; // 0xffffffff + } + +} + +package android.net.nsd { + + public final class NsdManager { + method public void discoverServices(String, int, android.net.nsd.NsdManager.DiscoveryListener); + method public void discoverServices(@NonNull String, int, @Nullable android.net.Network, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.NsdManager.DiscoveryListener); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void discoverServices(@NonNull String, int, @NonNull android.net.NetworkRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.NsdManager.DiscoveryListener); + method public void registerService(android.net.nsd.NsdServiceInfo, int, android.net.nsd.NsdManager.RegistrationListener); + method public void registerService(@NonNull android.net.nsd.NsdServiceInfo, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.NsdManager.RegistrationListener); + method public void resolveService(android.net.nsd.NsdServiceInfo, android.net.nsd.NsdManager.ResolveListener); + method public void resolveService(@NonNull android.net.nsd.NsdServiceInfo, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.NsdManager.ResolveListener); + method public void stopServiceDiscovery(android.net.nsd.NsdManager.DiscoveryListener); + method public void unregisterService(android.net.nsd.NsdManager.RegistrationListener); + field public static final String ACTION_NSD_STATE_CHANGED = "android.net.nsd.STATE_CHANGED"; + field public static final String EXTRA_NSD_STATE = "nsd_state"; + field public static final int FAILURE_ALREADY_ACTIVE = 3; // 0x3 + field public static final int FAILURE_INTERNAL_ERROR = 0; // 0x0 + field public static final int FAILURE_MAX_LIMIT = 4; // 0x4 + field public static final int NSD_STATE_DISABLED = 1; // 0x1 + field public static final int NSD_STATE_ENABLED = 2; // 0x2 + field public static final int PROTOCOL_DNS_SD = 1; // 0x1 + } + + public static interface NsdManager.DiscoveryListener { + method public void onDiscoveryStarted(String); + method public void onDiscoveryStopped(String); + method public void onServiceFound(android.net.nsd.NsdServiceInfo); + method public void onServiceLost(android.net.nsd.NsdServiceInfo); + method public void onStartDiscoveryFailed(String, int); + method public void onStopDiscoveryFailed(String, int); + } + + public static interface NsdManager.RegistrationListener { + method public void onRegistrationFailed(android.net.nsd.NsdServiceInfo, int); + method public void onServiceRegistered(android.net.nsd.NsdServiceInfo); + method public void onServiceUnregistered(android.net.nsd.NsdServiceInfo); + method public void onUnregistrationFailed(android.net.nsd.NsdServiceInfo, int); + } + + public static interface NsdManager.ResolveListener { + method public void onResolveFailed(android.net.nsd.NsdServiceInfo, int); + method public void onServiceResolved(android.net.nsd.NsdServiceInfo); + } + + public final class NsdServiceInfo implements android.os.Parcelable { + ctor public NsdServiceInfo(); + method public int describeContents(); + method public java.util.Map<java.lang.String,byte[]> getAttributes(); + method public java.net.InetAddress getHost(); + method @Nullable public android.net.Network getNetwork(); + method public int getPort(); + method public String getServiceName(); + method public String getServiceType(); + method public void removeAttribute(String); + method public void setAttribute(String, String); + method public void setHost(java.net.InetAddress); + method public void setNetwork(@Nullable android.net.Network); + method public void setPort(int); + method public void setServiceName(String); + method public void setServiceType(String); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.NsdServiceInfo> CREATOR; + } + +} + diff --git a/extensions/4/public/api/framework-connectivity.txt b/extensions/4/public/api/framework-connectivity.txt new file mode 100644 index 000000000..547b7e26a --- /dev/null +++ b/extensions/4/public/api/framework-connectivity.txt @@ -0,0 +1,526 @@ +// Signature format: 2.0 +package android.net { + + public class CaptivePortal implements android.os.Parcelable { + method public int describeContents(); + method public void ignoreNetwork(); + method public void reportCaptivePortalDismissed(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortal> CREATOR; + } + + public class ConnectivityDiagnosticsManager { + method public void registerConnectivityDiagnosticsCallback(@NonNull android.net.NetworkRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback); + method public void unregisterConnectivityDiagnosticsCallback(@NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback); + } + + public abstract static class ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback { + ctor public ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback(); + method public void onConnectivityReportAvailable(@NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityReport); + method public void onDataStallSuspected(@NonNull android.net.ConnectivityDiagnosticsManager.DataStallReport); + method public void onNetworkConnectivityReported(@NonNull android.net.Network, boolean); + } + + public static final class ConnectivityDiagnosticsManager.ConnectivityReport implements android.os.Parcelable { + ctor public ConnectivityDiagnosticsManager.ConnectivityReport(@NonNull android.net.Network, long, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkCapabilities, @NonNull android.os.PersistableBundle); + method public int describeContents(); + method @NonNull public android.os.PersistableBundle getAdditionalInfo(); + method @NonNull public android.net.LinkProperties getLinkProperties(); + method @NonNull public android.net.Network getNetwork(); + method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities(); + method public long getReportTimestamp(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.ConnectivityDiagnosticsManager.ConnectivityReport> CREATOR; + field public static final String KEY_NETWORK_PROBES_ATTEMPTED_BITMASK = "networkProbesAttempted"; + field public static final String KEY_NETWORK_PROBES_SUCCEEDED_BITMASK = "networkProbesSucceeded"; + field public static final String KEY_NETWORK_VALIDATION_RESULT = "networkValidationResult"; + field public static final int NETWORK_PROBE_DNS = 4; // 0x4 + field public static final int NETWORK_PROBE_FALLBACK = 32; // 0x20 + field public static final int NETWORK_PROBE_HTTP = 8; // 0x8 + field public static final int NETWORK_PROBE_HTTPS = 16; // 0x10 + field public static final int NETWORK_PROBE_PRIVATE_DNS = 64; // 0x40 + field public static final int NETWORK_VALIDATION_RESULT_INVALID = 0; // 0x0 + field public static final int NETWORK_VALIDATION_RESULT_PARTIALLY_VALID = 2; // 0x2 + field public static final int NETWORK_VALIDATION_RESULT_SKIPPED = 3; // 0x3 + field public static final int NETWORK_VALIDATION_RESULT_VALID = 1; // 0x1 + } + + public static final class ConnectivityDiagnosticsManager.DataStallReport implements android.os.Parcelable { + ctor public ConnectivityDiagnosticsManager.DataStallReport(@NonNull android.net.Network, long, int, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkCapabilities, @NonNull android.os.PersistableBundle); + method public int describeContents(); + method public int getDetectionMethod(); + method @NonNull public android.net.LinkProperties getLinkProperties(); + method @NonNull public android.net.Network getNetwork(); + method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities(); + method public long getReportTimestamp(); + method @NonNull public android.os.PersistableBundle getStallDetails(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.ConnectivityDiagnosticsManager.DataStallReport> CREATOR; + field public static final int DETECTION_METHOD_DNS_EVENTS = 1; // 0x1 + field public static final int DETECTION_METHOD_TCP_METRICS = 2; // 0x2 + field public static final String KEY_DNS_CONSECUTIVE_TIMEOUTS = "dnsConsecutiveTimeouts"; + field public static final String KEY_TCP_METRICS_COLLECTION_PERIOD_MILLIS = "tcpMetricsCollectionPeriodMillis"; + field public static final String KEY_TCP_PACKET_FAIL_RATE = "tcpPacketFailRate"; + } + + public class ConnectivityManager { + method public void addDefaultNetworkActiveListener(android.net.ConnectivityManager.OnNetworkActiveListener); + method public boolean bindProcessToNetwork(@Nullable android.net.Network); + method @NonNull public android.net.SocketKeepalive createSocketKeepalive(@NonNull android.net.Network, @NonNull android.net.IpSecManager.UdpEncapsulationSocket, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback); + method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.Network getActiveNetwork(); + method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getActiveNetworkInfo(); + method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo[] getAllNetworkInfo(); + method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.Network[] getAllNetworks(); + method @Deprecated public boolean getBackgroundDataSetting(); + method @Nullable public android.net.Network getBoundNetworkForProcess(); + method public int getConnectionOwnerUid(int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress); + method @Nullable public android.net.ProxyInfo getDefaultProxy(); + method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.LinkProperties getLinkProperties(@Nullable android.net.Network); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public int getMultipathPreference(@Nullable android.net.Network); + method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkCapabilities getNetworkCapabilities(@Nullable android.net.Network); + method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getNetworkInfo(int); + method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getNetworkInfo(@Nullable android.net.Network); + method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public int getNetworkPreference(); + method @Nullable public byte[] getNetworkWatchlistConfigHash(); + method @Deprecated @Nullable public static android.net.Network getProcessDefaultNetwork(); + method public int getRestrictBackgroundStatus(); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public boolean isActiveNetworkMetered(); + method public boolean isDefaultNetworkActive(); + method @Deprecated public static boolean isNetworkTypeValid(int); + method public void registerBestMatchingNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler); + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.app.PendingIntent); + method public void releaseNetworkRequest(@NonNull android.app.PendingIntent); + method public void removeDefaultNetworkActiveListener(@NonNull android.net.ConnectivityManager.OnNetworkActiveListener); + method @Deprecated public void reportBadNetwork(@Nullable android.net.Network); + method public void reportNetworkConnectivity(@Nullable android.net.Network, boolean); + method public boolean requestBandwidthUpdate(@NonNull android.net.Network); + method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback); + method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler); + method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, int); + method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler, int); + method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.app.PendingIntent); + method @Deprecated public void setNetworkPreference(int); + method @Deprecated public static boolean setProcessDefaultNetwork(@Nullable android.net.Network); + method public void unregisterNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback); + method public void unregisterNetworkCallback(@NonNull android.app.PendingIntent); + field @Deprecated public static final String ACTION_BACKGROUND_DATA_SETTING_CHANGED = "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED"; + field public static final String ACTION_CAPTIVE_PORTAL_SIGN_IN = "android.net.conn.CAPTIVE_PORTAL"; + field public static final String ACTION_RESTRICT_BACKGROUND_CHANGED = "android.net.conn.RESTRICT_BACKGROUND_CHANGED"; + field @Deprecated public static final String CONNECTIVITY_ACTION = "android.net.conn.CONNECTIVITY_CHANGE"; + field @Deprecated public static final int DEFAULT_NETWORK_PREFERENCE = 1; // 0x1 + field public static final String EXTRA_CAPTIVE_PORTAL = "android.net.extra.CAPTIVE_PORTAL"; + field public static final String EXTRA_CAPTIVE_PORTAL_URL = "android.net.extra.CAPTIVE_PORTAL_URL"; + field @Deprecated public static final String EXTRA_EXTRA_INFO = "extraInfo"; + field @Deprecated public static final String EXTRA_IS_FAILOVER = "isFailover"; + field public static final String EXTRA_NETWORK = "android.net.extra.NETWORK"; + field @Deprecated public static final String EXTRA_NETWORK_INFO = "networkInfo"; + field public static final String EXTRA_NETWORK_REQUEST = "android.net.extra.NETWORK_REQUEST"; + field @Deprecated public static final String EXTRA_NETWORK_TYPE = "networkType"; + field public static final String EXTRA_NO_CONNECTIVITY = "noConnectivity"; + field @Deprecated public static final String EXTRA_OTHER_NETWORK_INFO = "otherNetwork"; + field public static final String EXTRA_REASON = "reason"; + field public static final int MULTIPATH_PREFERENCE_HANDOVER = 1; // 0x1 + field public static final int MULTIPATH_PREFERENCE_PERFORMANCE = 4; // 0x4 + field public static final int MULTIPATH_PREFERENCE_RELIABILITY = 2; // 0x2 + field public static final int RESTRICT_BACKGROUND_STATUS_DISABLED = 1; // 0x1 + field public static final int RESTRICT_BACKGROUND_STATUS_ENABLED = 3; // 0x3 + field public static final int RESTRICT_BACKGROUND_STATUS_WHITELISTED = 2; // 0x2 + field @Deprecated public static final int TYPE_BLUETOOTH = 7; // 0x7 + field @Deprecated public static final int TYPE_DUMMY = 8; // 0x8 + field @Deprecated public static final int TYPE_ETHERNET = 9; // 0x9 + field @Deprecated public static final int TYPE_MOBILE = 0; // 0x0 + field @Deprecated public static final int TYPE_MOBILE_DUN = 4; // 0x4 + field @Deprecated public static final int TYPE_MOBILE_HIPRI = 5; // 0x5 + field @Deprecated public static final int TYPE_MOBILE_MMS = 2; // 0x2 + field @Deprecated public static final int TYPE_MOBILE_SUPL = 3; // 0x3 + field @Deprecated public static final int TYPE_VPN = 17; // 0x11 + field @Deprecated public static final int TYPE_WIFI = 1; // 0x1 + field @Deprecated public static final int TYPE_WIMAX = 6; // 0x6 + } + + public static class ConnectivityManager.NetworkCallback { + ctor public ConnectivityManager.NetworkCallback(); + ctor public ConnectivityManager.NetworkCallback(int); + method public void onAvailable(@NonNull android.net.Network); + method public void onBlockedStatusChanged(@NonNull android.net.Network, boolean); + method public void onCapabilitiesChanged(@NonNull android.net.Network, @NonNull android.net.NetworkCapabilities); + method public void onLinkPropertiesChanged(@NonNull android.net.Network, @NonNull android.net.LinkProperties); + method public void onLosing(@NonNull android.net.Network, int); + method public void onLost(@NonNull android.net.Network); + method public void onUnavailable(); + field public static final int FLAG_INCLUDE_LOCATION_INFO = 1; // 0x1 + } + + public static interface ConnectivityManager.OnNetworkActiveListener { + method public void onNetworkActive(); + } + + public class DhcpInfo implements android.os.Parcelable { + ctor public DhcpInfo(); + method public int describeContents(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.DhcpInfo> CREATOR; + field public int dns1; + field public int dns2; + field public int gateway; + field public int ipAddress; + field public int leaseDuration; + field public int netmask; + field public int serverAddress; + } + + public final class DnsResolver { + method @NonNull public static android.net.DnsResolver getInstance(); + method public void query(@Nullable android.net.Network, @NonNull String, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super java.util.List<java.net.InetAddress>>); + method public void query(@Nullable android.net.Network, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super java.util.List<java.net.InetAddress>>); + method public void rawQuery(@Nullable android.net.Network, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super byte[]>); + method public void rawQuery(@Nullable android.net.Network, @NonNull String, int, int, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super byte[]>); + field public static final int CLASS_IN = 1; // 0x1 + field public static final int ERROR_PARSE = 0; // 0x0 + field public static final int ERROR_SYSTEM = 1; // 0x1 + field public static final int FLAG_EMPTY = 0; // 0x0 + field public static final int FLAG_NO_CACHE_LOOKUP = 4; // 0x4 + field public static final int FLAG_NO_CACHE_STORE = 2; // 0x2 + field public static final int FLAG_NO_RETRY = 1; // 0x1 + field public static final int TYPE_A = 1; // 0x1 + field public static final int TYPE_AAAA = 28; // 0x1c + } + + public static interface DnsResolver.Callback<T> { + method public void onAnswer(@NonNull T, int); + method public void onError(@NonNull android.net.DnsResolver.DnsException); + } + + public static class DnsResolver.DnsException extends java.lang.Exception { + ctor public DnsResolver.DnsException(int, @Nullable Throwable); + field public final int code; + } + + public class InetAddresses { + method public static boolean isNumericAddress(@NonNull String); + method @NonNull public static java.net.InetAddress parseNumericAddress(@NonNull String); + } + + public final class IpConfiguration implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.net.ProxyInfo getHttpProxy(); + method @Nullable public android.net.StaticIpConfiguration getStaticIpConfiguration(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.IpConfiguration> CREATOR; + } + + public static final class IpConfiguration.Builder { + ctor public IpConfiguration.Builder(); + method @NonNull public android.net.IpConfiguration build(); + method @NonNull public android.net.IpConfiguration.Builder setHttpProxy(@Nullable android.net.ProxyInfo); + method @NonNull public android.net.IpConfiguration.Builder setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration); + } + + public final class IpPrefix implements android.os.Parcelable { + ctor public IpPrefix(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int); + method public boolean contains(@NonNull java.net.InetAddress); + method public int describeContents(); + method @NonNull public java.net.InetAddress getAddress(); + method @IntRange(from=0, to=128) public int getPrefixLength(); + method @NonNull public byte[] getRawAddress(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.IpPrefix> CREATOR; + } + + public class LinkAddress implements android.os.Parcelable { + method public int describeContents(); + method public java.net.InetAddress getAddress(); + method public int getFlags(); + method @IntRange(from=0, to=128) public int getPrefixLength(); + method public int getScope(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkAddress> CREATOR; + } + + public final class LinkProperties implements android.os.Parcelable { + ctor public LinkProperties(); + method public boolean addRoute(@NonNull android.net.RouteInfo); + method public void clear(); + method public int describeContents(); + method @Nullable public java.net.Inet4Address getDhcpServerAddress(); + method @NonNull public java.util.List<java.net.InetAddress> getDnsServers(); + method @Nullable public String getDomains(); + method @Nullable public android.net.ProxyInfo getHttpProxy(); + method @Nullable public String getInterfaceName(); + method @NonNull public java.util.List<android.net.LinkAddress> getLinkAddresses(); + method public int getMtu(); + method @Nullable public android.net.IpPrefix getNat64Prefix(); + method @Nullable public String getPrivateDnsServerName(); + method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(); + method public boolean isPrivateDnsActive(); + method public boolean isWakeOnLanSupported(); + method public void setDhcpServerAddress(@Nullable java.net.Inet4Address); + method public void setDnsServers(@NonNull java.util.Collection<java.net.InetAddress>); + method public void setDomains(@Nullable String); + method public void setHttpProxy(@Nullable android.net.ProxyInfo); + method public void setInterfaceName(@Nullable String); + method public void setLinkAddresses(@NonNull java.util.Collection<android.net.LinkAddress>); + method public void setMtu(int); + method public void setNat64Prefix(@Nullable android.net.IpPrefix); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkProperties> CREATOR; + } + + public final class MacAddress implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public static android.net.MacAddress fromBytes(@NonNull byte[]); + method @NonNull public static android.net.MacAddress fromString(@NonNull String); + method public int getAddressType(); + method @Nullable public java.net.Inet6Address getLinkLocalIpv6FromEui48Mac(); + method public boolean isLocallyAssigned(); + method public boolean matches(@NonNull android.net.MacAddress, @NonNull android.net.MacAddress); + method @NonNull public byte[] toByteArray(); + method @NonNull public String toOuiString(); + method public void writeToParcel(android.os.Parcel, int); + field public static final android.net.MacAddress BROADCAST_ADDRESS; + field @NonNull public static final android.os.Parcelable.Creator<android.net.MacAddress> CREATOR; + field public static final int TYPE_BROADCAST = 3; // 0x3 + field public static final int TYPE_MULTICAST = 2; // 0x2 + field public static final int TYPE_UNICAST = 1; // 0x1 + } + + public class Network implements android.os.Parcelable { + method public void bindSocket(java.net.DatagramSocket) throws java.io.IOException; + method public void bindSocket(java.net.Socket) throws java.io.IOException; + method public void bindSocket(java.io.FileDescriptor) throws java.io.IOException; + method public int describeContents(); + method public static android.net.Network fromNetworkHandle(long); + method public java.net.InetAddress[] getAllByName(String) throws java.net.UnknownHostException; + method public java.net.InetAddress getByName(String) throws java.net.UnknownHostException; + method public long getNetworkHandle(); + method public javax.net.SocketFactory getSocketFactory(); + method public java.net.URLConnection openConnection(java.net.URL) throws java.io.IOException; + method public java.net.URLConnection openConnection(java.net.URL, java.net.Proxy) throws java.io.IOException; + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.Network> CREATOR; + } + + public final class NetworkCapabilities implements android.os.Parcelable { + ctor public NetworkCapabilities(); + ctor public NetworkCapabilities(android.net.NetworkCapabilities); + method public int describeContents(); + method @NonNull public int[] getCapabilities(); + method @NonNull public int[] getEnterpriseIds(); + method public int getLinkDownstreamBandwidthKbps(); + method public int getLinkUpstreamBandwidthKbps(); + method @Nullable public android.net.NetworkSpecifier getNetworkSpecifier(); + method public int getOwnerUid(); + method public int getSignalStrength(); + method @Nullable public android.net.TransportInfo getTransportInfo(); + method public boolean hasCapability(int); + method public boolean hasEnterpriseId(int); + method public boolean hasTransport(int); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkCapabilities> CREATOR; + field public static final int NET_CAPABILITY_CAPTIVE_PORTAL = 17; // 0x11 + field public static final int NET_CAPABILITY_CBS = 5; // 0x5 + field public static final int NET_CAPABILITY_DUN = 2; // 0x2 + field public static final int NET_CAPABILITY_EIMS = 10; // 0xa + field public static final int NET_CAPABILITY_ENTERPRISE = 29; // 0x1d + field public static final int NET_CAPABILITY_FOREGROUND = 19; // 0x13 + field public static final int NET_CAPABILITY_FOTA = 3; // 0x3 + field public static final int NET_CAPABILITY_HEAD_UNIT = 32; // 0x20 + field public static final int NET_CAPABILITY_IA = 7; // 0x7 + field public static final int NET_CAPABILITY_IMS = 4; // 0x4 + field public static final int NET_CAPABILITY_INTERNET = 12; // 0xc + field public static final int NET_CAPABILITY_MCX = 23; // 0x17 + field public static final int NET_CAPABILITY_MMS = 0; // 0x0 + field public static final int NET_CAPABILITY_MMTEL = 33; // 0x21 + field public static final int NET_CAPABILITY_NOT_CONGESTED = 20; // 0x14 + field public static final int NET_CAPABILITY_NOT_METERED = 11; // 0xb + field public static final int NET_CAPABILITY_NOT_RESTRICTED = 13; // 0xd + field public static final int NET_CAPABILITY_NOT_ROAMING = 18; // 0x12 + field public static final int NET_CAPABILITY_NOT_SUSPENDED = 21; // 0x15 + field public static final int NET_CAPABILITY_NOT_VPN = 15; // 0xf + field public static final int NET_CAPABILITY_PRIORITIZE_BANDWIDTH = 35; // 0x23 + field public static final int NET_CAPABILITY_PRIORITIZE_LATENCY = 34; // 0x22 + field public static final int NET_CAPABILITY_RCS = 8; // 0x8 + field public static final int NET_CAPABILITY_SUPL = 1; // 0x1 + field public static final int NET_CAPABILITY_TEMPORARILY_NOT_METERED = 25; // 0x19 + field public static final int NET_CAPABILITY_TRUSTED = 14; // 0xe + field public static final int NET_CAPABILITY_VALIDATED = 16; // 0x10 + field public static final int NET_CAPABILITY_WIFI_P2P = 6; // 0x6 + field public static final int NET_CAPABILITY_XCAP = 9; // 0x9 + field public static final int NET_ENTERPRISE_ID_1 = 1; // 0x1 + field public static final int NET_ENTERPRISE_ID_2 = 2; // 0x2 + field public static final int NET_ENTERPRISE_ID_3 = 3; // 0x3 + field public static final int NET_ENTERPRISE_ID_4 = 4; // 0x4 + field public static final int NET_ENTERPRISE_ID_5 = 5; // 0x5 + field public static final int SIGNAL_STRENGTH_UNSPECIFIED = -2147483648; // 0x80000000 + field public static final int TRANSPORT_BLUETOOTH = 2; // 0x2 + field public static final int TRANSPORT_CELLULAR = 0; // 0x0 + field public static final int TRANSPORT_ETHERNET = 3; // 0x3 + field public static final int TRANSPORT_LOWPAN = 6; // 0x6 + field public static final int TRANSPORT_USB = 8; // 0x8 + field public static final int TRANSPORT_VPN = 4; // 0x4 + field public static final int TRANSPORT_WIFI = 1; // 0x1 + field public static final int TRANSPORT_WIFI_AWARE = 5; // 0x5 + } + + @Deprecated public class NetworkInfo implements android.os.Parcelable { + ctor @Deprecated public NetworkInfo(int, int, @Nullable String, @Nullable String); + method @Deprecated public int describeContents(); + method @Deprecated @NonNull public android.net.NetworkInfo.DetailedState getDetailedState(); + method @Deprecated public String getExtraInfo(); + method @Deprecated public String getReason(); + method @Deprecated public android.net.NetworkInfo.State getState(); + method @Deprecated public int getSubtype(); + method @Deprecated public String getSubtypeName(); + method @Deprecated public int getType(); + method @Deprecated public String getTypeName(); + method @Deprecated public boolean isAvailable(); + method @Deprecated public boolean isConnected(); + method @Deprecated public boolean isConnectedOrConnecting(); + method @Deprecated public boolean isFailover(); + method @Deprecated public boolean isRoaming(); + method @Deprecated public void setDetailedState(@NonNull android.net.NetworkInfo.DetailedState, @Nullable String, @Nullable String); + method @Deprecated public void writeToParcel(android.os.Parcel, int); + field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkInfo> CREATOR; + } + + @Deprecated public enum NetworkInfo.DetailedState { + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState AUTHENTICATING; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState BLOCKED; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CAPTIVE_PORTAL_CHECK; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CONNECTED; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CONNECTING; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState DISCONNECTED; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState DISCONNECTING; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState FAILED; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState IDLE; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState OBTAINING_IPADDR; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState SCANNING; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState SUSPENDED; + enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState VERIFYING_POOR_LINK; + } + + @Deprecated public enum NetworkInfo.State { + enum_constant @Deprecated public static final android.net.NetworkInfo.State CONNECTED; + enum_constant @Deprecated public static final android.net.NetworkInfo.State CONNECTING; + enum_constant @Deprecated public static final android.net.NetworkInfo.State DISCONNECTED; + enum_constant @Deprecated public static final android.net.NetworkInfo.State DISCONNECTING; + enum_constant @Deprecated public static final android.net.NetworkInfo.State SUSPENDED; + enum_constant @Deprecated public static final android.net.NetworkInfo.State UNKNOWN; + } + + public class NetworkRequest implements android.os.Parcelable { + method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkCapabilities); + method public int describeContents(); + method @NonNull public int[] getCapabilities(); + method @Nullable public android.net.NetworkSpecifier getNetworkSpecifier(); + method @NonNull public int[] getTransportTypes(); + method public boolean hasCapability(int); + method public boolean hasTransport(int); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkRequest> CREATOR; + } + + public static class NetworkRequest.Builder { + ctor public NetworkRequest.Builder(); + ctor public NetworkRequest.Builder(@NonNull android.net.NetworkRequest); + method public android.net.NetworkRequest.Builder addCapability(int); + method public android.net.NetworkRequest.Builder addTransportType(int); + method public android.net.NetworkRequest build(); + method @NonNull public android.net.NetworkRequest.Builder clearCapabilities(); + method public android.net.NetworkRequest.Builder removeCapability(int); + method public android.net.NetworkRequest.Builder removeTransportType(int); + method @NonNull public android.net.NetworkRequest.Builder setIncludeOtherUidNetworks(boolean); + method @Deprecated public android.net.NetworkRequest.Builder setNetworkSpecifier(String); + method public android.net.NetworkRequest.Builder setNetworkSpecifier(android.net.NetworkSpecifier); + } + + public class ParseException extends java.lang.RuntimeException { + ctor public ParseException(@NonNull String); + ctor public ParseException(@NonNull String, @NonNull Throwable); + field public String response; + } + + public class ProxyInfo implements android.os.Parcelable { + ctor public ProxyInfo(@Nullable android.net.ProxyInfo); + method public static android.net.ProxyInfo buildDirectProxy(String, int); + method public static android.net.ProxyInfo buildDirectProxy(String, int, java.util.List<java.lang.String>); + method public static android.net.ProxyInfo buildPacProxy(android.net.Uri); + method @NonNull public static android.net.ProxyInfo buildPacProxy(@NonNull android.net.Uri, int); + method public int describeContents(); + method public String[] getExclusionList(); + method public String getHost(); + method public android.net.Uri getPacFileUrl(); + method public int getPort(); + method public boolean isValid(); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.ProxyInfo> CREATOR; + } + + public final class RouteInfo implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public android.net.IpPrefix getDestination(); + method @Nullable public java.net.InetAddress getGateway(); + method @Nullable public String getInterface(); + method public int getType(); + method public boolean hasGateway(); + method public boolean isDefaultRoute(); + method public boolean matches(java.net.InetAddress); + method public void writeToParcel(android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.RouteInfo> CREATOR; + field public static final int RTN_THROW = 9; // 0x9 + field public static final int RTN_UNICAST = 1; // 0x1 + field public static final int RTN_UNREACHABLE = 7; // 0x7 + } + + public abstract class SocketKeepalive implements java.lang.AutoCloseable { + method public final void close(); + method public final void start(@IntRange(from=0xa, to=0xe10) int); + method public final void stop(); + field public static final int ERROR_HARDWARE_ERROR = -31; // 0xffffffe1 + field public static final int ERROR_INSUFFICIENT_RESOURCES = -32; // 0xffffffe0 + field public static final int ERROR_INVALID_INTERVAL = -24; // 0xffffffe8 + field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb + field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9 + field public static final int ERROR_INVALID_NETWORK = -20; // 0xffffffec + field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea + field public static final int ERROR_INVALID_SOCKET = -25; // 0xffffffe7 + field public static final int ERROR_SOCKET_NOT_IDLE = -26; // 0xffffffe6 + field public static final int ERROR_UNSUPPORTED = -30; // 0xffffffe2 + } + + public static class SocketKeepalive.Callback { + ctor public SocketKeepalive.Callback(); + method public void onDataReceived(); + method public void onError(int); + method public void onStarted(); + method public void onStopped(); + } + + public final class StaticIpConfiguration implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<java.net.InetAddress> getDnsServers(); + method @Nullable public String getDomains(); + method @Nullable public java.net.InetAddress getGateway(); + method @NonNull public android.net.LinkAddress getIpAddress(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR; + } + + public static final class StaticIpConfiguration.Builder { + ctor public StaticIpConfiguration.Builder(); + method @NonNull public android.net.StaticIpConfiguration build(); + method @NonNull public android.net.StaticIpConfiguration.Builder setDnsServers(@NonNull Iterable<java.net.InetAddress>); + method @NonNull public android.net.StaticIpConfiguration.Builder setDomains(@Nullable String); + method @NonNull public android.net.StaticIpConfiguration.Builder setGateway(@Nullable java.net.InetAddress); + method @NonNull public android.net.StaticIpConfiguration.Builder setIpAddress(@NonNull android.net.LinkAddress); + } + + public interface TransportInfo { + } + +} + diff --git a/extensions/4/public/api/framework-sdkextensions-removed.txt b/extensions/4/public/api/framework-sdkextensions-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/public/api/framework-sdkextensions-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/public/api/framework-sdkextensions.txt b/extensions/4/public/api/framework-sdkextensions.txt new file mode 100644 index 000000000..75b43bac6 --- /dev/null +++ b/extensions/4/public/api/framework-sdkextensions.txt @@ -0,0 +1,11 @@ +// Signature format: 2.0 +package android.os.ext { + + public class SdkExtensions { + method @NonNull public static java.util.Map<java.lang.Integer,java.lang.Integer> getAllExtensionVersions(); + method public static int getExtensionVersion(int); + field public static final int AD_SERVICES = 1000000; // 0xf4240 + } + +} + diff --git a/extensions/4/public/api/framework-sdksandbox-removed.txt b/extensions/4/public/api/framework-sdksandbox-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/public/api/framework-sdksandbox-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/public/api/framework-sdksandbox.txt b/extensions/4/public/api/framework-sdksandbox.txt new file mode 100644 index 000000000..12312e063 --- /dev/null +++ b/extensions/4/public/api/framework-sdksandbox.txt @@ -0,0 +1,67 @@ +// Signature format: 2.0 +package android.app.sdksandbox { + + public final class LoadSdkException extends java.lang.Exception implements android.os.Parcelable { + ctor public LoadSdkException(@NonNull Throwable, @NonNull android.os.Bundle); + method public int describeContents(); + method @NonNull public android.os.Bundle getExtraInformation(); + method public int getLoadSdkErrorCode(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.sdksandbox.LoadSdkException> CREATOR; + } + + public final class RequestSurfacePackageException extends java.lang.Exception { + ctor public RequestSurfacePackageException(int, @Nullable String); + ctor public RequestSurfacePackageException(int, @Nullable String, @Nullable Throwable); + ctor public RequestSurfacePackageException(int, @Nullable String, @Nullable Throwable, @NonNull android.os.Bundle); + method @NonNull public android.os.Bundle getExtraErrorInformation(); + method public int getRequestSurfacePackageErrorCode(); + } + + public final class SandboxedSdk implements android.os.Parcelable { + ctor public SandboxedSdk(@NonNull android.os.IBinder); + method public int describeContents(); + method @Nullable public android.os.IBinder getInterface(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.app.sdksandbox.SandboxedSdk> CREATOR; + } + + public abstract class SandboxedSdkProvider { + ctor public SandboxedSdkProvider(); + method public final void attachContext(@NonNull android.content.Context); + method public void beforeUnloadSdk(); + method @Nullable public final android.content.Context getContext(); + method @NonNull public abstract android.view.View getView(@NonNull android.content.Context, @NonNull android.os.Bundle, int, int); + method @NonNull public abstract android.app.sdksandbox.SandboxedSdk onLoadSdk(@NonNull android.os.Bundle) throws android.app.sdksandbox.LoadSdkException; + } + + public final class SdkSandboxManager { + method public void addSdkSandboxProcessDeathCallback(@NonNull java.util.concurrent.Executor, @NonNull android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback); + method public static int getSdkSandboxState(); + method public void loadSdk(@NonNull String, @NonNull android.os.Bundle, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.app.sdksandbox.SandboxedSdk,android.app.sdksandbox.LoadSdkException>); + method public void removeSdkSandboxProcessDeathCallback(@NonNull android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback); + method public void requestSurfacePackage(@NonNull String, @NonNull android.os.Bundle, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.os.Bundle,android.app.sdksandbox.RequestSurfacePackageException>); + method public void unloadSdk(@NonNull String); + field public static final String EXTRA_DISPLAY_ID = "android.app.sdksandbox.extra.DISPLAY_ID"; + field public static final String EXTRA_HEIGHT_IN_PIXELS = "android.app.sdksandbox.extra.HEIGHT_IN_PIXELS"; + field public static final String EXTRA_HOST_TOKEN = "android.app.sdksandbox.extra.HOST_TOKEN"; + field public static final String EXTRA_SURFACE_PACKAGE = "android.app.sdksandbox.extra.SURFACE_PACKAGE"; + field public static final String EXTRA_WIDTH_IN_PIXELS = "android.app.sdksandbox.extra.WIDTH_IN_PIXELS"; + field public static final int LOAD_SDK_ALREADY_LOADED = 101; // 0x65 + field public static final int LOAD_SDK_INTERNAL_ERROR = 500; // 0x1f4 + field public static final int LOAD_SDK_NOT_FOUND = 100; // 0x64 + field public static final int LOAD_SDK_SDK_DEFINED_ERROR = 102; // 0x66 + field public static final int LOAD_SDK_SDK_SANDBOX_DISABLED = 103; // 0x67 + field public static final int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR = 700; // 0x2bc + field public static final int SDK_SANDBOX_PROCESS_NOT_AVAILABLE = 503; // 0x1f7 + field public static final String SDK_SANDBOX_SERVICE = "sdk_sandbox"; + field public static final int SDK_SANDBOX_STATE_DISABLED = 0; // 0x0 + field public static final int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION = 2; // 0x2 + } + + public static interface SdkSandboxManager.SdkSandboxProcessDeathCallback { + method public void onSdkSandboxDied(); + } + +} + diff --git a/extensions/4/public/api/framework-tethering-removed.txt b/extensions/4/public/api/framework-tethering-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/public/api/framework-tethering-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/public/api/framework-tethering.txt b/extensions/4/public/api/framework-tethering.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/public/api/framework-tethering.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/public/api/service-adservices-removed.txt b/extensions/4/public/api/service-adservices-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/public/api/service-adservices-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/public/api/service-adservices.txt b/extensions/4/public/api/service-adservices.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/public/api/service-adservices.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/public/api/service-sdksandbox-removed.txt b/extensions/4/public/api/service-sdksandbox-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/public/api/service-sdksandbox-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/public/api/service-sdksandbox.txt b/extensions/4/public/api/service-sdksandbox.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/public/api/service-sdksandbox.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/public/framework-adservices.jar b/extensions/4/public/framework-adservices.jar Binary files differnew file mode 100644 index 000000000..ba69d9242 --- /dev/null +++ b/extensions/4/public/framework-adservices.jar diff --git a/extensions/4/public/framework-connectivity-t.jar b/extensions/4/public/framework-connectivity-t.jar Binary files differnew file mode 100644 index 000000000..205cbc751 --- /dev/null +++ b/extensions/4/public/framework-connectivity-t.jar diff --git a/extensions/4/public/framework-connectivity.jar b/extensions/4/public/framework-connectivity.jar Binary files differnew file mode 100644 index 000000000..ad6e44201 --- /dev/null +++ b/extensions/4/public/framework-connectivity.jar diff --git a/extensions/4/public/framework-sdkextensions.jar b/extensions/4/public/framework-sdkextensions.jar Binary files differnew file mode 100644 index 000000000..6a7abf71d --- /dev/null +++ b/extensions/4/public/framework-sdkextensions.jar diff --git a/extensions/4/public/framework-sdksandbox.jar b/extensions/4/public/framework-sdksandbox.jar Binary files differnew file mode 100644 index 000000000..1e8db424f --- /dev/null +++ b/extensions/4/public/framework-sdksandbox.jar diff --git a/extensions/4/public/framework-tethering.jar b/extensions/4/public/framework-tethering.jar Binary files differnew file mode 100644 index 000000000..b62b671d7 --- /dev/null +++ b/extensions/4/public/framework-tethering.jar diff --git a/extensions/4/public/service-adservices.jar b/extensions/4/public/service-adservices.jar Binary files differnew file mode 100644 index 000000000..b62b671d7 --- /dev/null +++ b/extensions/4/public/service-adservices.jar diff --git a/extensions/4/public/service-sdksandbox.jar b/extensions/4/public/service-sdksandbox.jar Binary files differnew file mode 100644 index 000000000..b62b671d7 --- /dev/null +++ b/extensions/4/public/service-sdksandbox.jar diff --git a/extensions/4/system-server/api/service-adservices-removed.txt b/extensions/4/system-server/api/service-adservices-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/system-server/api/service-adservices-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/system-server/api/service-adservices.txt b/extensions/4/system-server/api/service-adservices.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/system-server/api/service-adservices.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/system-server/api/service-sdksandbox-removed.txt b/extensions/4/system-server/api/service-sdksandbox-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/system-server/api/service-sdksandbox-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/system-server/api/service-sdksandbox.txt b/extensions/4/system-server/api/service-sdksandbox.txt new file mode 100644 index 000000000..4e077078c --- /dev/null +++ b/extensions/4/system-server/api/service-sdksandbox.txt @@ -0,0 +1,16 @@ +// Signature format: 2.0 +package com.android.server.sdksandbox { + + public interface SdkSandboxManagerLocal { + method public void enforceAllowedToSendBroadcast(@NonNull android.content.Intent); + method public void enforceAllowedToStartActivity(@NonNull android.content.Intent); + method public void enforceAllowedToStartOrBindService(@NonNull android.content.Intent); + method @NonNull public String getSdkSandboxProcessNameForInstrumentation(@NonNull android.content.pm.ApplicationInfo); + method public void notifyInstrumentationFinished(@NonNull String, int); + method public void notifyInstrumentationStarted(@NonNull String, int); + field public static final String SERVICE_INTERFACE = "com.android.sdksandbox.SdkSandboxService"; + field public static final String VERIFIER_RECEIVER = "com.android.server.sdksandbox.SdkSandboxVerifierReceiver"; + } + +} + diff --git a/extensions/4/system-server/service-adservices.jar b/extensions/4/system-server/service-adservices.jar Binary files differnew file mode 100644 index 000000000..b62b671d7 --- /dev/null +++ b/extensions/4/system-server/service-adservices.jar diff --git a/extensions/4/system-server/service-sdksandbox.jar b/extensions/4/system-server/service-sdksandbox.jar Binary files differnew file mode 100644 index 000000000..a2232c0b5 --- /dev/null +++ b/extensions/4/system-server/service-sdksandbox.jar diff --git a/extensions/4/system/api/framework-adservices-removed.txt b/extensions/4/system/api/framework-adservices-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/system/api/framework-adservices-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/system/api/framework-adservices.txt b/extensions/4/system/api/framework-adservices.txt new file mode 100644 index 000000000..dffd8f24d --- /dev/null +++ b/extensions/4/system/api/framework-adservices.txt @@ -0,0 +1,39 @@ +// Signature format: 2.0 +package android.adservices.adid { + + public abstract class AdIdProviderService extends android.app.Service { + ctor public AdIdProviderService(); + method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent); + method @NonNull public abstract android.adservices.adid.AdId onGetAdId(int, @NonNull String) throws java.io.IOException; + field public static final String SERVICE_INTERFACE = "android.adservices.adid.AdIdProviderService"; + } + +} + +package android.adservices.appsetid { + + public abstract class AppSetIdProviderService extends android.app.Service { + ctor public AppSetIdProviderService(); + method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent); + method @NonNull public abstract android.adservices.appsetid.AppSetId onGetAppSetId(int, @NonNull String) throws java.io.IOException; + field public static final String SERVICE_INTERFACE = "android.adservices.appsetid.AppSetIdProviderService"; + } + +} + +package android.adservices.common { + + public class AdServicesCommonManager { + method @RequiresPermission(android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_STATE) public void isAdServicesEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,java.lang.Exception>); + method @RequiresPermission(android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE) public void setAdServicesEnabled(boolean, boolean); + } + + public class AdServicesPermissions { + field public static final String ACCESS_ADSERVICES_STATE = "android.permission.ACCESS_ADSERVICES_STATE"; + field public static final String ACCESS_PRIVILEGED_AD_ID = "android.permission.ACCESS_PRIVILEGED_AD_ID"; + field public static final String ACCESS_PRIVILEGED_APP_SET_ID = "android.permission.ACCESS_PRIVILEGED_APP_SET_ID"; + field public static final String MODIFY_ADSERVICES_STATE = "android.permission.MODIFY_ADSERVICES_STATE"; + } + +} + diff --git a/extensions/4/system/api/framework-connectivity-removed.txt b/extensions/4/system/api/framework-connectivity-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/system/api/framework-connectivity-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/system/api/framework-connectivity-t-removed.txt b/extensions/4/system/api/framework-connectivity-t-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/system/api/framework-connectivity-t-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/system/api/framework-connectivity-t.txt b/extensions/4/system/api/framework-connectivity-t.txt new file mode 100644 index 000000000..c2d245c83 --- /dev/null +++ b/extensions/4/system/api/framework-connectivity-t.txt @@ -0,0 +1,349 @@ +// Signature format: 2.0 +package android.app.usage { + + public class NetworkStatsManager { + 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); + 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); + } + +} + +package android.nearby { + + public interface BroadcastCallback { + method public void onStatusChanged(int); + field public static final int STATUS_FAILURE = 1; // 0x1 + field public static final int STATUS_FAILURE_ALREADY_REGISTERED = 2; // 0x2 + field public static final int STATUS_FAILURE_MISSING_PERMISSIONS = 4; // 0x4 + field public static final int STATUS_FAILURE_SIZE_EXCEED_LIMIT = 3; // 0x3 + field public static final int STATUS_OK = 0; // 0x0 + } + + public abstract class BroadcastRequest { + method @NonNull public java.util.List<java.lang.Integer> getMediums(); + method @IntRange(from=0xffffff81, to=126) public int getTxPower(); + method public int getType(); + method public int getVersion(); + field public static final int BROADCAST_TYPE_NEARBY_PRESENCE = 3; // 0x3 + field public static final int BROADCAST_TYPE_UNKNOWN = -1; // 0xffffffff + field public static final int MEDIUM_BLE = 1; // 0x1 + field public static final int PRESENCE_VERSION_UNKNOWN = -1; // 0xffffffff + field public static final int PRESENCE_VERSION_V0 = 0; // 0x0 + field public static final int PRESENCE_VERSION_V1 = 1; // 0x1 + field public static final int UNKNOWN_TX_POWER = -127; // 0xffffff81 + } + + public final class CredentialElement implements android.os.Parcelable { + ctor public CredentialElement(@NonNull String, @NonNull byte[]); + method public int describeContents(); + method @NonNull public String getKey(); + method @NonNull public byte[] getValue(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.CredentialElement> CREATOR; + } + + public final class DataElement implements android.os.Parcelable { + ctor public DataElement(int, @NonNull byte[]); + method public int describeContents(); + method public int getKey(); + method @NonNull public byte[] getValue(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.DataElement> CREATOR; + } + + public abstract class NearbyDevice { + method @NonNull public java.util.List<java.lang.Integer> getMediums(); + method @Nullable public String getName(); + method @IntRange(from=0xffffff81, to=126) public int getRssi(); + method public static boolean isValidMedium(int); + } + + public class NearbyManager { + 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); + 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); + method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(@NonNull android.nearby.BroadcastCallback); + method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopScan(@NonNull android.nearby.ScanCallback); + } + + public final class PresenceBroadcastRequest extends android.nearby.BroadcastRequest implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<java.lang.Integer> getActions(); + method @NonNull public android.nearby.PrivateCredential getCredential(); + method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties(); + method @NonNull public byte[] getSalt(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceBroadcastRequest> CREATOR; + } + + public static final class PresenceBroadcastRequest.Builder { + ctor public PresenceBroadcastRequest.Builder(@NonNull java.util.List<java.lang.Integer>, @NonNull byte[], @NonNull android.nearby.PrivateCredential); + method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addAction(@IntRange(from=1, to=255) int); + method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addExtendedProperty(@NonNull android.nearby.DataElement); + method @NonNull public android.nearby.PresenceBroadcastRequest build(); + method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setTxPower(@IntRange(from=0xffffff81, to=126) int); + method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setVersion(int); + } + + public abstract class PresenceCredential { + method @NonNull public byte[] getAuthenticityKey(); + method @NonNull public java.util.List<android.nearby.CredentialElement> getCredentialElements(); + method public int getIdentityType(); + method @NonNull public byte[] getSecretId(); + method public int getType(); + field public static final int CREDENTIAL_TYPE_PRIVATE = 0; // 0x0 + field public static final int CREDENTIAL_TYPE_PUBLIC = 1; // 0x1 + field public static final int IDENTITY_TYPE_PRIVATE = 1; // 0x1 + field public static final int IDENTITY_TYPE_PROVISIONED = 2; // 0x2 + field public static final int IDENTITY_TYPE_TRUSTED = 3; // 0x3 + field public static final int IDENTITY_TYPE_UNKNOWN = 0; // 0x0 + } + + public final class PresenceDevice extends android.nearby.NearbyDevice implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public String getDeviceId(); + method @Nullable public String getDeviceImageUrl(); + method public int getDeviceType(); + method public long getDiscoveryTimestampMillis(); + method @NonNull public byte[] getEncryptedIdentity(); + method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties(); + method @NonNull public byte[] getSalt(); + method @NonNull public byte[] getSecretId(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceDevice> CREATOR; + } + + public static final class PresenceDevice.Builder { + ctor public PresenceDevice.Builder(@NonNull String, @NonNull byte[], @NonNull byte[], @NonNull byte[]); + method @NonNull public android.nearby.PresenceDevice.Builder addExtendedProperty(@NonNull android.nearby.DataElement); + method @NonNull public android.nearby.PresenceDevice.Builder addMedium(int); + method @NonNull public android.nearby.PresenceDevice build(); + method @NonNull public android.nearby.PresenceDevice.Builder setDeviceImageUrl(@Nullable String); + method @NonNull public android.nearby.PresenceDevice.Builder setDeviceType(int); + method @NonNull public android.nearby.PresenceDevice.Builder setDiscoveryTimestampMillis(long); + method @NonNull public android.nearby.PresenceDevice.Builder setName(@Nullable String); + method @NonNull public android.nearby.PresenceDevice.Builder setRssi(int); + } + + public final class PresenceScanFilter extends android.nearby.ScanFilter implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.nearby.PublicCredential> getCredentials(); + method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties(); + method @NonNull public java.util.List<java.lang.Integer> getPresenceActions(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceScanFilter> CREATOR; + } + + public static final class PresenceScanFilter.Builder { + ctor public PresenceScanFilter.Builder(); + method @NonNull public android.nearby.PresenceScanFilter.Builder addCredential(@NonNull android.nearby.PublicCredential); + method @NonNull public android.nearby.PresenceScanFilter.Builder addExtendedProperty(@NonNull android.nearby.DataElement); + method @NonNull public android.nearby.PresenceScanFilter.Builder addPresenceAction(@IntRange(from=1, to=255) int); + method @NonNull public android.nearby.PresenceScanFilter build(); + method @NonNull public android.nearby.PresenceScanFilter.Builder setMaxPathLoss(@IntRange(from=0, to=127) int); + } + + public final class PrivateCredential extends android.nearby.PresenceCredential implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public String getDeviceName(); + method @NonNull public byte[] getMetadataEncryptionKey(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PrivateCredential> CREATOR; + } + + public static final class PrivateCredential.Builder { + ctor public PrivateCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull String); + method @NonNull public android.nearby.PrivateCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement); + method @NonNull public android.nearby.PrivateCredential build(); + method @NonNull public android.nearby.PrivateCredential.Builder setIdentityType(int); + } + + public final class PublicCredential extends android.nearby.PresenceCredential implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public byte[] getEncryptedMetadata(); + method @NonNull public byte[] getEncryptedMetadataKeyTag(); + method @NonNull public byte[] getPublicKey(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PublicCredential> CREATOR; + } + + public static final class PublicCredential.Builder { + ctor public PublicCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[]); + method @NonNull public android.nearby.PublicCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement); + method @NonNull public android.nearby.PublicCredential build(); + method @NonNull public android.nearby.PublicCredential.Builder setIdentityType(int); + } + + public interface ScanCallback { + method public void onDiscovered(@NonNull android.nearby.NearbyDevice); + method public void onLost(@NonNull android.nearby.NearbyDevice); + method public void onUpdated(@NonNull android.nearby.NearbyDevice); + } + + public abstract class ScanFilter { + method @IntRange(from=0, to=127) public int getMaxPathLoss(); + method public int getType(); + } + + public final class ScanRequest implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.List<android.nearby.ScanFilter> getScanFilters(); + method public int getScanMode(); + method public int getScanType(); + method @NonNull public android.os.WorkSource getWorkSource(); + method public boolean isBleEnabled(); + method public static boolean isValidScanMode(int); + method public static boolean isValidScanType(int); + method @NonNull public static String scanModeToString(int); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.nearby.ScanRequest> CREATOR; + field public static final int SCAN_MODE_BALANCED = 1; // 0x1 + field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2 + field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0 + field public static final int SCAN_MODE_NO_POWER = -1; // 0xffffffff + field public static final int SCAN_TYPE_FAST_PAIR = 1; // 0x1 + field public static final int SCAN_TYPE_NEARBY_PRESENCE = 2; // 0x2 + } + + public static final class ScanRequest.Builder { + ctor public ScanRequest.Builder(); + method @NonNull public android.nearby.ScanRequest.Builder addScanFilter(@NonNull android.nearby.ScanFilter); + method @NonNull public android.nearby.ScanRequest build(); + method @NonNull public android.nearby.ScanRequest.Builder setBleEnabled(boolean); + method @NonNull public android.nearby.ScanRequest.Builder setScanMode(int); + method @NonNull public android.nearby.ScanRequest.Builder setScanType(int); + method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.nearby.ScanRequest.Builder setWorkSource(@Nullable android.os.WorkSource); + } + +} + +package android.net { + + public class EthernetManager { + 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>); + 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>); + 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); + 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>); + } + + public static interface EthernetManager.TetheredInterfaceCallback { + method public void onAvailable(@NonNull String); + method public void onUnavailable(); + } + + public static class EthernetManager.TetheredInterfaceRequest { + method public void release(); + } + + public final class EthernetNetworkManagementException extends java.lang.RuntimeException implements android.os.Parcelable { + ctor public EthernetNetworkManagementException(@NonNull String); + method public int describeContents(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkManagementException> CREATOR; + } + + public final class EthernetNetworkUpdateRequest implements android.os.Parcelable { + method public int describeContents(); + method @Nullable public android.net.IpConfiguration getIpConfiguration(); + method @Nullable public android.net.NetworkCapabilities getNetworkCapabilities(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkUpdateRequest> CREATOR; + } + + public static final class EthernetNetworkUpdateRequest.Builder { + ctor public EthernetNetworkUpdateRequest.Builder(); + ctor public EthernetNetworkUpdateRequest.Builder(@NonNull android.net.EthernetNetworkUpdateRequest); + method @NonNull public android.net.EthernetNetworkUpdateRequest build(); + method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setIpConfiguration(@Nullable android.net.IpConfiguration); + method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setNetworkCapabilities(@Nullable android.net.NetworkCapabilities); + } + + public class IpSecManager { + 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; + 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; + } + + public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable { + method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException; + method public void close(); + method @NonNull public String getInterfaceName(); + method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException; + method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException; + } + + public static class IpSecTransform.Builder { + 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; + } + + public final class NetworkStats implements java.lang.Iterable<android.net.NetworkStats.Entry> android.os.Parcelable { + ctor public NetworkStats(long, int); + method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats); + method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry); + method public int describeContents(); + method @NonNull public java.util.Iterator<android.net.NetworkStats.Entry> iterator(); + method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR; + field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff + field public static final int DEFAULT_NETWORK_NO = 0; // 0x0 + field public static final int DEFAULT_NETWORK_YES = 1; // 0x1 + field public static final String IFACE_VT = "vt_data0"; + field public static final int METERED_ALL = -1; // 0xffffffff + field public static final int METERED_NO = 0; // 0x0 + field public static final int METERED_YES = 1; // 0x1 + field public static final int ROAMING_ALL = -1; // 0xffffffff + field public static final int ROAMING_NO = 0; // 0x0 + field public static final int ROAMING_YES = 1; // 0x1 + field public static final int SET_ALL = -1; // 0xffffffff + field public static final int SET_DEFAULT = 0; // 0x0 + field public static final int SET_FOREGROUND = 1; // 0x1 + field public static final int TAG_NONE = 0; // 0x0 + field public static final int UID_ALL = -1; // 0xffffffff + field public static final int UID_TETHERING = -5; // 0xfffffffb + } + + public static class NetworkStats.Entry { + ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long); + method public int getDefaultNetwork(); + method public int getMetered(); + method public long getOperations(); + method public int getRoaming(); + method public long getRxBytes(); + method public long getRxPackets(); + method public int getSet(); + method public int getTag(); + method public long getTxBytes(); + method public long getTxPackets(); + method public int getUid(); + } + + public class TrafficStats { + method public static void setThreadStatsTagApp(); + method public static void setThreadStatsTagBackup(); + method public static void setThreadStatsTagRestore(); + field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f + field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80 + field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff + field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00 + field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f + field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00 + } + +} + +package android.net.netstats.provider { + + public abstract class NetworkStatsProvider { + ctor public NetworkStatsProvider(); + method public void notifyAlertReached(); + method public void notifyLimitReached(); + method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats); + method public void notifyWarningReached(); + method public abstract void onRequestStatsUpdate(int); + method public abstract void onSetAlert(long); + method public abstract void onSetLimit(@NonNull String, long); + method public void onSetWarningAndLimit(@NonNull String, long, long); + field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff + } + +} + diff --git a/extensions/4/system/api/framework-connectivity.txt b/extensions/4/system/api/framework-connectivity.txt new file mode 100644 index 000000000..f1298ce94 --- /dev/null +++ b/extensions/4/system/api/framework-connectivity.txt @@ -0,0 +1,522 @@ +// Signature format: 2.0 +package android.net { + + public class CaptivePortal implements android.os.Parcelable { + method @Deprecated public void logEvent(int, @NonNull String); + method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork(); + method public void useNetwork(); + field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64 + field public static final int APP_RETURN_DISMISSED = 0; // 0x0 + field public static final int APP_RETURN_UNWANTED = 1; // 0x1 + field public static final int APP_RETURN_WANTED_AS_IS = 2; // 0x2 + } + + public final class CaptivePortalData implements android.os.Parcelable { + method public int describeContents(); + method public long getByteLimit(); + method public long getExpiryTimeMillis(); + method public long getRefreshTimeMillis(); + method @Nullable public android.net.Uri getUserPortalUrl(); + method public int getUserPortalUrlSource(); + method @Nullable public CharSequence getVenueFriendlyName(); + method @Nullable public android.net.Uri getVenueInfoUrl(); + method public int getVenueInfoUrlSource(); + method public boolean isCaptive(); + method public boolean isSessionExtendable(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field public static final int CAPTIVE_PORTAL_DATA_SOURCE_OTHER = 0; // 0x0 + field public static final int CAPTIVE_PORTAL_DATA_SOURCE_PASSPOINT = 1; // 0x1 + field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortalData> CREATOR; + } + + public static class CaptivePortalData.Builder { + ctor public CaptivePortalData.Builder(); + ctor public CaptivePortalData.Builder(@Nullable android.net.CaptivePortalData); + method @NonNull public android.net.CaptivePortalData build(); + method @NonNull public android.net.CaptivePortalData.Builder setBytesRemaining(long); + method @NonNull public android.net.CaptivePortalData.Builder setCaptive(boolean); + method @NonNull public android.net.CaptivePortalData.Builder setExpiryTime(long); + method @NonNull public android.net.CaptivePortalData.Builder setRefreshTime(long); + method @NonNull public android.net.CaptivePortalData.Builder setSessionExtendable(boolean); + method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri); + method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri, int); + method @NonNull public android.net.CaptivePortalData.Builder setVenueFriendlyName(@Nullable CharSequence); + method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri); + method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri, int); + } + + public class ConnectivityManager { + method @NonNull @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createNattKeepalive(@NonNull android.net.Network, @NonNull android.os.ParcelFileDescriptor, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback); + method @NonNull @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createSocketKeepalive(@NonNull android.net.Network, @NonNull java.net.Socket, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback); + method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCaptivePortalServerUrl(); + method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener); + method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported(); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider); + method public void registerQosCallback(@NonNull android.net.QosSocketInfo, @NonNull java.util.concurrent.Executor, @NonNull android.net.QosCallback); + method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback); + method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void requestNetwork(@NonNull android.net.NetworkRequest, int, int, @NonNull android.os.Handler, @NonNull android.net.ConnectivityManager.NetworkCallback); + method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_AIRPLANE_MODE, android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void setAirplaneMode(boolean); + method @RequiresPermission(android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE) public void setOemNetworkPreference(@NonNull android.net.OemNetworkPreferences, @Nullable java.util.concurrent.Executor, @Nullable Runnable); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi(); + method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle); + method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback); + method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler); + method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int); + method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public void unregisterNetworkProvider(@NonNull android.net.NetworkProvider); + method public void unregisterQosCallback(@NonNull android.net.QosCallback); + method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback); + field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC"; + field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT"; + field public static final int TETHERING_BLUETOOTH = 2; // 0x2 + field public static final int TETHERING_USB = 1; // 0x1 + field public static final int TETHERING_WIFI = 0; // 0x0 + field @Deprecated public static final int TETHER_ERROR_ENTITLEMENT_UNKONWN = 13; // 0xd + field @Deprecated public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0 + field @Deprecated public static final int TETHER_ERROR_PROVISION_FAILED = 11; // 0xb + field public static final int TYPE_NONE = -1; // 0xffffffff + field @Deprecated public static final int TYPE_PROXY = 16; // 0x10 + field @Deprecated public static final int TYPE_WIFI_P2P = 13; // 0xd + } + + @Deprecated public abstract static class ConnectivityManager.OnStartTetheringCallback { + ctor @Deprecated public ConnectivityManager.OnStartTetheringCallback(); + method @Deprecated public void onTetheringFailed(); + method @Deprecated public void onTetheringStarted(); + } + + @Deprecated public static interface ConnectivityManager.OnTetheringEntitlementResultListener { + method @Deprecated public void onTetheringEntitlementResult(int); + } + + @Deprecated public abstract static class ConnectivityManager.OnTetheringEventCallback { + ctor @Deprecated public ConnectivityManager.OnTetheringEventCallback(); + method @Deprecated public void onUpstreamChanged(@Nullable android.net.Network); + } + + public final class DscpPolicy implements android.os.Parcelable { + method @Nullable public java.net.InetAddress getDestinationAddress(); + method @Nullable public android.util.Range<java.lang.Integer> getDestinationPortRange(); + method public int getDscpValue(); + method public int getPolicyId(); + method public int getProtocol(); + method @Nullable public java.net.InetAddress getSourceAddress(); + method public int getSourcePort(); + field @NonNull public static final android.os.Parcelable.Creator<android.net.DscpPolicy> CREATOR; + field public static final int PROTOCOL_ANY = -1; // 0xffffffff + field public static final int SOURCE_PORT_ANY = -1; // 0xffffffff + } + + public static final class DscpPolicy.Builder { + ctor public DscpPolicy.Builder(int, int); + method @NonNull public android.net.DscpPolicy build(); + method @NonNull public android.net.DscpPolicy.Builder setDestinationAddress(@NonNull java.net.InetAddress); + method @NonNull public android.net.DscpPolicy.Builder setDestinationPortRange(@NonNull android.util.Range<java.lang.Integer>); + method @NonNull public android.net.DscpPolicy.Builder setProtocol(int); + method @NonNull public android.net.DscpPolicy.Builder setSourceAddress(@NonNull java.net.InetAddress); + method @NonNull public android.net.DscpPolicy.Builder setSourcePort(int); + } + + public final class InvalidPacketException extends java.lang.Exception { + ctor public InvalidPacketException(int); + method public int getError(); + field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb + field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9 + field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea + } + + public final class IpConfiguration implements android.os.Parcelable { + ctor public IpConfiguration(); + ctor public IpConfiguration(@NonNull android.net.IpConfiguration); + method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment(); + method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings(); + method public void setHttpProxy(@Nullable android.net.ProxyInfo); + method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment); + method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings); + method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration); + } + + public enum IpConfiguration.IpAssignment { + enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP; + enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC; + enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED; + } + + public enum IpConfiguration.ProxySettings { + enum_constant public static final android.net.IpConfiguration.ProxySettings NONE; + enum_constant public static final android.net.IpConfiguration.ProxySettings PAC; + enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC; + enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED; + } + + public final class IpPrefix implements android.os.Parcelable { + ctor public IpPrefix(@NonNull String); + } + + public class KeepalivePacketData { + ctor protected KeepalivePacketData(@NonNull java.net.InetAddress, @IntRange(from=0, to=65535) int, @NonNull java.net.InetAddress, @IntRange(from=0, to=65535) int, @NonNull byte[]) throws android.net.InvalidPacketException; + method @NonNull public java.net.InetAddress getDstAddress(); + method public int getDstPort(); + method @NonNull public byte[] getPacket(); + method @NonNull public java.net.InetAddress getSrcAddress(); + method public int getSrcPort(); + } + + public class LinkAddress implements android.os.Parcelable { + ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int); + ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int, long, long); + ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int); + ctor public LinkAddress(@NonNull String); + ctor public LinkAddress(@NonNull String, int, int); + method public long getDeprecationTime(); + method public long getExpirationTime(); + method public boolean isGlobalPreferred(); + method public boolean isIpv4(); + method public boolean isIpv6(); + method public boolean isSameAddressAs(@Nullable android.net.LinkAddress); + field public static final long LIFETIME_PERMANENT = 9223372036854775807L; // 0x7fffffffffffffffL + field public static final long LIFETIME_UNKNOWN = -1L; // 0xffffffffffffffffL + } + + public final class LinkProperties implements android.os.Parcelable { + ctor public LinkProperties(@Nullable android.net.LinkProperties); + ctor public LinkProperties(@Nullable android.net.LinkProperties, boolean); + method public boolean addDnsServer(@NonNull java.net.InetAddress); + method public boolean addLinkAddress(@NonNull android.net.LinkAddress); + method public boolean addPcscfServer(@NonNull java.net.InetAddress); + method @NonNull public java.util.List<java.net.InetAddress> getAddresses(); + method @NonNull public java.util.List<java.lang.String> getAllInterfaceNames(); + method @NonNull public java.util.List<android.net.LinkAddress> getAllLinkAddresses(); + method @NonNull public java.util.List<android.net.RouteInfo> getAllRoutes(); + method @Nullable public android.net.Uri getCaptivePortalApiUrl(); + method @Nullable public android.net.CaptivePortalData getCaptivePortalData(); + method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers(); + method @Nullable public String getTcpBufferSizes(); + method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers(); + method public boolean hasGlobalIpv6Address(); + method public boolean hasIpv4Address(); + method public boolean hasIpv4DefaultRoute(); + method public boolean hasIpv4DnsServer(); + method public boolean hasIpv6DefaultRoute(); + method public boolean hasIpv6DnsServer(); + method public boolean isIpv4Provisioned(); + method public boolean isIpv6Provisioned(); + method public boolean isProvisioned(); + method public boolean isReachable(@NonNull java.net.InetAddress); + method public boolean removeDnsServer(@NonNull java.net.InetAddress); + method public boolean removeLinkAddress(@NonNull android.net.LinkAddress); + method public boolean removeRoute(@NonNull android.net.RouteInfo); + method public void setCaptivePortalApiUrl(@Nullable android.net.Uri); + method public void setCaptivePortalData(@Nullable android.net.CaptivePortalData); + method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>); + method public void setPrivateDnsServerName(@Nullable String); + method public void setTcpBufferSizes(@Nullable String); + method public void setUsePrivateDns(boolean); + method public void setValidatedPrivateDnsServers(@NonNull java.util.Collection<java.net.InetAddress>); + } + + public final class NattKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable { + ctor public NattKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException; + method public int describeContents(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NattKeepalivePacketData> CREATOR; + } + + public class Network implements android.os.Parcelable { + ctor public Network(@NonNull android.net.Network); + method public int getNetId(); + method @NonNull public android.net.Network getPrivateDnsBypassingCopy(); + } + + public abstract class NetworkAgent { + ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, int, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider); + ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkScore, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider); + method @Nullable public android.net.Network getNetwork(); + method public void markConnected(); + method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData); + method public void onAutomaticReconnectDisabled(); + method public void onBandwidthUpdateRequested(); + method public void onDscpPolicyStatusUpdated(int, int); + method public void onNetworkCreated(); + method public void onNetworkDestroyed(); + method public void onNetworkUnwanted(); + method public void onQosCallbackRegistered(int, @NonNull android.net.QosFilter); + method public void onQosCallbackUnregistered(int); + method public void onRemoveKeepalivePacketFilter(int); + method public void onSaveAcceptUnvalidated(boolean); + method public void onSignalStrengthThresholdsUpdated(@NonNull int[]); + method public void onStartSocketKeepalive(int, @NonNull java.time.Duration, @NonNull android.net.KeepalivePacketData); + method public void onStopSocketKeepalive(int); + method public void onValidationStatus(int, @Nullable android.net.Uri); + method @NonNull public android.net.Network register(); + method public void sendAddDscpPolicy(@NonNull android.net.DscpPolicy); + method public void sendLinkProperties(@NonNull android.net.LinkProperties); + method public void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities); + method public void sendNetworkScore(@NonNull android.net.NetworkScore); + method public void sendNetworkScore(@IntRange(from=0, to=99) int); + method public final void sendQosCallbackError(int, int); + method public final void sendQosSessionAvailable(int, int, @NonNull android.net.QosSessionAttributes); + method public final void sendQosSessionLost(int, int, int); + method public void sendRemoveAllDscpPolicies(); + method public void sendRemoveDscpPolicy(int); + method public final void sendSocketKeepaliveEvent(int, int); + method @Deprecated public void setLegacySubtype(int, @NonNull String); + method public void setLingerDuration(@NonNull java.time.Duration); + method public void setTeardownDelayMillis(@IntRange(from=0, to=0x1388) int); + method public void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>); + method public void unregister(); + method public void unregisterAfterReplacement(@IntRange(from=0, to=0x1388) int); + field public static final int DSCP_POLICY_STATUS_DELETED = 4; // 0x4 + field public static final int DSCP_POLICY_STATUS_INSUFFICIENT_PROCESSING_RESOURCES = 3; // 0x3 + field public static final int DSCP_POLICY_STATUS_POLICY_NOT_FOUND = 5; // 0x5 + field public static final int DSCP_POLICY_STATUS_REQUESTED_CLASSIFIER_NOT_SUPPORTED = 2; // 0x2 + field public static final int DSCP_POLICY_STATUS_REQUEST_DECLINED = 1; // 0x1 + field public static final int DSCP_POLICY_STATUS_SUCCESS = 0; // 0x0 + field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2 + field public static final int VALIDATION_STATUS_VALID = 1; // 0x1 + } + + public final class NetworkAgentConfig implements android.os.Parcelable { + method public int describeContents(); + method public int getLegacyType(); + method @NonNull public String getLegacyTypeName(); + method public boolean isExplicitlySelected(); + method public boolean isPartialConnectivityAcceptable(); + method public boolean isUnvalidatedConnectivityAcceptable(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkAgentConfig> CREATOR; + } + + public static final class NetworkAgentConfig.Builder { + ctor public NetworkAgentConfig.Builder(); + method @NonNull public android.net.NetworkAgentConfig build(); + method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean); + method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyExtraInfo(@NonNull String); + method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubType(int); + method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubTypeName(@NonNull String); + method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int); + method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String); + method @NonNull public android.net.NetworkAgentConfig.Builder setNat64DetectionEnabled(boolean); + method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean); + method @NonNull public android.net.NetworkAgentConfig.Builder setProvisioningNotificationEnabled(boolean); + method @NonNull public android.net.NetworkAgentConfig.Builder setUnvalidatedConnectivityAcceptable(boolean); + } + + public final class NetworkCapabilities implements android.os.Parcelable { + method @NonNull public int[] getAdministratorUids(); + method @Nullable public static String getCapabilityCarrierName(int); + method @Nullable public String getSsid(); + method @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds(); + method @NonNull public int[] getTransportTypes(); + method @Nullable public java.util.List<android.net.Network> getUnderlyingNetworks(); + method public boolean isPrivateDnsBroken(); + method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities); + field public static final int NET_CAPABILITY_BIP = 31; // 0x1f + field public static final int NET_CAPABILITY_NOT_VCN_MANAGED = 28; // 0x1c + field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16 + field public static final int NET_CAPABILITY_OEM_PRIVATE = 26; // 0x1a + field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18 + field public static final int NET_CAPABILITY_VEHICLE_INTERNAL = 27; // 0x1b + field public static final int NET_CAPABILITY_VSIM = 30; // 0x1e + } + + public static final class NetworkCapabilities.Builder { + ctor public NetworkCapabilities.Builder(); + ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities); + method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int); + method @NonNull public android.net.NetworkCapabilities.Builder addEnterpriseId(int); + method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int); + method @NonNull public android.net.NetworkCapabilities build(); + method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int); + method @NonNull public android.net.NetworkCapabilities.Builder removeEnterpriseId(int); + method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]); + method @NonNull public android.net.NetworkCapabilities.Builder setLinkDownstreamBandwidthKbps(int); + method @NonNull public android.net.NetworkCapabilities.Builder setLinkUpstreamBandwidthKbps(int); + method @NonNull public android.net.NetworkCapabilities.Builder setNetworkSpecifier(@Nullable android.net.NetworkSpecifier); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setOwnerUid(int); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorPackageName(@Nullable String); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String); + method @NonNull public android.net.NetworkCapabilities.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>); + method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo); + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>); + method @NonNull public static android.net.NetworkCapabilities.Builder withoutDefaultCapabilities(); + } + + public class NetworkProvider { + ctor public NetworkProvider(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String); + method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void declareNetworkRequestUnfulfillable(@NonNull android.net.NetworkRequest); + method public int getProviderId(); + method public void onNetworkRequestWithdrawn(@NonNull android.net.NetworkRequest); + method public void onNetworkRequested(@NonNull android.net.NetworkRequest, @IntRange(from=0, to=99) int, int); + method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void registerNetworkOffer(@NonNull android.net.NetworkScore, @NonNull android.net.NetworkCapabilities, @NonNull java.util.concurrent.Executor, @NonNull android.net.NetworkProvider.NetworkOfferCallback); + method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void unregisterNetworkOffer(@NonNull android.net.NetworkProvider.NetworkOfferCallback); + field public static final int ID_NONE = -1; // 0xffffffff + } + + public static interface NetworkProvider.NetworkOfferCallback { + method public void onNetworkNeeded(@NonNull android.net.NetworkRequest); + method public void onNetworkUnneeded(@NonNull android.net.NetworkRequest); + } + + public class NetworkReleasedException extends java.lang.Exception { + ctor public NetworkReleasedException(); + } + + public class NetworkRequest implements android.os.Parcelable { + method @Nullable public String getRequestorPackageName(); + method public int getRequestorUid(); + } + + public static class NetworkRequest.Builder { + method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int); + method @NonNull public android.net.NetworkRequest.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>); + } + + public final class NetworkScore implements android.os.Parcelable { + method public int describeContents(); + method public int getKeepConnectedReason(); + method public int getLegacyInt(); + method public boolean isExiting(); + method public boolean isTransportPrimary(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkScore> CREATOR; + field public static final int KEEP_CONNECTED_FOR_HANDOVER = 1; // 0x1 + field public static final int KEEP_CONNECTED_NONE = 0; // 0x0 + } + + public static final class NetworkScore.Builder { + ctor public NetworkScore.Builder(); + method @NonNull public android.net.NetworkScore build(); + method @NonNull public android.net.NetworkScore.Builder setExiting(boolean); + method @NonNull public android.net.NetworkScore.Builder setKeepConnectedReason(int); + method @NonNull public android.net.NetworkScore.Builder setLegacyInt(int); + method @NonNull public android.net.NetworkScore.Builder setTransportPrimary(boolean); + } + + public final class OemNetworkPreferences implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getNetworkPreferences(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.OemNetworkPreferences> CREATOR; + field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID = 1; // 0x1 + field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_NO_FALLBACK = 2; // 0x2 + field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_ONLY = 3; // 0x3 + field public static final int OEM_NETWORK_PREFERENCE_OEM_PRIVATE_ONLY = 4; // 0x4 + field public static final int OEM_NETWORK_PREFERENCE_UNINITIALIZED = 0; // 0x0 + } + + public static final class OemNetworkPreferences.Builder { + ctor public OemNetworkPreferences.Builder(); + ctor public OemNetworkPreferences.Builder(@NonNull android.net.OemNetworkPreferences); + method @NonNull public android.net.OemNetworkPreferences.Builder addNetworkPreference(@NonNull String, int); + method @NonNull public android.net.OemNetworkPreferences build(); + method @NonNull public android.net.OemNetworkPreferences.Builder clearNetworkPreference(@NonNull String); + } + + public abstract class QosCallback { + ctor public QosCallback(); + method public void onError(@NonNull android.net.QosCallbackException); + method public void onQosSessionAvailable(@NonNull android.net.QosSession, @NonNull android.net.QosSessionAttributes); + method public void onQosSessionLost(@NonNull android.net.QosSession); + } + + public static class QosCallback.QosCallbackRegistrationException extends java.lang.RuntimeException { + } + + public final class QosCallbackException extends java.lang.Exception { + ctor public QosCallbackException(@NonNull String); + ctor public QosCallbackException(@NonNull Throwable); + } + + public abstract class QosFilter { + method @NonNull public abstract android.net.Network getNetwork(); + method public abstract boolean matchesLocalAddress(@NonNull java.net.InetAddress, int, int); + method public abstract boolean matchesRemoteAddress(@NonNull java.net.InetAddress, int, int); + } + + public final class QosSession implements android.os.Parcelable { + ctor public QosSession(int, int); + method public int describeContents(); + method public int getSessionId(); + method public int getSessionType(); + method public long getUniqueId(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSession> CREATOR; + field public static final int TYPE_EPS_BEARER = 1; // 0x1 + field public static final int TYPE_NR_BEARER = 2; // 0x2 + } + + public interface QosSessionAttributes { + } + + public final class QosSocketInfo implements android.os.Parcelable { + ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.Socket) throws java.io.IOException; + method public int describeContents(); + method @NonNull public java.net.InetSocketAddress getLocalSocketAddress(); + method @NonNull public android.net.Network getNetwork(); + method @Nullable public java.net.InetSocketAddress getRemoteSocketAddress(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSocketInfo> CREATOR; + } + + public final class RouteInfo implements android.os.Parcelable { + ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int); + ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int, int); + method public int getMtu(); + } + + public abstract class SocketKeepalive implements java.lang.AutoCloseable { + field public static final int ERROR_NO_SUCH_SLOT = -33; // 0xffffffdf + field public static final int SUCCESS = 0; // 0x0 + } + + public class SocketLocalAddressChangedException extends java.lang.Exception { + ctor public SocketLocalAddressChangedException(); + } + + public class SocketNotBoundException extends java.lang.Exception { + ctor public SocketNotBoundException(); + } + + public final class StaticIpConfiguration implements android.os.Parcelable { + ctor public StaticIpConfiguration(); + ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration); + method public void addDnsServer(@NonNull java.net.InetAddress); + method public void clear(); + method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(@Nullable String); + } + + public final class TcpKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable { + ctor public TcpKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[], int, int, int, int, int, int) throws android.net.InvalidPacketException; + method public int describeContents(); + method public int getIpTos(); + method public int getIpTtl(); + method public int getTcpAck(); + method public int getTcpSeq(); + method public int getTcpWindow(); + method public int getTcpWindowScale(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.TcpKeepalivePacketData> CREATOR; + } + +} + +package android.net.apf { + + public final class ApfCapabilities implements android.os.Parcelable { + ctor public ApfCapabilities(int, int, int); + method public int describeContents(); + method public static boolean getApfDrop8023Frames(); + method @NonNull public static int[] getApfEtherTypeBlackList(); + method public boolean hasDataAccess(); + method public void writeToParcel(android.os.Parcel, int); + field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR; + field public final int apfPacketFormat; + field public final int apfVersionSupported; + field public final int maximumApfProgramSize; + } + +} + diff --git a/extensions/4/system/api/framework-sdkextensions-removed.txt b/extensions/4/system/api/framework-sdkextensions-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/system/api/framework-sdkextensions-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/system/api/framework-sdkextensions.txt b/extensions/4/system/api/framework-sdkextensions.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/system/api/framework-sdkextensions.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/system/api/framework-sdksandbox-removed.txt b/extensions/4/system/api/framework-sdksandbox-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/system/api/framework-sdksandbox-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/system/api/framework-sdksandbox.txt b/extensions/4/system/api/framework-sdksandbox.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/system/api/framework-sdksandbox.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/system/api/framework-tethering-removed.txt b/extensions/4/system/api/framework-tethering-removed.txt new file mode 100644 index 000000000..d802177e2 --- /dev/null +++ b/extensions/4/system/api/framework-tethering-removed.txt @@ -0,0 +1 @@ +// Signature format: 2.0 diff --git a/extensions/4/system/api/framework-tethering.txt b/extensions/4/system/api/framework-tethering.txt new file mode 100644 index 000000000..844ff6471 --- /dev/null +++ b/extensions/4/system/api/framework-tethering.txt @@ -0,0 +1,117 @@ +// Signature format: 2.0 +package android.net { + + public final class TetheredClient implements android.os.Parcelable { + ctor public TetheredClient(@NonNull android.net.MacAddress, @NonNull java.util.Collection<android.net.TetheredClient.AddressInfo>, int); + method public int describeContents(); + method @NonNull public java.util.List<android.net.TetheredClient.AddressInfo> getAddresses(); + method @NonNull public android.net.MacAddress getMacAddress(); + method public int getTetheringType(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient> CREATOR; + } + + public static final class TetheredClient.AddressInfo implements android.os.Parcelable { + method public int describeContents(); + method @NonNull public android.net.LinkAddress getAddress(); + method @Nullable public String getHostname(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient.AddressInfo> CREATOR; + } + + public final class TetheringInterface implements android.os.Parcelable { + ctor public TetheringInterface(int, @NonNull String); + method public int describeContents(); + method @NonNull public String getInterface(); + method public int getType(); + method public void writeToParcel(@NonNull android.os.Parcel, int); + field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheringInterface> CREATOR; + } + + public class TetheringManager { + method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.TetheringEventCallback); + method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void requestLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.OnTetheringEntitlementResultListener); + method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void startTethering(@NonNull android.net.TetheringManager.TetheringRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StartTetheringCallback); + method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopAllTethering(); + method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopTethering(int); + method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.ACCESS_NETWORK_STATE}) public void unregisterTetheringEventCallback(@NonNull android.net.TetheringManager.TetheringEventCallback); + field @Deprecated public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED"; + field public static final int CONNECTIVITY_SCOPE_GLOBAL = 1; // 0x1 + field public static final int CONNECTIVITY_SCOPE_LOCAL = 2; // 0x2 + field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY"; + field public static final String EXTRA_ACTIVE_TETHER = "tetherArray"; + field public static final String EXTRA_AVAILABLE_TETHER = "availableArray"; + field public static final String EXTRA_ERRORED_TETHER = "erroredArray"; + field public static final int TETHERING_BLUETOOTH = 2; // 0x2 + field public static final int TETHERING_ETHERNET = 5; // 0x5 + field public static final int TETHERING_INVALID = -1; // 0xffffffff + field public static final int TETHERING_NCM = 4; // 0x4 + field public static final int TETHERING_USB = 1; // 0x1 + field public static final int TETHERING_WIFI = 0; // 0x0 + field public static final int TETHERING_WIFI_P2P = 3; // 0x3 + field public static final int TETHER_ERROR_DHCPSERVER_ERROR = 12; // 0xc + field public static final int TETHER_ERROR_DISABLE_FORWARDING_ERROR = 9; // 0x9 + field public static final int TETHER_ERROR_ENABLE_FORWARDING_ERROR = 8; // 0x8 + field public static final int TETHER_ERROR_ENTITLEMENT_UNKNOWN = 13; // 0xd + field public static final int TETHER_ERROR_IFACE_CFG_ERROR = 10; // 0xa + field public static final int TETHER_ERROR_INTERNAL_ERROR = 5; // 0x5 + field public static final int TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION = 15; // 0xf + field public static final int TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION = 14; // 0xe + field public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0 + field public static final int TETHER_ERROR_PROVISIONING_FAILED = 11; // 0xb + field public static final int TETHER_ERROR_SERVICE_UNAVAIL = 2; // 0x2 + field public static final int TETHER_ERROR_TETHER_IFACE_ERROR = 6; // 0x6 + field public static final int TETHER_ERROR_UNAVAIL_IFACE = 4; // 0x4 + field public static final int TETHER_ERROR_UNKNOWN_IFACE = 1; // 0x1 + field public static final int TETHER_ERROR_UNKNOWN_TYPE = 16; // 0x10 + field public static final int TETHER_ERROR_UNSUPPORTED = 3; // 0x3 + field public static final int TETHER_ERROR_UNTETHER_IFACE_ERROR = 7; // 0x7 + field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2 + field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1 + field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0 + } + + public static interface TetheringManager.OnTetheringEntitlementResultListener { + method public void onTetheringEntitlementResult(int); + } + + public static interface TetheringManager.StartTetheringCallback { + method public default void onTetheringFailed(int); + method public default void onTetheringStarted(); + } + + public static interface TetheringManager.TetheringEventCallback { + method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>); + method public default void onError(@NonNull String, int); + method public default void onError(@NonNull android.net.TetheringInterface, int); + method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>); + method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>); + method public default void onOffloadStatusChanged(int); + method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>); + method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>); + method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>); + method public default void onTetheredInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>); + method public default void onTetheringSupported(boolean); + method public default void onUpstreamChanged(@Nullable android.net.Network); + } + + public static class TetheringManager.TetheringRequest { + method @Nullable public android.net.LinkAddress getClientStaticIpv4Address(); + method public int getConnectivityScope(); + method @Nullable public android.net.LinkAddress getLocalIpv4Address(); + method public boolean getShouldShowEntitlementUi(); + method public int getTetheringType(); + method public boolean isExemptFromEntitlementCheck(); + } + + public static class TetheringManager.TetheringRequest.Builder { + ctor public TetheringManager.TetheringRequest.Builder(int); + method @NonNull public android.net.TetheringManager.TetheringRequest build(); + method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int); + method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean); + method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean); + method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress); + } + +} + diff --git a/extensions/4/system/framework-adservices.jar b/extensions/4/system/framework-adservices.jar Binary files differnew file mode 100644 index 000000000..ef5c32fce --- /dev/null +++ b/extensions/4/system/framework-adservices.jar diff --git a/extensions/4/system/framework-connectivity-t.jar b/extensions/4/system/framework-connectivity-t.jar Binary files differnew file mode 100644 index 000000000..34cbd79b4 --- /dev/null +++ b/extensions/4/system/framework-connectivity-t.jar diff --git a/extensions/4/system/framework-connectivity.jar b/extensions/4/system/framework-connectivity.jar Binary files differnew file mode 100644 index 000000000..14c74ea11 --- /dev/null +++ b/extensions/4/system/framework-connectivity.jar diff --git a/extensions/4/system/framework-sdkextensions.jar b/extensions/4/system/framework-sdkextensions.jar Binary files differnew file mode 100644 index 000000000..85c2fbb8f --- /dev/null +++ b/extensions/4/system/framework-sdkextensions.jar diff --git a/extensions/4/system/framework-sdksandbox.jar b/extensions/4/system/framework-sdksandbox.jar Binary files differnew file mode 100644 index 000000000..77f4e1d2b --- /dev/null +++ b/extensions/4/system/framework-sdksandbox.jar diff --git a/extensions/4/system/framework-tethering.jar b/extensions/4/system/framework-tethering.jar Binary files differnew file mode 100644 index 000000000..8f18dde5b --- /dev/null +++ b/extensions/4/system/framework-tethering.jar diff --git a/extensions/README.md b/extensions/README.md index dedd59c74..60bf4bb07 100644 --- a/extensions/README.md +++ b/extensions/README.md @@ -10,3 +10,4 @@ latest finalized version for each API surface. - 1: Finalized together with Android S / 31 (all modules) - 2: Finalized in March 2022 between S and T (mediaprovider, sdkextensions) - 3: Finalized together with Android T / 33 (all modules) +- 4: Finalized in September 2022 between T and U (adservices, sdkextensions, tethering) |