xref: /aosp_15_r20/prebuilts/sdk/33/module-lib/api/android.txt (revision 344a7f5ef16c479e7a7f54ee6567a9d112f9e72b)
1// Signature format: 2.0
2package android {
3
4  public static final class Manifest.permission {
5    field public static final String CONTROL_AUTOMOTIVE_GNSS = "android.permission.CONTROL_AUTOMOTIVE_GNSS";
6    field public static final String GET_INTENT_SENDER_INTENT = "android.permission.GET_INTENT_SENDER_INTENT";
7    field public static final String MAKE_UID_VISIBLE = "android.permission.MAKE_UID_VISIBLE";
8  }
9
10}
11
12package android.adservices {
13
14  public class AdServicesFrameworkInitializer {
15    method public static void registerServiceWrappers();
16  }
17
18}
19
20package android.app {
21
22  @UiContext public class Activity extends android.view.ContextThemeWrapper implements android.content.ComponentCallbacks2 android.view.KeyEvent.Callback android.view.LayoutInflater.Factory2 android.view.View.OnCreateContextMenuListener android.view.Window.Callback {
23    method public final boolean addDumpable(@NonNull android.util.Dumpable);
24  }
25
26  public class ActivityManager {
27    method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void addHomeVisibilityListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.HomeVisibilityListener);
28    method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void removeHomeVisibilityListener(@NonNull android.app.HomeVisibilityListener);
29    method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public boolean updateMccMncConfiguration(@NonNull String, @NonNull String);
30  }
31
32  public class AppOpsManager {
33    field public static final String OPSTR_NO_ISOLATED_STORAGE = "android:no_isolated_storage";
34  }
35
36  public class BroadcastOptions {
37    method @Deprecated public int getMaxManifestReceiverApiLevel();
38    method @Deprecated public void setMaxManifestReceiverApiLevel(int);
39  }
40
41  public abstract class HomeVisibilityListener {
42    ctor public HomeVisibilityListener();
43    method public abstract void onHomeVisibilityChanged(boolean);
44  }
45
46  public class NotificationManager {
47    method public boolean hasEnabledNotificationListener(@NonNull String, @NonNull android.os.UserHandle);
48    field public static final String ACTION_NOTIFICATION_LISTENER_ENABLED_CHANGED = "android.app.action.NOTIFICATION_LISTENER_ENABLED_CHANGED";
49  }
50
51  public final class PendingIntent implements android.os.Parcelable {
52    method public boolean addCancelListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.PendingIntent.CancelListener);
53    method @RequiresPermission(android.Manifest.permission.GET_INTENT_SENDER_INTENT) public boolean intentFilterEquals(@Nullable android.app.PendingIntent);
54    method @NonNull @RequiresPermission(android.Manifest.permission.GET_INTENT_SENDER_INTENT) public java.util.List<android.content.pm.ResolveInfo> queryIntentComponents(int);
55    method public void removeCancelListener(@NonNull android.app.PendingIntent.CancelListener);
56  }
57
58  public static interface PendingIntent.CancelListener {
59    method public void onCanceled(@NonNull android.app.PendingIntent);
60  }
61
62  public class StatusBarManager {
63    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setExpansionDisabledForSimNetworkLock(boolean);
64  }
65
66}
67
68package android.app.admin {
69
70  public class DevicePolicyManager {
71    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public void acknowledgeNewUserDisclaimer();
72    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public android.os.UserHandle getLogoutUser();
73    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public int logoutUser();
74    field public static final String ACTION_SHOW_NEW_USER_DISCLAIMER = "android.app.action.SHOW_NEW_USER_DISCLAIMER";
75  }
76
77}
78
79package android.app.role {
80
81  public class RoleFrameworkInitializer {
82    method public static void registerServiceWrappers();
83  }
84
85  public final class RoleManager {
86    method @Nullable public String getBrowserRoleHolder(int);
87    method @Nullable public String getSmsRoleHolder(int);
88    method @Nullable @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public boolean setBrowserRoleHolder(@Nullable String, int);
89  }
90
91}
92
93package android.app.sdksandbox {
94
95  public class SdkSandboxManagerFrameworkInitializer {
96    method public static void registerServiceWrappers();
97  }
98
99}
100
101package android.app.usage {
102
103  public class NetworkStatsManager {
104    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void forceUpdate();
105    method public static int getCollapsedRatType(int);
106    method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public android.net.NetworkStats getMobileUidStats();
107    method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public android.net.NetworkStats getWifiUidStats();
108    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void noteUidForeground(int, boolean);
109    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>);
110    method @NonNull @WorkerThread public android.app.usage.NetworkStats queryDetailsForDevice(@NonNull android.net.NetworkTemplate, long, long);
111    method @NonNull @WorkerThread public android.app.usage.NetworkStats queryDetailsForUidTagState(@NonNull android.net.NetworkTemplate, long, long, int, int, int) throws java.lang.SecurityException;
112    method @NonNull @WorkerThread public android.app.usage.NetworkStats querySummary(@NonNull android.net.NetworkTemplate, long, long) throws java.lang.SecurityException;
113    method @NonNull @WorkerThread public android.app.usage.NetworkStats.Bucket querySummaryForDevice(@NonNull android.net.NetworkTemplate, long, long);
114    method @NonNull @WorkerThread public android.app.usage.NetworkStats queryTaggedSummary(@NonNull android.net.NetworkTemplate, long, long) throws java.lang.SecurityException;
115    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);
116    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void setDefaultGlobalAlert(long);
117    method public void setPollForce(boolean);
118    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void setPollOnOpen(boolean);
119    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void setStatsProviderWarningAndLimitAsync(@NonNull String, long, long);
120    field public static final int NETWORK_TYPE_5G_NSA = -2; // 0xfffffffe
121  }
122
123  public abstract static class NetworkStatsManager.UsageCallback {
124    method public void onThresholdReached(@NonNull android.net.NetworkTemplate);
125  }
126
127}
128
129package android.bluetooth {
130
131  public class BluetoothFrameworkInitializer {
132    method public static void registerServiceWrappers();
133    method public static void setBinderCallsStatsInitializer(@NonNull java.util.function.Consumer<android.content.Context>);
134    method public static void setBluetoothServiceManager(@NonNull android.os.BluetoothServiceManager);
135  }
136
137  public final class BluetoothPan implements android.bluetooth.BluetoothProfile {
138    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.TETHER_PRIVILEGED}) public android.net.TetheringManager.TetheredInterfaceRequest requestTetheredInterface(@NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.TetheredInterfaceCallback);
139  }
140
141}
142
143package android.compat {
144
145  public final class Compatibility {
146    method public static void clearBehaviorChangeDelegate();
147    method public static void clearOverrides();
148    method public static boolean isChangeEnabled(long);
149    method public static void reportUnconditionalChange(long);
150    method public static void setBehaviorChangeDelegate(android.compat.Compatibility.BehaviorChangeDelegate);
151    method public static void setOverrides(android.compat.Compatibility.ChangeConfig);
152  }
153
154  public static interface Compatibility.BehaviorChangeDelegate {
155    method public default boolean isChangeEnabled(long);
156    method public default void onChangeReported(long);
157  }
158
159  public static final class Compatibility.ChangeConfig {
160    ctor public Compatibility.ChangeConfig(@NonNull java.util.Set<java.lang.Long>, @NonNull java.util.Set<java.lang.Long>);
161    method @NonNull public long[] getDisabledChangesArray();
162    method @NonNull public java.util.Set<java.lang.Long> getDisabledSet();
163    method @NonNull public long[] getEnabledChangesArray();
164    method @NonNull public java.util.Set<java.lang.Long> getEnabledSet();
165    method public boolean isEmpty();
166    method public boolean isForceDisabled(long);
167    method public boolean isForceEnabled(long);
168  }
169
170}
171
172package android.content {
173
174  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
175    method @NonNull public static android.net.Uri createContentUriForUser(@NonNull android.net.Uri, @NonNull android.os.UserHandle);
176  }
177
178  public abstract class ContentResolver {
179    method @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, conditional=true) public final void registerContentObserverAsUser(@NonNull android.net.Uri, boolean, @NonNull android.database.ContentObserver, @NonNull android.os.UserHandle);
180  }
181
182  public abstract class Context {
183    method @NonNull public android.os.UserHandle getUser();
184    field public static final String PAC_PROXY_SERVICE = "pac_proxy";
185    field public static final String TEST_NETWORK_SERVICE = "test_network";
186  }
187
188  public class Intent implements java.lang.Cloneable android.os.Parcelable {
189    field public static final String ACTION_SETTING_RESTORED = "android.os.action.SETTING_RESTORED";
190    field public static final String EXTRA_SETTING_NAME = "setting_name";
191    field public static final String EXTRA_SETTING_NEW_VALUE = "new_value";
192    field public static final String EXTRA_SETTING_PREVIOUS_VALUE = "previous_value";
193    field public static final String EXTRA_SETTING_RESTORED_FROM_SDK_INT = "restored_from_sdk_int";
194  }
195
196}
197
198package android.content.pm {
199
200  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
201    method @NonNull public java.util.List<android.content.pm.SharedLibraryInfo> getSharedLibraryInfos();
202  }
203
204  public abstract class PackageManager {
205    method @NonNull public String getPermissionControllerPackageName();
206    method @NonNull public String getSdkSandboxPackageName();
207    method @RequiresPermission(android.Manifest.permission.MAKE_UID_VISIBLE) public void makeUidVisible(int, int);
208    field public static final String EXTRA_VERIFICATION_ROOT_HASH = "android.content.pm.extra.VERIFICATION_ROOT_HASH";
209    field public static final int MATCH_STATIC_SHARED_AND_SDK_LIBRARIES = 67108864; // 0x4000000
210  }
211
212}
213
214package android.hardware.usb {
215
216  public class UsbManager {
217    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getGadgetHalVersion();
218    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getUsbBandwidthMbps();
219    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getUsbHalVersion();
220    field public static final int GADGET_HAL_NOT_SUPPORTED = -1; // 0xffffffff
221    field public static final int GADGET_HAL_V1_0 = 10; // 0xa
222    field public static final int GADGET_HAL_V1_1 = 11; // 0xb
223    field public static final int GADGET_HAL_V1_2 = 12; // 0xc
224    field public static final int USB_DATA_TRANSFER_RATE_10G = 10240; // 0x2800
225    field public static final int USB_DATA_TRANSFER_RATE_20G = 20480; // 0x5000
226    field public static final int USB_DATA_TRANSFER_RATE_40G = 40960; // 0xa000
227    field public static final int USB_DATA_TRANSFER_RATE_5G = 5120; // 0x1400
228    field public static final int USB_DATA_TRANSFER_RATE_FULL_SPEED = 12; // 0xc
229    field public static final int USB_DATA_TRANSFER_RATE_HIGH_SPEED = 480; // 0x1e0
230    field public static final int USB_DATA_TRANSFER_RATE_LOW_SPEED = 2; // 0x2
231    field public static final int USB_DATA_TRANSFER_RATE_UNKNOWN = -1; // 0xffffffff
232    field public static final int USB_HAL_NOT_SUPPORTED = -1; // 0xffffffff
233    field public static final int USB_HAL_RETRY = -2; // 0xfffffffe
234    field public static final int USB_HAL_V1_0 = 10; // 0xa
235    field public static final int USB_HAL_V1_1 = 11; // 0xb
236    field public static final int USB_HAL_V1_2 = 12; // 0xc
237    field public static final int USB_HAL_V1_3 = 13; // 0xd
238    field public static final int USB_HAL_V2_0 = 20; // 0x14
239  }
240
241}
242
243package android.location {
244
245  public class LocationManager {
246    method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public boolean injectLocation(@NonNull android.location.Location);
247    method @RequiresPermission(android.Manifest.permission.CONTROL_AUTOMOTIVE_GNSS) public boolean isAutomotiveGnssSuspended();
248    method @RequiresPermission(android.Manifest.permission.CONTROL_AUTOMOTIVE_GNSS) public void setAutomotiveGnssSuspended(boolean);
249  }
250
251}
252
253package android.media {
254
255  public class AudioManager {
256    method public void adjustStreamVolumeForUid(int, int, int, @NonNull String, int, int, int);
257    method public void adjustSuggestedStreamVolumeForUid(int, int, int, @NonNull String, int, int, int);
258    method @NonNull public java.util.List<android.bluetooth.BluetoothCodecConfig> getHwOffloadFormatsSupportedForA2dp();
259    method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig> getHwOffloadFormatsSupportedForLeAudio();
260    method @RequiresPermission("android.permission.BLUETOOTH_STACK") public void handleBluetoothActiveDeviceChanged(@Nullable android.bluetooth.BluetoothDevice, @Nullable android.bluetooth.BluetoothDevice, @NonNull android.media.BluetoothProfileConnectionInfo);
261    method @RequiresPermission("android.permission.BLUETOOTH_STACK") public void setA2dpSuspended(boolean);
262    method @RequiresPermission("android.permission.BLUETOOTH_STACK") public void setBluetoothHeadsetProperties(@NonNull String, boolean, boolean);
263    method @RequiresPermission("android.permission.BLUETOOTH_STACK") public void setHfpEnabled(boolean);
264    method @RequiresPermission("android.permission.BLUETOOTH_STACK") public void setHfpSamplingRate(int);
265    method @RequiresPermission("android.permission.BLUETOOTH_STACK") public void setHfpVolume(int);
266    method public void setStreamVolumeForUid(int, int, int, @NonNull String, int, int, int);
267    field public static final int FLAG_FROM_KEY = 4096; // 0x1000
268  }
269
270  public final class BluetoothProfileConnectionInfo implements android.os.Parcelable {
271    method @NonNull public static android.media.BluetoothProfileConnectionInfo createA2dpInfo(boolean, int);
272    method @NonNull public static android.media.BluetoothProfileConnectionInfo createA2dpSinkInfo(int);
273    method @NonNull public static android.media.BluetoothProfileConnectionInfo createHearingAidInfo(boolean);
274    method @NonNull public static android.media.BluetoothProfileConnectionInfo createLeAudioInfo(boolean, boolean);
275    method public int describeContents();
276    method public int getProfile();
277    method public int getVolume();
278    method public boolean isLeOutput();
279    method public boolean isSuppressNoisyIntent();
280    method public void writeToParcel(@NonNull android.os.Parcel, int);
281    field @NonNull public static final android.os.Parcelable.Creator<android.media.BluetoothProfileConnectionInfo> CREATOR;
282  }
283
284  public class MediaCommunicationManager {
285    method public void dispatchMediaKeyEvent(@NonNull android.view.KeyEvent, boolean);
286    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void registerSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaCommunicationManager.SessionCallback);
287    method public void unregisterSessionCallback(@NonNull android.media.MediaCommunicationManager.SessionCallback);
288  }
289
290  public static interface MediaCommunicationManager.SessionCallback {
291    method public default void onSession2TokenCreated(@NonNull android.media.Session2Token);
292    method public default void onSession2TokensChanged(@NonNull java.util.List<android.media.Session2Token>);
293  }
294
295  public class MediaFrameworkInitializer {
296    method public static void registerServiceWrappers();
297    method public static void setMediaServiceManager(@NonNull android.media.MediaServiceManager);
298  }
299
300  public class MediaMetadataRetriever implements java.lang.AutoCloseable {
301    field public static final int METADATA_KEY_VIDEO_CODEC_MIME_TYPE = 40; // 0x28
302  }
303
304  @Deprecated public final class MediaParceledListSlice<T extends android.os.Parcelable> implements android.os.Parcelable {
305    ctor @Deprecated public MediaParceledListSlice(@NonNull java.util.List<T>);
306    method @Deprecated public int describeContents();
307    method @Deprecated @NonNull public static <T extends android.os.Parcelable> android.media.MediaParceledListSlice<T> emptyList();
308    method @Deprecated public java.util.List<T> getList();
309    method @Deprecated public void setInlineCountLimit(int);
310    method @Deprecated public void writeToParcel(android.os.Parcel, int);
311    field @Deprecated @NonNull public static final android.os.Parcelable.ClassLoaderCreator<android.media.MediaParceledListSlice> CREATOR;
312  }
313
314  public class MediaServiceManager {
315    method @NonNull public android.media.MediaServiceManager.ServiceRegisterer getMediaCommunicationServiceRegisterer();
316    method @NonNull public android.media.MediaServiceManager.ServiceRegisterer getMediaSessionServiceRegisterer();
317    method @NonNull public android.media.MediaServiceManager.ServiceRegisterer getMediaTranscodingServiceRegisterer();
318  }
319
320  public static final class MediaServiceManager.ServiceRegisterer {
321    method @Nullable public android.os.IBinder get();
322  }
323
324}
325
326package android.media.session {
327
328  public static final class MediaController.PlaybackInfo implements android.os.Parcelable {
329    ctor public MediaController.PlaybackInfo(int, int, @IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.media.AudioAttributes, @Nullable String);
330  }
331
332  public final class MediaSession {
333    field public static final int FLAG_EXCLUSIVE_GLOBAL_PRIORITY = 65536; // 0x10000
334  }
335
336  public static final class MediaSession.Token implements android.os.Parcelable {
337    method public int getUid();
338  }
339
340  public final class MediaSessionManager {
341    method public void addOnActiveSessionsChangedListener(@Nullable android.content.ComponentName, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener);
342    method public void dispatchMediaKeyEvent(@NonNull android.view.KeyEvent, boolean);
343    method public void dispatchMediaKeyEventAsSystemService(@NonNull android.view.KeyEvent);
344    method public boolean dispatchMediaKeyEventToSessionAsSystemService(@NonNull android.view.KeyEvent, @NonNull android.media.session.MediaSession.Token);
345    method public void dispatchVolumeKeyEvent(@NonNull android.view.KeyEvent, int, boolean);
346    method public void dispatchVolumeKeyEventAsSystemService(@NonNull android.view.KeyEvent, int);
347    method public void dispatchVolumeKeyEventToSessionAsSystemService(@NonNull android.view.KeyEvent, @NonNull android.media.session.MediaSession.Token);
348    method @NonNull public java.util.List<android.media.session.MediaController> getActiveSessionsForUser(@Nullable android.content.ComponentName, @NonNull android.os.UserHandle);
349    method public void registerRemoteSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.RemoteSessionCallback);
350    method public void unregisterRemoteSessionCallback(@NonNull android.media.session.MediaSessionManager.RemoteSessionCallback);
351    field public static final int RESULT_MEDIA_KEY_HANDLED = 1; // 0x1
352    field public static final int RESULT_MEDIA_KEY_NOT_HANDLED = 0; // 0x0
353  }
354
355  public static interface MediaSessionManager.RemoteSessionCallback {
356    method public void onDefaultRemoteSessionChanged(@Nullable android.media.session.MediaSession.Token);
357    method public void onVolumeChanged(@NonNull android.media.session.MediaSession.Token, int);
358  }
359
360}
361
362package android.nearby {
363
364  public final class NearbyFrameworkInitializer {
365    method public static void registerServiceWrappers();
366  }
367
368}
369
370package android.net {
371
372  public final class ConnectivityFrameworkInitializer {
373    method public static void registerServiceWrappers();
374  }
375
376  public final class ConnectivityFrameworkInitializerTiramisu {
377    method public static void registerServiceWrappers();
378  }
379
380  public class ConnectivityManager {
381    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void addUidToMeteredNetworkAllowList(int);
382    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void addUidToMeteredNetworkDenyList(int);
383    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void factoryReset();
384    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();
385    method @Nullable public android.net.ProxyInfo getGlobalProxy();
386    method @NonNull public static android.util.Range<java.lang.Integer> getIpSecNetIdRange();
387    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);
388    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);
389    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);
390    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);
391    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void removeUidFromMeteredNetworkAllowList(int);
392    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void removeUidFromMeteredNetworkDenyList(int);
393    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[]);
394    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);
395    method @Deprecated public boolean requestRouteToHostAddress(int, java.net.InetAddress);
396    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);
397    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);
398    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);
399    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);
400    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setGlobalProxy(@Nullable android.net.ProxyInfo);
401    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setLegacyLockdownVpnEnabled(boolean);
402    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setProfileNetworkPreference(@NonNull android.os.UserHandle, int, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
403    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);
404    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>>);
405    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);
406    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);
407    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);
408    method public void systemReady();
409    field public static final String ACTION_CLEAR_DNS_CACHE = "android.net.action.CLEAR_DNS_CACHE";
410    field public static final String ACTION_PROMPT_LOST_VALIDATION = "android.net.action.PROMPT_LOST_VALIDATION";
411    field public static final String ACTION_PROMPT_PARTIAL_CONNECTIVITY = "android.net.action.PROMPT_PARTIAL_CONNECTIVITY";
412    field public static final String ACTION_PROMPT_UNVALIDATED = "android.net.action.PROMPT_UNVALIDATED";
413    field public static final int BLOCKED_METERED_REASON_ADMIN_DISABLED = 262144; // 0x40000
414    field public static final int BLOCKED_METERED_REASON_DATA_SAVER = 65536; // 0x10000
415    field public static final int BLOCKED_METERED_REASON_MASK = -65536; // 0xffff0000
416    field public static final int BLOCKED_METERED_REASON_USER_RESTRICTED = 131072; // 0x20000
417    field public static final int BLOCKED_REASON_APP_STANDBY = 4; // 0x4
418    field public static final int BLOCKED_REASON_BATTERY_SAVER = 1; // 0x1
419    field public static final int BLOCKED_REASON_DOZE = 2; // 0x2
420    field public static final int BLOCKED_REASON_LOCKDOWN_VPN = 16; // 0x10
421    field public static final int BLOCKED_REASON_LOW_POWER_STANDBY = 32; // 0x20
422    field public static final int BLOCKED_REASON_NONE = 0; // 0x0
423    field public static final int BLOCKED_REASON_RESTRICTED_MODE = 8; // 0x8
424    field public static final int FIREWALL_CHAIN_DOZABLE = 1; // 0x1
425    field public static final int FIREWALL_CHAIN_LOW_POWER_STANDBY = 5; // 0x5
426    field public static final int FIREWALL_CHAIN_POWERSAVE = 3; // 0x3
427    field public static final int FIREWALL_CHAIN_RESTRICTED = 4; // 0x4
428    field public static final int FIREWALL_CHAIN_STANDBY = 2; // 0x2
429    field public static final int FIREWALL_RULE_ALLOW = 1; // 0x1
430    field public static final int FIREWALL_RULE_DEFAULT = 0; // 0x0
431    field public static final int FIREWALL_RULE_DENY = 2; // 0x2
432    field public static final int PROFILE_NETWORK_PREFERENCE_DEFAULT = 0; // 0x0
433    field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE = 1; // 0x1
434    field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE_NO_FALLBACK = 2; // 0x2
435  }
436
437  public static class ConnectivityManager.NetworkCallback {
438    method public void onBlockedStatusChanged(@NonNull android.net.Network, int);
439  }
440
441  public class ConnectivitySettingsManager {
442    method public static void clearGlobalProxy(@NonNull android.content.Context);
443    method @Nullable public static String getCaptivePortalHttpUrl(@NonNull android.content.Context);
444    method public static int getCaptivePortalMode(@NonNull android.content.Context, int);
445    method @NonNull public static java.time.Duration getConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
446    method @NonNull public static android.util.Range<java.lang.Integer> getDnsResolverSampleRanges(@NonNull android.content.Context);
447    method @NonNull public static java.time.Duration getDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
448    method public static int getDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, int);
449    method @Nullable public static android.net.ProxyInfo getGlobalProxy(@NonNull android.content.Context);
450    method public static long getIngressRateLimitInBytesPerSecond(@NonNull android.content.Context);
451    method @NonNull public static java.time.Duration getMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
452    method public static boolean getMobileDataAlwaysOn(@NonNull android.content.Context, boolean);
453    method @NonNull public static java.util.Set<java.lang.Integer> getMobileDataPreferredUids(@NonNull android.content.Context);
454    method public static int getNetworkAvoidBadWifi(@NonNull android.content.Context);
455    method @Nullable public static String getNetworkMeteredMultipathPreference(@NonNull android.content.Context);
456    method public static int getNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, int);
457    method @NonNull public static java.time.Duration getNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
458    method @NonNull public static String getPrivateDnsDefaultMode(@NonNull android.content.Context);
459    method @Nullable public static String getPrivateDnsHostname(@NonNull android.content.Context);
460    method public static int getPrivateDnsMode(@NonNull android.content.Context);
461    method @NonNull public static java.util.Set<java.lang.Integer> getUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context);
462    method public static boolean getWifiAlwaysRequested(@NonNull android.content.Context, boolean);
463    method @NonNull public static java.time.Duration getWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
464    method public static void setCaptivePortalHttpUrl(@NonNull android.content.Context, @Nullable String);
465    method public static void setCaptivePortalMode(@NonNull android.content.Context, int);
466    method public static void setConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
467    method public static void setDnsResolverSampleRanges(@NonNull android.content.Context, @NonNull android.util.Range<java.lang.Integer>);
468    method public static void setDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
469    method public static void setDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, @IntRange(from=0, to=100) int);
470    method public static void setGlobalProxy(@NonNull android.content.Context, @NonNull android.net.ProxyInfo);
471    method public static void setIngressRateLimitInBytesPerSecond(@NonNull android.content.Context, @IntRange(from=-1L, to=4294967295L) long);
472    method public static void setMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
473    method public static void setMobileDataAlwaysOn(@NonNull android.content.Context, boolean);
474    method public static void setMobileDataPreferredUids(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>);
475    method public static void setNetworkAvoidBadWifi(@NonNull android.content.Context, int);
476    method public static void setNetworkMeteredMultipathPreference(@NonNull android.content.Context, @NonNull String);
477    method public static void setNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, @IntRange(from=0) int);
478    method public static void setNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
479    method public static void setPrivateDnsDefaultMode(@NonNull android.content.Context, @NonNull int);
480    method public static void setPrivateDnsHostname(@NonNull android.content.Context, @Nullable String);
481    method public static void setPrivateDnsMode(@NonNull android.content.Context, int);
482    method public static void setUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>);
483    method public static void setWifiAlwaysRequested(@NonNull android.content.Context, boolean);
484    method public static void setWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
485    field public static final int CAPTIVE_PORTAL_MODE_AVOID = 2; // 0x2
486    field public static final int CAPTIVE_PORTAL_MODE_IGNORE = 0; // 0x0
487    field public static final int CAPTIVE_PORTAL_MODE_PROMPT = 1; // 0x1
488    field public static final int NETWORK_AVOID_BAD_WIFI_AVOID = 2; // 0x2
489    field public static final int NETWORK_AVOID_BAD_WIFI_IGNORE = 0; // 0x0
490    field public static final int NETWORK_AVOID_BAD_WIFI_PROMPT = 1; // 0x1
491    field public static final int PRIVATE_DNS_MODE_OFF = 1; // 0x1
492    field public static final int PRIVATE_DNS_MODE_OPPORTUNISTIC = 2; // 0x2
493    field public static final int PRIVATE_DNS_MODE_PROVIDER_HOSTNAME = 3; // 0x3
494  }
495
496  public final class DhcpOption implements android.os.Parcelable {
497    ctor public DhcpOption(byte, @Nullable byte[]);
498    method public int describeContents();
499    method public byte getType();
500    method @Nullable public byte[] getValue();
501    method public void writeToParcel(@NonNull android.os.Parcel, int);
502    field @NonNull public static final android.os.Parcelable.Creator<android.net.DhcpOption> CREATOR;
503  }
504
505  public class EthernetManager {
506    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void addEthernetStateListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
507    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void addInterfaceStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.EthernetManager.InterfaceStateListener);
508    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public java.util.List<java.lang.String> getInterfaceList();
509    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void removeEthernetStateListener(@NonNull java.util.function.IntConsumer);
510    method public void removeInterfaceStateListener(@NonNull android.net.EthernetManager.InterfaceStateListener);
511    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setEthernetEnabled(boolean);
512    method public void setIncludeTestInterfaces(boolean);
513    field public static final int ETHERNET_STATE_DISABLED = 0; // 0x0
514    field public static final int ETHERNET_STATE_ENABLED = 1; // 0x1
515    field public static final int ROLE_CLIENT = 1; // 0x1
516    field public static final int ROLE_NONE = 0; // 0x0
517    field public static final int ROLE_SERVER = 2; // 0x2
518    field public static final int STATE_ABSENT = 0; // 0x0
519    field public static final int STATE_LINK_DOWN = 1; // 0x1
520    field public static final int STATE_LINK_UP = 2; // 0x2
521  }
522
523  public static interface EthernetManager.InterfaceStateListener {
524    method public void onInterfaceStateChanged(@NonNull String, int, int, @Nullable android.net.IpConfiguration);
525  }
526
527  public class IpSecManager {
528    field public static final int DIRECTION_FWD = 2; // 0x2
529  }
530
531  public static final class IpSecManager.UdpEncapsulationSocket implements java.lang.AutoCloseable {
532    method public int getResourceId();
533  }
534
535  public class LocalSocket implements java.io.Closeable {
536    ctor public LocalSocket(@NonNull java.io.FileDescriptor);
537  }
538
539  public final class NetworkAgentConfig implements android.os.Parcelable {
540    method @Nullable public String getSubscriberId();
541    method public boolean isBypassableVpn();
542    method public boolean isVpnValidationRequired();
543  }
544
545  public static final class NetworkAgentConfig.Builder {
546    method @NonNull public android.net.NetworkAgentConfig.Builder setBypassableVpn(boolean);
547    method @NonNull public android.net.NetworkAgentConfig.Builder setLocalRoutesExcludedForVpn(boolean);
548    method @NonNull public android.net.NetworkAgentConfig.Builder setSubscriberId(@Nullable String);
549    method @NonNull public android.net.NetworkAgentConfig.Builder setVpnRequiresValidation(boolean);
550  }
551
552  public final class NetworkCapabilities implements android.os.Parcelable {
553    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public java.util.Set<java.lang.Integer> getAllowedUids();
554    method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getUids();
555    method public boolean hasForbiddenCapability(int);
556    field public static final long REDACT_ALL = -1L; // 0xffffffffffffffffL
557    field public static final long REDACT_FOR_ACCESS_FINE_LOCATION = 1L; // 0x1L
558    field public static final long REDACT_FOR_LOCAL_MAC_ADDRESS = 2L; // 0x2L
559    field public static final long REDACT_FOR_NETWORK_SETTINGS = 4L; // 0x4L
560    field public static final long REDACT_NONE = 0L; // 0x0L
561    field public static final int TRANSPORT_TEST = 7; // 0x7
562  }
563
564  public static final class NetworkCapabilities.Builder {
565    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAllowedUids(@NonNull java.util.Set<java.lang.Integer>);
566    method @NonNull public android.net.NetworkCapabilities.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>);
567  }
568
569  public class NetworkIdentity {
570    method public int getOemManaged();
571    method public int getRatType();
572    method public int getSubId();
573    method @Nullable public String getSubscriberId();
574    method public int getType();
575    method @Nullable public String getWifiNetworkKey();
576    method public boolean isDefaultNetwork();
577    method public boolean isMetered();
578    method public boolean isRoaming();
579  }
580
581  public static final class NetworkIdentity.Builder {
582    ctor public NetworkIdentity.Builder();
583    method @NonNull public android.net.NetworkIdentity build();
584    method @NonNull public android.net.NetworkIdentity.Builder clearRatType();
585    method @NonNull public android.net.NetworkIdentity.Builder setDefaultNetwork(boolean);
586    method @NonNull public android.net.NetworkIdentity.Builder setMetered(boolean);
587    method @NonNull public android.net.NetworkIdentity.Builder setNetworkStateSnapshot(@NonNull android.net.NetworkStateSnapshot);
588    method @NonNull public android.net.NetworkIdentity.Builder setOemManaged(int);
589    method @NonNull public android.net.NetworkIdentity.Builder setRatType(int);
590    method @NonNull public android.net.NetworkIdentity.Builder setRoaming(boolean);
591    method @NonNull public android.net.NetworkIdentity.Builder setSubId(int);
592    method @NonNull public android.net.NetworkIdentity.Builder setSubscriberId(@Nullable String);
593    method @NonNull public android.net.NetworkIdentity.Builder setType(int);
594    method @NonNull public android.net.NetworkIdentity.Builder setWifiNetworkKey(@Nullable String);
595  }
596
597  public class NetworkPolicyManager {
598    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public int getMultipathPreference(@NonNull android.net.Network);
599    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public int getRestrictBackgroundStatus(int);
600    method @Nullable @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public android.telephony.SubscriptionPlan getSubscriptionPlan(@NonNull android.net.NetworkTemplate);
601    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidNetworkingBlocked(int, boolean);
602    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidRestrictedOnMeteredNetworks(int);
603    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void notifyStatsProviderLimitReached();
604    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void notifyStatsProviderWarningReached();
605    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void registerNetworkPolicyCallback(@Nullable java.util.concurrent.Executor, @NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
606    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void unregisterNetworkPolicyCallback(@NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
607  }
608
609  public static interface NetworkPolicyManager.NetworkPolicyCallback {
610    method public default void onUidBlockedReasonChanged(int, int);
611  }
612
613  public class NetworkRequest implements android.os.Parcelable {
614    method @NonNull public int[] getEnterpriseIds();
615    method @NonNull public int[] getForbiddenCapabilities();
616    method public boolean hasEnterpriseId(int);
617    method public boolean hasForbiddenCapability(int);
618  }
619
620  public static class NetworkRequest.Builder {
621    method @NonNull public android.net.NetworkRequest.Builder addForbiddenCapability(int);
622    method @NonNull public android.net.NetworkRequest.Builder removeForbiddenCapability(int);
623    method @NonNull public android.net.NetworkRequest.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>);
624  }
625
626  public final class NetworkStateSnapshot implements android.os.Parcelable {
627    ctor public NetworkStateSnapshot(@NonNull android.net.Network, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, @Nullable String, int);
628    method public int describeContents();
629    method public int getLegacyType();
630    method @NonNull public android.net.LinkProperties getLinkProperties();
631    method @NonNull public android.net.Network getNetwork();
632    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
633    method public int getSubId();
634    method @Deprecated @Nullable public String getSubscriberId();
635    method public void writeToParcel(@NonNull android.os.Parcel, int);
636    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStateSnapshot> CREATOR;
637  }
638
639  public class NetworkStatsCollection {
640    method @NonNull public java.util.Map<android.net.NetworkStatsCollection.Key,android.net.NetworkStatsHistory> getEntries();
641  }
642
643  public static final class NetworkStatsCollection.Builder {
644    ctor public NetworkStatsCollection.Builder(long);
645    method @NonNull public android.net.NetworkStatsCollection.Builder addEntry(@NonNull android.net.NetworkStatsCollection.Key, @NonNull android.net.NetworkStatsHistory);
646    method @NonNull public android.net.NetworkStatsCollection build();
647  }
648
649  public static final class NetworkStatsCollection.Key {
650    ctor public NetworkStatsCollection.Key(@NonNull java.util.Set<android.net.NetworkIdentity>, int, int, int);
651  }
652
653  public final class NetworkStatsHistory implements android.os.Parcelable {
654    method public int describeContents();
655    method @NonNull public java.util.List<android.net.NetworkStatsHistory.Entry> getEntries();
656    method public void writeToParcel(@NonNull android.os.Parcel, int);
657    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStatsHistory> CREATOR;
658  }
659
660  public static final class NetworkStatsHistory.Builder {
661    ctor public NetworkStatsHistory.Builder(long, int);
662    method @NonNull public android.net.NetworkStatsHistory.Builder addEntry(@NonNull android.net.NetworkStatsHistory.Entry);
663    method @NonNull public android.net.NetworkStatsHistory build();
664  }
665
666  public static final class NetworkStatsHistory.Entry {
667    ctor public NetworkStatsHistory.Entry(long, long, long, long, long, long, long);
668    method public long getActiveTime();
669    method public long getBucketStart();
670    method public long getOperations();
671    method public long getRxBytes();
672    method public long getRxPackets();
673    method public long getTxBytes();
674    method public long getTxPackets();
675  }
676
677  public final class NetworkTemplate implements android.os.Parcelable {
678    method public int describeContents();
679    method public int getDefaultNetworkStatus();
680    method public int getMatchRule();
681    method public int getMeteredness();
682    method public int getOemManaged();
683    method public int getRatType();
684    method public int getRoaming();
685    method @NonNull public java.util.Set<java.lang.String> getSubscriberIds();
686    method @NonNull public java.util.Set<java.lang.String> getWifiNetworkKeys();
687    method public boolean matches(@NonNull android.net.NetworkIdentity);
688    method public void writeToParcel(@NonNull android.os.Parcel, int);
689    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkTemplate> CREATOR;
690    field public static final int MATCH_BLUETOOTH = 8; // 0x8
691    field public static final int MATCH_CARRIER = 10; // 0xa
692    field public static final int MATCH_ETHERNET = 5; // 0x5
693    field public static final int MATCH_MOBILE = 1; // 0x1
694    field public static final int MATCH_PROXY = 9; // 0x9
695    field public static final int MATCH_WIFI = 4; // 0x4
696    field public static final int NETWORK_TYPE_ALL = -1; // 0xffffffff
697    field public static final int OEM_MANAGED_ALL = -1; // 0xffffffff
698    field public static final int OEM_MANAGED_NO = 0; // 0x0
699    field public static final int OEM_MANAGED_PAID = 1; // 0x1
700    field public static final int OEM_MANAGED_PRIVATE = 2; // 0x2
701    field public static final int OEM_MANAGED_YES = -2; // 0xfffffffe
702  }
703
704  public static final class NetworkTemplate.Builder {
705    ctor public NetworkTemplate.Builder(int);
706    method @NonNull public android.net.NetworkTemplate build();
707    method @NonNull public android.net.NetworkTemplate.Builder setDefaultNetworkStatus(int);
708    method @NonNull public android.net.NetworkTemplate.Builder setMeteredness(int);
709    method @NonNull public android.net.NetworkTemplate.Builder setOemManaged(int);
710    method @NonNull public android.net.NetworkTemplate.Builder setRatType(int);
711    method @NonNull public android.net.NetworkTemplate.Builder setRoaming(int);
712    method @NonNull public android.net.NetworkTemplate.Builder setSubscriberIds(@NonNull java.util.Set<java.lang.String>);
713    method @NonNull public android.net.NetworkTemplate.Builder setWifiNetworkKeys(@NonNull java.util.Set<java.lang.String>);
714  }
715
716  public class NetworkWatchlistManager {
717    method @Nullable public byte[] getWatchlistConfigHash();
718  }
719
720  public class PacProxyManager {
721    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void addPacProxyInstalledListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.PacProxyManager.PacProxyInstalledListener);
722    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void removePacProxyInstalledListener(@NonNull android.net.PacProxyManager.PacProxyInstalledListener);
723    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setCurrentProxyScriptUrl(@Nullable android.net.ProxyInfo);
724  }
725
726  public static interface PacProxyManager.PacProxyInstalledListener {
727    method public void onPacProxyInstalled(@Nullable android.net.Network, @NonNull android.net.ProxyInfo);
728  }
729
730  public final class ProfileNetworkPreference implements android.os.Parcelable {
731    method public int describeContents();
732    method @NonNull public int[] getExcludedUids();
733    method @NonNull public int[] getIncludedUids();
734    method public int getPreference();
735    method public int getPreferenceEnterpriseId();
736    method public void writeToParcel(@NonNull android.os.Parcel, int);
737    field @NonNull public static final android.os.Parcelable.Creator<android.net.ProfileNetworkPreference> CREATOR;
738  }
739
740  public static final class ProfileNetworkPreference.Builder {
741    ctor public ProfileNetworkPreference.Builder();
742    method @NonNull public android.net.ProfileNetworkPreference build();
743    method @NonNull public android.net.ProfileNetworkPreference.Builder setExcludedUids(@NonNull int[]);
744    method @NonNull public android.net.ProfileNetworkPreference.Builder setIncludedUids(@NonNull int[]);
745    method @NonNull public android.net.ProfileNetworkPreference.Builder setPreference(int);
746    method @NonNull public android.net.ProfileNetworkPreference.Builder setPreferenceEnterpriseId(int);
747  }
748
749  public final class Proxy {
750    method public static void setHttpProxyConfiguration(@Nullable android.net.ProxyInfo);
751  }
752
753  public final class TestNetworkInterface implements android.os.Parcelable {
754    ctor public TestNetworkInterface(@NonNull android.os.ParcelFileDescriptor, @NonNull String);
755    method public int describeContents();
756    method @NonNull public android.os.ParcelFileDescriptor getFileDescriptor();
757    method @NonNull public String getInterfaceName();
758    method public void writeToParcel(@NonNull android.os.Parcel, int);
759    field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkInterface> CREATOR;
760  }
761
762  public class TestNetworkManager {
763    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTapInterface();
764    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTunInterface(@NonNull java.util.Collection<android.net.LinkAddress>);
765    method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void setupTestNetwork(@NonNull String, @NonNull android.os.IBinder);
766    method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void teardownTestNetwork(@NonNull android.net.Network);
767    field public static final String TEST_TAP_PREFIX = "testtap";
768  }
769
770  public final class TestNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
771    ctor public TestNetworkSpecifier(@NonNull String);
772    method public int describeContents();
773    method @Nullable public String getInterfaceName();
774    method public void writeToParcel(@NonNull android.os.Parcel, int);
775    field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkSpecifier> CREATOR;
776  }
777
778  public final class TetheringConstants {
779    field public static final String EXTRA_ADD_TETHER_TYPE = "extraAddTetherType";
780    field public static final String EXTRA_PROVISION_CALLBACK = "extraProvisionCallback";
781    field public static final String EXTRA_REM_TETHER_TYPE = "extraRemTetherType";
782    field public static final String EXTRA_RUN_PROVISION = "extraRunProvision";
783    field public static final String EXTRA_SET_ALARM = "extraSetAlarm";
784  }
785
786  public class TetheringManager {
787    ctor public TetheringManager(@NonNull android.content.Context, @NonNull java.util.function.Supplier<android.os.IBinder>);
788    method public int getLastTetherError(@NonNull String);
789    method @NonNull public String[] getTetherableBluetoothRegexs();
790    method @NonNull public String[] getTetherableIfaces();
791    method @NonNull public String[] getTetherableUsbRegexs();
792    method @NonNull public String[] getTetherableWifiRegexs();
793    method @NonNull public String[] getTetheredIfaces();
794    method @NonNull public String[] getTetheringErroredIfaces();
795    method public boolean isTetheringSupported();
796    method public boolean isTetheringSupported(@NonNull String);
797    method public void requestLatestTetheringEntitlementResult(int, @NonNull android.os.ResultReceiver, boolean);
798    method @Deprecated public int setUsbTethering(boolean);
799    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);
800    method @Deprecated public int tether(@NonNull String);
801    method @Deprecated public int untether(@NonNull String);
802  }
803
804  public static interface TetheringManager.TetheredInterfaceCallback {
805    method public void onAvailable(@NonNull String);
806    method public void onUnavailable();
807  }
808
809  public static interface TetheringManager.TetheredInterfaceRequest {
810    method public void release();
811  }
812
813  public static interface TetheringManager.TetheringEventCallback {
814    method @Deprecated public default void onTetherableInterfaceRegexpsChanged(@NonNull android.net.TetheringManager.TetheringInterfaceRegexps);
815  }
816
817  @Deprecated public static class TetheringManager.TetheringInterfaceRegexps {
818    method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableBluetoothRegexs();
819    method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableUsbRegexs();
820    method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableWifiRegexs();
821  }
822
823  public class TrafficStats {
824    method public static void attachSocketTagger();
825    method public static void init(@NonNull android.content.Context);
826    method public static void setThreadStatsTagDownload();
827  }
828
829  public interface TransportInfo {
830    method public default long getApplicableRedactions();
831    method @NonNull public default android.net.TransportInfo makeCopy(long);
832  }
833
834  public final class UnderlyingNetworkInfo implements android.os.Parcelable {
835    ctor public UnderlyingNetworkInfo(int, @NonNull String, @NonNull java.util.List<java.lang.String>);
836    method public int describeContents();
837    method @NonNull public String getInterface();
838    method public int getOwnerUid();
839    method @NonNull public java.util.List<java.lang.String> getUnderlyingInterfaces();
840    method public void writeToParcel(@NonNull android.os.Parcel, int);
841    field @NonNull public static final android.os.Parcelable.Creator<android.net.UnderlyingNetworkInfo> CREATOR;
842  }
843
844  public class VpnManager {
845    field public static final int TYPE_VPN_LEGACY = 3; // 0x3
846    field public static final int TYPE_VPN_NONE = -1; // 0xffffffff
847    field public static final int TYPE_VPN_OEM = 4; // 0x4
848    field public static final int TYPE_VPN_PLATFORM = 2; // 0x2
849    field public static final int TYPE_VPN_SERVICE = 1; // 0x1
850  }
851
852  public final class VpnTransportInfo implements android.os.Parcelable android.net.TransportInfo {
853    ctor public VpnTransportInfo(int, @Nullable String);
854    method public int describeContents();
855    method @Nullable public String getSessionId();
856    method public int getType();
857    method @NonNull public android.net.VpnTransportInfo makeCopy(long);
858    method public void writeToParcel(@NonNull android.os.Parcel, int);
859    field @NonNull public static final android.os.Parcelable.Creator<android.net.VpnTransportInfo> CREATOR;
860  }
861
862}
863
864package android.net.netstats {
865
866  public class NetworkStatsDataMigrationUtils {
867    method @NonNull public static android.net.NetworkStatsCollection readPlatformCollection(@NonNull String, long) throws java.io.IOException;
868    field public static final String PREFIX_UID = "uid";
869    field public static final String PREFIX_UID_TAG = "uid_tag";
870    field public static final String PREFIX_XT = "xt";
871  }
872
873}
874
875package android.net.wifi {
876
877  public class WifiManager {
878    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void addCustomDhcpOptions(@NonNull android.net.wifi.WifiSsid, @NonNull byte[], @NonNull java.util.List<android.net.DhcpOption>);
879    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void removeCustomDhcpOptions(@NonNull android.net.wifi.WifiSsid, @NonNull byte[]);
880  }
881
882}
883
884package android.ondevicepersonalization {
885
886  public class OnDevicePersonalizationFrameworkInitializer {
887    method public static void registerServiceWrappers();
888  }
889
890}
891
892package android.os {
893
894  public final class BatteryStatsManager {
895    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void reportNetworkInterfaceForTransports(@NonNull String, @NonNull int[]) throws java.lang.RuntimeException;
896  }
897
898  public class Binder implements android.os.IBinder {
899    method public final void markVintfStability();
900  }
901
902  public class BluetoothServiceManager {
903    method @NonNull public android.os.BluetoothServiceManager.ServiceRegisterer getBluetoothManagerServiceRegisterer();
904  }
905
906  public static class BluetoothServiceManager.ServiceNotFoundException extends java.lang.Exception {
907    ctor public BluetoothServiceManager.ServiceNotFoundException(@NonNull String);
908  }
909
910  public static final class BluetoothServiceManager.ServiceRegisterer {
911    method @Nullable public android.os.IBinder get();
912    method @NonNull public android.os.IBinder getOrThrow() throws android.os.BluetoothServiceManager.ServiceNotFoundException;
913    method public void register(@NonNull android.os.IBinder);
914    method @Nullable public android.os.IBinder tryGet();
915  }
916
917  public class Build {
918    method public static boolean isDebuggable();
919  }
920
921  public static class Build.VERSION {
922    field public static final int DEVICE_INITIAL_SDK_INT;
923  }
924
925  public class IpcDataCache<Query, Result> {
926    ctor public IpcDataCache(int, @NonNull String, @NonNull String, @NonNull String, @NonNull android.os.IpcDataCache.QueryHandler<Query,Result>);
927    method public void disableForCurrentProcess();
928    method public static void disableForCurrentProcess(@NonNull String);
929    method public void invalidateCache();
930    method public static void invalidateCache(@NonNull String, @NonNull String);
931    method @Nullable public Result query(@NonNull Query);
932    field public static final String MODULE_BLUETOOTH = "bluetooth";
933  }
934
935  public abstract static class IpcDataCache.QueryHandler<Q, R> {
936    ctor public IpcDataCache.QueryHandler();
937    method @Nullable public abstract R apply(@NonNull Q);
938    method public boolean shouldBypassCache(@NonNull Q);
939  }
940
941  public interface Parcelable {
942    method public default int getStability();
943  }
944
945  public class Process {
946    method public static final int getAppUidForSdkSandboxUid(int);
947    method public static final boolean isSdkSandboxUid(int);
948    method public static final int toSdkSandboxUid(int);
949    field public static final int NFC_UID = 1027; // 0x403
950    field public static final int VPN_UID = 1016; // 0x3f8
951  }
952
953  public final class ServiceManager {
954    method public static boolean isDeclared(@NonNull String);
955    method @Nullable public static android.os.IBinder waitForDeclaredService(@NonNull String);
956  }
957
958  public class StatsFrameworkInitializer {
959    method public static void registerServiceWrappers();
960    method public static void setStatsServiceManager(@NonNull android.os.StatsServiceManager);
961  }
962
963  public class StatsServiceManager {
964    method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsCompanionServiceRegisterer();
965    method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsManagerServiceRegisterer();
966    method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsdServiceRegisterer();
967  }
968
969  public static class StatsServiceManager.ServiceNotFoundException extends java.lang.Exception {
970    ctor public StatsServiceManager.ServiceNotFoundException(@NonNull String);
971  }
972
973  public static final class StatsServiceManager.ServiceRegisterer {
974    method @Nullable public android.os.IBinder get();
975    method @Nullable public android.os.IBinder getOrThrow() throws android.os.StatsServiceManager.ServiceNotFoundException;
976  }
977
978  public final class StrictMode {
979    method public static void noteUntaggedSocket();
980  }
981
982  public class SystemConfigManager {
983    method @NonNull public java.util.List<android.content.ComponentName> getEnabledComponentOverrides(@NonNull String);
984  }
985
986  public final class Trace {
987    method public static void asyncTraceBegin(long, @NonNull String, int);
988    method public static void asyncTraceEnd(long, @NonNull String, int);
989    method public static boolean isTagEnabled(long);
990    method public static void traceBegin(long, @NonNull String);
991    method public static void traceCounter(long, @NonNull String, int);
992    method public static void traceEnd(long);
993    field public static final long TRACE_TAG_NETWORK = 2097152L; // 0x200000L
994  }
995
996}
997
998package android.os.storage {
999
1000  public class StorageManager {
1001    method public long computeStorageCacheBytes(@NonNull java.io.File);
1002    method @Nullable public String getCloudMediaProvider();
1003    method public void notifyAppIoBlocked(@NonNull java.util.UUID, int, int, int);
1004    method public void notifyAppIoResumed(@NonNull java.util.UUID, int, int, int);
1005    method public void setCloudMediaProvider(@Nullable String);
1006    field public static final int APP_IO_BLOCKED_REASON_TRANSCODING = 1; // 0x1
1007    field public static final int APP_IO_BLOCKED_REASON_UNKNOWN = 0; // 0x0
1008  }
1009
1010}
1011
1012package android.provider {
1013
1014  public static final class ContactsContract.RawContactsEntity implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns android.provider.ContactsContract.RawContactsColumns {
1015    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public static java.util.Map<java.lang.String,java.util.List<android.content.ContentValues>> queryRawContactEntity(@NonNull android.content.ContentResolver, long);
1016  }
1017
1018  public final class DeviceConfig {
1019    field public static final String NAMESPACE_ALARM_MANAGER = "alarm_manager";
1020    field public static final String NAMESPACE_APP_STANDBY = "app_standby";
1021    field public static final String NAMESPACE_DEVICE_IDLE = "device_idle";
1022  }
1023
1024  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
1025    field public static final String BLE_SCAN_ALWAYS_AVAILABLE = "ble_scan_always_enabled";
1026    field public static final String BLE_SCAN_BACKGROUND_MODE = "ble_scan_background_mode";
1027    field public static final String BLE_SCAN_BALANCED_INTERVAL_MS = "ble_scan_balanced_interval_ms";
1028    field public static final String BLE_SCAN_BALANCED_WINDOW_MS = "ble_scan_balanced_window_ms";
1029    field public static final String BLE_SCAN_LOW_LATENCY_INTERVAL_MS = "ble_scan_low_latency_interval_ms";
1030    field public static final String BLE_SCAN_LOW_LATENCY_WINDOW_MS = "ble_scan_low_latency_window_ms";
1031    field public static final String BLE_SCAN_LOW_POWER_INTERVAL_MS = "ble_scan_low_power_interval_ms";
1032    field public static final String BLE_SCAN_LOW_POWER_WINDOW_MS = "ble_scan_low_power_window_ms";
1033    field public static final String BLUETOOTH_BTSNOOP_DEFAULT_MODE = "bluetooth_btsnoop_default_mode";
1034    field public static final String BLUETOOTH_CLASS_OF_DEVICE = "bluetooth_class_of_device";
1035    field public static final String BLUETOOTH_DISABLED_PROFILES = "bluetooth_disabled_profiles";
1036  }
1037
1038  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
1039    field public static final String BLUETOOTH_ADDRESS = "bluetooth_address";
1040    field public static final String BLUETOOTH_ADDR_VALID = "bluetooth_addr_valid";
1041    field public static final String BLUETOOTH_NAME = "bluetooth_name";
1042  }
1043
1044}
1045
1046package android.safetycenter {
1047
1048  public final class SafetyCenterFrameworkInitializer {
1049    method public static void registerServiceWrappers();
1050  }
1051
1052}
1053
1054package android.scheduling {
1055
1056  public class SchedulingFrameworkInitializer {
1057    method public static void registerServiceWrappers();
1058  }
1059
1060}
1061
1062package android.system {
1063
1064  public final class NetlinkSocketAddress extends java.net.SocketAddress {
1065    ctor public NetlinkSocketAddress(int, int);
1066    method public int getGroupsMask();
1067    method public int getPortId();
1068  }
1069
1070  public final class Os {
1071    method @Nullable public static android.system.StructCapUserData[] capget(@NonNull android.system.StructCapUserHeader) throws android.system.ErrnoException;
1072    method public static void capset(@NonNull android.system.StructCapUserHeader, @NonNull android.system.StructCapUserData[]) throws android.system.ErrnoException;
1073    method public static int getpgid(int) throws android.system.ErrnoException;
1074    method @Nullable public static android.system.StructRlimit getrlimit(int) throws android.system.ErrnoException;
1075    method public static int getsockoptInt(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
1076    method @Nullable public static android.system.StructLinger getsockoptLinger(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
1077    method public static int ioctlInt(@NonNull java.io.FileDescriptor, int) throws android.system.ErrnoException;
1078    method @Nullable public static java.io.FileDescriptor[] pipe2(int) throws android.system.ErrnoException;
1079    method @Nullable public static String realpath(@Nullable String) throws android.system.ErrnoException;
1080    method public static void setpgid(int, int) throws android.system.ErrnoException;
1081    method public static void setregid(int, int) throws android.system.ErrnoException;
1082    method public static void setreuid(int, int) throws android.system.ErrnoException;
1083    method public static void setsockoptIfreq(@NonNull java.io.FileDescriptor, int, int, @Nullable String) throws android.system.ErrnoException;
1084    method public static void setsockoptLinger(@NonNull java.io.FileDescriptor, int, int, @NonNull android.system.StructLinger) throws android.system.ErrnoException;
1085    method public static long splice(@NonNull java.io.FileDescriptor, @Nullable android.system.Int64Ref, @NonNull java.io.FileDescriptor, @Nullable android.system.Int64Ref, long, int) throws android.system.ErrnoException;
1086    method public static void unlink(@Nullable String) throws android.system.ErrnoException;
1087  }
1088
1089  public final class OsConstants {
1090    method public static int CAP_TO_INDEX(int);
1091    method public static int CAP_TO_MASK(int);
1092    field public static final int ARPHRD_LOOPBACK;
1093    field public static final int EUSERS;
1094    field public static final int MAP_POPULATE;
1095    field public static final int O_DIRECT;
1096    field public static final int PR_CAP_AMBIENT;
1097    field public static final int PR_CAP_AMBIENT_RAISE;
1098    field public static final int RLIMIT_NOFILE;
1099    field public static final int RTMGRP_IPV4_IFADDR;
1100    field public static final int SPLICE_F_MORE;
1101    field public static final int SPLICE_F_MOVE;
1102    field public static final int TIOCOUTQ;
1103    field public static final int UDP_ENCAP;
1104    field public static final int UDP_ENCAP_ESPINUDP;
1105    field public static final int XATTR_CREATE;
1106    field public static final int XATTR_REPLACE;
1107    field public static final int _LINUX_CAPABILITY_VERSION_3;
1108  }
1109
1110  public final class PacketSocketAddress extends java.net.SocketAddress {
1111    ctor public PacketSocketAddress(int, int, byte[]);
1112  }
1113
1114  public final class StructCapUserData {
1115    ctor public StructCapUserData(int, int, int);
1116    field public final int effective;
1117    field public final int inheritable;
1118    field public final int permitted;
1119  }
1120
1121  public final class StructCapUserHeader {
1122    ctor public StructCapUserHeader(int, int);
1123  }
1124
1125  public final class StructLinger {
1126    ctor public StructLinger(int, int);
1127    method public boolean isOn();
1128    field public final int l_linger;
1129  }
1130
1131  public final class StructRlimit {
1132    field public final long rlim_cur;
1133  }
1134
1135  public final class UnixSocketAddress extends java.net.SocketAddress {
1136    method public static android.system.UnixSocketAddress createFileSystem(String);
1137  }
1138
1139}
1140
1141package android.telecom {
1142
1143  public abstract class ConnectionService extends android.app.Service {
1144    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.Connection onCreateUnknownConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.ConnectionRequest);
1145  }
1146
1147}
1148
1149package android.telephony {
1150
1151  public abstract class CellSignalStrength {
1152    method public static int getNumSignalStrengthLevels();
1153  }
1154
1155  public class SubscriptionManager {
1156    method public void addSubscriptionInfoRecord(@NonNull String, @Nullable String, int, int);
1157    method public void removeSubscriptionInfoRecord(@NonNull String, int);
1158  }
1159
1160  public class TelephonyManager {
1161    method @NonNull public static int[] getAllNetworkTypes();
1162  }
1163
1164}
1165
1166package android.util {
1167
1168  public class AtomicFile {
1169    ctor public AtomicFile(@NonNull java.io.File, @Nullable android.util.SystemConfigFileCommitEventLogger);
1170  }
1171
1172  public final class Log {
1173    method public static int logToRadioBuffer(int, @Nullable String, @Nullable String);
1174  }
1175
1176  public final class Slog {
1177    method public static int d(@Nullable String, @NonNull String);
1178    method public static int d(@Nullable String, @NonNull String, @Nullable Throwable);
1179    method public static int e(@Nullable String, @NonNull String);
1180    method public static int e(@Nullable String, @NonNull String, @Nullable Throwable);
1181    method public static int i(@Nullable String, @NonNull String);
1182    method public static int i(@Nullable String, @NonNull String, @Nullable Throwable);
1183    method public static int v(@Nullable String, @NonNull String);
1184    method public static int v(@Nullable String, @NonNull String, @Nullable Throwable);
1185    method public static int w(@Nullable String, @NonNull String);
1186    method public static int w(@Nullable String, @NonNull String, @Nullable Throwable);
1187    method public static int w(@Nullable String, @Nullable Throwable);
1188    method public static int wtf(@Nullable String, @NonNull String);
1189    method public static int wtf(@Nullable String, @Nullable Throwable);
1190    method public static int wtf(@Nullable String, @NonNull String, @Nullable Throwable);
1191    method public static void wtfQuiet(@Nullable String, @NonNull String);
1192    method public static int wtfStack(@Nullable String, @NonNull String);
1193  }
1194
1195  public class SystemConfigFileCommitEventLogger {
1196    ctor public SystemConfigFileCommitEventLogger(@NonNull String);
1197    method public void setStartTime(long);
1198  }
1199
1200}
1201
1202package android.uwb {
1203
1204  public class UwbFrameworkInitializer {
1205    method public static void registerServiceWrappers();
1206  }
1207
1208}
1209
1210package com.android.okhttp.internalandroidapi {
1211
1212  public final class AndroidResponseCacheAdapter {
1213    ctor public AndroidResponseCacheAdapter(@NonNull com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder);
1214    method public void close() throws java.io.IOException;
1215    method public void delete() throws java.io.IOException;
1216    method public void flush() throws java.io.IOException;
1217    method @Nullable public java.net.CacheResponse get(@NonNull java.net.URI, @NonNull String, @Nullable java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
1218    method @NonNull public com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder getCacheHolder();
1219    method public int getHitCount();
1220    method public long getMaxSize();
1221    method public int getNetworkCount();
1222    method public int getRequestCount();
1223    method public long getSize() throws java.io.IOException;
1224    method @Nullable public java.net.CacheRequest put(@NonNull java.net.URI, @NonNull java.net.URLConnection) throws java.io.IOException;
1225  }
1226
1227  public interface HasCacheHolder {
1228    method @NonNull public com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder getCacheHolder();
1229  }
1230
1231  public static final class HasCacheHolder.CacheHolder {
1232    method @NonNull public static com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder create(@NonNull java.io.File, long);
1233    method public boolean isEquivalent(@NonNull java.io.File, long);
1234  }
1235
1236}
1237
1238package dalvik.annotation.codegen {
1239
1240  @java.lang.annotation.Repeatable(CovariantReturnType.CovariantReturnTypes.class) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public @interface CovariantReturnType {
1241    method public abstract int presentAfter();
1242    method public abstract Class<?> returnType();
1243  }
1244
1245  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public static @interface CovariantReturnType.CovariantReturnTypes {
1246    method public abstract dalvik.annotation.codegen.CovariantReturnType[] value();
1247  }
1248
1249}
1250
1251package dalvik.annotation.optimization {
1252
1253  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface CriticalNative {
1254  }
1255
1256  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface FastNative {
1257  }
1258
1259  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface NeverCompile {
1260  }
1261
1262}
1263
1264package dalvik.system {
1265
1266  public final class AnnotatedStackTraceElement {
1267    method @Nullable public Object getBlockedOn();
1268    method @Nullable public Object[] getHeldLocks();
1269    method @NonNull public StackTraceElement getStackTraceElement();
1270  }
1271
1272  public class AppSpecializationHooks {
1273    method public static void handleCompatChangesBeforeBindingApplication();
1274  }
1275
1276  public class BaseDexClassLoader extends java.lang.ClassLoader {
1277    method public void addDexPath(@Nullable String);
1278    method public void addNativePath(@NonNull java.util.Collection<java.lang.String>);
1279    method @NonNull public String getLdLibraryPath();
1280    method public void reportClassLoaderChain();
1281    method public static void setReporter(@Nullable dalvik.system.BaseDexClassLoader.Reporter);
1282  }
1283
1284  public static interface BaseDexClassLoader.Reporter {
1285    method public void report(@NonNull java.util.Map<java.lang.String,java.lang.String>);
1286  }
1287
1288  public final class BlockGuard {
1289    method @NonNull public static dalvik.system.BlockGuard.Policy getThreadPolicy();
1290    method @NonNull public static dalvik.system.BlockGuard.VmPolicy getVmPolicy();
1291    method public static void setThreadPolicy(@NonNull dalvik.system.BlockGuard.Policy);
1292    method public static void setVmPolicy(@NonNull dalvik.system.BlockGuard.VmPolicy);
1293    field public static final dalvik.system.BlockGuard.Policy LAX_POLICY;
1294    field public static final dalvik.system.BlockGuard.VmPolicy LAX_VM_POLICY;
1295  }
1296
1297  public static interface BlockGuard.Policy {
1298    method public int getPolicyMask();
1299    method public void onReadFromDisk();
1300    method public void onUnbufferedIO();
1301    method public void onWriteToDisk();
1302  }
1303
1304  public static interface BlockGuard.VmPolicy {
1305    method public void onPathAccess(@NonNull String);
1306  }
1307
1308  public final class CloseGuard {
1309    method public void close();
1310    method public static dalvik.system.CloseGuard get();
1311    method public static dalvik.system.CloseGuard.Reporter getReporter();
1312    method public void open(String);
1313    method public void openWithCallSite(String, String);
1314    method public static void setEnabled(boolean);
1315    method public static void setReporter(dalvik.system.CloseGuard.Reporter);
1316    method public void warnIfOpen();
1317  }
1318
1319  public static interface CloseGuard.Reporter {
1320    method public void report(String, Throwable);
1321    method public default void report(String);
1322  }
1323
1324  public final class DelegateLastClassLoader extends dalvik.system.PathClassLoader {
1325    ctor public DelegateLastClassLoader(String, String, ClassLoader, ClassLoader[]);
1326    ctor public DelegateLastClassLoader(String, String, ClassLoader, ClassLoader[], ClassLoader[]);
1327  }
1328
1329  @Deprecated public final class DexFile {
1330    method @Deprecated @NonNull public static dalvik.system.DexFile.OptimizationInfo getDexFileOptimizationInfo(@NonNull String, @NonNull String) throws java.io.FileNotFoundException;
1331    method @Deprecated @Nullable public static String[] getDexFileOutputPaths(@NonNull String, @NonNull String) throws java.io.FileNotFoundException;
1332    method @Deprecated public static int getDexOptNeeded(@NonNull String, @NonNull String, @NonNull String, @Nullable String, boolean, boolean) throws java.io.FileNotFoundException, java.io.IOException;
1333    method @Deprecated @NonNull public static String getSafeModeCompilerFilter(@NonNull String);
1334    method @Deprecated public static boolean isProfileGuidedCompilerFilter(@NonNull String);
1335    method @Deprecated public static boolean isValidCompilerFilter(@NonNull String);
1336    field @Deprecated public static final int DEX2OAT_FOR_FILTER = 3; // 0x3
1337    field @Deprecated public static final int NO_DEXOPT_NEEDED = 0; // 0x0
1338  }
1339
1340  @Deprecated public static final class DexFile.OptimizationInfo {
1341    method @Deprecated @NonNull public String getReason();
1342    method @Deprecated @NonNull public String getStatus();
1343  }
1344
1345  public class PathClassLoader extends dalvik.system.BaseDexClassLoader {
1346    ctor public PathClassLoader(@NonNull String, @Nullable String, @Nullable ClassLoader, @Nullable ClassLoader[]);
1347    ctor public PathClassLoader(@NonNull String, @Nullable String, @Nullable ClassLoader, @Nullable ClassLoader[], @Nullable ClassLoader[]);
1348  }
1349
1350  public final class RuntimeHooks {
1351    method public static void setTimeZoneIdSupplier(@NonNull java.util.function.Supplier<java.lang.String>);
1352    method public static void setUncaughtExceptionPreHandler(@Nullable java.lang.Thread.UncaughtExceptionHandler);
1353  }
1354
1355  public abstract class SocketTagger {
1356    ctor public SocketTagger();
1357    method public static dalvik.system.SocketTagger get();
1358    method public static void set(dalvik.system.SocketTagger);
1359    method public abstract void tag(java.io.FileDescriptor) throws java.net.SocketException;
1360    method public final void tag(java.net.Socket) throws java.net.SocketException;
1361    method public final void tag(java.net.DatagramSocket) throws java.net.SocketException;
1362    method public abstract void untag(java.io.FileDescriptor) throws java.net.SocketException;
1363    method public final void untag(java.net.Socket) throws java.net.SocketException;
1364    method public final void untag(java.net.DatagramSocket) throws java.net.SocketException;
1365  }
1366
1367  public final class VMDebug {
1368    method public static void attachAgent(String, ClassLoader) throws java.io.IOException;
1369    method public static long countInstancesOfClass(Class, boolean);
1370    method public static long[] countInstancesOfClasses(Class[], boolean);
1371    method public static void dumpHprofData(String) throws java.io.IOException;
1372    method public static void dumpHprofData(String, java.io.FileDescriptor) throws java.io.IOException;
1373    method public static void dumpHprofDataDdms();
1374    method public static void dumpReferenceTables();
1375    method public static int getAllocCount(int);
1376    method @dalvik.annotation.optimization.FastNative public static int getLoadedClassCount();
1377    method public static int getMethodTracingMode();
1378    method public static String getRuntimeStat(String);
1379    method public static java.util.Map<java.lang.String,java.lang.String> getRuntimeStats();
1380    method public static String[] getVmFeatureList();
1381    method @dalvik.annotation.optimization.FastNative public static boolean isDebuggerConnected();
1382    method @dalvik.annotation.optimization.FastNative public static boolean isDebuggingEnabled();
1383    method @dalvik.annotation.optimization.FastNative public static long lastDebuggerActivity();
1384    method @dalvik.annotation.optimization.FastNative public static void printLoadedClasses(int);
1385    method public static void resetAllocCount(int);
1386    method public static void setAllocTrackerStackDepth(int);
1387    method public static void startAllocCounting();
1388    method public static void startMethodTracing(String, int, int, boolean, int);
1389    method public static void startMethodTracing(String, java.io.FileDescriptor, int, int, boolean, int, boolean);
1390    method public static void startMethodTracingDdms(int, int, boolean, int);
1391    method public static void stopAllocCounting();
1392    method public static void stopMethodTracing();
1393    method @dalvik.annotation.optimization.FastNative public static long threadCpuTimeNanos();
1394    field public static final int KIND_ALL_COUNTS = -1; // 0xffffffff
1395    field public static final int KIND_GLOBAL_ALLOCATED_BYTES = 2; // 0x2
1396    field public static final int KIND_GLOBAL_ALLOCATED_OBJECTS = 1; // 0x1
1397    field public static final int KIND_GLOBAL_CLASS_INIT_COUNT = 32; // 0x20
1398    field public static final int KIND_GLOBAL_CLASS_INIT_TIME = 64; // 0x40
1399    field public static final int KIND_GLOBAL_FREED_BYTES = 8; // 0x8
1400    field public static final int KIND_GLOBAL_FREED_OBJECTS = 4; // 0x4
1401    field public static final int KIND_GLOBAL_GC_INVOCATIONS = 16; // 0x10
1402    field public static final int KIND_THREAD_ALLOCATED_BYTES = 131072; // 0x20000
1403    field public static final int KIND_THREAD_ALLOCATED_OBJECTS = 65536; // 0x10000
1404    field public static final int KIND_THREAD_GC_INVOCATIONS = 1048576; // 0x100000
1405    field public static final int TRACE_COUNT_ALLOCS = 1; // 0x1
1406  }
1407
1408  public final class VMRuntime {
1409    method @dalvik.annotation.optimization.FastNative public long addressOf(Object);
1410    method public static void bootCompleted();
1411    method public void clampGrowthLimit();
1412    method public void clearGrowthLimit();
1413    method public static String getCurrentInstructionSet();
1414    method public static String getInstructionSet(String);
1415    method public static dalvik.system.VMRuntime getRuntime();
1416    method public int getTargetSdkVersion();
1417    method @dalvik.annotation.optimization.FastNative public boolean is64Bit();
1418    method public static boolean is64BitAbi(String);
1419    method public static boolean is64BitInstructionSet(String);
1420    method @dalvik.annotation.optimization.FastNative public boolean isCheckJniEnabled();
1421    method @dalvik.annotation.optimization.FastNative public boolean isNativeDebuggable();
1422    method public static boolean isValidClassLoaderContext(String);
1423    method @dalvik.annotation.optimization.FastNative public Object newNonMovableArray(Class<?>, int);
1424    method @dalvik.annotation.optimization.FastNative public Object newUnpaddedArray(Class<?>, int);
1425    method public void notifyStartupCompleted();
1426    method public void preloadDexCaches();
1427    method public static void registerAppInfo(String, String, String, String[], int);
1428    method public void registerNativeAllocation(long);
1429    method @Deprecated public void registerNativeAllocation(int);
1430    method public void registerNativeFree(long);
1431    method @Deprecated public void registerNativeFree(int);
1432    method public static void registerSensitiveThread();
1433    method public void requestConcurrentGC();
1434    method public static void resetJitCounters();
1435    method public static void setDedupeHiddenApiWarnings(boolean);
1436    method public void setDisabledCompatChanges(long[]);
1437    method public void setHiddenApiAccessLogSamplingRate(int);
1438    method public void setHiddenApiExemptions(String[]);
1439    method public static void setHiddenApiUsageLogger(dalvik.system.VMRuntime.HiddenApiUsageLogger);
1440    method public static void setNonSdkApiUsageConsumer(java.util.function.Consumer<java.lang.String>);
1441    method public static void setProcessDataDirectory(String);
1442    method public static void setProcessPackageName(String);
1443    method public void setTargetSdkVersion(int);
1444    method public void updateProcessState(int);
1445    method public String vmInstructionSet();
1446    method public String vmLibrary();
1447    field public static final int CODE_PATH_TYPE_PRIMARY_APK = 1; // 0x1
1448    field public static final int CODE_PATH_TYPE_SECONDARY_DEX = 4; // 0x4
1449    field public static final int CODE_PATH_TYPE_SPLIT_APK = 2; // 0x2
1450    field public static final int SDK_VERSION_CUR_DEVELOPMENT = 10000; // 0x2710
1451  }
1452
1453  public static interface VMRuntime.HiddenApiUsageLogger {
1454    method public void hiddenApiUsed(int, String, String, int, boolean);
1455    field public static final int ACCESS_METHOD_JNI = 2; // 0x2
1456    field public static final int ACCESS_METHOD_LINKING = 3; // 0x3
1457    field public static final int ACCESS_METHOD_NONE = 0; // 0x0
1458    field public static final int ACCESS_METHOD_REFLECTION = 1; // 0x1
1459  }
1460
1461  public final class VMStack {
1462    method @Nullable @dalvik.annotation.optimization.FastNative public static dalvik.system.AnnotatedStackTraceElement[] getAnnotatedThreadStackTrace(Thread);
1463  }
1464
1465  public final class ZygoteHooks {
1466    method public static void gcAndFinalize();
1467    method public static boolean isIndefiniteThreadSuspensionSafe();
1468    method public static void onBeginPreload();
1469    method public static void onEndPreload();
1470    method public static void postForkChild(int, boolean, boolean, String);
1471    method public static void postForkCommon();
1472    method public static void postForkSystemServer(int);
1473    method public static void preFork();
1474    method public static void startZygoteNoThreadCreation();
1475    method public static void stopZygoteNoThreadCreation();
1476  }
1477
1478}
1479
1480package java.io {
1481
1482  public final class FileDescriptor {
1483    method public int getInt$();
1484    method public void setInt$(int);
1485  }
1486
1487  public class FileInputStream extends java.io.InputStream {
1488    ctor public FileInputStream(java.io.FileDescriptor, boolean);
1489  }
1490
1491}
1492
1493package java.lang {
1494
1495  public class Thread implements java.lang.Runnable {
1496    method public static java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionPreHandler();
1497    method public static void setUncaughtExceptionPreHandler(java.lang.Thread.UncaughtExceptionHandler);
1498  }
1499
1500}
1501
1502package java.net {
1503
1504  public class DatagramSocket implements java.io.Closeable {
1505    method public java.io.FileDescriptor getFileDescriptor$();
1506  }
1507
1508  public final class Inet4Address extends java.net.InetAddress {
1509    field public static final java.net.InetAddress ALL;
1510    field public static final java.net.InetAddress ANY;
1511    field public static final java.net.InetAddress LOOPBACK;
1512  }
1513
1514  public final class Inet6Address extends java.net.InetAddress {
1515    field public static final java.net.InetAddress ANY;
1516    field public static final java.net.InetAddress LOOPBACK;
1517  }
1518
1519  public class InetAddress implements java.io.Serializable {
1520    method public static void clearDnsCache();
1521    method @NonNull public static java.net.InetAddress[] getAllByNameOnNet(@Nullable String, int) throws java.net.UnknownHostException;
1522    method @NonNull public static java.net.InetAddress getByNameOnNet(@Nullable String, int) throws java.net.UnknownHostException;
1523    method @Deprecated public static boolean isNumeric(String);
1524    method @Deprecated public static java.net.InetAddress parseNumericAddress(String);
1525  }
1526
1527  public class InetSocketAddress extends java.net.SocketAddress {
1528    ctor public InetSocketAddress();
1529  }
1530
1531  public class ServerSocket implements java.io.Closeable {
1532    method public java.net.SocketImpl getImpl() throws java.net.SocketException;
1533  }
1534
1535  public class Socket implements java.io.Closeable {
1536    method public java.io.FileDescriptor getFileDescriptor$();
1537  }
1538
1539  public abstract class SocketImpl implements java.net.SocketOptions {
1540    method public java.io.FileDescriptor getFD$();
1541  }
1542
1543}
1544
1545package java.nio {
1546
1547  public abstract class ByteBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ByteBuffer> {
1548    method public void setAccessible(boolean);
1549  }
1550
1551  public class DirectByteBuffer extends java.nio.MappedByteBuffer {
1552    ctor public DirectByteBuffer(int, long, java.io.FileDescriptor, Runnable, boolean);
1553    method public final long address();
1554    method public final void setAccessible(boolean);
1555  }
1556
1557  public final class NIOAccess {
1558    method public static Object getBaseArray(java.nio.Buffer);
1559    method public static int getBaseArrayOffset(java.nio.Buffer);
1560  }
1561
1562  public final class NioUtils {
1563    method public static void freeDirectBuffer(java.nio.ByteBuffer);
1564    method public static byte[] unsafeArray(java.nio.ByteBuffer);
1565    method public static int unsafeArrayOffset(java.nio.ByteBuffer);
1566  }
1567
1568}
1569
1570package java.security {
1571
1572  public abstract class Provider extends java.util.Properties {
1573    method public void warmUpServiceProvision();
1574  }
1575
1576  public abstract class Signature extends java.security.SignatureSpi {
1577    method public java.security.SignatureSpi getCurrentSpi();
1578  }
1579
1580}
1581
1582package java.text {
1583
1584  public abstract class DateFormat extends java.text.Format {
1585    method public static final void set24HourTimePref(Boolean);
1586  }
1587
1588}
1589
1590package java.util {
1591
1592  public class LinkedHashMap<K, V> extends java.util.HashMap<K,V> implements java.util.Map<K,V> {
1593    method public java.util.Map.Entry<K,V> eldest();
1594  }
1595
1596}
1597
1598package java.util.zip {
1599
1600  public class ZipEntry implements java.lang.Cloneable {
1601    method public long getDataOffset();
1602  }
1603
1604}
1605
1606package javax.crypto {
1607
1608  public class Cipher {
1609    method public javax.crypto.CipherSpi getCurrentSpi();
1610  }
1611
1612  public class Mac implements java.lang.Cloneable {
1613    method public javax.crypto.MacSpi getCurrentSpi();
1614  }
1615
1616}
1617
1618package javax.net.ssl {
1619
1620  public abstract class HttpsURLConnection extends java.net.HttpURLConnection {
1621    method public static javax.net.ssl.HostnameVerifier getStrictHostnameVerifier();
1622  }
1623
1624}
1625
1626package libcore.content.type {
1627
1628  public final class MimeMap {
1629    method @NonNull public libcore.content.type.MimeMap.Builder buildUpon();
1630    method @NonNull public static libcore.content.type.MimeMap.Builder builder();
1631    method @NonNull public java.util.Set<java.lang.String> extensions();
1632    method @NonNull public static libcore.content.type.MimeMap getDefault();
1633    method @Nullable public String guessExtensionFromMimeType(@Nullable String);
1634    method @Nullable public String guessMimeTypeFromExtension(@Nullable String);
1635    method public boolean hasExtension(@Nullable String);
1636    method public boolean hasMimeType(@Nullable String);
1637    method @NonNull public java.util.Set<java.lang.String> mimeTypes();
1638    method public static void setDefaultSupplier(@NonNull java.util.function.Supplier<libcore.content.type.MimeMap>);
1639  }
1640
1641  public static final class MimeMap.Builder {
1642    method @NonNull public libcore.content.type.MimeMap.Builder addMimeMapping(@NonNull String, @NonNull java.util.List<java.lang.String>);
1643    method @NonNull public libcore.content.type.MimeMap build();
1644  }
1645
1646}
1647
1648package libcore.io {
1649
1650  public class ForwardingOs implements libcore.io.Os {
1651    ctor protected ForwardingOs(@NonNull libcore.io.Os);
1652    method public boolean access(@Nullable String, int) throws android.system.ErrnoException;
1653    method public java.io.FileDescriptor open(@Nullable String, int, int) throws android.system.ErrnoException;
1654    method public void remove(@Nullable String) throws android.system.ErrnoException;
1655    method public void rename(@Nullable String, @Nullable String) throws android.system.ErrnoException;
1656    method @Nullable public android.system.StructStat stat(@Nullable String) throws android.system.ErrnoException;
1657    method public void unlink(@Nullable String) throws android.system.ErrnoException;
1658  }
1659
1660  public final class IoBridge {
1661    method public static void closeAndSignalBlockedThreads(@NonNull java.io.FileDescriptor) throws java.io.IOException;
1662    method @NonNull public static java.io.FileDescriptor open(@NonNull String, int) throws java.io.FileNotFoundException;
1663    method public static int read(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int) throws java.io.IOException;
1664    method public static void write(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int) throws java.io.IOException;
1665  }
1666
1667  public final class IoUtils {
1668    method public static int acquireRawFd(@NonNull java.io.FileDescriptor);
1669    method public static void close(@Nullable java.io.FileDescriptor) throws java.io.IOException;
1670    method public static void closeQuietly(@Nullable AutoCloseable);
1671    method public static void closeQuietly(@Nullable java.io.FileDescriptor);
1672    method public static void closeQuietly(@Nullable java.net.Socket);
1673    method @NonNull public static byte[] readFileAsByteArray(@NonNull String) throws java.io.IOException;
1674    method @NonNull public static String readFileAsString(@NonNull String) throws java.io.IOException;
1675    method public static void setBlocking(@NonNull java.io.FileDescriptor, boolean) throws java.io.IOException;
1676    method public static void setFdOwner(@NonNull java.io.FileDescriptor, @NonNull Object);
1677  }
1678
1679  public final class Memory {
1680    method public static void memmove(@NonNull Object, int, @NonNull Object, int, long);
1681    method public static int peekInt(@NonNull byte[], int, @NonNull java.nio.ByteOrder);
1682    method public static short peekShort(@NonNull byte[], int, @NonNull java.nio.ByteOrder);
1683    method public static void pokeInt(@NonNull byte[], int, int, @NonNull java.nio.ByteOrder);
1684    method public static void pokeLong(@NonNull byte[], int, long, @NonNull java.nio.ByteOrder);
1685    method public static void pokeShort(@NonNull byte[], int, short, @NonNull java.nio.ByteOrder);
1686  }
1687
1688  public interface Os {
1689    method public static boolean compareAndSetDefault(libcore.io.Os, libcore.io.Os);
1690    method public static libcore.io.Os getDefault();
1691  }
1692
1693  public final class Streams {
1694    method public static int copy(@NonNull java.io.InputStream, @NonNull java.io.OutputStream) throws java.io.IOException;
1695    method public static void readFully(@NonNull java.io.InputStream, @NonNull byte[]) throws java.io.IOException;
1696    method @NonNull public static byte[] readFully(@NonNull java.io.InputStream) throws java.io.IOException;
1697    method @NonNull public static String readFully(@NonNull java.io.Reader) throws java.io.IOException;
1698    method @NonNull public static byte[] readFullyNoClose(@NonNull java.io.InputStream) throws java.io.IOException;
1699    method public static int readSingleByte(@NonNull java.io.InputStream) throws java.io.IOException;
1700    method public static long skipByReading(@NonNull java.io.InputStream, long) throws java.io.IOException;
1701    method public static void writeSingleByte(@NonNull java.io.OutputStream, int) throws java.io.IOException;
1702  }
1703
1704}
1705
1706package libcore.net {
1707
1708  public class InetAddressUtils {
1709    method public static boolean isNumericAddress(String);
1710    method public static java.net.InetAddress parseNumericAddress(String);
1711  }
1712
1713  public abstract class NetworkSecurityPolicy {
1714    ctor public NetworkSecurityPolicy();
1715    method public static libcore.net.NetworkSecurityPolicy getInstance();
1716    method public abstract boolean isCertificateTransparencyVerificationRequired(String);
1717    method public abstract boolean isCleartextTrafficPermitted();
1718    method public abstract boolean isCleartextTrafficPermitted(String);
1719    method public static void setInstance(libcore.net.NetworkSecurityPolicy);
1720  }
1721
1722}
1723
1724package libcore.net.event {
1725
1726  public final class NetworkEventDispatcher {
1727    method public void dispatchNetworkConfigurationChange();
1728    method public static libcore.net.event.NetworkEventDispatcher getInstance();
1729  }
1730
1731}
1732
1733package libcore.net.http {
1734
1735  public interface Dns {
1736    method @NonNull public java.util.List<java.net.InetAddress> lookup(@Nullable String) throws java.net.UnknownHostException;
1737  }
1738
1739  public class HttpURLConnectionFactory {
1740    method @NonNull public static libcore.net.http.HttpURLConnectionFactory createInstance();
1741    method public java.net.URLConnection openConnection(@NonNull java.net.URL, @NonNull javax.net.SocketFactory, @NonNull java.net.Proxy) throws java.io.IOException;
1742    method public void setDns(@NonNull libcore.net.http.Dns);
1743    method public void setNewConnectionPool(int, long, @NonNull java.util.concurrent.TimeUnit);
1744  }
1745
1746}
1747
1748package libcore.util {
1749
1750  public final class EmptyArray {
1751    field @NonNull public static final boolean[] BOOLEAN;
1752    field @NonNull public static final byte[] BYTE;
1753    field @NonNull public static final float[] FLOAT;
1754    field @NonNull public static final int[] INT;
1755    field @NonNull public static final long[] LONG;
1756    field @NonNull public static final Object[] OBJECT;
1757    field @NonNull public static final String[] STRING;
1758  }
1759
1760  public final class FP16 {
1761    method public static short ceil(short);
1762    method public static int compare(short, short);
1763    method public static boolean equals(short, short);
1764    method public static short floor(short);
1765    method public static boolean greater(short, short);
1766    method public static boolean greaterEquals(short, short);
1767    method public static boolean isInfinite(short);
1768    method public static boolean isNaN(short);
1769    method public static boolean isNormalized(short);
1770    method public static boolean less(short, short);
1771    method public static boolean lessEquals(short, short);
1772    method public static short max(short, short);
1773    method public static short min(short, short);
1774    method public static short rint(short);
1775    method public static float toFloat(short);
1776    method public static short toHalf(float);
1777    method public static String toHexString(short);
1778    method public static short trunc(short);
1779    field public static final short EPSILON = 5120; // 0x1400
1780    field public static final int EXPONENT_BIAS = 15; // 0xf
1781    field public static final int EXPONENT_SHIFT = 10; // 0xa
1782    field public static final int EXPONENT_SIGNIFICAND_MASK = 32767; // 0x7fff
1783    field public static final short LOWEST_VALUE = -1025; // 0xfffffbff
1784    field public static final int MAX_EXPONENT = 15; // 0xf
1785    field public static final short MAX_VALUE = 31743; // 0x7bff
1786    field public static final int MIN_EXPONENT = -14; // 0xfffffff2
1787    field public static final short MIN_NORMAL = 1024; // 0x400
1788    field public static final short MIN_VALUE = 1; // 0x1
1789    field public static final short NEGATIVE_INFINITY = -1024; // 0xfffffc00
1790    field public static final short NEGATIVE_ZERO = -32768; // 0xffff8000
1791    field public static final short NaN = 32256; // 0x7e00
1792    field public static final short POSITIVE_INFINITY = 31744; // 0x7c00
1793    field public static final short POSITIVE_ZERO = 0; // 0x0
1794    field public static final int SHIFTED_EXPONENT_MASK = 31; // 0x1f
1795    field public static final int SIGNIFICAND_MASK = 1023; // 0x3ff
1796    field public static final int SIGN_MASK = 32768; // 0x8000
1797    field public static final int SIGN_SHIFT = 15; // 0xf
1798    field public static final int SIZE = 16; // 0x10
1799  }
1800
1801  public class HexEncoding {
1802    method public static byte[] decode(String) throws java.lang.IllegalArgumentException;
1803    method public static byte[] decode(String, boolean) throws java.lang.IllegalArgumentException;
1804    method public static byte[] decode(char[]) throws java.lang.IllegalArgumentException;
1805    method public static byte[] decode(char[], boolean) throws java.lang.IllegalArgumentException;
1806    method public static char[] encode(byte[]);
1807    method public static char[] encode(byte[], boolean);
1808    method public static char[] encode(byte[], int, int);
1809    method public static String encodeToString(byte, boolean);
1810    method public static String encodeToString(byte[]);
1811    method public static String encodeToString(byte[], boolean);
1812  }
1813
1814  public class NativeAllocationRegistry {
1815    ctor public NativeAllocationRegistry(@NonNull ClassLoader, long, long);
1816    method public static void applyFreeFunction(long, long);
1817    method public static libcore.util.NativeAllocationRegistry createMalloced(@NonNull ClassLoader, long, long);
1818    method public static libcore.util.NativeAllocationRegistry createMalloced(@NonNull ClassLoader, long);
1819    method public static libcore.util.NativeAllocationRegistry createNonmalloced(@NonNull ClassLoader, long, long);
1820    method @NonNull public Runnable registerNativeAllocation(@NonNull Object, long);
1821  }
1822
1823  public class SneakyThrow {
1824    method public static void sneakyThrow(@NonNull Throwable);
1825  }
1826
1827  public class XmlObjectFactory {
1828    method @NonNull public static org.xml.sax.XMLReader newXMLReader();
1829    method @NonNull public static org.xmlpull.v1.XmlPullParser newXmlPullParser();
1830    method @NonNull public static org.xmlpull.v1.XmlSerializer newXmlSerializer();
1831  }
1832
1833}
1834
1835package org.apache.harmony.dalvik.ddmc {
1836
1837  public class Chunk {
1838    ctor public Chunk(int, byte[], int, int);
1839    ctor public Chunk(int, java.nio.ByteBuffer);
1840    field public int type;
1841  }
1842
1843  public abstract class ChunkHandler {
1844    ctor public ChunkHandler();
1845    method public static org.apache.harmony.dalvik.ddmc.Chunk createFailChunk(int, String);
1846    method public abstract org.apache.harmony.dalvik.ddmc.Chunk handleChunk(org.apache.harmony.dalvik.ddmc.Chunk);
1847    method public static String name(int);
1848    method public abstract void onConnected();
1849    method public abstract void onDisconnected();
1850    method public static int type(String);
1851    method public static java.nio.ByteBuffer wrapChunk(org.apache.harmony.dalvik.ddmc.Chunk);
1852    field public static final java.nio.ByteOrder CHUNK_ORDER;
1853  }
1854
1855  public final class DdmServer {
1856    method public static void registerHandler(int, org.apache.harmony.dalvik.ddmc.ChunkHandler);
1857    method public static void registrationComplete();
1858    method public static void sendChunk(org.apache.harmony.dalvik.ddmc.Chunk);
1859    method public static org.apache.harmony.dalvik.ddmc.ChunkHandler unregisterHandler(int);
1860  }
1861
1862  public final class DdmVmInternal {
1863    method public static void setRecentAllocationsTrackingEnabled(boolean);
1864    method public static void setThreadNotifyEnabled(boolean);
1865  }
1866
1867}
1868
1869package org.json {
1870
1871  public class JSONObject {
1872    method @NonNull public java.util.Set<java.lang.String> keySet();
1873  }
1874
1875}
1876
1877package sun.misc {
1878
1879  public class Cleaner extends java.lang.ref.PhantomReference<java.lang.Object> {
1880    method public void clean();
1881    method public static sun.misc.Cleaner create(Object, Runnable);
1882  }
1883
1884  public final class Unsafe {
1885    method public int arrayBaseOffset(Class);
1886    method public int arrayIndexScale(Class);
1887    method @dalvik.annotation.optimization.FastNative public void copyMemory(long, long, long);
1888    method @dalvik.annotation.optimization.FastNative public boolean getBoolean(Object, long);
1889    method @dalvik.annotation.optimization.FastNative public byte getByte(Object, long);
1890    method @dalvik.annotation.optimization.FastNative public byte getByte(long);
1891    method @dalvik.annotation.optimization.FastNative public double getDouble(Object, long);
1892    method @dalvik.annotation.optimization.FastNative public double getDouble(long);
1893    method @dalvik.annotation.optimization.FastNative public float getFloat(Object, long);
1894    method @dalvik.annotation.optimization.FastNative public float getFloat(long);
1895    method @dalvik.annotation.optimization.FastNative public int getInt(Object, long);
1896    method @dalvik.annotation.optimization.FastNative public int getInt(long);
1897    method @dalvik.annotation.optimization.FastNative public long getLong(Object, long);
1898    method @dalvik.annotation.optimization.FastNative public long getLong(long);
1899    method @dalvik.annotation.optimization.FastNative public Object getObject(Object, long);
1900    method public static sun.misc.Unsafe getUnsafe();
1901    method public long objectFieldOffset(java.lang.reflect.Field);
1902    method @dalvik.annotation.optimization.FastNative public void putBoolean(Object, long, boolean);
1903    method @dalvik.annotation.optimization.FastNative public void putByte(Object, long, byte);
1904    method @dalvik.annotation.optimization.FastNative public void putByte(long, byte);
1905    method @dalvik.annotation.optimization.FastNative public void putDouble(Object, long, double);
1906    method @dalvik.annotation.optimization.FastNative public void putDouble(long, double);
1907    method @dalvik.annotation.optimization.FastNative public void putFloat(Object, long, float);
1908    method @dalvik.annotation.optimization.FastNative public void putFloat(long, float);
1909    method @dalvik.annotation.optimization.FastNative public void putInt(Object, long, int);
1910    method @dalvik.annotation.optimization.FastNative public void putInt(long, int);
1911    method @dalvik.annotation.optimization.FastNative public void putLong(Object, long, long);
1912    method @dalvik.annotation.optimization.FastNative public void putLong(long, long);
1913    method @dalvik.annotation.optimization.FastNative public void putObject(Object, long, Object);
1914  }
1915
1916}
1917
1918package sun.security.jca {
1919
1920  public class Providers {
1921    method public static Object startJarVerification();
1922    method public static void stopJarVerification(Object);
1923  }
1924
1925}
1926
1927package sun.security.pkcs {
1928
1929  public class PKCS7 {
1930    ctor public PKCS7(java.io.InputStream) throws java.io.IOException, sun.security.pkcs.ParsingException;
1931    ctor public PKCS7(byte[]) throws sun.security.pkcs.ParsingException;
1932    method public java.security.cert.X509Certificate[] getCertificates();
1933    method public sun.security.pkcs.SignerInfo[] getSignerInfos();
1934    method public sun.security.pkcs.SignerInfo verify(sun.security.pkcs.SignerInfo, java.io.InputStream) throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.SignatureException;
1935    method public sun.security.pkcs.SignerInfo[] verify(byte[]) throws java.security.NoSuchAlgorithmException, java.security.SignatureException;
1936  }
1937
1938  public class ParsingException extends java.io.IOException {
1939  }
1940
1941  public class SignerInfo {
1942    ctor public SignerInfo();
1943    method public java.util.ArrayList<java.security.cert.X509Certificate> getCertificateChain(sun.security.pkcs.PKCS7) throws java.io.IOException;
1944  }
1945
1946}
1947
1948package sun.security.util {
1949
1950  public final class ObjectIdentifier implements java.io.Serializable {
1951    ctor public ObjectIdentifier(String) throws java.io.IOException;
1952  }
1953
1954}
1955
1956package sun.security.x509 {
1957
1958  public class AlgorithmId implements java.io.Serializable {
1959    ctor public AlgorithmId(sun.security.util.ObjectIdentifier);
1960    method public String getName();
1961  }
1962
1963}
1964
1965