blob: 34583c354f418efb878e761be6d92ed9ae12197a [file] [log] [blame]
Victor Chang0cd67fb2021-05-12 10:35:00 +01001// Signature format: 2.0
Victor Chang59b1f072021-05-26 18:11:40 +01002package android.compat {
3
4 public final class Compatibility {
5 method public static void clearBehaviorChangeDelegate();
6 method public static void clearOverrides();
7 method public static boolean isChangeEnabled(long);
8 method public static void reportUnconditionalChange(long);
9 method public static void setBehaviorChangeDelegate(android.compat.Compatibility.BehaviorChangeDelegate);
10 method public static void setOverrides(android.compat.Compatibility.ChangeConfig);
11 }
12
13 public static interface Compatibility.BehaviorChangeDelegate {
14 method public default boolean isChangeEnabled(long);
15 method public default void onChangeReported(long);
16 }
17
18 public static final class Compatibility.ChangeConfig {
19 ctor public Compatibility.ChangeConfig(@NonNull java.util.Set<java.lang.Long>, @NonNull java.util.Set<java.lang.Long>);
20 method @NonNull public long[] getDisabledChangesArray();
21 method @NonNull public java.util.Set<java.lang.Long> getDisabledSet();
22 method @NonNull public long[] getEnabledChangesArray();
23 method @NonNull public java.util.Set<java.lang.Long> getEnabledSet();
24 method public boolean isEmpty();
25 method public boolean isForceDisabled(long);
26 method public boolean isForceEnabled(long);
27 }
28
29}
30
31package android.system {
32
33 public final class NetlinkSocketAddress extends java.net.SocketAddress {
34 ctor public NetlinkSocketAddress(int, int);
35 method public int getGroupsMask();
36 method public int getPortId();
37 }
38
39 public final class Os {
Victor Changa90ceb32021-06-23 17:30:05 +010040 method @Nullable public static android.system.StructCapUserData[] capget(@NonNull android.system.StructCapUserHeader) throws android.system.ErrnoException;
41 method public static void capset(@NonNull android.system.StructCapUserHeader, @NonNull android.system.StructCapUserData[]) throws android.system.ErrnoException;
Victor Chang59b1f072021-05-26 18:11:40 +010042 method public static int getpgid(int) throws android.system.ErrnoException;
43 method @Nullable public static android.system.StructRlimit getrlimit(int) throws android.system.ErrnoException;
44 method public static int getsockoptInt(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
Victor Chang919efd42021-06-16 14:30:53 +010045 method @Nullable public static android.system.StructLinger getsockoptLinger(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
Victor Chang59b1f072021-05-26 18:11:40 +010046 method public static int ioctlInt(@NonNull java.io.FileDescriptor, int) throws android.system.ErrnoException;
47 method @Nullable public static java.io.FileDescriptor[] pipe2(int) throws android.system.ErrnoException;
48 method @Nullable public static String realpath(@Nullable String) throws android.system.ErrnoException;
49 method public static void setpgid(int, int) throws android.system.ErrnoException;
50 method public static void setregid(int, int) throws android.system.ErrnoException;
51 method public static void setreuid(int, int) throws android.system.ErrnoException;
52 method public static void setsockoptIfreq(@NonNull java.io.FileDescriptor, int, int, @Nullable String) throws android.system.ErrnoException;
Victor Chang919efd42021-06-16 14:30:53 +010053 method public static void setsockoptLinger(@NonNull java.io.FileDescriptor, int, int, @NonNull android.system.StructLinger) throws android.system.ErrnoException;
Victor Chang59b1f072021-05-26 18:11:40 +010054 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;
55 method public static void unlink(@Nullable String) throws android.system.ErrnoException;
56 }
57
58 public final class OsConstants {
59 method public static int CAP_TO_INDEX(int);
60 method public static int CAP_TO_MASK(int);
61 field public static final int ARPHRD_LOOPBACK;
62 field public static final int EUSERS;
63 field public static final int MAP_POPULATE;
64 field public static final int O_DIRECT;
65 field public static final int PR_CAP_AMBIENT;
66 field public static final int PR_CAP_AMBIENT_RAISE;
67 field public static final int RLIMIT_NOFILE;
68 field public static final int RTMGRP_IPV4_IFADDR;
69 field public static final int SPLICE_F_MORE;
70 field public static final int SPLICE_F_MOVE;
71 field public static final int TIOCOUTQ;
72 field public static final int UDP_ENCAP;
73 field public static final int UDP_ENCAP_ESPINUDP;
74 field public static final int XATTR_CREATE;
75 field public static final int XATTR_REPLACE;
76 field public static final int _LINUX_CAPABILITY_VERSION_3;
77 }
78
79 public final class PacketSocketAddress extends java.net.SocketAddress {
80 ctor public PacketSocketAddress(int, int, byte[]);
81 }
82
Victor Changa90ceb32021-06-23 17:30:05 +010083 public final class StructCapUserData {
84 ctor public StructCapUserData(int, int, int);
Victor Chang59b1f072021-05-26 18:11:40 +010085 field public final int effective;
86 field public final int inheritable;
87 field public final int permitted;
88 }
89
Victor Changa90ceb32021-06-23 17:30:05 +010090 public final class StructCapUserHeader {
91 ctor public StructCapUserHeader(int, int);
92 }
93
94 public final class StructLinger {
95 ctor public StructLinger(int, int);
96 method public boolean isOn();
97 field public final int l_linger;
98 }
99
100 public final class StructRlimit {
101 field public final long rlim_cur;
Victor Chang59b1f072021-05-26 18:11:40 +0100102 }
103
104 public final class UnixSocketAddress extends java.net.SocketAddress {
105 method public static android.system.UnixSocketAddress createFileSystem(String);
106 }
107
Victor Chang59b1f072021-05-26 18:11:40 +0100108}
109
Victor Change965ca12021-06-23 17:39:18 +0100110package com.android.okhttp.internalandroidapi {
111
112 public final class AndroidResponseCacheAdapter {
113 ctor public AndroidResponseCacheAdapter(@NonNull com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder);
114 method public void close() throws java.io.IOException;
115 method public void delete() throws java.io.IOException;
116 method public void flush() throws java.io.IOException;
117 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;
118 method @NonNull public com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder getCacheHolder();
119 method public int getHitCount();
120 method public long getMaxSize();
121 method public int getNetworkCount();
122 method public int getRequestCount();
123 method public long getSize() throws java.io.IOException;
124 method @Nullable public java.net.CacheRequest put(@NonNull java.net.URI, @NonNull java.net.URLConnection) throws java.io.IOException;
125 }
126
127 public interface HasCacheHolder {
128 method @NonNull public com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder getCacheHolder();
129 }
130
131 public static final class HasCacheHolder.CacheHolder {
132 method @NonNull public static com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder create(@NonNull java.io.File, long);
133 method public boolean isEquivalent(@NonNull java.io.File, long);
134 }
135
136}
137
Victor Chang59b1f072021-05-26 18:11:40 +0100138package dalvik.annotation.codegen {
139
140 @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 {
141 method public abstract int presentAfter();
142 method public abstract Class<?> returnType();
143 }
144
145 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public static @interface CovariantReturnType.CovariantReturnTypes {
146 method public abstract dalvik.annotation.codegen.CovariantReturnType[] value();
147 }
148
149}
150
Nikita Iashchenkod61c64a2021-03-05 16:37:18 +0000151package dalvik.annotation.optimization {
152
153 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface CriticalNative {
154 }
155
156 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface FastNative {
157 }
158
Kevin Jeonc9ad7fb2021-11-18 02:17:58 +0000159 @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface NeverCompile {
160 }
161
Nikita Iashchenkod61c64a2021-03-05 16:37:18 +0000162}
163
Victor Chang59b1f072021-05-26 18:11:40 +0100164package dalvik.system {
165
166 public final class AnnotatedStackTraceElement {
167 method @Nullable public Object getBlockedOn();
168 method @Nullable public Object[] getHeldLocks();
169 method @NonNull public StackTraceElement getStackTraceElement();
170 }
171
172 public class AppSpecializationHooks {
173 method public static void handleCompatChangesBeforeBindingApplication();
174 }
175
176 public class BaseDexClassLoader extends java.lang.ClassLoader {
177 method public void addDexPath(@Nullable String);
178 method public void addNativePath(@NonNull java.util.Collection<java.lang.String>);
179 method @NonNull public String getLdLibraryPath();
180 method public void reportClassLoaderChain();
181 method public static void setReporter(@Nullable dalvik.system.BaseDexClassLoader.Reporter);
182 }
183
184 public static interface BaseDexClassLoader.Reporter {
185 method public void report(@NonNull java.util.Map<java.lang.String,java.lang.String>);
186 }
187
188 public final class BlockGuard {
189 method @NonNull public static dalvik.system.BlockGuard.Policy getThreadPolicy();
190 method @NonNull public static dalvik.system.BlockGuard.VmPolicy getVmPolicy();
191 method public static void setThreadPolicy(@NonNull dalvik.system.BlockGuard.Policy);
192 method public static void setVmPolicy(@NonNull dalvik.system.BlockGuard.VmPolicy);
193 field public static final dalvik.system.BlockGuard.Policy LAX_POLICY;
194 field public static final dalvik.system.BlockGuard.VmPolicy LAX_VM_POLICY;
195 }
196
197 public static interface BlockGuard.Policy {
198 method public int getPolicyMask();
199 method public void onReadFromDisk();
200 method public void onUnbufferedIO();
201 method public void onWriteToDisk();
202 }
203
204 public static interface BlockGuard.VmPolicy {
205 method public void onPathAccess(@NonNull String);
206 }
207
208 public final class CloseGuard {
209 method public void close();
210 method public static dalvik.system.CloseGuard get();
211 method public static dalvik.system.CloseGuard.Reporter getReporter();
212 method public void open(String);
213 method public void openWithCallSite(String, String);
214 method public static void setEnabled(boolean);
215 method public static void setReporter(dalvik.system.CloseGuard.Reporter);
216 method public void warnIfOpen();
217 }
218
219 public static interface CloseGuard.Reporter {
220 method public void report(String, Throwable);
221 method public default void report(String);
222 }
223
Nikita Iashchenkofb26c7c2021-06-03 16:21:42 +0100224 public final class DelegateLastClassLoader extends dalvik.system.PathClassLoader {
225 ctor public DelegateLastClassLoader(String, String, ClassLoader, ClassLoader[]);
Brad Stenningbc983132021-06-14 12:46:03 -0700226 ctor public DelegateLastClassLoader(String, String, ClassLoader, ClassLoader[], ClassLoader[]);
Nikita Iashchenkofb26c7c2021-06-03 16:21:42 +0100227 }
228
Victor Chang59b1f072021-05-26 18:11:40 +0100229 @Deprecated public final class DexFile {
230 method @Deprecated @NonNull public static dalvik.system.DexFile.OptimizationInfo getDexFileOptimizationInfo(@NonNull String, @NonNull String) throws java.io.FileNotFoundException;
231 method @Deprecated @Nullable public static String[] getDexFileOutputPaths(@NonNull String, @NonNull String) throws java.io.FileNotFoundException;
232 method @Deprecated public static int getDexOptNeeded(@NonNull String, @NonNull String, @NonNull String, @Nullable String, boolean, boolean) throws java.io.FileNotFoundException, java.io.IOException;
233 method @Deprecated @NonNull public static String getSafeModeCompilerFilter(@NonNull String);
234 method @Deprecated public static boolean isProfileGuidedCompilerFilter(@NonNull String);
235 method @Deprecated public static boolean isValidCompilerFilter(@NonNull String);
236 field @Deprecated public static final int DEX2OAT_FOR_FILTER = 3; // 0x3
237 field @Deprecated public static final int NO_DEXOPT_NEEDED = 0; // 0x0
238 }
239
240 @Deprecated public static final class DexFile.OptimizationInfo {
241 method @Deprecated @NonNull public String getReason();
242 method @Deprecated @NonNull public String getStatus();
243 }
244
245 public class PathClassLoader extends dalvik.system.BaseDexClassLoader {
246 ctor public PathClassLoader(@NonNull String, @Nullable String, @Nullable ClassLoader, @Nullable ClassLoader[]);
Brad Stenningbc983132021-06-14 12:46:03 -0700247 ctor public PathClassLoader(@NonNull String, @Nullable String, @Nullable ClassLoader, @Nullable ClassLoader[], @Nullable ClassLoader[]);
Victor Chang59b1f072021-05-26 18:11:40 +0100248 }
249
250 public final class RuntimeHooks {
251 method public static void setTimeZoneIdSupplier(@NonNull java.util.function.Supplier<java.lang.String>);
252 method public static void setUncaughtExceptionPreHandler(@Nullable java.lang.Thread.UncaughtExceptionHandler);
253 }
254
255 public abstract class SocketTagger {
256 ctor public SocketTagger();
257 method public static dalvik.system.SocketTagger get();
258 method public static void set(dalvik.system.SocketTagger);
259 method public abstract void tag(java.io.FileDescriptor) throws java.net.SocketException;
260 method public final void tag(java.net.Socket) throws java.net.SocketException;
261 method public final void tag(java.net.DatagramSocket) throws java.net.SocketException;
262 method public abstract void untag(java.io.FileDescriptor) throws java.net.SocketException;
263 method public final void untag(java.net.Socket) throws java.net.SocketException;
264 method public final void untag(java.net.DatagramSocket) throws java.net.SocketException;
265 }
266
267 public final class VMDebug {
268 method public static void attachAgent(String, ClassLoader) throws java.io.IOException;
269 method public static long countInstancesOfClass(Class, boolean);
270 method public static long[] countInstancesOfClasses(Class[], boolean);
271 method public static void dumpHprofData(String) throws java.io.IOException;
272 method public static void dumpHprofData(String, java.io.FileDescriptor) throws java.io.IOException;
273 method public static void dumpHprofDataDdms();
274 method public static void dumpReferenceTables();
275 method public static int getAllocCount(int);
Victor Chang7a4aa1c2022-07-11 11:51:23 +0100276 method public static int getLoadedClassCount();
Victor Chang59b1f072021-05-26 18:11:40 +0100277 method public static int getMethodTracingMode();
278 method public static String getRuntimeStat(String);
279 method public static java.util.Map<java.lang.String,java.lang.String> getRuntimeStats();
280 method public static String[] getVmFeatureList();
Victor Chang7a4aa1c2022-07-11 11:51:23 +0100281 method public static boolean isDebuggerConnected();
282 method public static boolean isDebuggingEnabled();
283 method public static long lastDebuggerActivity();
284 method public static void printLoadedClasses(int);
Victor Chang59b1f072021-05-26 18:11:40 +0100285 method public static void resetAllocCount(int);
286 method public static void setAllocTrackerStackDepth(int);
287 method public static void startAllocCounting();
288 method public static void startMethodTracing(String, int, int, boolean, int);
289 method public static void startMethodTracing(String, java.io.FileDescriptor, int, int, boolean, int, boolean);
290 method public static void startMethodTracingDdms(int, int, boolean, int);
291 method public static void stopAllocCounting();
292 method public static void stopMethodTracing();
Victor Chang7a4aa1c2022-07-11 11:51:23 +0100293 method public static long threadCpuTimeNanos();
Victor Chang59b1f072021-05-26 18:11:40 +0100294 field public static final int KIND_ALL_COUNTS = -1; // 0xffffffff
295 field public static final int KIND_GLOBAL_ALLOCATED_BYTES = 2; // 0x2
296 field public static final int KIND_GLOBAL_ALLOCATED_OBJECTS = 1; // 0x1
297 field public static final int KIND_GLOBAL_CLASS_INIT_COUNT = 32; // 0x20
298 field public static final int KIND_GLOBAL_CLASS_INIT_TIME = 64; // 0x40
299 field public static final int KIND_GLOBAL_FREED_BYTES = 8; // 0x8
300 field public static final int KIND_GLOBAL_FREED_OBJECTS = 4; // 0x4
301 field public static final int KIND_GLOBAL_GC_INVOCATIONS = 16; // 0x10
302 field public static final int KIND_THREAD_ALLOCATED_BYTES = 131072; // 0x20000
303 field public static final int KIND_THREAD_ALLOCATED_OBJECTS = 65536; // 0x10000
304 field public static final int KIND_THREAD_GC_INVOCATIONS = 1048576; // 0x100000
305 field public static final int TRACE_COUNT_ALLOCS = 1; // 0x1
306 }
307
308 public final class VMRuntime {
Victor Chang7a4aa1c2022-07-11 11:51:23 +0100309 method public long addressOf(Object);
Victor Chang59b1f072021-05-26 18:11:40 +0100310 method public static void bootCompleted();
311 method public void clampGrowthLimit();
312 method public void clearGrowthLimit();
313 method public static String getCurrentInstructionSet();
314 method public static String getInstructionSet(String);
315 method public static dalvik.system.VMRuntime getRuntime();
316 method public int getTargetSdkVersion();
Victor Chang7a4aa1c2022-07-11 11:51:23 +0100317 method public boolean is64Bit();
Victor Chang59b1f072021-05-26 18:11:40 +0100318 method public static boolean is64BitAbi(String);
319 method public static boolean is64BitInstructionSet(String);
Victor Chang7a4aa1c2022-07-11 11:51:23 +0100320 method public boolean isCheckJniEnabled();
321 method public boolean isNativeDebuggable();
Victor Chang59b1f072021-05-26 18:11:40 +0100322 method public static boolean isValidClassLoaderContext(String);
Victor Chang7a4aa1c2022-07-11 11:51:23 +0100323 method public Object newNonMovableArray(Class<?>, int);
324 method public Object newUnpaddedArray(Class<?>, int);
Victor Chang59b1f072021-05-26 18:11:40 +0100325 method public void notifyStartupCompleted();
326 method public void preloadDexCaches();
327 method public static void registerAppInfo(String, String, String, String[], int);
328 method public void registerNativeAllocation(long);
329 method @Deprecated public void registerNativeAllocation(int);
330 method public void registerNativeFree(long);
331 method @Deprecated public void registerNativeFree(int);
332 method public static void registerSensitiveThread();
333 method public void requestConcurrentGC();
334 method public static void resetJitCounters();
335 method public static void setDedupeHiddenApiWarnings(boolean);
336 method public void setDisabledCompatChanges(long[]);
337 method public void setHiddenApiAccessLogSamplingRate(int);
338 method public void setHiddenApiExemptions(String[]);
339 method public static void setHiddenApiUsageLogger(dalvik.system.VMRuntime.HiddenApiUsageLogger);
340 method public static void setNonSdkApiUsageConsumer(java.util.function.Consumer<java.lang.String>);
341 method public static void setProcessDataDirectory(String);
342 method public static void setProcessPackageName(String);
343 method public void setTargetSdkVersion(int);
344 method public void updateProcessState(int);
345 method public String vmInstructionSet();
346 method public String vmLibrary();
347 field public static final int CODE_PATH_TYPE_PRIMARY_APK = 1; // 0x1
348 field public static final int CODE_PATH_TYPE_SECONDARY_DEX = 4; // 0x4
349 field public static final int CODE_PATH_TYPE_SPLIT_APK = 2; // 0x2
350 field public static final int SDK_VERSION_CUR_DEVELOPMENT = 10000; // 0x2710
351 }
352
353 public static interface VMRuntime.HiddenApiUsageLogger {
354 method public void hiddenApiUsed(int, String, String, int, boolean);
355 field public static final int ACCESS_METHOD_JNI = 2; // 0x2
356 field public static final int ACCESS_METHOD_LINKING = 3; // 0x3
357 field public static final int ACCESS_METHOD_NONE = 0; // 0x0
358 field public static final int ACCESS_METHOD_REFLECTION = 1; // 0x1
359 }
360
Victor Change965ca12021-06-23 17:39:18 +0100361 public final class VMStack {
Victor Chang7a4aa1c2022-07-11 11:51:23 +0100362 method @Nullable public static dalvik.system.AnnotatedStackTraceElement[] getAnnotatedThreadStackTrace(Thread);
Victor Change965ca12021-06-23 17:39:18 +0100363 }
364
Victor Chang59b1f072021-05-26 18:11:40 +0100365 public final class ZygoteHooks {
366 method public static void gcAndFinalize();
367 method public static boolean isIndefiniteThreadSuspensionSafe();
368 method public static void onBeginPreload();
369 method public static void onEndPreload();
370 method public static void postForkChild(int, boolean, boolean, String);
371 method public static void postForkCommon();
372 method public static void postForkSystemServer(int);
373 method public static void preFork();
374 method public static void startZygoteNoThreadCreation();
375 method public static void stopZygoteNoThreadCreation();
376 }
377
378}
379
Victor Chang82f70f42021-05-27 12:30:53 +0100380package java.io {
381
382 public final class FileDescriptor {
383 method public int getInt$();
384 method public void setInt$(int);
385 }
386
387 public class FileInputStream extends java.io.InputStream {
388 ctor public FileInputStream(java.io.FileDescriptor, boolean);
389 }
390
391}
392
393package java.lang {
394
395 public class Thread implements java.lang.Runnable {
396 method public static java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionPreHandler();
397 method public static void setUncaughtExceptionPreHandler(java.lang.Thread.UncaughtExceptionHandler);
398 }
399
400}
401
402package java.net {
403
404 public class DatagramSocket implements java.io.Closeable {
405 method public java.io.FileDescriptor getFileDescriptor$();
406 }
407
408 public final class Inet4Address extends java.net.InetAddress {
409 field public static final java.net.InetAddress ALL;
410 field public static final java.net.InetAddress ANY;
411 field public static final java.net.InetAddress LOOPBACK;
412 }
413
414 public final class Inet6Address extends java.net.InetAddress {
415 field public static final java.net.InetAddress ANY;
416 field public static final java.net.InetAddress LOOPBACK;
417 }
418
419 public class InetAddress implements java.io.Serializable {
420 method public static void clearDnsCache();
421 method @NonNull public static java.net.InetAddress[] getAllByNameOnNet(@Nullable String, int) throws java.net.UnknownHostException;
422 method @NonNull public static java.net.InetAddress getByNameOnNet(@Nullable String, int) throws java.net.UnknownHostException;
423 method @Deprecated public static boolean isNumeric(String);
424 method @Deprecated public static java.net.InetAddress parseNumericAddress(String);
425 }
426
Victor Change965ca12021-06-23 17:39:18 +0100427 public class InetSocketAddress extends java.net.SocketAddress {
428 ctor public InetSocketAddress();
429 }
430
431 public class ServerSocket implements java.io.Closeable {
432 method public java.net.SocketImpl getImpl() throws java.net.SocketException;
433 }
434
Victor Chang82f70f42021-05-27 12:30:53 +0100435 public class Socket implements java.io.Closeable {
436 method public java.io.FileDescriptor getFileDescriptor$();
437 }
438
439 public abstract class SocketImpl implements java.net.SocketOptions {
440 method public java.io.FileDescriptor getFD$();
441 }
442
443}
444
Victor Chang59b1f072021-05-26 18:11:40 +0100445package java.nio {
446
Victor Chang82f70f42021-05-27 12:30:53 +0100447 public abstract class ByteBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ByteBuffer> {
448 method public void setAccessible(boolean);
449 }
450
451 public class DirectByteBuffer extends java.nio.MappedByteBuffer {
452 ctor public DirectByteBuffer(int, long, java.io.FileDescriptor, Runnable, boolean);
453 method public final long address();
454 method public final void setAccessible(boolean);
455 }
456
Victor Chang59b1f072021-05-26 18:11:40 +0100457 public final class NIOAccess {
458 method public static Object getBaseArray(java.nio.Buffer);
459 method public static int getBaseArrayOffset(java.nio.Buffer);
460 }
461
462 public final class NioUtils {
463 method public static void freeDirectBuffer(java.nio.ByteBuffer);
464 method public static byte[] unsafeArray(java.nio.ByteBuffer);
465 method public static int unsafeArrayOffset(java.nio.ByteBuffer);
466 }
467
468}
469
Victor Chang82f70f42021-05-27 12:30:53 +0100470package java.security {
471
472 public abstract class Provider extends java.util.Properties {
473 method public void warmUpServiceProvision();
474 }
475
476 public abstract class Signature extends java.security.SignatureSpi {
477 method public java.security.SignatureSpi getCurrentSpi();
478 }
479
480}
481
482package java.text {
483
484 public abstract class DateFormat extends java.text.Format {
485 method public static final void set24HourTimePref(Boolean);
486 }
487
488}
489
490package java.util {
491
492 public class LinkedHashMap<K, V> extends java.util.HashMap<K,V> implements java.util.Map<K,V> {
493 method public java.util.Map.Entry<K,V> eldest();
494 }
495
496}
497
498package java.util.zip {
499
500 public class ZipEntry implements java.lang.Cloneable {
501 method public long getDataOffset();
502 }
503
504}
505
Victor Change965ca12021-06-23 17:39:18 +0100506package javax.crypto {
507
508 public class Cipher {
509 method public javax.crypto.CipherSpi getCurrentSpi();
510 }
511
512 public class Mac implements java.lang.Cloneable {
513 method public javax.crypto.MacSpi getCurrentSpi();
514 }
515
516}
517
Victor Chang82f70f42021-05-27 12:30:53 +0100518package javax.net.ssl {
519
520 public abstract class HttpsURLConnection extends java.net.HttpURLConnection {
521 method public static javax.net.ssl.HostnameVerifier getStrictHostnameVerifier();
522 }
523
524}
525
Victor Chang59b1f072021-05-26 18:11:40 +0100526package libcore.content.type {
527
528 public final class MimeMap {
529 method @NonNull public libcore.content.type.MimeMap.Builder buildUpon();
530 method @NonNull public static libcore.content.type.MimeMap.Builder builder();
531 method @NonNull public java.util.Set<java.lang.String> extensions();
532 method @NonNull public static libcore.content.type.MimeMap getDefault();
533 method @Nullable public String guessExtensionFromMimeType(@Nullable String);
534 method @Nullable public String guessMimeTypeFromExtension(@Nullable String);
535 method public boolean hasExtension(@Nullable String);
536 method public boolean hasMimeType(@Nullable String);
537 method @NonNull public java.util.Set<java.lang.String> mimeTypes();
538 method public static void setDefaultSupplier(@NonNull java.util.function.Supplier<libcore.content.type.MimeMap>);
539 }
540
541 public static final class MimeMap.Builder {
542 method @NonNull public libcore.content.type.MimeMap.Builder addMimeMapping(@NonNull String, @NonNull java.util.List<java.lang.String>);
543 method @NonNull public libcore.content.type.MimeMap build();
544 }
545
546}
547
Victor Chang0cd67fb2021-05-12 10:35:00 +0100548package libcore.io {
549
Victor Chang59b1f072021-05-26 18:11:40 +0100550 public class ForwardingOs implements libcore.io.Os {
551 ctor protected ForwardingOs(@NonNull libcore.io.Os);
552 method public boolean access(@Nullable String, int) throws android.system.ErrnoException;
553 method public java.io.FileDescriptor open(@Nullable String, int, int) throws android.system.ErrnoException;
554 method public void remove(@Nullable String) throws android.system.ErrnoException;
555 method public void rename(@Nullable String, @Nullable String) throws android.system.ErrnoException;
556 method @Nullable public android.system.StructStat stat(@Nullable String) throws android.system.ErrnoException;
557 method public void unlink(@Nullable String) throws android.system.ErrnoException;
558 }
559
Victor Change965ca12021-06-23 17:39:18 +0100560 public final class IoBridge {
561 method public static void closeAndSignalBlockedThreads(@NonNull java.io.FileDescriptor) throws java.io.IOException;
562 method @NonNull public static java.io.FileDescriptor open(@NonNull String, int) throws java.io.FileNotFoundException;
563 method public static int read(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int) throws java.io.IOException;
564 method public static void write(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int) throws java.io.IOException;
565 }
566
Victor Chang59b1f072021-05-26 18:11:40 +0100567 public final class IoUtils {
568 method public static int acquireRawFd(@NonNull java.io.FileDescriptor);
569 method public static void close(@Nullable java.io.FileDescriptor) throws java.io.IOException;
570 method public static void closeQuietly(@Nullable AutoCloseable);
571 method public static void closeQuietly(@Nullable java.io.FileDescriptor);
572 method public static void closeQuietly(@Nullable java.net.Socket);
573 method @NonNull public static byte[] readFileAsByteArray(@NonNull String) throws java.io.IOException;
574 method @NonNull public static String readFileAsString(@NonNull String) throws java.io.IOException;
575 method public static void setBlocking(@NonNull java.io.FileDescriptor, boolean) throws java.io.IOException;
576 method public static void setFdOwner(@NonNull java.io.FileDescriptor, @NonNull Object);
577 }
578
Victor Chang0cd67fb2021-05-12 10:35:00 +0100579 public final class Memory {
580 method public static void memmove(@NonNull Object, int, @NonNull Object, int, long);
581 method public static int peekInt(@NonNull byte[], int, @NonNull java.nio.ByteOrder);
582 method public static short peekShort(@NonNull byte[], int, @NonNull java.nio.ByteOrder);
583 method public static void pokeInt(@NonNull byte[], int, int, @NonNull java.nio.ByteOrder);
584 method public static void pokeLong(@NonNull byte[], int, long, @NonNull java.nio.ByteOrder);
585 method public static void pokeShort(@NonNull byte[], int, short, @NonNull java.nio.ByteOrder);
586 }
587
Victor Chang59b1f072021-05-26 18:11:40 +0100588 public interface Os {
589 method public static boolean compareAndSetDefault(libcore.io.Os, libcore.io.Os);
590 method public static libcore.io.Os getDefault();
591 }
592
593 public final class Streams {
594 method public static int copy(@NonNull java.io.InputStream, @NonNull java.io.OutputStream) throws java.io.IOException;
595 method public static void readFully(@NonNull java.io.InputStream, @NonNull byte[]) throws java.io.IOException;
596 method @NonNull public static byte[] readFully(@NonNull java.io.InputStream) throws java.io.IOException;
597 method @NonNull public static String readFully(@NonNull java.io.Reader) throws java.io.IOException;
598 method @NonNull public static byte[] readFullyNoClose(@NonNull java.io.InputStream) throws java.io.IOException;
599 method public static int readSingleByte(@NonNull java.io.InputStream) throws java.io.IOException;
600 method public static long skipByReading(@NonNull java.io.InputStream, long) throws java.io.IOException;
601 method public static void writeSingleByte(@NonNull java.io.OutputStream, int) throws java.io.IOException;
602 }
603
604}
605
606package libcore.net {
607
608 public class InetAddressUtils {
609 method public static boolean isNumericAddress(String);
610 method public static java.net.InetAddress parseNumericAddress(String);
611 }
612
613 public abstract class NetworkSecurityPolicy {
614 ctor public NetworkSecurityPolicy();
615 method public static libcore.net.NetworkSecurityPolicy getInstance();
616 method public abstract boolean isCertificateTransparencyVerificationRequired(String);
617 method public abstract boolean isCleartextTrafficPermitted();
618 method public abstract boolean isCleartextTrafficPermitted(String);
619 method public static void setInstance(libcore.net.NetworkSecurityPolicy);
620 }
621
622}
623
624package libcore.net.event {
625
626 public final class NetworkEventDispatcher {
627 method public void dispatchNetworkConfigurationChange();
628 method public static libcore.net.event.NetworkEventDispatcher getInstance();
629 }
630
631}
632
633package libcore.net.http {
634
635 public interface Dns {
636 method @NonNull public java.util.List<java.net.InetAddress> lookup(@Nullable String) throws java.net.UnknownHostException;
637 }
638
639 public class HttpURLConnectionFactory {
640 method @NonNull public static libcore.net.http.HttpURLConnectionFactory createInstance();
641 method public java.net.URLConnection openConnection(@NonNull java.net.URL, @NonNull javax.net.SocketFactory, @NonNull java.net.Proxy) throws java.io.IOException;
642 method public void setDns(@NonNull libcore.net.http.Dns);
643 method public void setNewConnectionPool(int, long, @NonNull java.util.concurrent.TimeUnit);
644 }
645
646}
647
648package libcore.util {
649
Victor Change965ca12021-06-23 17:39:18 +0100650 public final class EmptyArray {
651 field @NonNull public static final boolean[] BOOLEAN;
652 field @NonNull public static final byte[] BYTE;
653 field @NonNull public static final float[] FLOAT;
654 field @NonNull public static final int[] INT;
655 field @NonNull public static final long[] LONG;
656 field @NonNull public static final Object[] OBJECT;
657 field @NonNull public static final String[] STRING;
658 }
659
Victor Chang59b1f072021-05-26 18:11:40 +0100660 public final class FP16 {
661 method public static short ceil(short);
662 method public static int compare(short, short);
663 method public static boolean equals(short, short);
664 method public static short floor(short);
665 method public static boolean greater(short, short);
666 method public static boolean greaterEquals(short, short);
667 method public static boolean isInfinite(short);
668 method public static boolean isNaN(short);
669 method public static boolean isNormalized(short);
670 method public static boolean less(short, short);
671 method public static boolean lessEquals(short, short);
672 method public static short max(short, short);
673 method public static short min(short, short);
674 method public static short rint(short);
675 method public static float toFloat(short);
676 method public static short toHalf(float);
677 method public static String toHexString(short);
678 method public static short trunc(short);
679 field public static final short EPSILON = 5120; // 0x1400
680 field public static final int EXPONENT_BIAS = 15; // 0xf
681 field public static final int EXPONENT_SHIFT = 10; // 0xa
682 field public static final int EXPONENT_SIGNIFICAND_MASK = 32767; // 0x7fff
683 field public static final short LOWEST_VALUE = -1025; // 0xfffffbff
684 field public static final int MAX_EXPONENT = 15; // 0xf
685 field public static final short MAX_VALUE = 31743; // 0x7bff
686 field public static final int MIN_EXPONENT = -14; // 0xfffffff2
687 field public static final short MIN_NORMAL = 1024; // 0x400
688 field public static final short MIN_VALUE = 1; // 0x1
689 field public static final short NEGATIVE_INFINITY = -1024; // 0xfffffc00
690 field public static final short NEGATIVE_ZERO = -32768; // 0xffff8000
691 field public static final short NaN = 32256; // 0x7e00
692 field public static final short POSITIVE_INFINITY = 31744; // 0x7c00
693 field public static final short POSITIVE_ZERO = 0; // 0x0
694 field public static final int SHIFTED_EXPONENT_MASK = 31; // 0x1f
695 field public static final int SIGNIFICAND_MASK = 1023; // 0x3ff
696 field public static final int SIGN_MASK = 32768; // 0x8000
697 field public static final int SIGN_SHIFT = 15; // 0xf
698 field public static final int SIZE = 16; // 0x10
699 }
700
701 public class HexEncoding {
702 method public static byte[] decode(String) throws java.lang.IllegalArgumentException;
703 method public static byte[] decode(String, boolean) throws java.lang.IllegalArgumentException;
704 method public static byte[] decode(char[]) throws java.lang.IllegalArgumentException;
705 method public static byte[] decode(char[], boolean) throws java.lang.IllegalArgumentException;
706 method public static char[] encode(byte[]);
707 method public static char[] encode(byte[], boolean);
708 method public static char[] encode(byte[], int, int);
709 method public static String encodeToString(byte, boolean);
710 method public static String encodeToString(byte[]);
711 method public static String encodeToString(byte[], boolean);
712 }
713
714 public class NativeAllocationRegistry {
715 ctor public NativeAllocationRegistry(@NonNull ClassLoader, long, long);
716 method public static void applyFreeFunction(long, long);
717 method public static libcore.util.NativeAllocationRegistry createMalloced(@NonNull ClassLoader, long, long);
718 method public static libcore.util.NativeAllocationRegistry createMalloced(@NonNull ClassLoader, long);
719 method public static libcore.util.NativeAllocationRegistry createNonmalloced(@NonNull ClassLoader, long, long);
720 method @NonNull public Runnable registerNativeAllocation(@NonNull Object, long);
721 }
722
723 public class SneakyThrow {
724 method public static void sneakyThrow(@NonNull Throwable);
725 }
726
727 public class XmlObjectFactory {
728 method @NonNull public static org.xml.sax.XMLReader newXMLReader();
729 method @NonNull public static org.xmlpull.v1.XmlPullParser newXmlPullParser();
730 method @NonNull public static org.xmlpull.v1.XmlSerializer newXmlSerializer();
731 }
732
733}
734
735package org.apache.harmony.dalvik.ddmc {
736
737 public class Chunk {
738 ctor public Chunk(int, byte[], int, int);
739 ctor public Chunk(int, java.nio.ByteBuffer);
740 field public int type;
741 }
742
743 public abstract class ChunkHandler {
744 ctor public ChunkHandler();
745 method public static org.apache.harmony.dalvik.ddmc.Chunk createFailChunk(int, String);
746 method public abstract org.apache.harmony.dalvik.ddmc.Chunk handleChunk(org.apache.harmony.dalvik.ddmc.Chunk);
747 method public static String name(int);
748 method public abstract void onConnected();
749 method public abstract void onDisconnected();
750 method public static int type(String);
751 method public static java.nio.ByteBuffer wrapChunk(org.apache.harmony.dalvik.ddmc.Chunk);
752 field public static final java.nio.ByteOrder CHUNK_ORDER;
753 }
754
755 public final class DdmServer {
756 method public static void registerHandler(int, org.apache.harmony.dalvik.ddmc.ChunkHandler);
757 method public static void registrationComplete();
758 method public static void sendChunk(org.apache.harmony.dalvik.ddmc.Chunk);
759 method public static org.apache.harmony.dalvik.ddmc.ChunkHandler unregisterHandler(int);
760 }
761
762 public final class DdmVmInternal {
763 method public static void setRecentAllocationsTrackingEnabled(boolean);
764 method public static void setThreadNotifyEnabled(boolean);
765 }
766
767}
768
769package org.json {
770
771 public class JSONObject {
772 method @NonNull public java.util.Set<java.lang.String> keySet();
773 }
774
Victor Chang0cd67fb2021-05-12 10:35:00 +0100775}
776
Victor Chang82f70f42021-05-27 12:30:53 +0100777package sun.misc {
778
779 public class Cleaner extends java.lang.ref.PhantomReference<java.lang.Object> {
780 method public void clean();
781 method public static sun.misc.Cleaner create(Object, Runnable);
782 }
783
784 public final class Unsafe {
785 method public int arrayBaseOffset(Class);
786 method public int arrayIndexScale(Class);
Victor Chang7a4aa1c2022-07-11 11:51:23 +0100787 method public void copyMemory(long, long, long);
788 method public boolean getBoolean(Object, long);
789 method public byte getByte(Object, long);
790 method public byte getByte(long);
791 method public double getDouble(Object, long);
792 method public double getDouble(long);
793 method public float getFloat(Object, long);
794 method public float getFloat(long);
795 method public int getInt(Object, long);
796 method public int getInt(long);
797 method public long getLong(Object, long);
798 method public long getLong(long);
799 method public Object getObject(Object, long);
Victor Chang82f70f42021-05-27 12:30:53 +0100800 method public static sun.misc.Unsafe getUnsafe();
801 method public long objectFieldOffset(java.lang.reflect.Field);
Victor Chang7a4aa1c2022-07-11 11:51:23 +0100802 method public void putBoolean(Object, long, boolean);
803 method public void putByte(Object, long, byte);
804 method public void putByte(long, byte);
805 method public void putDouble(Object, long, double);
806 method public void putDouble(long, double);
807 method public void putFloat(Object, long, float);
808 method public void putFloat(long, float);
809 method public void putInt(Object, long, int);
810 method public void putInt(long, int);
811 method public void putLong(Object, long, long);
812 method public void putLong(long, long);
813 method public void putObject(Object, long, Object);
Victor Chang82f70f42021-05-27 12:30:53 +0100814 }
815
816}
817
818package sun.security.jca {
819
820 public class Providers {
821 method public static Object startJarVerification();
822 method public static void stopJarVerification(Object);
823 }
824
825}
826
827package sun.security.pkcs {
828
829 public class PKCS7 {
830 ctor public PKCS7(java.io.InputStream) throws java.io.IOException, sun.security.pkcs.ParsingException;
831 ctor public PKCS7(byte[]) throws sun.security.pkcs.ParsingException;
832 method public java.security.cert.X509Certificate[] getCertificates();
833 method public sun.security.pkcs.SignerInfo[] getSignerInfos();
834 method public sun.security.pkcs.SignerInfo verify(sun.security.pkcs.SignerInfo, java.io.InputStream) throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.SignatureException;
835 method public sun.security.pkcs.SignerInfo[] verify(byte[]) throws java.security.NoSuchAlgorithmException, java.security.SignatureException;
836 }
837
838 public class ParsingException extends java.io.IOException {
839 }
840
841 public class SignerInfo {
842 ctor public SignerInfo();
843 method public java.util.ArrayList<java.security.cert.X509Certificate> getCertificateChain(sun.security.pkcs.PKCS7) throws java.io.IOException;
844 }
845
846}
847
848package sun.security.util {
849
850 public final class ObjectIdentifier implements java.io.Serializable {
851 ctor public ObjectIdentifier(String) throws java.io.IOException;
852 }
853
854}
855
856package sun.security.x509 {
857
858 public class AlgorithmId implements java.io.Serializable {
859 ctor public AlgorithmId(sun.security.util.ObjectIdentifier);
860 method public String getName();
861 }
862
863}
864