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