1// Signature format: 2.0
2package 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 {
40    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;
42    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;
45    method @Nullable public static android.system.StructLinger getsockoptLinger(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
46    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;
53    method public static void setsockoptLinger(@NonNull java.io.FileDescriptor, int, int, @NonNull android.system.StructLinger) throws android.system.ErrnoException;
54    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
83  public final class StructCapUserData {
84    ctor public StructCapUserData(int, int, int);
85    field public final int effective;
86    field public final int inheritable;
87    field public final int permitted;
88  }
89
90  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;
102  }
103
104  public final class UnixSocketAddress extends java.net.SocketAddress {
105    method public static android.system.UnixSocketAddress createFileSystem(String);
106  }
107
108}
109
110package 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
138package 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
151package 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 NeverCompile {
154  }
155
156  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.METHOD}) public @interface NeverInline {
157  }
158
159}
160
161package dalvik.system {
162
163  public final class AnnotatedStackTraceElement {
164    method @Nullable public Object getBlockedOn();
165    method @Nullable public Object[] getHeldLocks();
166    method @NonNull public StackTraceElement getStackTraceElement();
167  }
168
169  public class AppSpecializationHooks {
170    method public static void handleCompatChangesBeforeBindingApplication();
171  }
172
173  public class BaseDexClassLoader extends java.lang.ClassLoader {
174    method public void addDexPath(@Nullable String);
175    method public void addNativePath(@NonNull java.util.Collection<java.lang.String>);
176    method @NonNull public String getLdLibraryPath();
177    method public void reportClassLoaderChain();
178    method public static void setReporter(@Nullable dalvik.system.BaseDexClassLoader.Reporter);
179  }
180
181  public static interface BaseDexClassLoader.Reporter {
182    method public void report(@NonNull java.util.Map<java.lang.String,java.lang.String>);
183  }
184
185  public final class BlockGuard {
186    method @NonNull public static dalvik.system.BlockGuard.Policy getThreadPolicy();
187    method @NonNull public static dalvik.system.BlockGuard.VmPolicy getVmPolicy();
188    method public static void setThreadPolicy(@NonNull dalvik.system.BlockGuard.Policy);
189    method public static void setVmPolicy(@NonNull dalvik.system.BlockGuard.VmPolicy);
190    field public static final dalvik.system.BlockGuard.Policy LAX_POLICY;
191    field public static final dalvik.system.BlockGuard.VmPolicy LAX_VM_POLICY;
192  }
193
194  public static interface BlockGuard.Policy {
195    method public int getPolicyMask();
196    method public void onReadFromDisk();
197    method public void onUnbufferedIO();
198    method public void onWriteToDisk();
199  }
200
201  public static interface BlockGuard.VmPolicy {
202    method public void onPathAccess(@NonNull String);
203  }
204
205  public final class CloseGuard {
206    method public void close();
207    method public static dalvik.system.CloseGuard get();
208    method public static dalvik.system.CloseGuard.Reporter getReporter();
209    method public void open(String);
210    method public void openWithCallSite(String, String);
211    method public static void setEnabled(boolean);
212    method public static void setReporter(dalvik.system.CloseGuard.Reporter);
213    method public void warnIfOpen();
214  }
215
216  public static interface CloseGuard.Reporter {
217    method public void report(String, Throwable);
218    method public default void report(String);
219  }
220
221  public final class DelegateLastClassLoader extends dalvik.system.PathClassLoader {
222    ctor public DelegateLastClassLoader(String, String, ClassLoader, ClassLoader[]);
223    ctor public DelegateLastClassLoader(String, String, ClassLoader, ClassLoader[], ClassLoader[]);
224  }
225
226  public final class DexFile {
227    method @Deprecated @NonNull public static dalvik.system.DexFile.OptimizationInfo getDexFileOptimizationInfo(@NonNull String, @NonNull String) throws java.io.FileNotFoundException;
228    method @Nullable public static String[] getDexFileOutputPaths(@NonNull String, @NonNull String) throws java.io.FileNotFoundException;
229    method @Deprecated public static int getDexOptNeeded(@NonNull String, @NonNull String, @NonNull String, @Nullable String, boolean, boolean) throws java.io.FileNotFoundException, java.io.IOException;
230    method @NonNull public static String getSafeModeCompilerFilter(@NonNull String);
231    method public static boolean isOptimizedCompilerFilter(@NonNull String);
232    method public static boolean isProfileGuidedCompilerFilter(@NonNull String);
233    method public static boolean isValidCompilerFilter(@NonNull String);
234    method public static boolean isVerifiedCompilerFilter(@NonNull String);
235    field @Deprecated public static final int DEX2OAT_FOR_FILTER = 3; // 0x3
236    field @Deprecated public static final int NO_DEXOPT_NEEDED = 0; // 0x0
237  }
238
239  public static final class DexFile.OptimizationInfo {
240    method @NonNull public String getReason();
241    method @NonNull public String getStatus();
242  }
243
244  public class PathClassLoader extends dalvik.system.BaseDexClassLoader {
245    ctor public PathClassLoader(@NonNull String, @Nullable String, @Nullable ClassLoader, @Nullable ClassLoader[]);
246    ctor public PathClassLoader(@NonNull String, @Nullable String, @Nullable ClassLoader, @Nullable ClassLoader[], @Nullable ClassLoader[]);
247  }
248
249  public final class RuntimeHooks {
250    method public static void setTimeZoneIdSupplier(@NonNull java.util.function.Supplier<java.lang.String>);
251    method public static void setUncaughtExceptionPreHandler(@Nullable java.lang.Thread.UncaughtExceptionHandler);
252  }
253
254  public abstract class SocketTagger {
255    ctor public SocketTagger();
256    method public static dalvik.system.SocketTagger get();
257    method public static void set(dalvik.system.SocketTagger);
258    method public abstract void tag(java.io.FileDescriptor) throws java.net.SocketException;
259    method public final void tag(java.net.Socket) throws java.net.SocketException;
260    method public final void tag(java.net.DatagramSocket) throws java.net.SocketException;
261    method public abstract void untag(java.io.FileDescriptor) throws java.net.SocketException;
262    method public final void untag(java.net.Socket) throws java.net.SocketException;
263    method public final void untag(java.net.DatagramSocket) throws java.net.SocketException;
264  }
265
266  public final class VMDebug {
267    method @FlaggedApi("com.android.libcore.appinfo") public static void addApplication(@NonNull String);
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);
276    method public static int getLoadedClassCount();
277    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();
281    method public static boolean isDebuggerConnected();
282    method public static boolean isDebuggingEnabled();
283    method public static long lastDebuggerActivity();
284    method public static void printLoadedClasses(int);
285    method @FlaggedApi("com.android.libcore.appinfo") public static void removeApplication(@NonNull String);
286    method public static void resetAllocCount(int);
287    method public static void setAllocTrackerStackDepth(int);
288    method @FlaggedApi("com.android.libcore.appinfo") public static void setCurrentProcessName(@NonNull String);
289    method @FlaggedApi("com.android.libcore.appinfo") public static void setUserId(int);
290    method @FlaggedApi("com.android.libcore.appinfo") public static void setWaitingForDebugger(boolean);
291    method public static void startAllocCounting();
292    method public static void startMethodTracing(String, int, int, boolean, int);
293    method public static void startMethodTracing(String, java.io.FileDescriptor, int, int, boolean, int, boolean);
294    method public static void startMethodTracingDdms(int, int, boolean, int);
295    method public static void stopAllocCounting();
296    method public static void stopMethodTracing();
297    method public static void suspendAllAndSendVmStart();
298    method public static long threadCpuTimeNanos();
299    field public static final int KIND_ALL_COUNTS = -1; // 0xffffffff
300    field public static final int KIND_GLOBAL_ALLOCATED_BYTES = 2; // 0x2
301    field public static final int KIND_GLOBAL_ALLOCATED_OBJECTS = 1; // 0x1
302    field public static final int KIND_GLOBAL_CLASS_INIT_COUNT = 32; // 0x20
303    field public static final int KIND_GLOBAL_CLASS_INIT_TIME = 64; // 0x40
304    field public static final int KIND_GLOBAL_FREED_BYTES = 8; // 0x8
305    field public static final int KIND_GLOBAL_FREED_OBJECTS = 4; // 0x4
306    field public static final int KIND_GLOBAL_GC_INVOCATIONS = 16; // 0x10
307    field public static final int KIND_THREAD_ALLOCATED_BYTES = 131072; // 0x20000
308    field public static final int KIND_THREAD_ALLOCATED_OBJECTS = 65536; // 0x10000
309    field public static final int KIND_THREAD_GC_INVOCATIONS = 1048576; // 0x100000
310    field public static final int TRACE_COUNT_ALLOCS = 1; // 0x1
311  }
312
313  public final class VMRuntime {
314    method public long addressOf(Object);
315    method public static void bootCompleted();
316    method public void clampGrowthLimit();
317    method public void clearGrowthLimit();
318    method public static String getCurrentInstructionSet();
319    method public static String getInstructionSet(String);
320    method public static dalvik.system.VMRuntime getRuntime();
321    method public int getTargetSdkVersion();
322    method public boolean is64Bit();
323    method public static boolean is64BitAbi(String);
324    method public static boolean is64BitInstructionSet(String);
325    method public boolean isCheckJniEnabled();
326    method public boolean isNativeDebuggable();
327    method public static boolean isValidClassLoaderContext(String);
328    method public Object newNonMovableArray(Class<?>, int);
329    method public Object newUnpaddedArray(Class<?>, int);
330    method public void notifyStartupCompleted();
331    method public void preloadDexCaches();
332    method public static void registerAppInfo(String, String, String, String[], int);
333    method public void registerNativeAllocation(long);
334    method @Deprecated public void registerNativeAllocation(int);
335    method public void registerNativeFree(long);
336    method @Deprecated public void registerNativeFree(int);
337    method public static void registerSensitiveThread();
338    method public void requestConcurrentGC();
339    method public static void resetJitCounters();
340    method public static void setDedupeHiddenApiWarnings(boolean);
341    method public void setDisabledCompatChanges(long[]);
342    method public void setHiddenApiAccessLogSamplingRate(int);
343    method public void setHiddenApiExemptions(String[]);
344    method public static void setHiddenApiUsageLogger(dalvik.system.VMRuntime.HiddenApiUsageLogger);
345    method public static void setNonSdkApiUsageConsumer(java.util.function.Consumer<java.lang.String>);
346    method public static void setProcessDataDirectory(String);
347    method public static void setProcessPackageName(String);
348    method public void setTargetSdkVersion(int);
349    method public void updateProcessState(int);
350    method public String vmInstructionSet();
351    method public String vmLibrary();
352    field public static final int CODE_PATH_TYPE_PRIMARY_APK = 1; // 0x1
353    field public static final int CODE_PATH_TYPE_SECONDARY_DEX = 4; // 0x4
354    field public static final int CODE_PATH_TYPE_SPLIT_APK = 2; // 0x2
355    field public static final int SDK_VERSION_CUR_DEVELOPMENT = 10000; // 0x2710
356  }
357
358  public static interface VMRuntime.HiddenApiUsageLogger {
359    method public void hiddenApiUsed(int, String, String, int, boolean);
360    field public static final int ACCESS_METHOD_JNI = 2; // 0x2
361    field public static final int ACCESS_METHOD_LINKING = 3; // 0x3
362    field public static final int ACCESS_METHOD_NONE = 0; // 0x0
363    field public static final int ACCESS_METHOD_REFLECTION = 1; // 0x1
364  }
365
366  public final class VMStack {
367    method @Nullable public static dalvik.system.AnnotatedStackTraceElement[] getAnnotatedThreadStackTrace(Thread);
368  }
369
370  public final class ZygoteHooks {
371    method public static void gcAndFinalize();
372    method public static boolean isIndefiniteThreadSuspensionSafe();
373    method public static void onBeginPreload();
374    method public static void onEndPreload();
375    method public static void postForkChild(int, boolean, boolean, String);
376    method public static void postForkCommon();
377    method public static void postForkSystemServer(int);
378    method public static void preFork();
379    method public static void startZygoteNoThreadCreation();
380    method public static void stopZygoteNoThreadCreation();
381  }
382
383}
384
385package java.io {
386
387  public final class FileDescriptor {
388    method public int getInt$();
389    method public void setInt$(int);
390  }
391
392  public class FileInputStream extends java.io.InputStream {
393    ctor public FileInputStream(java.io.FileDescriptor, boolean);
394  }
395
396}
397
398package java.lang {
399
400  public class Thread implements java.lang.Runnable {
401    method public static java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionPreHandler();
402    method public static void setUncaughtExceptionPreHandler(java.lang.Thread.UncaughtExceptionHandler);
403  }
404
405}
406
407package java.net {
408
409  public class DatagramSocket implements java.io.Closeable {
410    method public java.io.FileDescriptor getFileDescriptor$();
411  }
412
413  public final class Inet4Address extends java.net.InetAddress {
414    field public static final java.net.InetAddress ALL;
415    field public static final java.net.InetAddress ANY;
416    field public static final java.net.InetAddress LOOPBACK;
417  }
418
419  public final class Inet6Address extends java.net.InetAddress {
420    field public static final java.net.InetAddress ANY;
421    field public static final java.net.InetAddress LOOPBACK;
422  }
423
424  public class InetAddress implements java.io.Serializable {
425    method public static void clearDnsCache();
426    method @NonNull public static java.net.InetAddress[] getAllByNameOnNet(@Nullable String, int) throws java.net.UnknownHostException;
427    method @NonNull public static java.net.InetAddress getByNameOnNet(@Nullable String, int) throws java.net.UnknownHostException;
428    method @Deprecated public static boolean isNumeric(String);
429    method @Deprecated public static java.net.InetAddress parseNumericAddress(String);
430  }
431
432  public class InetSocketAddress extends java.net.SocketAddress {
433    ctor public InetSocketAddress();
434  }
435
436  public class ServerSocket implements java.io.Closeable {
437    method public java.net.SocketImpl getImpl() throws java.net.SocketException;
438  }
439
440  public class Socket implements java.io.Closeable {
441    method public java.io.FileDescriptor getFileDescriptor$();
442  }
443
444  public abstract class SocketImpl implements java.net.SocketOptions {
445    method public java.io.FileDescriptor getFD$();
446  }
447
448}
449
450package java.nio {
451
452  public abstract class ByteBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ByteBuffer> {
453    method public void setAccessible(boolean);
454  }
455
456  public class DirectByteBuffer extends java.nio.MappedByteBuffer {
457    ctor public DirectByteBuffer(int, long, java.io.FileDescriptor, Runnable, boolean);
458    method public final long address();
459    method public final java.nio.CharBuffer asCharBuffer();
460    method public final java.nio.DoubleBuffer asDoubleBuffer();
461    method public final java.nio.FloatBuffer asFloatBuffer();
462    method public final java.nio.IntBuffer asIntBuffer();
463    method public final java.nio.LongBuffer asLongBuffer();
464    method public final java.nio.ByteBuffer asReadOnlyBuffer();
465    method public final java.nio.ShortBuffer asShortBuffer();
466    method public final java.nio.ByteBuffer compact();
467    method public final java.nio.MappedByteBuffer duplicate();
468    method public final byte get();
469    method public final byte get(int);
470    method public final char getChar();
471    method public final char getChar(int);
472    method public final double getDouble();
473    method public final double getDouble(int);
474    method public final float getFloat();
475    method public final float getFloat(int);
476    method public int getInt();
477    method public int getInt(int);
478    method public final long getLong();
479    method public final long getLong(int);
480    method public final short getShort();
481    method public final short getShort(int);
482    method public final boolean isDirect();
483    method public final boolean isReadOnly();
484    method public final java.nio.ByteBuffer put(byte);
485    method public final java.nio.ByteBuffer put(int, byte);
486    method public final java.nio.ByteBuffer putChar(char);
487    method public final java.nio.ByteBuffer putChar(int, char);
488    method public final java.nio.ByteBuffer putDouble(double);
489    method public final java.nio.ByteBuffer putDouble(int, double);
490    method public final java.nio.ByteBuffer putFloat(float);
491    method public final java.nio.ByteBuffer putFloat(int, float);
492    method public final java.nio.ByteBuffer putInt(int);
493    method public final java.nio.ByteBuffer putInt(int, int);
494    method public final java.nio.ByteBuffer putLong(long);
495    method public final java.nio.ByteBuffer putLong(int, long);
496    method public final java.nio.ByteBuffer putShort(short);
497    method public final java.nio.ByteBuffer putShort(int, short);
498    method public final void setAccessible(boolean);
499    method public final java.nio.MappedByteBuffer slice();
500    method public final java.nio.MappedByteBuffer slice(int, int);
501  }
502
503  public final class NIOAccess {
504    method public static Object getBaseArray(java.nio.Buffer);
505    method public static int getBaseArrayOffset(java.nio.Buffer);
506  }
507
508  public final class NioUtils {
509    method public static void freeDirectBuffer(java.nio.ByteBuffer);
510    method public static byte[] unsafeArray(java.nio.ByteBuffer);
511    method public static int unsafeArrayOffset(java.nio.ByteBuffer);
512  }
513
514}
515
516package java.security {
517
518  public abstract class Provider extends java.util.Properties {
519    method public void warmUpServiceProvision();
520  }
521
522  public abstract class Signature extends java.security.SignatureSpi {
523    method public java.security.SignatureSpi getCurrentSpi();
524  }
525
526}
527
528package java.text {
529
530  public abstract class DateFormat extends java.text.Format {
531    method public static final void set24HourTimePref(Boolean);
532  }
533
534}
535
536package java.util {
537
538  public class LinkedHashMap<K, V> extends java.util.HashMap<K,V> implements java.util.Map<K,V> java.util.SequencedMap<K,V> {
539    method public java.util.Map.Entry<K,V> eldest();
540  }
541
542}
543
544package java.util.zip {
545
546  public class ZipEntry implements java.lang.Cloneable {
547    method public long getDataOffset();
548  }
549
550}
551
552package javax.crypto {
553
554  public class Cipher {
555    method public javax.crypto.CipherSpi getCurrentSpi();
556  }
557
558  public class KeyAgreement {
559    method @FlaggedApi("com.android.libcore.v_apis") public javax.crypto.KeyAgreementSpi getCurrentSpi();
560  }
561
562  public class Mac implements java.lang.Cloneable {
563    method public javax.crypto.MacSpi getCurrentSpi();
564  }
565
566}
567
568package javax.net.ssl {
569
570  public abstract class HttpsURLConnection extends java.net.HttpURLConnection {
571    method public static javax.net.ssl.HostnameVerifier getStrictHostnameVerifier();
572  }
573
574}
575
576package libcore.content.type {
577
578  public final class MimeMap {
579    method @NonNull public libcore.content.type.MimeMap.Builder buildUpon();
580    method @NonNull public static libcore.content.type.MimeMap.Builder builder();
581    method @NonNull public java.util.Set<java.lang.String> extensions();
582    method @NonNull public static libcore.content.type.MimeMap getDefault();
583    method @Nullable public String guessExtensionFromMimeType(@Nullable String);
584    method @Nullable public String guessMimeTypeFromExtension(@Nullable String);
585    method public boolean hasExtension(@Nullable String);
586    method public boolean hasMimeType(@Nullable String);
587    method @NonNull public java.util.Set<java.lang.String> mimeTypes();
588    method public static void setDefaultSupplier(@NonNull java.util.function.Supplier<libcore.content.type.MimeMap>);
589  }
590
591  public static final class MimeMap.Builder {
592    method @NonNull public libcore.content.type.MimeMap.Builder addMimeMapping(@NonNull String, @NonNull java.util.List<java.lang.String>);
593    method @NonNull public libcore.content.type.MimeMap build();
594  }
595
596}
597
598package libcore.io {
599
600  public class ForwardingOs implements libcore.io.Os {
601    ctor protected ForwardingOs(@NonNull libcore.io.Os);
602    method public boolean access(@Nullable String, int) throws android.system.ErrnoException;
603    method public java.io.FileDescriptor open(@Nullable String, int, int) throws android.system.ErrnoException;
604    method public void remove(@Nullable String) throws android.system.ErrnoException;
605    method public void rename(@Nullable String, @Nullable String) throws android.system.ErrnoException;
606    method @Nullable public android.system.StructStat stat(@Nullable String) throws android.system.ErrnoException;
607    method public void unlink(@Nullable String) throws android.system.ErrnoException;
608  }
609
610  public final class IoBridge {
611    method public static void closeAndSignalBlockedThreads(@NonNull java.io.FileDescriptor) throws java.io.IOException;
612    method @NonNull public static java.io.FileDescriptor open(@NonNull String, int) throws java.io.FileNotFoundException;
613    method public static int read(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int) throws java.io.IOException;
614    method public static void write(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int) throws java.io.IOException;
615  }
616
617  public final class IoUtils {
618    method public static int acquireRawFd(@NonNull java.io.FileDescriptor);
619    method public static void close(@Nullable java.io.FileDescriptor) throws java.io.IOException;
620    method public static void closeQuietly(@Nullable AutoCloseable);
621    method public static void closeQuietly(@Nullable java.io.FileDescriptor);
622    method public static void closeQuietly(@Nullable java.net.Socket);
623    method @NonNull public static byte[] readFileAsByteArray(@NonNull String) throws java.io.IOException;
624    method @NonNull public static String readFileAsString(@NonNull String) throws java.io.IOException;
625    method public static void setBlocking(@NonNull java.io.FileDescriptor, boolean) throws java.io.IOException;
626    method public static void setFdOwner(@NonNull java.io.FileDescriptor, @NonNull Object);
627  }
628
629  public final class Memory {
630    method public static void memmove(@NonNull Object, int, @NonNull Object, int, long);
631    method public static int peekInt(@NonNull byte[], int, @NonNull java.nio.ByteOrder);
632    method public static short peekShort(@NonNull byte[], int, @NonNull java.nio.ByteOrder);
633    method public static void pokeInt(@NonNull byte[], int, int, @NonNull java.nio.ByteOrder);
634    method public static void pokeLong(@NonNull byte[], int, long, @NonNull java.nio.ByteOrder);
635    method public static void pokeShort(@NonNull byte[], int, short, @NonNull java.nio.ByteOrder);
636  }
637
638  public interface Os {
639    method public static boolean compareAndSetDefault(libcore.io.Os, libcore.io.Os);
640    method public static libcore.io.Os getDefault();
641  }
642
643  public final class Streams {
644    method public static int copy(@NonNull java.io.InputStream, @NonNull java.io.OutputStream) throws java.io.IOException;
645    method public static void readFully(@NonNull java.io.InputStream, @NonNull byte[]) throws java.io.IOException;
646    method @NonNull public static byte[] readFully(@NonNull java.io.InputStream) throws java.io.IOException;
647    method @NonNull public static String readFully(@NonNull java.io.Reader) throws java.io.IOException;
648    method @NonNull public static byte[] readFullyNoClose(@NonNull java.io.InputStream) throws java.io.IOException;
649    method public static int readSingleByte(@NonNull java.io.InputStream) throws java.io.IOException;
650    method public static long skipByReading(@NonNull java.io.InputStream, long) throws java.io.IOException;
651    method public static void writeSingleByte(@NonNull java.io.OutputStream, int) throws java.io.IOException;
652  }
653
654}
655
656package libcore.net {
657
658  public class InetAddressUtils {
659    method public static boolean isNumericAddress(String);
660    method public static java.net.InetAddress parseNumericAddress(String);
661  }
662
663  public abstract class NetworkSecurityPolicy {
664    ctor public NetworkSecurityPolicy();
665    method public static libcore.net.NetworkSecurityPolicy getInstance();
666    method public abstract boolean isCertificateTransparencyVerificationRequired(String);
667    method public abstract boolean isCleartextTrafficPermitted();
668    method public abstract boolean isCleartextTrafficPermitted(String);
669    method public static void setInstance(libcore.net.NetworkSecurityPolicy);
670  }
671
672}
673
674package libcore.net.event {
675
676  public final class NetworkEventDispatcher {
677    method public void dispatchNetworkConfigurationChange();
678    method public static libcore.net.event.NetworkEventDispatcher getInstance();
679  }
680
681}
682
683package libcore.net.http {
684
685  public interface Dns {
686    method @NonNull public java.util.List<java.net.InetAddress> lookup(@Nullable String) throws java.net.UnknownHostException;
687  }
688
689  public class HttpURLConnectionFactory {
690    method @NonNull public static libcore.net.http.HttpURLConnectionFactory createInstance();
691    method public java.net.URLConnection openConnection(@NonNull java.net.URL, @NonNull javax.net.SocketFactory, @NonNull java.net.Proxy) throws java.io.IOException;
692    method public void setDns(@NonNull libcore.net.http.Dns);
693    method public void setNewConnectionPool(int, long, @NonNull java.util.concurrent.TimeUnit);
694  }
695
696}
697
698package libcore.util {
699
700  public final class EmptyArray {
701    field @NonNull public static final boolean[] BOOLEAN;
702    field @NonNull public static final byte[] BYTE;
703    field @NonNull public static final float[] FLOAT;
704    field @NonNull public static final int[] INT;
705    field @NonNull public static final long[] LONG;
706    field @NonNull public static final Object[] OBJECT;
707    field @NonNull public static final String[] STRING;
708  }
709
710  public final class FP16 {
711    method public static short ceil(short);
712    method public static int compare(short, short);
713    method public static boolean equals(short, short);
714    method public static short floor(short);
715    method public static boolean greater(short, short);
716    method public static boolean greaterEquals(short, short);
717    method public static boolean isInfinite(short);
718    method public static boolean isNaN(short);
719    method public static boolean isNormalized(short);
720    method public static boolean less(short, short);
721    method public static boolean lessEquals(short, short);
722    method public static short max(short, short);
723    method public static short min(short, short);
724    method public static short rint(short);
725    method public static float toFloat(short);
726    method public static short toHalf(float);
727    method public static String toHexString(short);
728    method public static short trunc(short);
729    field public static final short EPSILON = 5120; // 0x1400
730    field public static final int EXPONENT_BIAS = 15; // 0xf
731    field public static final int EXPONENT_SHIFT = 10; // 0xa
732    field public static final int EXPONENT_SIGNIFICAND_MASK = 32767; // 0x7fff
733    field public static final short LOWEST_VALUE = -1025; // 0xfffffbff
734    field public static final int MAX_EXPONENT = 15; // 0xf
735    field public static final short MAX_VALUE = 31743; // 0x7bff
736    field public static final int MIN_EXPONENT = -14; // 0xfffffff2
737    field public static final short MIN_NORMAL = 1024; // 0x400
738    field public static final short MIN_VALUE = 1; // 0x1
739    field public static final short NEGATIVE_INFINITY = -1024; // 0xfffffc00
740    field public static final short NEGATIVE_ZERO = -32768; // 0xffff8000
741    field public static final short NaN = 32256; // 0x7e00
742    field public static final short POSITIVE_INFINITY = 31744; // 0x7c00
743    field public static final short POSITIVE_ZERO = 0; // 0x0
744    field public static final int SHIFTED_EXPONENT_MASK = 31; // 0x1f
745    field public static final int SIGNIFICAND_MASK = 1023; // 0x3ff
746    field public static final int SIGN_MASK = 32768; // 0x8000
747    field public static final int SIGN_SHIFT = 15; // 0xf
748    field public static final int SIZE = 16; // 0x10
749  }
750
751  public class HexEncoding {
752    method public static byte[] decode(String) throws java.lang.IllegalArgumentException;
753    method public static byte[] decode(String, boolean) throws java.lang.IllegalArgumentException;
754    method public static byte[] decode(char[]) throws java.lang.IllegalArgumentException;
755    method public static byte[] decode(char[], boolean) throws java.lang.IllegalArgumentException;
756    method public static char[] encode(byte[]);
757    method public static char[] encode(byte[], boolean);
758    method public static char[] encode(byte[], int, int);
759    method public static String encodeToString(byte, boolean);
760    method public static String encodeToString(byte[]);
761    method public static String encodeToString(byte[], boolean);
762  }
763
764  public class NativeAllocationRegistry {
765    ctor public NativeAllocationRegistry(@NonNull ClassLoader, long, long);
766    method public static void applyFreeFunction(long, long);
767    method public static libcore.util.NativeAllocationRegistry createMalloced(@NonNull ClassLoader, long, long);
768    method public static libcore.util.NativeAllocationRegistry createMalloced(@NonNull ClassLoader, long);
769    method public static libcore.util.NativeAllocationRegistry createNonmalloced(@NonNull ClassLoader, long, long);
770    method @NonNull public Runnable registerNativeAllocation(@NonNull Object, long);
771  }
772
773  public class SneakyThrow {
774    method public static void sneakyThrow(@NonNull Throwable);
775  }
776
777  public class XmlObjectFactory {
778    method @NonNull public static org.xml.sax.XMLReader newXMLReader();
779    method @NonNull public static org.xmlpull.v1.XmlPullParser newXmlPullParser();
780    method @NonNull public static org.xmlpull.v1.XmlSerializer newXmlSerializer();
781  }
782
783}
784
785package org.apache.harmony.dalvik.ddmc {
786
787  public class Chunk {
788    ctor public Chunk(int, byte[], int, int);
789    ctor public Chunk(int, java.nio.ByteBuffer);
790    field public int type;
791  }
792
793  public abstract class ChunkHandler {
794    ctor public ChunkHandler();
795    method public static org.apache.harmony.dalvik.ddmc.Chunk createFailChunk(int, String);
796    method public abstract org.apache.harmony.dalvik.ddmc.Chunk handleChunk(org.apache.harmony.dalvik.ddmc.Chunk);
797    method public static String name(int);
798    method public abstract void onConnected();
799    method public abstract void onDisconnected();
800    method public static int type(String);
801    method public static java.nio.ByteBuffer wrapChunk(org.apache.harmony.dalvik.ddmc.Chunk);
802    field public static final java.nio.ByteOrder CHUNK_ORDER;
803  }
804
805  public final class DdmServer {
806    method public static void registerHandler(int, org.apache.harmony.dalvik.ddmc.ChunkHandler);
807    method public static void registrationComplete();
808    method public static void sendChunk(org.apache.harmony.dalvik.ddmc.Chunk);
809    method public static org.apache.harmony.dalvik.ddmc.ChunkHandler unregisterHandler(int);
810  }
811
812  public final class DdmVmInternal {
813    method public static void setRecentAllocationsTrackingEnabled(boolean);
814    method public static void setThreadNotifyEnabled(boolean);
815  }
816
817}
818
819package org.json {
820
821  public class JSONObject {
822    method @NonNull public java.util.Set<java.lang.String> keySet();
823  }
824
825}
826
827package sun.misc {
828
829  public class Cleaner extends java.lang.ref.PhantomReference<java.lang.Object> {
830    method public void clean();
831    method public static sun.misc.Cleaner create(Object, Runnable);
832  }
833
834  public final class Unsafe {
835    method public int arrayBaseOffset(Class);
836    method public int arrayIndexScale(Class);
837    method public void copyMemory(long, long, long);
838    method public boolean getBoolean(Object, long);
839    method public byte getByte(Object, long);
840    method public byte getByte(long);
841    method public double getDouble(Object, long);
842    method public double getDouble(long);
843    method public float getFloat(Object, long);
844    method public float getFloat(long);
845    method public int getInt(Object, long);
846    method public int getInt(long);
847    method public long getLong(Object, long);
848    method public long getLong(long);
849    method public Object getObject(Object, long);
850    method public static sun.misc.Unsafe getUnsafe();
851    method public long objectFieldOffset(java.lang.reflect.Field);
852    method public void putBoolean(Object, long, boolean);
853    method public void putByte(Object, long, byte);
854    method public void putByte(long, byte);
855    method public void putDouble(Object, long, double);
856    method public void putDouble(long, double);
857    method public void putFloat(Object, long, float);
858    method public void putFloat(long, float);
859    method public void putInt(Object, long, int);
860    method public void putInt(long, int);
861    method public void putLong(Object, long, long);
862    method public void putLong(long, long);
863    method public void putObject(Object, long, Object);
864  }
865
866}
867
868package sun.security.jca {
869
870  public class Providers {
871    method public static Object startJarVerification();
872    method public static void stopJarVerification(Object);
873  }
874
875}
876
877package sun.security.pkcs {
878
879  public class PKCS7 {
880    ctor public PKCS7(java.io.InputStream) throws java.io.IOException, sun.security.pkcs.ParsingException;
881    ctor public PKCS7(byte[]) throws sun.security.pkcs.ParsingException;
882    method public java.security.cert.X509Certificate[] getCertificates();
883    method public sun.security.pkcs.SignerInfo[] getSignerInfos();
884    method public sun.security.pkcs.SignerInfo verify(sun.security.pkcs.SignerInfo, java.io.InputStream) throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.SignatureException;
885    method public sun.security.pkcs.SignerInfo[] verify(byte[]) throws java.security.NoSuchAlgorithmException, java.security.SignatureException;
886  }
887
888  public class ParsingException extends java.io.IOException {
889  }
890
891  public class SignerInfo {
892    ctor public SignerInfo();
893    method public java.util.ArrayList<java.security.cert.X509Certificate> getCertificateChain(sun.security.pkcs.PKCS7) throws java.io.IOException;
894  }
895
896}
897
898package sun.security.util {
899
900  public final class ObjectIdentifier implements java.io.Serializable {
901    ctor public ObjectIdentifier(String) throws java.io.IOException;
902  }
903
904}
905
906package sun.security.x509 {
907
908  public class AlgorithmId implements java.io.Serializable {
909    ctor public AlgorithmId(sun.security.util.ObjectIdentifier);
910    method public String getName();
911  }
912
913}
914
915