diff options
-rw-r--r-- | build/boot/boot-image-profile.txt | 431 | ||||
-rw-r--r-- | build/boot/preloaded-classes | 205 | ||||
-rw-r--r-- | libartservice/service/java/com/android/server/art/DexUseManagerLocal.java | 57 | ||||
-rw-r--r-- | libartservice/service/javatests/com/android/server/art/DexUseManagerTest.java | 88 | ||||
-rw-r--r-- | libartservice/service/proto/dex_use.proto | 14 |
5 files changed, 693 insertions, 102 deletions
diff --git a/build/boot/boot-image-profile.txt b/build/boot/boot-image-profile.txt index b2f916130f..412534c750 100644 --- a/build/boot/boot-image-profile.txt +++ b/build/boot/boot-image-profile.txt @@ -1,5 +1,5 @@ # -# Copyright (C) 2017 The Android Open Source Project +# Copyright (C) 2025 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -76,7 +76,9 @@ HSPLandroid/system/StructTimespec;-><init>(JJ)V HSPLandroid/system/StructTimespec;->equals(Ljava/lang/Object;)Z HSPLandroid/system/StructTimeval;-><init>(JJ)V HSPLandroid/system/StructTimeval;->fromMillis(J)Landroid/system/StructTimeval; +HSPLandroid/system/SystemCleaner;->cleaner()Ljava/lang/ref/Cleaner; HSPLandroid/system/UnixSocketAddress;-><init>([B)V +HSPLcom/android/libcore/FeatureFlagsImpl;->readOnlyDynamicCodeLoad()Z HSPLcom/android/okhttp/Address;-><init>(Ljava/lang/String;ILcom/android/okhttp/Dns;Ljavax/net/SocketFactory;Ljavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/HostnameVerifier;Lcom/android/okhttp/CertificatePinner;Lcom/android/okhttp/Authenticator;Ljava/net/Proxy;Ljava/util/List;Ljava/util/List;Ljava/net/ProxySelector;)V HSPLcom/android/okhttp/Address;->equals(Ljava/lang/Object;)Z HSPLcom/android/okhttp/Address;->getCertificatePinner()Lcom/android/okhttp/CertificatePinner; @@ -937,7 +939,6 @@ HSPLcom/android/org/bouncycastle/jcajce/util/BCJcaJceHelper;-><init>()V HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;->addAlgorithm(Ljava/lang/String;Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)V HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;->addAlgorithm(Ljava/lang/String;Ljava/lang/String;)V HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;->addAttributes(Ljava/lang/String;Ljava/util/Map;)V -HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;->loadAlgorithms([Ljava/lang/String;Ljava/lang/String;)V HSPLcom/android/org/bouncycastle/jce/provider/CertStoreCollectionSpi;-><init>(Ljava/security/cert/CertStoreParameters;)V HSPLcom/android/org/bouncycastle/util/Arrays;->areEqual([B[B)Z HSPLcom/android/org/bouncycastle/util/Arrays;->clone([B)[B @@ -1092,13 +1093,14 @@ HSPLdalvik/system/SocketTagger;->set(Ldalvik/system/SocketTagger;)V HSPLdalvik/system/SocketTagger;->tag(Ljava/net/Socket;)V HSPLdalvik/system/SocketTagger;->untag(Ljava/net/Socket;)V HSPLdalvik/system/VMRuntime$SdkVersionContainer;->-$$Nest$sfgetsdkVersion()I +HSPLdalvik/system/VMRuntime;->addPostCleanupCallback(Ljava/lang/Runnable;)V HSPLdalvik/system/VMRuntime;->getInstructionSet(Ljava/lang/String;)Ljava/lang/String; HSPLdalvik/system/VMRuntime;->getRuntime()Ldalvik/system/VMRuntime; HSPLdalvik/system/VMRuntime;->getSdkVersion()I HSPLdalvik/system/VMRuntime;->getTargetSdkVersion()I HSPLdalvik/system/VMRuntime;->hiddenApiUsed(ILjava/lang/String;Ljava/lang/String;IZ)V HSPLdalvik/system/VMRuntime;->notifyNativeAllocation()V -HSPLdalvik/system/VMRuntime;->onPostCleanup()V+]Ljava/util/Iterator;Ljava/util/ArrayList$Itr;]Ljava/util/List;Ljava/util/ArrayList; +HSPLdalvik/system/VMRuntime;->onPostCleanup()V HSPLdalvik/system/VMRuntime;->registerNativeAllocation(I)V HSPLdalvik/system/VMRuntime;->registerNativeFree(I)V HSPLdalvik/system/VMRuntime;->runFinalization(J)V @@ -1221,6 +1223,7 @@ HSPLjava/io/DataInputStream;->skipBytes(I)I HSPLjava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V HSPLjava/io/DataOutputStream;->flush()V HSPLjava/io/DataOutputStream;->incCount(I)V +HSPLjava/io/DataOutputStream;->size()I HSPLjava/io/DataOutputStream;->write(I)V HSPLjava/io/DataOutputStream;->write([BII)V HSPLjava/io/DataOutputStream;->writeBoolean(Z)V @@ -1289,6 +1292,7 @@ HSPLjava/io/File;->toString()Ljava/lang/String; HSPLjava/io/File;->toURI()Ljava/net/URI; HSPLjava/io/FileDescriptor$1;->set(Ljava/io/FileDescriptor;I)V HSPLjava/io/FileDescriptor;-><init>()V +HSPLjava/io/FileDescriptor;-><init>(I)V HSPLjava/io/FileDescriptor;->cloneForFork()V HSPLjava/io/FileDescriptor;->getInt$()I HSPLjava/io/FileDescriptor;->getOwnerId$()J @@ -1887,6 +1891,9 @@ HSPLjava/lang/Character;->codePointAt(Ljava/lang/CharSequence;I)I HSPLjava/lang/Character;->codePointAtImpl([CII)I HSPLjava/lang/Character;->codePointBefore(Ljava/lang/CharSequence;I)I HSPLjava/lang/Character;->codePointCount(Ljava/lang/CharSequence;II)I +HSPLjava/lang/Character;->compare(CC)I +HSPLjava/lang/Character;->compareTo(Ljava/lang/Character;)I +HSPLjava/lang/Character;->compareTo(Ljava/lang/Object;)I HSPLjava/lang/Character;->digit(CI)I HSPLjava/lang/Character;->digit(II)I HSPLjava/lang/Character;->equals(Ljava/lang/Object;)Z @@ -2040,7 +2047,6 @@ HSPLjava/lang/Daemons$HeapTaskDaemon;->interrupt(Ljava/lang/Thread;)V HSPLjava/lang/Daemons$HeapTaskDaemon;->runInternal()V HSPLjava/lang/Daemons$ReferenceQueueDaemon;->-$$Nest$fgetprogressCounter(Ljava/lang/Daemons$ReferenceQueueDaemon;)Ljava/util/concurrent/atomic/AtomicInteger; HSPLjava/lang/Daemons$ReferenceQueueDaemon;->-$$Nest$sfgetINSTANCE()Ljava/lang/Daemons$ReferenceQueueDaemon; -HSPLjava/lang/Daemons$ReferenceQueueDaemon;->onRefQueueEmptyAfterGc()V HSPLjava/lang/Daemons$ReferenceQueueDaemon;->runInternal()V HSPLjava/lang/Daemons;->-$$Nest$sfgetpostZygoteFork()Z HSPLjava/lang/Daemons;->-$$Nest$sfgetzygoteStartLatch()Ljava/util/concurrent/CountDownLatch; @@ -2224,6 +2230,7 @@ HSPLjava/lang/Math;->abs(F)F HSPLjava/lang/Math;->abs(I)I HSPLjava/lang/Math;->abs(J)J HSPLjava/lang/Math;->addExact(JJ)J +HSPLjava/lang/Math;->clamp(FFF)F HSPLjava/lang/Math;->copySign(DD)D HSPLjava/lang/Math;->copySign(FF)F HSPLjava/lang/Math;->floorDiv(II)I @@ -2295,6 +2302,7 @@ HSPLjava/lang/ProcessBuilder;->start()Ljava/lang/Process; HSPLjava/lang/ProcessEnvironment;->toEnvironmentBlock(Ljava/util/Map;[I)[B HSPLjava/lang/ProcessImpl;->start([Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;[Ljava/lang/ProcessBuilder$Redirect;Z)Ljava/lang/Process; HSPLjava/lang/ProcessImpl;->toCString(Ljava/lang/String;)[B +HSPLjava/lang/Record;-><init>()V HSPLjava/lang/ReflectiveOperationException;-><init>(Ljava/lang/String;)V HSPLjava/lang/ReflectiveOperationException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V HSPLjava/lang/ReflectiveOperationException;-><init>(Ljava/lang/Throwable;)V @@ -2556,6 +2564,7 @@ HSPLjava/lang/Thread;->init2(Ljava/lang/Thread;Z)V HSPLjava/lang/Thread;->interrupt()V HSPLjava/lang/Thread;->isAlive()Z HSPLjava/lang/Thread;->isDaemon()Z +HSPLjava/lang/Thread;->isVirtual()Z HSPLjava/lang/Thread;->join()V HSPLjava/lang/Thread;->join(J)V HSPLjava/lang/Thread;->nextThreadID()J @@ -2729,7 +2738,7 @@ HSPLjava/lang/ref/Cleaner$1;->apply(Ljava/lang/Object;)Ljava/lang/Object; HSPLjava/lang/ref/Cleaner$1;->apply(Ljava/lang/ref/Cleaner;)Ljdk/internal/ref/CleanerImpl; HSPLjava/lang/ref/Cleaner;->register(Ljava/lang/Object;Ljava/lang/Runnable;)Ljava/lang/ref/Cleaner$Cleanable; HSPLjava/lang/ref/FinalizerReference$Sentinel;-><init>()V -SPLjava/lang/ref/FinalizerReference$Sentinel;-><init>(Ljava/lang/ref/FinalizerReference-IA;)V +HSPLjava/lang/ref/FinalizerReference$Sentinel;-><init>(Ljava/lang/ref/FinalizerReference-IA;)V HSPLjava/lang/ref/FinalizerReference$Sentinel;->awaitFinalization(J)V HSPLjava/lang/ref/FinalizerReference$Sentinel;->finalize()V HSPLjava/lang/ref/FinalizerReference;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V @@ -3605,6 +3614,7 @@ HSPLjava/nio/DirectByteBuffer;->duplicate()Ljava/nio/ByteBuffer; HSPLjava/nio/DirectByteBuffer;->duplicate()Ljava/nio/MappedByteBuffer; HSPLjava/nio/DirectByteBuffer;->get()B HSPLjava/nio/DirectByteBuffer;->get(I)B +HSPLjava/nio/DirectByteBuffer;->get(I[BII)Ljava/nio/ByteBuffer; HSPLjava/nio/DirectByteBuffer;->get(J)B HSPLjava/nio/DirectByteBuffer;->get([BII)Ljava/nio/ByteBuffer; HSPLjava/nio/DirectByteBuffer;->getChar()C @@ -3613,6 +3623,7 @@ HSPLjava/nio/DirectByteBuffer;->getCharUnchecked(I)C HSPLjava/nio/DirectByteBuffer;->getInt()I HSPLjava/nio/DirectByteBuffer;->getInt(I)I HSPLjava/nio/DirectByteBuffer;->getInt(J)I +HSPLjava/nio/DirectByteBuffer;->getLong()J HSPLjava/nio/DirectByteBuffer;->getLong(I)J HSPLjava/nio/DirectByteBuffer;->getLong(J)J HSPLjava/nio/DirectByteBuffer;->getShort()S @@ -3984,7 +3995,7 @@ HSPLjava/security/Provider$Service;->-$$Nest$fputtype(Ljava/security/Provider$Se HSPLjava/security/Provider$Service;->-$$Nest$maddAlias(Ljava/security/Provider$Service;Ljava/lang/String;)V HSPLjava/security/Provider$Service;->-$$Nest$misValid(Ljava/security/Provider$Service;)Z HSPLjava/security/Provider$Service;-><init>(Ljava/security/Provider;)V -SPLjava/security/Provider$Service;-><init>(Ljava/security/Provider;Ljava/security/Provider-IA;)V +HSPLjava/security/Provider$Service;-><init>(Ljava/security/Provider;Ljava/security/Provider-IA;)V HSPLjava/security/Provider$Service;->addAlias(Ljava/lang/String;)V HSPLjava/security/Provider$Service;->addAttribute(Ljava/lang/String;Ljava/lang/String;)V HSPLjava/security/Provider$Service;->getAlgorithm()Ljava/lang/String; @@ -4983,6 +4994,7 @@ HSPLjava/util/Arrays;->binarySearch0([IIII)I HSPLjava/util/Arrays;->binarySearch0([JIIJ)I HSPLjava/util/Arrays;->binarySearch0([Ljava/lang/Object;IILjava/lang/Object;)I HSPLjava/util/Arrays;->binarySearch0([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I +HSPLjava/util/Arrays;->checkLength(II)V HSPLjava/util/Arrays;->copyOf([BI)[B HSPLjava/util/Arrays;->copyOf([CI)[C HSPLjava/util/Arrays;->copyOf([DI)[D @@ -5131,7 +5143,7 @@ HSPLjava/util/Calendar;->setTimeZone(Ljava/util/TimeZone;)V HSPLjava/util/Calendar;->setWeekCountData(Ljava/util/Locale;)V HSPLjava/util/Calendar;->setZoneShared(Z)V HSPLjava/util/Calendar;->updateTime()V -HSPLjava/util/Collection;->removeIf(Ljava/util/function/Predicate;)Z+]Ljava/util/Collection;megamorphic_types]Ljava/util/Iterator;megamorphic_types]Ljava/util/function/Predicate;Lcom/android/internal/telephony/data/DataNetworkController$$ExternalSyntheticLambda32;,Lcom/android/internal/telephony/data/DataNetworkController$$ExternalSyntheticLambda42; +HSPLjava/util/Collection;->removeIf(Ljava/util/function/Predicate;)Z+]Ljava/util/Collection;megamorphic_types]Ljava/util/Iterator;megamorphic_types HSPLjava/util/Collection;->spliterator()Ljava/util/Spliterator; HSPLjava/util/Collection;->stream()Ljava/util/stream/Stream;+]Ljava/util/Collection;megamorphic_types HSPLjava/util/Collections$1;-><init>(Ljava/lang/Object;)V @@ -5368,7 +5380,7 @@ HSPLjava/util/Comparator;->naturalOrder()Ljava/util/Comparator; HSPLjava/util/Comparator;->nullsFirst(Ljava/util/Comparator;)Ljava/util/Comparator; HSPLjava/util/Comparator;->reversed()Ljava/util/Comparator; HSPLjava/util/Comparator;->thenComparing(Ljava/util/Comparator;)Ljava/util/Comparator; -HSPLjava/util/Comparator;->thenComparing(Ljava/util/function/Function;)Ljava/util/Comparator;+]Ljava/util/Comparator;Ljava/util/Comparator$$ExternalSyntheticLambda3; +HSPLjava/util/Comparator;->thenComparing(Ljava/util/function/Function;)Ljava/util/Comparator; HSPLjava/util/Comparators$NaturalOrderComparator;->compare(Ljava/lang/Comparable;Ljava/lang/Comparable;)I HSPLjava/util/Comparators$NaturalOrderComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I HSPLjava/util/Comparators$NullComparator;-><init>(ZLjava/util/Comparator;)V @@ -5802,6 +5814,7 @@ HSPLjava/util/ImmutableCollections$AbstractImmutableMap;-><init>()V HSPLjava/util/ImmutableCollections$AbstractImmutableSet;-><init>()V HSPLjava/util/ImmutableCollections$Access$1;-><init>()V HSPLjava/util/ImmutableCollections$Access$1;->listFromTrustedArray([Ljava/lang/Object;)Ljava/util/List; +HSPLjava/util/ImmutableCollections$Access$1;->listFromTrustedArrayNullsAllowed([Ljava/lang/Object;)Ljava/util/List; HSPLjava/util/ImmutableCollections$Access;-><clinit>()V HSPLjava/util/ImmutableCollections$List12;-><init>(Ljava/lang/Object;)V HSPLjava/util/ImmutableCollections$List12;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V @@ -5811,6 +5824,7 @@ HSPLjava/util/ImmutableCollections$ListItr;-><init>(Ljava/util/List;I)V HSPLjava/util/ImmutableCollections$ListItr;->hasNext()Z HSPLjava/util/ImmutableCollections$ListItr;->next()Ljava/lang/Object; HSPLjava/util/ImmutableCollections$ListN;-><init>([Ljava/lang/Object;Z)V +HSPLjava/util/ImmutableCollections$ListN;-><init>([Ljava/lang/Object;ZLjava/util/ImmutableCollections-IA;)V HSPLjava/util/ImmutableCollections$ListN;->get(I)Ljava/lang/Object; HSPLjava/util/ImmutableCollections$ListN;->size()I HSPLjava/util/ImmutableCollections$Map1;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V @@ -5820,12 +5834,19 @@ HSPLjava/util/ImmutableCollections$MapN;->containsKey(Ljava/lang/Object;)Z HSPLjava/util/ImmutableCollections$MapN;->get(Ljava/lang/Object;)Ljava/lang/Object; HSPLjava/util/ImmutableCollections$MapN;->probe(Ljava/lang/Object;)I HSPLjava/util/ImmutableCollections$Set12;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V +HSPLjava/util/ImmutableCollections$SetN$SetNIterator;-><init>(Ljava/util/ImmutableCollections$SetN;)V +HSPLjava/util/ImmutableCollections$SetN$SetNIterator;->hasNext()Z +HSPLjava/util/ImmutableCollections$SetN$SetNIterator;->next()Ljava/lang/Object; HSPLjava/util/ImmutableCollections$SetN;-><init>([Ljava/lang/Object;)V HSPLjava/util/ImmutableCollections$SetN;->contains(Ljava/lang/Object;)Z +HSPLjava/util/ImmutableCollections$SetN;->iterator()Ljava/util/Iterator; HSPLjava/util/ImmutableCollections$SetN;->probe(Ljava/lang/Object;)I +HSPLjava/util/ImmutableCollections;->-$$Nest$sfgetREVERSE()Z +HSPLjava/util/ImmutableCollections;->-$$Nest$sfgetSALT32L()J HSPLjava/util/ImmutableCollections;-><clinit>()V HSPLjava/util/ImmutableCollections;->listCopy(Ljava/util/Collection;)Ljava/util/List; HSPLjava/util/ImmutableCollections;->listFromTrustedArray([Ljava/lang/Object;)Ljava/util/List; +HSPLjava/util/ImmutableCollections;->listFromTrustedArrayNullsAllowed([Ljava/lang/Object;)Ljava/util/List; HSPLjava/util/Iterator;->forEachRemaining(Ljava/util/function/Consumer;)V+]Ljava/util/Iterator;Landroid/util/MapCollections$ArrayIterator;,Landroid/util/MapCollections$MapIterator;,Ljava/util/AbstractList$Itr;,Ljava/util/AbstractMap$2$1;]Ljava/util/function/Consumer;megamorphic_types HSPLjava/util/JumboEnumSet$EnumSetIterator;-><init>(Ljava/util/JumboEnumSet;)V HSPLjava/util/JumboEnumSet$EnumSetIterator;->hasNext()Z @@ -5958,7 +5979,7 @@ HSPLjava/util/List;->of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lj HSPLjava/util/List;->of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List; HSPLjava/util/List;->of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List; HSPLjava/util/List;->of([Ljava/lang/Object;)Ljava/util/List; -HSPLjava/util/List;->sort(Ljava/util/Comparator;)V+]Ljava/util/List;Ljava/util/ArrayList$SubList;,Ljava/util/LinkedList;]Ljava/util/ListIterator;Ljava/util/AbstractList$ListItr;,Ljava/util/ArrayList$SubList$1;,Ljava/util/LinkedList$ListItr; +HSPLjava/util/List;->sort(Ljava/util/Comparator;)V+]Ljava/util/List;Ljava/util/ArrayList$SubList;,Ljava/util/LinkedList;]Ljava/util/ListIterator;Ljava/util/ArrayList$SubList$1;,Ljava/util/LinkedList$ListItr; HSPLjava/util/List;->spliterator()Ljava/util/Spliterator; HSPLjava/util/Locale$Builder;-><init>()V HSPLjava/util/Locale$Builder;->build()Ljava/util/Locale; @@ -6022,6 +6043,7 @@ HSPLjava/util/Map;->forEach(Ljava/util/function/BiConsumer;)V HSPLjava/util/Map;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/Map;Landroid/util/ArrayMap; HSPLjava/util/Map;->of(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map; HSPLjava/util/Map;->ofEntries([Ljava/util/Map$Entry;)Ljava/util/Map; +HSPLjava/util/Map;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+]Ljava/util/Map;Landroid/util/ArrayMap; HSPLjava/util/MissingResourceException;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V HSPLjava/util/NoSuchElementException;-><init>()V HSPLjava/util/NoSuchElementException;-><init>(Ljava/lang/String;)V @@ -6804,6 +6826,10 @@ HSPLjava/util/concurrent/DelayQueue;-><init>()V HSPLjava/util/concurrent/DelayQueue;->add(Ljava/util/concurrent/Delayed;)Z HSPLjava/util/concurrent/DelayQueue;->offer(Ljava/util/concurrent/Delayed;)Z HSPLjava/util/concurrent/ExecutionException;-><init>(Ljava/lang/Throwable;)V +HSPLjava/util/concurrent/Executors$AutoShutdownDelegatedExecutorService$$ExternalSyntheticLambda0;-><init>(Ljava/util/concurrent/ExecutorService;)V +HSPLjava/util/concurrent/Executors$AutoShutdownDelegatedExecutorService$$ExternalSyntheticLambda0;->run()V +HSPLjava/util/concurrent/Executors$AutoShutdownDelegatedExecutorService;-><init>(Ljava/util/concurrent/ExecutorService;)V +HSPLjava/util/concurrent/Executors$AutoShutdownDelegatedExecutorService;->lambda$new$1(Ljava/util/concurrent/ExecutorService;)V HSPLjava/util/concurrent/Executors$DefaultThreadFactory;-><init>()V HSPLjava/util/concurrent/Executors$DefaultThreadFactory;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread; HSPLjava/util/concurrent/Executors$DelegatedExecutorService;-><init>(Ljava/util/concurrent/ExecutorService;)V @@ -6896,6 +6922,12 @@ HSPLjava/util/concurrent/LinkedBlockingQueue;->signalNotEmpty()V HSPLjava/util/concurrent/LinkedBlockingQueue;->signalNotFull()V HSPLjava/util/concurrent/LinkedBlockingQueue;->size()I HSPLjava/util/concurrent/LinkedBlockingQueue;->take()Ljava/lang/Object; +HSPLjava/util/concurrent/LinkedTransferQueue$DualNode;-><clinit>()V +HSPLjava/util/concurrent/LinkedTransferQueue$DualNode;-><init>(Ljava/lang/Object;Z)V +HSPLjava/util/concurrent/LinkedTransferQueue$DualNode;->await(Ljava/lang/Object;JLjava/lang/Object;Z)Ljava/lang/Object;+]Ljava/lang/Thread;missing_types +HSPLjava/util/concurrent/LinkedTransferQueue$DualNode;->checkForUniprocessor(Z)V +HSPLjava/util/concurrent/LinkedTransferQueue$DualNode;->cmpExItem(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; +HSPLjava/util/concurrent/LinkedTransferQueue;->cmpExHead(Ljava/util/concurrent/LinkedTransferQueue$DualNode;Ljava/util/concurrent/LinkedTransferQueue$DualNode;)Ljava/util/concurrent/LinkedTransferQueue$DualNode; HSPLjava/util/concurrent/PriorityBlockingQueue;-><init>()V HSPLjava/util/concurrent/PriorityBlockingQueue;-><init>(ILjava/util/Comparator;)V HSPLjava/util/concurrent/PriorityBlockingQueue;->add(Ljava/lang/Object;)Z @@ -6992,6 +7024,8 @@ HSPLjava/util/concurrent/Semaphore;->tryAcquire()Z HSPLjava/util/concurrent/Semaphore;->tryAcquire(IJLjava/util/concurrent/TimeUnit;)Z HSPLjava/util/concurrent/Semaphore;->tryAcquire(JLjava/util/concurrent/TimeUnit;)Z HSPLjava/util/concurrent/SynchronousQueue$Transferer;-><init>()V +HSPLjava/util/concurrent/SynchronousQueue$Transferer;->unspliceLifo(Ljava/util/concurrent/LinkedTransferQueue$DualNode;)V +HSPLjava/util/concurrent/SynchronousQueue$Transferer;->xferLifo(Ljava/lang/Object;J)Ljava/lang/Object; HSPLjava/util/concurrent/SynchronousQueue;-><init>()V HSPLjava/util/concurrent/SynchronousQueue;-><init>(Z)V HSPLjava/util/concurrent/SynchronousQueue;->isEmpty()Z @@ -7296,6 +7330,11 @@ HSPLjava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/co HSPLjava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; HSPLjava/util/function/BinaryOperator$$ExternalSyntheticLambda0;-><init>(Ljava/util/Comparator;)V HSPLjava/util/function/BinaryOperator;->maxBy(Ljava/util/Comparator;)Ljava/util/function/BinaryOperator; +HSPLjava/util/function/Consumer$$ExternalSyntheticLambda0;-><init>(Ljava/util/function/Consumer;Ljava/util/function/Consumer;)V +HSPLjava/util/function/Consumer$$ExternalSyntheticLambda0;->accept(Ljava/lang/Object;)V +HSPLjava/util/function/Consumer;->$r8$lambda$Q_zMx_zAe1OiUreM0xDZCWBmTh8(Ljava/util/function/Consumer;Ljava/util/function/Consumer;Ljava/lang/Object;)V +HSPLjava/util/function/Consumer;->andThen(Ljava/util/function/Consumer;)Ljava/util/function/Consumer; +HSPLjava/util/function/Consumer;->lambda$andThen$0(Ljava/util/function/Consumer;Ljava/lang/Object;)V HSPLjava/util/function/DoubleUnaryOperator$$ExternalSyntheticLambda1;->applyAsDouble(D)D HSPLjava/util/function/DoubleUnaryOperator;->andThen(Ljava/util/function/DoubleUnaryOperator;)Ljava/util/function/DoubleUnaryOperator; HSPLjava/util/function/Function$$ExternalSyntheticLambda0;-><init>()V @@ -7601,6 +7640,7 @@ HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda28;->apply(Ljava/lang/Ob HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda42;-><init>()V HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda65;->get()Ljava/lang/Object; HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda72;->get()Ljava/lang/Object; +HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda73;->accept(Ljava/lang/Object;Ljava/lang/Object;)V HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda74;-><init>()V HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda75;-><init>()V HSPLjava/util/stream/Collectors$$ExternalSyntheticLambda75;->apply(Ljava/lang/Object;)Ljava/lang/Object; @@ -7793,6 +7833,8 @@ HSPLjava/util/stream/ReduceOps;->makeInt(ILjava/util/function/IntBinaryOperator; HSPLjava/util/stream/ReduceOps;->makeLong(JLjava/util/function/LongBinaryOperator;)Ljava/util/stream/TerminalOp; HSPLjava/util/stream/ReduceOps;->makeRef(Ljava/util/function/BinaryOperator;)Ljava/util/stream/TerminalOp; HSPLjava/util/stream/ReduceOps;->makeRef(Ljava/util/stream/Collector;)Ljava/util/stream/TerminalOp; +HSPLjava/util/stream/ReferencePipeline$$ExternalSyntheticLambda1;-><init>()V +HSPLjava/util/stream/ReferencePipeline$$ExternalSyntheticLambda1;->apply(I)Ljava/lang/Object; HSPLjava/util/stream/ReferencePipeline$15$1;-><init>(Ljava/util/stream/ReferencePipeline$15;Ljava/util/stream/Sink;)V HSPLjava/util/stream/ReferencePipeline$15$1;->accept(Ljava/lang/Object;)V HSPLjava/util/stream/ReferencePipeline$15;-><init>(Ljava/util/stream/ReferencePipeline;Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;ILjava/util/function/Consumer;)V @@ -7842,6 +7884,7 @@ HSPLjava/util/stream/ReferencePipeline;->findFirst()Ljava/util/Optional; HSPLjava/util/stream/ReferencePipeline;->flatMap(Ljava/util/function/Function;)Ljava/util/stream/Stream; HSPLjava/util/stream/ReferencePipeline;->forEach(Ljava/util/function/Consumer;)V HSPLjava/util/stream/ReferencePipeline;->forEachWithCancel(Ljava/util/Spliterator;Ljava/util/stream/Sink;)Z +HSPLjava/util/stream/ReferencePipeline;->lambda$toArray$0(I)[Ljava/lang/Object; HSPLjava/util/stream/ReferencePipeline;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder; HSPLjava/util/stream/ReferencePipeline;->map(Ljava/util/function/Function;)Ljava/util/stream/Stream; HSPLjava/util/stream/ReferencePipeline;->mapToDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/stream/DoubleStream; @@ -7853,7 +7896,9 @@ HSPLjava/util/stream/ReferencePipeline;->peek(Ljava/util/function/Consumer;)Ljav HSPLjava/util/stream/ReferencePipeline;->reduce(Ljava/util/function/BinaryOperator;)Ljava/util/Optional; HSPLjava/util/stream/ReferencePipeline;->sorted()Ljava/util/stream/Stream; HSPLjava/util/stream/ReferencePipeline;->sorted(Ljava/util/Comparator;)Ljava/util/stream/Stream; +HSPLjava/util/stream/ReferencePipeline;->toArray()[Ljava/lang/Object; HSPLjava/util/stream/ReferencePipeline;->toArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object; +HSPLjava/util/stream/ReferencePipeline;->toList()Ljava/util/List;+]Ljdk/internal/access/JavaUtilCollectionAccess;Ljava/util/ImmutableCollections$Access$1; HSPLjava/util/stream/ReferencePipeline;->wrap(Ljava/util/stream/PipelineHelper;Ljava/util/function/Supplier;Z)Ljava/util/Spliterator; HSPLjava/util/stream/Sink$ChainedInt;-><init>(Ljava/util/stream/Sink;)V HSPLjava/util/stream/Sink$ChainedInt;->begin(J)V @@ -7987,6 +8032,7 @@ HSPLjava/util/zip/Inflater;->inflate([BII)I HSPLjava/util/zip/Inflater;->needsDictionary()Z HSPLjava/util/zip/Inflater;->needsInput()Z HSPLjava/util/zip/Inflater;->reset()V +HSPLjava/util/zip/Inflater;->setInput([B)V HSPLjava/util/zip/Inflater;->setInput([BII)V HSPLjava/util/zip/InflaterInputStream;-><init>(Ljava/io/InputStream;Ljava/util/zip/Inflater;)V HSPLjava/util/zip/InflaterInputStream;-><init>(Ljava/io/InputStream;Ljava/util/zip/Inflater;I)V @@ -7998,8 +8044,10 @@ HSPLjava/util/zip/InflaterInputStream;->fill()V HSPLjava/util/zip/InflaterInputStream;->read()I HSPLjava/util/zip/InflaterInputStream;->read([BII)I HSPLjava/util/zip/ZipCoder$UTF8ZipCoder;->checkedHash([BII)I +HSPLjava/util/zip/ZipCoder$UTF8ZipCoder;->hasTrailingSlash(Ljava/nio/DirectByteBuffer;I)Z HSPLjava/util/zip/ZipCoder$UTF8ZipCoder;->hasTrailingSlash([BI)Z HSPLjava/util/zip/ZipCoder$UTF8ZipCoder;->isUTF8()Z +HSPLjava/util/zip/ZipCoder$UTF8ZipCoder;->toString(Ljava/nio/DirectByteBuffer;II)Ljava/lang/String;+]Ljava/nio/DirectByteBuffer;Ljava/nio/DirectByteBuffer; HSPLjava/util/zip/ZipCoder$UTF8ZipCoder;->toString([BII)Ljava/lang/String; HSPLjava/util/zip/ZipCoder;-><init>(Ljava/nio/charset/Charset;)V HSPLjava/util/zip/ZipCoder;->decoder()Ljava/nio/charset/CharsetDecoder; @@ -8034,17 +8082,16 @@ HSPLjava/util/zip/ZipFile$Source;->-$$Nest$mgetEntryPos(Ljava/util/zip/ZipFile$S HSPLjava/util/zip/ZipFile$Source;->-$$Nest$mreadAt(Ljava/util/zip/ZipFile$Source;[BIIJ)I HSPLjava/util/zip/ZipFile$Source;->-$$Nest$mreadFullyAt(Ljava/util/zip/ZipFile$Source;[BIIJ)I HSPLjava/util/zip/ZipFile$Source;-><init>(Ljava/util/zip/ZipFile$Source$Key;ZLjava/util/zip/ZipCoder;)V -HSPLjava/util/zip/ZipFile$Source;->checkAndAddEntry(II)I +HSPLjava/util/zip/ZipFile$Source;->checkAndAddEntry([BII)I HSPLjava/util/zip/ZipFile$Source;->close()V HSPLjava/util/zip/ZipFile$Source;->findEND()Ljava/util/zip/ZipFile$Source$End; HSPLjava/util/zip/ZipFile$Source;->get(Ljava/io/File;ZLjava/util/zip/ZipCoder;Z)Ljava/util/zip/ZipFile$Source; HSPLjava/util/zip/ZipFile$Source;->getEntryPos(Ljava/lang/String;Z)I -HSPLjava/util/zip/ZipFile$Source;->getMetaVersion(II)I -HSPLjava/util/zip/ZipFile$Source;->initCEN(I)V -HSPLjava/util/zip/ZipFile$Source;->isManifestName(II)Z +HSPLjava/util/zip/ZipFile$Source;->getMetaVersion([BII)I +HSPLjava/util/zip/ZipFile$Source;->initCEN([BI)V +HSPLjava/util/zip/ZipFile$Source;->isManifestName([BII)Z HSPLjava/util/zip/ZipFile$Source;->isMetaName([BII)Z -HSPLjava/util/zip/ZipFile$Source;->isSignatureRelated(II)Z -HSPLjava/util/zip/ZipFile$Source;->nextEntryPos(III)I +HSPLjava/util/zip/ZipFile$Source;->isSignatureRelated([BII)Z HSPLjava/util/zip/ZipFile$Source;->readAt([BIIJ)I HSPLjava/util/zip/ZipFile$Source;->readFullyAt([BIIJ)I HSPLjava/util/zip/ZipFile$Source;->release(Ljava/util/zip/ZipFile$Source;)V @@ -8057,7 +8104,7 @@ HSPLjava/util/zip/ZipFile$ZipEntryIterator;->nextElement()Ljava/util/zip/ZipEntr HSPLjava/util/zip/ZipFile$ZipFileInflaterInputStream;->available()I HSPLjava/util/zip/ZipFile$ZipFileInflaterInputStream;->close()V HSPLjava/util/zip/ZipFile$ZipFileInflaterInputStream;->fill()V -HSPLjava/util/zip/ZipFile$ZipFileInputStream;-><init>(Ljava/util/zip/ZipFile;[BI)V +HSPLjava/util/zip/ZipFile$ZipFileInputStream;-><init>(Ljava/util/zip/ZipFile;Ljava/nio/DirectByteBuffer;I)V HSPLjava/util/zip/ZipFile$ZipFileInputStream;->available()I HSPLjava/util/zip/ZipFile$ZipFileInputStream;->close()V HSPLjava/util/zip/ZipFile$ZipFileInputStream;->initDataOffset()J @@ -8091,8 +8138,11 @@ HSPLjava/util/zip/ZipInputStream;->readEnd(Ljava/util/zip/ZipEntry;)V HSPLjava/util/zip/ZipInputStream;->readFully([BII)V HSPLjava/util/zip/ZipInputStream;->readLOC()Ljava/util/zip/ZipEntry; HSPLjava/util/zip/ZipUtils;->CENFLG([BI)I +HSPLjava/util/zip/ZipUtils;->CENLEN(Ljava/nio/DirectByteBuffer;I)J HSPLjava/util/zip/ZipUtils;->CENLEN([BI)J +HSPLjava/util/zip/ZipUtils;->CENOFF(Ljava/nio/DirectByteBuffer;I)J HSPLjava/util/zip/ZipUtils;->CENOFF([BI)J +HSPLjava/util/zip/ZipUtils;->CENSIZ(Ljava/nio/DirectByteBuffer;I)J HSPLjava/util/zip/ZipUtils;->CENSIZ([BI)J HSPLjava/util/zip/ZipUtils;->ENDCOM([B)I HSPLjava/util/zip/ZipUtils;->ENDOFF([B)J @@ -8105,6 +8155,7 @@ HSPLjava/util/zip/ZipUtils;->LOCNAM([B)I HSPLjava/util/zip/ZipUtils;->LOCSIG([B)J HSPLjava/util/zip/ZipUtils;->SH([BI)I HSPLjava/util/zip/ZipUtils;->get16([BI)I +HSPLjava/util/zip/ZipUtils;->get32(Ljava/nio/DirectByteBuffer;I)J+]Ljava/nio/DirectByteBuffer;Ljava/nio/DirectByteBuffer; HSPLjava/util/zip/ZipUtils;->get32([BI)J HSPLjava/util/zip/ZipUtils;->unixTimeToFileTime(J)Ljava/nio/file/attribute/FileTime; HSPLjavax/crypto/Cipher$CipherSpiAndProvider;-><init>(Ljavax/crypto/CipherSpi;Ljava/security/Provider;)V @@ -8311,27 +8362,26 @@ HSPLjavax/xml/parsers/SAXParserFactory;-><init>()V HSPLjavax/xml/parsers/SAXParserFactory;->newInstance()Ljavax/xml/parsers/SAXParserFactory; HSPLjdk/internal/access/SharedSecrets;->getJavaUtilCollectionAccess()Ljdk/internal/access/JavaUtilCollectionAccess; HSPLjdk/internal/access/SharedSecrets;->setJavaUtilCollectionAccess(Ljdk/internal/access/JavaUtilCollectionAccess;)V -HSPLjdk/internal/math/DoubleToDecimal;->toString(D)Ljava/lang/String; HSPLjdk/internal/math/DoubleToDecimal;-><init>(Z)V -HSPLjdk/internal/math/DoubleToDecimal;->split(DLjdk/internal/math/FormattedFPDecimal;)V -HSPLjdk/internal/math/DoubleToDecimal;->appendTo(DLjava/lang/Appendable;)Ljava/lang/Appendable; -HSPLjdk/internal/math/DoubleToDecimal;->toDecimalString(D)Ljava/lang/String; +HSPLjdk/internal/math/DoubleToDecimal;->append(I)V +HSPLjdk/internal/math/DoubleToDecimal;->append8Digits(I)V HSPLjdk/internal/math/DoubleToDecimal;->appendDecimalTo(DLjava/lang/Appendable;)Ljava/lang/Appendable; -HSPLjdk/internal/math/DoubleToDecimal;->toDecimal(D)I -HSPLjdk/internal/math/DoubleToDecimal;->toDecimal(IIILjdk/internal/math/FormattedFPDecimal;)I +HSPLjdk/internal/math/DoubleToDecimal;->appendDigit(I)V +HSPLjdk/internal/math/DoubleToDecimal;->appendTo(DLjava/lang/Appendable;)Ljava/lang/Appendable; +HSPLjdk/internal/math/DoubleToDecimal;->exponent(I)V +HSPLjdk/internal/math/DoubleToDecimal;->lowDigits(I)V +HSPLjdk/internal/math/DoubleToDecimal;->removeTrailingZeroes()V HSPLjdk/internal/math/DoubleToDecimal;->rop(JJJ)J +HSPLjdk/internal/math/DoubleToDecimal;->split(DLjdk/internal/math/FormattedFPDecimal;)V HSPLjdk/internal/math/DoubleToDecimal;->toChars(JILjdk/internal/math/FormattedFPDecimal;)I HSPLjdk/internal/math/DoubleToDecimal;->toChars1(IIII)I HSPLjdk/internal/math/DoubleToDecimal;->toChars2(IIII)I HSPLjdk/internal/math/DoubleToDecimal;->toChars3(IIII)I -HSPLjdk/internal/math/DoubleToDecimal;->lowDigits(I)V -HSPLjdk/internal/math/DoubleToDecimal;->append8Digits(I)V -HSPLjdk/internal/math/DoubleToDecimal;->removeTrailingZeroes()V +HSPLjdk/internal/math/DoubleToDecimal;->toDecimal(DLjdk/internal/math/FormattedFPDecimal;)I +HSPLjdk/internal/math/DoubleToDecimal;->toDecimal(IJILjdk/internal/math/FormattedFPDecimal;)I +HSPLjdk/internal/math/DoubleToDecimal;->toDecimalString(D)Ljava/lang/String; +HSPLjdk/internal/math/DoubleToDecimal;->toString(D)Ljava/lang/String; HSPLjdk/internal/math/DoubleToDecimal;->y(I)I -HSPLjdk/internal/math/DoubleToDecimal;->exponent(I)V -HSPLjdk/internal/math/DoubleToDecimal;->append(I)V -HSPLjdk/internal/math/DoubleToDecimal;->appendDigit(I)V -HSPLjdk/internal/math/DoubleToDecimal;->charsToString()V HSPLjdk/internal/math/FDBigInteger;-><init>(J[CII)V HSPLjdk/internal/math/FDBigInteger;-><init>([II)V HSPLjdk/internal/math/FDBigInteger;->add(Ljdk/internal/math/FDBigInteger;)Ljdk/internal/math/FDBigInteger; @@ -8359,6 +8409,24 @@ HSPLjdk/internal/math/FDBigInteger;->trimLeadingZeros()V HSPLjdk/internal/math/FDBigInteger;->valueOfMulPow52(JII)Ljdk/internal/math/FDBigInteger; HSPLjdk/internal/math/FDBigInteger;->valueOfPow2(I)Ljdk/internal/math/FDBigInteger; HSPLjdk/internal/math/FDBigInteger;->valueOfPow52(II)Ljdk/internal/math/FDBigInteger; +HSPLjdk/internal/math/FloatToDecimal;-><init>()V +HSPLjdk/internal/math/FloatToDecimal;->append(I)V +HSPLjdk/internal/math/FloatToDecimal;->append8Digits(I)V +HSPLjdk/internal/math/FloatToDecimal;->appendDecimalTo(FLjava/lang/Appendable;)Ljava/lang/Appendable; +HSPLjdk/internal/math/FloatToDecimal;->appendDigit(I)V +HSPLjdk/internal/math/FloatToDecimal;->appendTo(FLjava/lang/Appendable;)Ljava/lang/Appendable; +HSPLjdk/internal/math/FloatToDecimal;->exponent(I)V +HSPLjdk/internal/math/FloatToDecimal;->removeTrailingZeroes()V +HSPLjdk/internal/math/FloatToDecimal;->rop(JJ)I +HSPLjdk/internal/math/FloatToDecimal;->toChars(II)I +HSPLjdk/internal/math/FloatToDecimal;->toChars1(III)I +HSPLjdk/internal/math/FloatToDecimal;->toChars2(III)I +HSPLjdk/internal/math/FloatToDecimal;->toChars3(III)I +HSPLjdk/internal/math/FloatToDecimal;->toDecimal(F)I +HSPLjdk/internal/math/FloatToDecimal;->toDecimal(III)I +HSPLjdk/internal/math/FloatToDecimal;->toDecimalString(F)Ljava/lang/String; +HSPLjdk/internal/math/FloatToDecimal;->toString(F)Ljava/lang/String; +HSPLjdk/internal/math/FloatToDecimal;->y(I)I HSPLjdk/internal/math/FloatingDecimal$1;->initialValue()Ljava/lang/Object; HSPLjdk/internal/math/FloatingDecimal$1;->initialValue()Ljdk/internal/math/FloatingDecimal$BinaryToASCIIBuffer; HSPLjdk/internal/math/FloatingDecimal$ASCIIToBinaryBuffer;-><init>(ZI[CI)V @@ -8391,25 +8459,26 @@ HSPLjdk/internal/math/FloatingDecimal;->parseFloat(Ljava/lang/String;)F HSPLjdk/internal/math/FloatingDecimal;->readJavaFormatString(Ljava/lang/String;)Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter; HSPLjdk/internal/math/FloatingDecimal;->toJavaFormatString(D)Ljava/lang/String; HSPLjdk/internal/math/FloatingDecimal;->toJavaFormatString(F)Ljava/lang/String; -HSPLjdk/internal/math/FloatToDecimal;->toString(F)Ljava/lang/String; -HSPLjdk/internal/math/FloatToDecimal;-><init>()V -HSPLjdk/internal/math/FloatToDecimal;->appendTo(FLjava/lang/Appendable;)Ljava/lang/Appendable; -HSPLjdk/internal/math/FloatToDecimal;->toDecimalString(F)Ljava/lang/String; -HSPLjdk/internal/math/FloatToDecimal;->appendDecimalTo(FLjava/lang/Appendable;)Ljava/lang/Appendable; -HSPLjdk/internal/math/FloatToDecimal;->toDecimal(F)I -HSPLjdk/internal/math/FloatToDecimal;->toDecimal(III)I -HSPLjdk/internal/math/FloatToDecimal;->rop(JJ)I -HSPLjdk/internal/math/FloatToDecimal;->toChars(FI)I -HSPLjdk/internal/math/FloatToDecimal;->toChars1(III)I -HSPLjdk/internal/math/FloatToDecimal;->toChars2(III)I -HSPLjdk/internal/math/FloatToDecimal;->toChars3(III)I -HSPLjdk/internal/math/FloatToDecimal;->append8Digits(I)V -HSPLjdk/internal/math/FloatToDecimal;->removeTrailingZeroes()V -HSPLjdk/internal/math/FloatToDecimal;->y(I)I -HSPLjdk/internal/math/FloatToDecimal;->exponent(I)V -HSPLjdk/internal/math/FloatToDecimal;->append(I)V -HSPLjdk/internal/math/FloatToDecimal;->appendDigit(I)V -HSPLjdk/internal/math/FloatToDecimal;->charsToString()V +HSPLjdk/internal/math/FormattedFPDecimal;-><init>()V +HSPLjdk/internal/math/FormattedFPDecimal;->expChars()V +HSPLjdk/internal/math/FormattedFPDecimal;->fillWithDigits(JII)J +HSPLjdk/internal/math/FormattedFPDecimal;->getExponent()[C +HSPLjdk/internal/math/FormattedFPDecimal;->getExponentRounded()I +HSPLjdk/internal/math/FormattedFPDecimal;->getMantissa()[C +HSPLjdk/internal/math/FormattedFPDecimal;->plain(I)Ljdk/internal/math/FormattedFPDecimal; +HSPLjdk/internal/math/FormattedFPDecimal;->plainChars()Ljdk/internal/math/FormattedFPDecimal; +HSPLjdk/internal/math/FormattedFPDecimal;->plainCharsMixed()V +HSPLjdk/internal/math/FormattedFPDecimal;->plainCharsPureFraction()V +HSPLjdk/internal/math/FormattedFPDecimal;->plainCharsPureInteger()V +HSPLjdk/internal/math/FormattedFPDecimal;->round(J)V +HSPLjdk/internal/math/FormattedFPDecimal;->scientific(I)Ljdk/internal/math/FormattedFPDecimal; +HSPLjdk/internal/math/FormattedFPDecimal;->scientificChars(I)Ljdk/internal/math/FormattedFPDecimal; +HSPLjdk/internal/math/FormattedFPDecimal;->scientificCharsNoFraction()V +HSPLjdk/internal/math/FormattedFPDecimal;->scientificCharsWithFraction()V +HSPLjdk/internal/math/FormattedFPDecimal;->set(JII)V +HSPLjdk/internal/math/FormattedFPDecimal;->toDigit(I)C +HSPLjdk/internal/math/FormattedFPDecimal;->toDigit(J)C +HSPLjdk/internal/math/FormattedFPDecimal;->valueOf(DIC)Ljdk/internal/math/FormattedFPDecimal; HSPLjdk/internal/math/FormattedFloatingDecimal$1;-><init>()V HSPLjdk/internal/math/FormattedFloatingDecimal$1;->initialValue()Ljava/lang/Object; HSPLjdk/internal/math/FormattedFloatingDecimal$Form;-><clinit>()V @@ -8425,34 +8494,12 @@ HSPLjdk/internal/math/FormattedFloatingDecimal;->getExponent()[C HSPLjdk/internal/math/FormattedFloatingDecimal;->getExponentRounded()I HSPLjdk/internal/math/FormattedFloatingDecimal;->getMantissa()[C HSPLjdk/internal/math/FormattedFloatingDecimal;->valueOf(DILjdk/internal/math/FormattedFloatingDecimal$Form;)Ljdk/internal/math/FormattedFloatingDecimal; -HSPLjdk/internal/math/FormattedFPDecimal;-><init>()V -HSPLjdk/internal/math/FormattedFPDecimal;->valueOf(DIC)Ljdk/internal/math/FormattedFPDecimal; -HSPLjdk/internal/math/FormattedFPDecimal;->set(JII)V -HSPLjdk/internal/math/FormattedFPDecimal;->getExponent()[C -HSPLjdk/internal/math/FormattedFPDecimal;->getMantissa()[C -HSPLjdk/internal/math/FormattedFPDecimal;->getExponentRounded()I -HSPLjdk/internal/math/FormattedFPDecimal;->plain(I)Ljdk/internal/math/FormattedFPDecimal; -HSPLjdk/internal/math/FormattedFPDecimal;->plainChars()Ljdk/internal/math/FormattedFPDecimal; -HSPLjdk/internal/math/FormattedFPDecimal;->plainCharsPureInteger()V -HSPLjdk/internal/math/FormattedFPDecimal;->plainCharsMixed()V -HSPLjdk/internal/math/FormattedFPDecimal;->plainCharsPureFraction()V -HSPLjdk/internal/math/FormattedFPDecimal;->scientific(I)Ljdk/internal/math/FormattedFPDecimal; -HSPLjdk/internal/math/FormattedFPDecimal;->scientificChars(I)Ljdk/internal/math/FormattedFPDecimal; -HSPLjdk/internal/math/FormattedFPDecimal;->scientificCharsWithFraction()V -HSPLjdk/internal/math/FormattedFPDecimal;->scientificCharsNoFraction()V -HSPLjdk/internal/math/FormattedFPDecimal;->general()Ljdk/internal/math/FormattedFPDecimal; -HSPLjdk/internal/math/FormattedFPDecimal;->expChars()V -HSPLjdk/internal/math/FormattedFPDecimal;->round(J)V -HSPLjdk/internal/math/FormattedFPDecimal;->fillWithDigits(JII)J -HSPLjdk/internal/math/FormattedFPDecimal;->fillWithZeroes(II)V -HSPLjdk/internal/math/FormattedFPDecimal;->toDigit(J)C -HSPLjdk/internal/math/FormattedFPDecimal;->toDigit(I)C -HSPLjdk/internal/math/MathUtils;->pow10(I)J HSPLjdk/internal/math/MathUtils;->flog10pow2(I)I HSPLjdk/internal/math/MathUtils;->flog10threeQuartersPow2(I)I -HSPLjdk/internal/math/MathUtils;->flog2pow10(I)J -HSPLjdk/internal/math/MathUtils;->g1(I)J +HSPLjdk/internal/math/MathUtils;->flog2pow10(I)I HSPLjdk/internal/math/MathUtils;->g0(I)J +HSPLjdk/internal/math/MathUtils;->g1(I)J +HSPLjdk/internal/math/MathUtils;->pow10(I)J HSPLjdk/internal/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I HSPLjdk/internal/misc/Unsafe;->compareAndSetObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z HSPLjdk/internal/misc/Unsafe;->getAndAddInt(Ljava/lang/Object;JI)I @@ -8506,7 +8553,12 @@ HSPLjdk/internal/util/ArraysSupport;->newLength(III)I HSPLjdk/internal/util/ArraysSupport;->vectorizedHashCode(Ljava/lang/Object;IIII)I HSPLjdk/internal/util/ArraysSupport;->vectorizedMismatch(Ljava/lang/Object;JLjava/lang/Object;JII)I HSPLjdk/internal/util/Preconditions;->checkFromIndexSize(IIILjava/util/function/BiFunction;)I +HSPLjdk/internal/util/Preconditions;->checkFromToIndex(IIILjava/util/function/BiFunction;)I HSPLjdk/internal/util/Preconditions;->checkIndex(IILjava/util/function/BiFunction;)I +HSPLjdk/internal/util/StrongReferenceKey;->equals(Ljava/lang/Object;)Z +HSPLjdk/internal/util/StrongReferenceKey;->get()Ljava/lang/Object; +HSPLjdk/internal/util/StrongReferenceKey;->hashCode()I +HSPLjdk/internal/util/WeakReferenceKey;->hashCode()I HSPLjdk/internal/util/random/RandomSupport;-><clinit>()V HSPLjdk/internal/util/random/RandomSupport;->mixMurmur64(J)J HSPLjdk/internal/util/random/RandomSupport;->secureRandomSeedRequested()Z @@ -8710,6 +8762,9 @@ HSPLlibcore/io/IoUtils;->setBlocking(Ljava/io/FileDescriptor;Z)V HSPLlibcore/io/IoUtils;->setFdOwner(Ljava/io/FileDescriptor;Ljava/lang/Object;)V HSPLlibcore/io/Libcore;->compareAndSetOs(Llibcore/io/Os;Llibcore/io/Os;)Z HSPLlibcore/io/Libcore;->getOs()Llibcore/io/Os; +HSPLlibcore/io/Linux;->getpid()I +HSPLlibcore/io/Linux;->gettid()I +HSPLlibcore/io/Linux;->getuid()I HSPLlibcore/io/Linux;->pread(Ljava/io/FileDescriptor;[BIIJ)I HSPLlibcore/io/Linux;->read(Ljava/io/FileDescriptor;[BII)I HSPLlibcore/io/Linux;->recvfrom(Ljava/io/FileDescriptor;[BIIILjava/net/InetSocketAddress;)I @@ -8830,13 +8885,30 @@ HSPLlibcore/util/NativeAllocationRegistry$CleanerRunner;->run()V HSPLlibcore/util/NativeAllocationRegistry$CleanerThunk;-><init>(Llibcore/util/NativeAllocationRegistry;)V HSPLlibcore/util/NativeAllocationRegistry$CleanerThunk;->run()V HSPLlibcore/util/NativeAllocationRegistry$CleanerThunk;->setNativePtr(J)V +HSPLlibcore/util/NativeAllocationRegistry$Metrics;->-$$Nest$fgetclassName(Llibcore/util/NativeAllocationRegistry$Metrics;)Ljava/lang/String; +HSPLlibcore/util/NativeAllocationRegistry$Metrics;->-$$Nest$madd(Llibcore/util/NativeAllocationRegistry$Metrics;Llibcore/util/NativeAllocationRegistry;)V +HSPLlibcore/util/NativeAllocationRegistry$Metrics;-><init>(Ljava/lang/String;)V +HSPLlibcore/util/NativeAllocationRegistry$Metrics;-><init>(Ljava/lang/String;Llibcore/util/NativeAllocationRegistry-IA;)V +HSPLlibcore/util/NativeAllocationRegistry$Metrics;->add(Llibcore/util/NativeAllocationRegistry;)V +HSPLlibcore/util/NativeAllocationRegistry$Metrics;->getClassName()Ljava/lang/String; +HSPLlibcore/util/NativeAllocationRegistry$Metrics;->getMallocedBytes()J +HSPLlibcore/util/NativeAllocationRegistry$Metrics;->getMallocedCount()J +HSPLlibcore/util/NativeAllocationRegistry$Metrics;->getNonmallocedBytes()J +HSPLlibcore/util/NativeAllocationRegistry$Metrics;->getNonmallocedCount()J +HSPLlibcore/util/NativeAllocationRegistry;->-$$Nest$fgetcounter(Llibcore/util/NativeAllocationRegistry;)I HSPLlibcore/util/NativeAllocationRegistry;->-$$Nest$fgetfreeFunction(Llibcore/util/NativeAllocationRegistry;)J HSPLlibcore/util/NativeAllocationRegistry;->-$$Nest$fgetsize(Llibcore/util/NativeAllocationRegistry;)J +HSPLlibcore/util/NativeAllocationRegistry;->-$$Nest$misMalloced(Llibcore/util/NativeAllocationRegistry;)Z +HSPLlibcore/util/NativeAllocationRegistry;->-$$Nest$sfgetCOUNTER()Ljava/lang/invoke/VarHandle; HSPLlibcore/util/NativeAllocationRegistry;->-$$Nest$smregisterNativeFree(J)V -HSPLlibcore/util/NativeAllocationRegistry;-><init>(Ljava/lang/ClassLoader;Ljava/lang/Class;JJZ)V+]Ljava/util/Map;Ljava/util/WeakHashMap; +HSPLlibcore/util/NativeAllocationRegistry;-><init>(Ljava/lang/ClassLoader;Ljava/lang/Class;JJZ)V +HSPLlibcore/util/NativeAllocationRegistry;->createMalloced(Ljava/lang/Class;JJ)Llibcore/util/NativeAllocationRegistry; HSPLlibcore/util/NativeAllocationRegistry;->createMalloced(Ljava/lang/ClassLoader;J)Llibcore/util/NativeAllocationRegistry; HSPLlibcore/util/NativeAllocationRegistry;->createMalloced(Ljava/lang/ClassLoader;JJ)Llibcore/util/NativeAllocationRegistry; +HSPLlibcore/util/NativeAllocationRegistry;->createNonmalloced(Ljava/lang/Class;JJ)Llibcore/util/NativeAllocationRegistry; HSPLlibcore/util/NativeAllocationRegistry;->createNonmalloced(Ljava/lang/ClassLoader;JJ)Llibcore/util/NativeAllocationRegistry; +HSPLlibcore/util/NativeAllocationRegistry;->getMetrics()Ljava/util/Collection;+]Ljava/util/Iterator;Ljava/util/WeakHashMap$KeyIterator;]Ljava/util/Map;Ljava/util/WeakHashMap;]Ljava/util/Set;Ljava/util/WeakHashMap$KeySet; +HSPLlibcore/util/NativeAllocationRegistry;->isMalloced()Z HSPLlibcore/util/NativeAllocationRegistry;->registerNativeAllocation(J)V HSPLlibcore/util/NativeAllocationRegistry;->registerNativeAllocation(Ljava/lang/Object;J)Ljava/lang/Runnable; HSPLlibcore/util/NativeAllocationRegistry;->registerNativeFree(J)V @@ -9120,6 +9192,7 @@ HSPLsun/nio/ch/DefaultSelectorProvider;->create()Ljava/nio/channels/spi/Selector HSPLsun/nio/ch/FileChannelImpl$Unmapper;-><init>(JJILjava/io/FileDescriptor;)V HSPLsun/nio/ch/FileChannelImpl$Unmapper;-><init>(JJILjava/io/FileDescriptor;Lsun/nio/ch/FileChannelImpl-IA;)V HSPLsun/nio/ch/FileChannelImpl$Unmapper;->run()V +HSPLsun/nio/ch/FileChannelImpl;->-$$Nest$smunmap0(JJ)I HSPLsun/nio/ch/FileChannelImpl;-><init>(Ljava/io/FileDescriptor;Ljava/lang/String;ZZLjava/lang/Object;)V HSPLsun/nio/ch/FileChannelImpl;->ensureOpen()V HSPLsun/nio/ch/FileChannelImpl;->fileLockTable()Lsun/nio/ch/FileLockTable; @@ -9378,6 +9451,7 @@ HSPLsun/nio/fs/UnixFileKey;-><init>(JJ)V HSPLsun/nio/fs/UnixFileKey;->equals(Ljava/lang/Object;)Z HSPLsun/nio/fs/UnixFileModeAttribute;->toUnixMode(I[Ljava/nio/file/attribute/FileAttribute;)I HSPLsun/nio/fs/UnixFileSystem;->getPath(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path; +HSPLsun/nio/fs/UnixFileSystem;->isReadOnly()Z HSPLsun/nio/fs/UnixFileSystem;->needToResolveAgainstDefaultDirectory()Z HSPLsun/nio/fs/UnixFileSystem;->normalizeJavaPath(Ljava/lang/String;)Ljava/lang/String; HSPLsun/nio/fs/UnixFileSystem;->normalizeNativePath([C)[C @@ -9436,6 +9510,7 @@ HSPLsun/security/action/GetPropertyAction;-><init>(Ljava/lang/String;)V HSPLsun/security/action/GetPropertyAction;->run()Ljava/lang/Object; HSPLsun/security/action/GetPropertyAction;->run()Ljava/lang/String; HSPLsun/security/jca/GetInstance$Instance;-><init>(Ljava/security/Provider;Ljava/lang/Object;)V +HSPLsun/security/jca/GetInstance$Instance;-><init>(Ljava/security/Provider;Ljava/lang/Object;Lsun/security/jca/GetInstance-IA;)V HSPLsun/security/jca/GetInstance$Instance;->toArray()[Ljava/lang/Object; HSPLsun/security/jca/GetInstance;->checkSuperClass(Ljava/security/Provider$Service;Ljava/lang/Class;Ljava/lang/Class;)V HSPLsun/security/jca/GetInstance;->getInstance(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance; @@ -10078,6 +10153,10 @@ HSPLsun/util/locale/BaseLocale;->getRegion()Ljava/lang/String; HSPLsun/util/locale/BaseLocale;->getScript()Ljava/lang/String; HSPLsun/util/locale/BaseLocale;->getVariant()Ljava/lang/String; HSPLsun/util/locale/BaseLocale;->hashCode()I +HSPLsun/util/locale/Extension;->getID()Ljava/lang/String; +HSPLsun/util/locale/Extension;->setValue(Ljava/lang/String;)V +HSPLsun/util/locale/Extension;->toString()Ljava/lang/String;+]Lsun/util/locale/Extension;Lsun/util/locale/UnicodeLocaleExtension; +HSPLsun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar;->hashCode()I HSPLsun/util/locale/InternalLocaleBuilder;-><init>()V HSPLsun/util/locale/InternalLocaleBuilder;->checkVariants(Ljava/lang/String;Ljava/lang/String;)I HSPLsun/util/locale/InternalLocaleBuilder;->clear()Lsun/util/locale/InternalLocaleBuilder; @@ -10089,6 +10168,7 @@ HSPLsun/util/locale/InternalLocaleBuilder;->setLanguage(Ljava/lang/String;)Lsun/ HSPLsun/util/locale/InternalLocaleBuilder;->setLanguageTag(Lsun/util/locale/LanguageTag;)Lsun/util/locale/InternalLocaleBuilder; HSPLsun/util/locale/InternalLocaleBuilder;->setRegion(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder; HSPLsun/util/locale/InternalLocaleBuilder;->setScript(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder; +HSPLsun/util/locale/InternalLocaleBuilder;->setUnicodeLocaleExtension(Ljava/lang/String;)V+]Ljava/util/Map;Ljava/util/HashMap; HSPLsun/util/locale/InternalLocaleBuilder;->setVariant(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder; HSPLsun/util/locale/LanguageTag;-><init>()V HSPLsun/util/locale/LanguageTag;->canonicalizeLanguage(Ljava/lang/String;)Ljava/lang/String; @@ -10103,6 +10183,7 @@ HSPLsun/util/locale/LanguageTag;->getScript()Ljava/lang/String; HSPLsun/util/locale/LanguageTag;->getVariants()Ljava/util/List; HSPLsun/util/locale/LanguageTag;->isExtlang(Ljava/lang/String;)Z HSPLsun/util/locale/LanguageTag;->isLanguage(Ljava/lang/String;)Z +HSPLsun/util/locale/LanguageTag;->isPrivateusePrefixChar(C)Z HSPLsun/util/locale/LanguageTag;->isRegion(Ljava/lang/String;)Z HSPLsun/util/locale/LanguageTag;->isScript(Ljava/lang/String;)Z HSPLsun/util/locale/LanguageTag;->isVariant(Ljava/lang/String;)Z @@ -10115,6 +10196,10 @@ HSPLsun/util/locale/LanguageTag;->parsePrivateuse(Lsun/util/locale/StringTokenIt HSPLsun/util/locale/LanguageTag;->parseRegion(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z HSPLsun/util/locale/LanguageTag;->parseScript(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z HSPLsun/util/locale/LanguageTag;->parseVariants(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z +HSPLsun/util/locale/LocaleExtensions;-><init>(Ljava/util/Map;Ljava/util/Set;Ljava/util/Map;)V+]Ljava/util/Iterator;Ljava/util/HashMap$EntryIterator;]Ljava/util/Map$Entry;Ljava/util/HashMap$Node;]Ljava/util/Map;Ljava/util/HashMap;]Ljava/util/Set;Ljava/util/HashMap$EntrySet; +HSPLsun/util/locale/LocaleExtensions;->equals(Ljava/lang/Object;)Z +HSPLsun/util/locale/LocaleExtensions;->hashCode()I +HSPLsun/util/locale/LocaleExtensions;->toID(Ljava/util/SortedMap;)Ljava/lang/String;+]Ljava/util/Iterator;Ljava/util/TreeMap$EntryIterator;]Ljava/util/Map$Entry;Ljava/util/TreeMap$TreeMapEntry;]Ljava/util/Set;Ljava/util/TreeMap$EntrySet;]Ljava/util/SortedMap;Ljava/util/TreeMap; HSPLsun/util/locale/LocaleObjectCache$CacheEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V HSPLsun/util/locale/LocaleObjectCache$CacheEntry;->getKey()Ljava/lang/Object; HSPLsun/util/locale/LocaleObjectCache;->cleanStaleEntries()V @@ -10143,11 +10228,13 @@ HSPLsun/util/locale/ParseStatus;->reset()V HSPLsun/util/locale/StringTokenIterator;-><init>(Ljava/lang/String;Ljava/lang/String;)V HSPLsun/util/locale/StringTokenIterator;->current()Ljava/lang/String; HSPLsun/util/locale/StringTokenIterator;->currentEnd()I +HSPLsun/util/locale/StringTokenIterator;->currentStart()I HSPLsun/util/locale/StringTokenIterator;->hasNext()Z HSPLsun/util/locale/StringTokenIterator;->isDone()Z HSPLsun/util/locale/StringTokenIterator;->next()Ljava/lang/String; HSPLsun/util/locale/StringTokenIterator;->nextDelimiter(I)I HSPLsun/util/locale/StringTokenIterator;->setStart(I)Lsun/util/locale/StringTokenIterator; +HSPLsun/util/locale/UnicodeLocaleExtension;-><init>(Ljava/util/SortedSet;Ljava/util/SortedMap;)V+]Ljava/util/Iterator;Ljava/util/Collections$EmptyIterator;,Ljava/util/TreeMap$EntryIterator;]Ljava/util/Map$Entry;Ljava/util/TreeMap$TreeMapEntry;]Ljava/util/Map;Ljava/util/TreeMap;]Ljava/util/Set;Ljava/util/Collections$EmptySet;,Ljava/util/TreeMap$EntrySet;]Lsun/util/locale/UnicodeLocaleExtension;Lsun/util/locale/UnicodeLocaleExtension; HSPLsun/util/locale/provider/CalendarDataUtility;->retrieveFirstDayOfWeek(Ljava/util/Locale;I)I HSPLsun/util/logging/LoggingSupport$2;-><init>()V HSPLsun/util/logging/LoggingSupport$2;->run()Ljava/lang/Object; @@ -10159,10 +10246,22 @@ HSPLsun/util/logging/PlatformLogger$JavaLoggerProxy;-><init>(Ljava/lang/String;L HSPLsun/util/logging/PlatformLogger$LoggerProxy;-><init>(Ljava/lang/String;)V HSPLsun/util/logging/PlatformLogger;-><init>(Ljava/lang/String;)V HSPLsun/util/logging/PlatformLogger;->getLogger(Ljava/lang/String;)Lsun/util/logging/PlatformLogger; +Landroid/app/ActivityThread$AndroidOs; +Landroid/app/AppOpsManager$$ExternalSyntheticLambda4; Landroid/compat/Compatibility$1; Landroid/compat/Compatibility$BehaviorChangeDelegate; Landroid/compat/Compatibility$ChangeConfig; Landroid/compat/Compatibility; +Landroid/content/ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda0; +Landroid/content/res/Resources$$ExternalSyntheticLambda1; +Landroid/crypto/hpke/HpkeSpi; +Landroid/graphics/ColorSpace$Rgb$$ExternalSyntheticLambda4; +Landroid/graphics/ColorSpace$Rgb$$ExternalSyntheticLambda6; +Landroid/graphics/ColorSpace$Rgb$$ExternalSyntheticLambda9; +Landroid/icu/text/RuleBasedBreakIterator; +Landroid/os/ParcelFileDescriptor$AutoCloseInputStream; +Landroid/os/StrictMode$AndroidBlockGuardPolicy; +Landroid/service/notification/StatusBarNotification$$ExternalSyntheticLambda0; Landroid/system/ErrnoException; Landroid/system/GaiException; Landroid/system/Int32Ref; @@ -10191,9 +10290,19 @@ Landroid/system/StructUtsname; Landroid/system/SystemCleaner; Landroid/system/UnixSocketAddress; Landroid/system/VmSocketAddress; +Landroid/util/ArrayMap; +Landroid/util/IndentingPrintWriter; +Landroid/util/MapCollections$ArrayIterator; +Landroid/util/MapCollections$EntrySet; +Landroid/util/MapCollections$KeySet; +Landroid/util/MapCollections$MapIterator; +Landroid/util/MapCollections$ValuesCollection; +Landroid/widget/RemoteViews$ApplicationInfoCache$$ExternalSyntheticLambda0; Lcom/android/art/flags/FeatureFlags; Lcom/android/art/flags/FeatureFlagsImpl; Lcom/android/art/flags/Flags; +Lcom/android/internal/util/FastPrintWriter; +Lcom/android/internal/util/IndentingPrintWriter; Lcom/android/libcore/FeatureFlags; Lcom/android/libcore/FeatureFlagsImpl; Lcom/android/libcore/Flags; @@ -10357,12 +10466,12 @@ Lcom/android/okhttp/okio/Timeout$1; Lcom/android/okhttp/okio/Timeout; Lcom/android/okhttp/okio/Util; Lcom/android/org/bouncycastle/asn1/ASN1ApplicationSpecific; +Lcom/android/org/bouncycastle/asn1/ASN1ApplicationSpecificParser; Lcom/android/org/bouncycastle/asn1/ASN1BitString; Lcom/android/org/bouncycastle/asn1/ASN1Boolean; Lcom/android/org/bouncycastle/asn1/ASN1Choice; Lcom/android/org/bouncycastle/asn1/ASN1Encodable; Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector; -Lcom/android/org/bouncycastle/asn1/ASN1Enumerated$$ExternalSyntheticOutline0; Lcom/android/org/bouncycastle/asn1/ASN1Enumerated; Lcom/android/org/bouncycastle/asn1/ASN1Exception; Lcom/android/org/bouncycastle/asn1/ASN1External; @@ -10386,6 +10495,7 @@ Lcom/android/org/bouncycastle/asn1/ASN1SetParser; Lcom/android/org/bouncycastle/asn1/ASN1StreamParser; Lcom/android/org/bouncycastle/asn1/ASN1String; Lcom/android/org/bouncycastle/asn1/ASN1TaggedObject; +Lcom/android/org/bouncycastle/asn1/ASN1TaggedObjectParser; Lcom/android/org/bouncycastle/asn1/ASN1UTCTime; Lcom/android/org/bouncycastle/asn1/BERApplicationSpecific; Lcom/android/org/bouncycastle/asn1/BERApplicationSpecificParser; @@ -10396,6 +10506,7 @@ Lcom/android/org/bouncycastle/asn1/BERSequenceParser; Lcom/android/org/bouncycastle/asn1/BERSet; Lcom/android/org/bouncycastle/asn1/BERSetParser; Lcom/android/org/bouncycastle/asn1/BERTaggedObjectParser; +Lcom/android/org/bouncycastle/asn1/BERTags; Lcom/android/org/bouncycastle/asn1/ConstructedOctetStream; Lcom/android/org/bouncycastle/asn1/DERBMPString; Lcom/android/org/bouncycastle/asn1/DERBitString; @@ -10427,6 +10538,7 @@ Lcom/android/org/bouncycastle/asn1/InMemoryRepresentable; Lcom/android/org/bouncycastle/asn1/IndefiniteLengthInputStream; Lcom/android/org/bouncycastle/asn1/LazyEncodedSequence; Lcom/android/org/bouncycastle/asn1/LimitedInputStream; +Lcom/android/org/bouncycastle/asn1/OIDTokenizer; Lcom/android/org/bouncycastle/asn1/StreamUtil; Lcom/android/org/bouncycastle/asn1/bc/BCObjectIdentifiers; Lcom/android/org/bouncycastle/asn1/misc/MiscObjectIdentifiers; @@ -10434,6 +10546,7 @@ Lcom/android/org/bouncycastle/asn1/nist/NISTObjectIdentifiers; Lcom/android/org/bouncycastle/asn1/oiw/OIWObjectIdentifiers; Lcom/android/org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers; Lcom/android/org/bouncycastle/asn1/x500/X500Name; +Lcom/android/org/bouncycastle/asn1/x500/X500NameStyle; Lcom/android/org/bouncycastle/asn1/x500/style/AbstractX500NameStyle; Lcom/android/org/bouncycastle/asn1/x500/style/BCStyle; Lcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier; @@ -10456,12 +10569,14 @@ Lcom/android/org/bouncycastle/crypto/DataLengthException; Lcom/android/org/bouncycastle/crypto/Digest; Lcom/android/org/bouncycastle/crypto/ExtendedDigest; Lcom/android/org/bouncycastle/crypto/InvalidCipherTextException; +Lcom/android/org/bouncycastle/crypto/Mac; Lcom/android/org/bouncycastle/crypto/OutputLengthException; Lcom/android/org/bouncycastle/crypto/PBEParametersGenerator; Lcom/android/org/bouncycastle/crypto/RuntimeCryptoException; Lcom/android/org/bouncycastle/crypto/Wrapper; Lcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactory; Lcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryBouncyCastle; +Lcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryInterface; Lcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryOpenSSL; Lcom/android/org/bouncycastle/crypto/digests/EncodableDigest; Lcom/android/org/bouncycastle/crypto/digests/GeneralDigest; @@ -10488,6 +10603,7 @@ Lcom/android/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator; Lcom/android/org/bouncycastle/crypto/io/MacInputStream; Lcom/android/org/bouncycastle/crypto/macs/HMac; Lcom/android/org/bouncycastle/crypto/modes/AEADBlockCipher; +Lcom/android/org/bouncycastle/crypto/modes/AEADCipher; Lcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher; Lcom/android/org/bouncycastle/crypto/paddings/BlockCipherPadding; Lcom/android/org/bouncycastle/crypto/paddings/PKCS7Padding; @@ -10503,16 +10619,22 @@ Lcom/android/org/bouncycastle/crypto/params/DSAValidationParameters; Lcom/android/org/bouncycastle/crypto/params/KeyParameter; Lcom/android/org/bouncycastle/crypto/params/ParametersWithIV; Lcom/android/org/bouncycastle/crypto/params/ParametersWithRandom; +Lcom/android/org/bouncycastle/jcajce/PBKDFKey; Lcom/android/org/bouncycastle/jcajce/PKCS12Key; +Lcom/android/org/bouncycastle/jcajce/PKCS12KeyWithParameters; Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/DH$Mappings; Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/DH; Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/DSA$Mappings; +Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/EC$Mappings; Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/RSA$Mappings; Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/RSA; +Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/X509$Mappings; Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dh/KeyFactorySpi; +Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey; Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSAUtil; Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/KeyFactorySpi; Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi$NoPadding; +Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi; Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyFactorySpi; Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/rsa/RSAUtil; Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/BaseCipherSpi; @@ -10525,7 +10647,8 @@ Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider; Lcom/android/org/bouncycastle/jcajce/provider/config/ProviderConfiguration; Lcom/android/org/bouncycastle/jcajce/provider/config/ProviderConfigurationPermission; Lcom/android/org/bouncycastle/jcajce/provider/digest/DigestAlgorithmProvider; -Lcom/android/org/bouncycastle/jcajce/provider/digest/SHA1$Mappings$$ExternalSyntheticOutline0; +Lcom/android/org/bouncycastle/jcajce/provider/digest/MD5$Mappings; +Lcom/android/org/bouncycastle/jcajce/provider/digest/MD5; Lcom/android/org/bouncycastle/jcajce/provider/digest/SHA1$Mappings; Lcom/android/org/bouncycastle/jcajce/provider/digest/SHA1; Lcom/android/org/bouncycastle/jcajce/provider/digest/SHA224$Mappings; @@ -10541,6 +10664,7 @@ Lcom/android/org/bouncycastle/jcajce/provider/keystore/PKCS12$Mappings; Lcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi$Std; Lcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi$StoreEntry; Lcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi; +Lcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$ECB$1; Lcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$ECB; Lcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$Mappings; Lcom/android/org/bouncycastle/jcajce/provider/symmetric/AES; @@ -10575,6 +10699,7 @@ Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseSecretKeyFactor Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseWrapCipher$ErasableOutputStream; Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseWrapCipher$InvalidKeyOrParametersException; Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseWrapCipher; +Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BlockCipherProvider; Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/ClassUtil$1; Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/ClassUtil; Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/GcmSpecUtil$2; @@ -10585,11 +10710,14 @@ Lcom/android/org/bouncycastle/jcajce/provider/util/AlgorithmProvider; Lcom/android/org/bouncycastle/jcajce/provider/util/AsymmetricAlgorithmProvider; Lcom/android/org/bouncycastle/jcajce/provider/util/AsymmetricKeyInfoConverter; Lcom/android/org/bouncycastle/jcajce/provider/util/DigestFactory; +Lcom/android/org/bouncycastle/jcajce/spec/AEADParameterSpec; Lcom/android/org/bouncycastle/jcajce/spec/PBKDF2KeySpec; Lcom/android/org/bouncycastle/jcajce/util/BCJcaJceHelper; Lcom/android/org/bouncycastle/jcajce/util/DefaultJcaJceHelper; Lcom/android/org/bouncycastle/jcajce/util/JcaJceHelper; +Lcom/android/org/bouncycastle/jcajce/util/ProviderJcaJceHelper; Lcom/android/org/bouncycastle/jce/X509Principal; +Lcom/android/org/bouncycastle/jce/interfaces/BCKeyStore; Lcom/android/org/bouncycastle/jce/interfaces/PKCS12BagAttributeCarrier; Lcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider$1; Lcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider$PrivateProvider; @@ -10599,18 +10727,23 @@ Lcom/android/org/bouncycastle/jce/provider/CertStoreCollectionSpi; Lcom/android/org/bouncycastle/jce/provider/X509CRLObject; Lcom/android/org/bouncycastle/util/Arrays; Lcom/android/org/bouncycastle/util/BigIntegers; +Lcom/android/org/bouncycastle/util/Encodable; Lcom/android/org/bouncycastle/util/Integers; +Lcom/android/org/bouncycastle/util/Iterable; Lcom/android/org/bouncycastle/util/Memoable; Lcom/android/org/bouncycastle/util/Pack; Lcom/android/org/bouncycastle/util/Properties$1; Lcom/android/org/bouncycastle/util/Properties; Lcom/android/org/bouncycastle/util/Strings$1; Lcom/android/org/bouncycastle/util/Strings; +Lcom/android/org/bouncycastle/util/encoders/Encoder; Lcom/android/org/bouncycastle/util/encoders/Hex; Lcom/android/org/bouncycastle/util/encoders/HexEncoder; Lcom/android/org/bouncycastle/util/io/Streams; Lcom/android/org/kxml2/io/KXmlParser$ContentSource; Lcom/android/org/kxml2/io/KXmlParser$ValueContext; +Lcom/android/org/kxml2/io/KXmlParser; +Lcom/android/org/kxml2/io/KXmlSerializer; Lcom/sun/security/cert/internal/x509/X509V1CertImpl; Ldalvik/annotation/optimization/CriticalNative; Ldalvik/annotation/optimization/FastNative; @@ -10619,6 +10752,7 @@ Ldalvik/annotation/optimization/NeverInline; Ldalvik/system/AppSpecializationHooks; Ldalvik/system/BaseDexClassLoader$Reporter; Ldalvik/system/BaseDexClassLoader; +Ldalvik/system/BlockGuard$1; Ldalvik/system/BlockGuard$2; Ldalvik/system/BlockGuard$3; Ldalvik/system/BlockGuard$BlockGuardPolicyException; @@ -10660,6 +10794,7 @@ Ljava/awt/font/NumericShaper; Ljava/awt/font/TextAttribute; Ljava/io/Bits; Ljava/io/BufferedInputStream; +Ljava/io/BufferedOutputStream; Ljava/io/BufferedReader; Ljava/io/BufferedWriter; Ljava/io/ByteArrayInputStream; @@ -10726,6 +10861,7 @@ Ljava/io/ObjectOutputStream$Caches; Ljava/io/ObjectOutputStream$DebugTraceInfoStack; Ljava/io/ObjectOutputStream$HandleTable; Ljava/io/ObjectOutputStream$PutField; +Ljava/io/ObjectOutputStream$PutFieldImpl; Ljava/io/ObjectOutputStream$ReplaceTable; Ljava/io/ObjectOutputStream; Ljava/io/ObjectStreamClass$$ExternalSyntheticLambda0; @@ -10938,6 +11074,7 @@ Ljava/lang/Thread$WeakClassKey; Ljava/lang/Thread; Ljava/lang/ThreadDeath; Ljava/lang/ThreadGroup; +Ljava/lang/ThreadLocal$SuppliedThreadLocal; Ljava/lang/ThreadLocal$ThreadLocalMap$Entry; Ljava/lang/ThreadLocal$ThreadLocalMap; Ljava/lang/ThreadLocal-IA; @@ -10953,8 +11090,10 @@ Ljava/lang/UNIXProcess$1; Ljava/lang/UNIXProcess$2; Ljava/lang/UNIXProcess$3; Ljava/lang/UNIXProcess$ProcessPipeInputStream; +Ljava/lang/UNIXProcess$ProcessPipeOutputStream; Ljava/lang/UNIXProcess$ProcessReaperThreadFactory$1; Ljava/lang/UNIXProcess$ProcessReaperThreadFactory; +Ljava/lang/UNIXProcess; Ljava/lang/UnsatisfiedLinkError; Ljava/lang/UnsupportedClassVersionError; Ljava/lang/UnsupportedOperationException; @@ -11209,8 +11348,10 @@ Ljava/net/SocketAddress; Ljava/net/SocketException; Ljava/net/SocketImpl; Ljava/net/SocketImplFactory; +Ljava/net/SocketInputStream; Ljava/net/SocketOption; Ljava/net/SocketOptions; +Ljava/net/SocketOutputStream; Ljava/net/SocketPermission; Ljava/net/SocketTimeoutException; Ljava/net/SocksConsts; @@ -11237,12 +11378,18 @@ Ljava/nio/BufferUnderflowException; Ljava/nio/ByteBuffer; Ljava/nio/ByteBufferAsCharBuffer; Ljava/nio/ByteBufferAsDoubleBuffer; +Ljava/nio/ByteBufferAsFloatBuffer; +Ljava/nio/ByteBufferAsIntBuffer; +Ljava/nio/ByteBufferAsLongBuffer; Ljava/nio/ByteBufferAsShortBuffer; Ljava/nio/ByteOrder; Ljava/nio/CharBuffer; Ljava/nio/DirectByteBuffer$MemoryRef; +Ljava/nio/DirectByteBuffer; Ljava/nio/DoubleBuffer; Ljava/nio/FloatBuffer; +Ljava/nio/HeapByteBuffer; +Ljava/nio/HeapCharBuffer; Ljava/nio/HeapIntBuffer; Ljava/nio/IntBuffer; Ljava/nio/InvalidMarkException; @@ -11394,6 +11541,7 @@ Ljava/security/KeyStore$TrustedCertificateEntry; Ljava/security/KeyStore; Ljava/security/KeyStoreException; Ljava/security/KeyStoreSpi; +Ljava/security/MessageDigest$Delegate; Ljava/security/MessageDigest; Ljava/security/MessageDigestSpi; Ljava/security/NoSuchAlgorithmException; @@ -11555,6 +11703,7 @@ Ljava/text/ParsePosition; Ljava/text/RuleBasedCollator; Ljava/text/SimpleDateFormat; Ljava/text/StringCharacterIterator; +Ljava/time/Clock$SystemClock; Ljava/time/Clock; Ljava/time/DateTimeException; Ljava/time/DayOfWeek; @@ -11573,6 +11722,7 @@ Ljava/time/Period; Ljava/time/Year; Ljava/time/ZoneId; Ljava/time/ZoneOffset; +Ljava/time/ZoneRegion; Ljava/time/ZonedDateTime$$ExternalSyntheticLambda0; Ljava/time/ZonedDateTime$1; Ljava/time/ZonedDateTime; @@ -11663,6 +11813,7 @@ Ljava/time/zone/ZoneRules; Ljava/time/zone/ZoneRulesException; Ljava/time/zone/ZoneRulesProvider; Ljava/util/AbstractCollection; +Ljava/util/AbstractList$Itr; Ljava/util/AbstractList$ListItr; Ljava/util/AbstractList$RandomAccessSpliterator; Ljava/util/AbstractList$RandomAccessSubList; @@ -11672,6 +11823,7 @@ Ljava/util/AbstractList-IA; Ljava/util/AbstractList; Ljava/util/AbstractMap$1; Ljava/util/AbstractMap$2$1; +Ljava/util/AbstractMap$2; Ljava/util/AbstractMap$SimpleEntry; Ljava/util/AbstractMap$SimpleImmutableEntry; Ljava/util/AbstractMap$ViewCollection; @@ -11680,10 +11832,15 @@ Ljava/util/AbstractQueue; Ljava/util/AbstractSequentialList; Ljava/util/AbstractSet; Ljava/util/ArrayDeque$$ExternalSyntheticLambda1; +Ljava/util/ArrayDeque$DeqIterator; +Ljava/util/ArrayDeque$DescendingIterator; Ljava/util/ArrayDeque; Ljava/util/ArrayList$ArrayListSpliterator; +Ljava/util/ArrayList$Itr; Ljava/util/ArrayList$ListItr; +Ljava/util/ArrayList$SubList$1; Ljava/util/ArrayList$SubList$2; +Ljava/util/ArrayList$SubList; Ljava/util/ArrayList; Ljava/util/ArrayPrefixHelpers$CumulateTask; Ljava/util/ArrayPrefixHelpers$DoubleCumulateTask; @@ -11693,6 +11850,8 @@ Ljava/util/Arrays$$ExternalSyntheticLambda0; Ljava/util/Arrays$$ExternalSyntheticLambda1; Ljava/util/Arrays$$ExternalSyntheticLambda2; Ljava/util/Arrays$$ExternalSyntheticLambda3; +Ljava/util/Arrays$ArrayItr; +Ljava/util/Arrays$ArrayList; Ljava/util/Arrays$NaturalOrder; Ljava/util/Arrays; Ljava/util/ArraysParallelSortHelpers$FJObject$Sorter; @@ -11704,7 +11863,9 @@ Ljava/util/Calendar$$ExternalSyntheticLambda0; Ljava/util/Calendar$Builder; Ljava/util/Calendar; Ljava/util/Collection; +Ljava/util/Collections$1; Ljava/util/Collections$2; +Ljava/util/Collections$3; Ljava/util/Collections$AsLIFOQueue; Ljava/util/Collections$CheckedCollection; Ljava/util/Collections$CheckedList; @@ -11718,31 +11879,50 @@ Ljava/util/Collections$CheckedSortedMap; Ljava/util/Collections$CheckedSortedSet; Ljava/util/Collections$CopiesList; Ljava/util/Collections$EmptyEnumeration; +Ljava/util/Collections$EmptyIterator; +Ljava/util/Collections$EmptyList; Ljava/util/Collections$EmptyListIterator; +Ljava/util/Collections$EmptyMap; +Ljava/util/Collections$EmptySet; Ljava/util/Collections$ReverseComparator2; Ljava/util/Collections$ReverseComparator; Ljava/util/Collections$SequencedSetFromMap; Ljava/util/Collections$SetFromMap; +Ljava/util/Collections$SingletonList; +Ljava/util/Collections$SingletonMap; +Ljava/util/Collections$SingletonSet; +Ljava/util/Collections$SynchronizedCollection; Ljava/util/Collections$SynchronizedList; +Ljava/util/Collections$SynchronizedMap; Ljava/util/Collections$SynchronizedNavigableMap; Ljava/util/Collections$SynchronizedNavigableSet; Ljava/util/Collections$SynchronizedRandomAccessList; Ljava/util/Collections$SynchronizedSet; Ljava/util/Collections$SynchronizedSortedMap; Ljava/util/Collections$SynchronizedSortedSet; +Ljava/util/Collections$UnmodifiableCollection$1; +Ljava/util/Collections$UnmodifiableCollection; Ljava/util/Collections$UnmodifiableList$1; Ljava/util/Collections$UnmodifiableList; +Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$1; +Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry; +Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet; +Ljava/util/Collections$UnmodifiableMap; Ljava/util/Collections$UnmodifiableNavigableMap$EmptyNavigableMap; Ljava/util/Collections$UnmodifiableNavigableMap; Ljava/util/Collections$UnmodifiableNavigableSet$EmptyNavigableSet; Ljava/util/Collections$UnmodifiableNavigableSet; +Ljava/util/Collections$UnmodifiableRandomAccessList; Ljava/util/Collections$UnmodifiableSequencedCollection; Ljava/util/Collections$UnmodifiableSequencedMap; Ljava/util/Collections$UnmodifiableSequencedSet; +Ljava/util/Collections$UnmodifiableSet; Ljava/util/Collections$UnmodifiableSortedMap; +Ljava/util/Collections$UnmodifiableSortedSet; Ljava/util/Collections-IA; Ljava/util/Collections; Ljava/util/ComparableTimSort; +Ljava/util/Comparator$$ExternalSyntheticLambda0; Ljava/util/Comparator$$ExternalSyntheticLambda1; Ljava/util/Comparator$$ExternalSyntheticLambda2; Ljava/util/Comparator$$ExternalSyntheticLambda3; @@ -11789,15 +11969,25 @@ Ljava/util/Formatter$FormatSpecifierParser; Ljava/util/Formatter$FormatString; Ljava/util/Formatter; Ljava/util/FormatterClosedException; +Ljava/util/GregorianCalendar; +Ljava/util/HashMap$EntryIterator; +Ljava/util/HashMap$EntrySet; Ljava/util/HashMap$EntrySpliterator; Ljava/util/HashMap$HashIterator; Ljava/util/HashMap$HashMapSpliterator; +Ljava/util/HashMap$KeyIterator; +Ljava/util/HashMap$KeySet; Ljava/util/HashMap$KeySpliterator; +Ljava/util/HashMap$Node; +Ljava/util/HashMap$TreeNode; Ljava/util/HashMap$UnsafeHolder; +Ljava/util/HashMap$ValueIterator; Ljava/util/HashMap$ValueSpliterator; +Ljava/util/HashMap$Values; Ljava/util/HashMap; Ljava/util/HashSet; Ljava/util/Hashtable$EntrySet; +Ljava/util/Hashtable$Enumerator; Ljava/util/Hashtable$HashtableEntry; Ljava/util/Hashtable$KeySet; Ljava/util/Hashtable$ValueCollection; @@ -11828,8 +12018,16 @@ Ljava/util/ImmutableCollections$AbstractImmutableMap; Ljava/util/ImmutableCollections$AbstractImmutableSet; Ljava/util/ImmutableCollections$Access$1; Ljava/util/ImmutableCollections$Access; +Ljava/util/ImmutableCollections$List12; +Ljava/util/ImmutableCollections$ListItr; +Ljava/util/ImmutableCollections$ListN; +Ljava/util/ImmutableCollections$Map1; Ljava/util/ImmutableCollections$MapN$1; Ljava/util/ImmutableCollections$MapN$MapNIterator; +Ljava/util/ImmutableCollections$MapN; +Ljava/util/ImmutableCollections$Set12; +Ljava/util/ImmutableCollections$SetN$SetNIterator; +Ljava/util/ImmutableCollections$SetN; Ljava/util/ImmutableCollections$SubList; Ljava/util/ImmutableCollections-IA; Ljava/util/ImmutableCollections; @@ -11838,10 +12036,19 @@ Ljava/util/Iterator; Ljava/util/JumboEnumSet$EnumSetIterator; Ljava/util/JumboEnumSet; Ljava/util/KeyValueHolder; +Ljava/util/LinkedHashMap$Entry; +Ljava/util/LinkedHashMap$LinkedEntryIterator; +Ljava/util/LinkedHashMap$LinkedEntrySet; Ljava/util/LinkedHashMap$LinkedHashIterator; +Ljava/util/LinkedHashMap$LinkedKeyIterator; +Ljava/util/LinkedHashMap$LinkedKeySet; +Ljava/util/LinkedHashMap$LinkedValueIterator; +Ljava/util/LinkedHashMap$LinkedValues; Ljava/util/LinkedHashMap$ReversedLinkedHashMapView; Ljava/util/LinkedHashMap; Ljava/util/LinkedHashSet; +Ljava/util/LinkedList$DescendingIterator; +Ljava/util/LinkedList$ListItr; Ljava/util/LinkedList$Node; Ljava/util/LinkedList; Ljava/util/List; @@ -11878,6 +12085,7 @@ Ljava/util/OptionalInt; Ljava/util/PrimitiveIterator$OfInt$$ExternalSyntheticLambda0; Ljava/util/PrimitiveIterator$OfInt; Ljava/util/PrimitiveIterator; +Ljava/util/PriorityQueue$Itr; Ljava/util/PriorityQueue; Ljava/util/Properties$EntrySet; Ljava/util/Properties$LineReader; @@ -11949,13 +12157,18 @@ Ljava/util/TooManyListenersException; Ljava/util/TreeMap$AscendingSubMap$AscendingEntrySetView; Ljava/util/TreeMap$AscendingSubMap; Ljava/util/TreeMap$DescendingSubMap; +Ljava/util/TreeMap$EntryIterator; +Ljava/util/TreeMap$EntrySet; +Ljava/util/TreeMap$KeyIterator; Ljava/util/TreeMap$KeySet; Ljava/util/TreeMap$NavigableSubMap$DescendingSubMapKeyIterator; Ljava/util/TreeMap$NavigableSubMap$EntrySetView; Ljava/util/TreeMap$NavigableSubMap$SubMapEntryIterator; Ljava/util/TreeMap$NavigableSubMap$SubMapIterator; +Ljava/util/TreeMap$NavigableSubMap$SubMapKeyIterator; Ljava/util/TreeMap$NavigableSubMap; Ljava/util/TreeMap$PrivateEntryIterator; +Ljava/util/TreeMap$TreeMapEntry; Ljava/util/TreeMap$ValueIterator; Ljava/util/TreeMap$Values; Ljava/util/TreeMap; @@ -11974,6 +12187,8 @@ Ljava/util/WeakHashMap$Entry; Ljava/util/WeakHashMap$EntryIterator; Ljava/util/WeakHashMap$EntrySet; Ljava/util/WeakHashMap$HashIterator; +Ljava/util/WeakHashMap$KeyIterator; +Ljava/util/WeakHashMap$KeySet; Ljava/util/WeakHashMap$ValueIterator; Ljava/util/WeakHashMap$Values; Ljava/util/WeakHashMap-IA; @@ -12000,6 +12215,8 @@ Ljava/util/concurrent/ConcurrentHashMap$BaseIterator; Ljava/util/concurrent/ConcurrentHashMap$BulkTask; Ljava/util/concurrent/ConcurrentHashMap$CollectionView; Ljava/util/concurrent/ConcurrentHashMap$CounterCell; +Ljava/util/concurrent/ConcurrentHashMap$EntryIterator; +Ljava/util/concurrent/ConcurrentHashMap$EntrySetView; Ljava/util/concurrent/ConcurrentHashMap$ForEachEntryTask; Ljava/util/concurrent/ConcurrentHashMap$ForEachKeyTask; Ljava/util/concurrent/ConcurrentHashMap$ForEachMappingTask; @@ -12012,6 +12229,7 @@ Ljava/util/concurrent/ConcurrentHashMap$ForwardingNode; Ljava/util/concurrent/ConcurrentHashMap$KeyIterator; Ljava/util/concurrent/ConcurrentHashMap$KeySetView; Ljava/util/concurrent/ConcurrentHashMap$KeySpliterator; +Ljava/util/concurrent/ConcurrentHashMap$MapEntry; Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesTask; Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToDoubleTask; Ljava/util/concurrent/ConcurrentHashMap$MapReduceEntriesToIntTask; @@ -12042,11 +12260,14 @@ Ljava/util/concurrent/ConcurrentHashMap$TableStack; Ljava/util/concurrent/ConcurrentHashMap$Traverser; Ljava/util/concurrent/ConcurrentHashMap$TreeBin; Ljava/util/concurrent/ConcurrentHashMap$TreeNode; +Ljava/util/concurrent/ConcurrentHashMap$ValueIterator; +Ljava/util/concurrent/ConcurrentHashMap$ValuesView; Ljava/util/concurrent/ConcurrentHashMap; Ljava/util/concurrent/ConcurrentLinkedDeque$Node; Ljava/util/concurrent/ConcurrentLinkedDeque; Ljava/util/concurrent/ConcurrentLinkedQueue$$ExternalSyntheticLambda0; Ljava/util/concurrent/ConcurrentLinkedQueue$$ExternalSyntheticLambda2; +Ljava/util/concurrent/ConcurrentLinkedQueue$Itr; Ljava/util/concurrent/ConcurrentLinkedQueue$Node; Ljava/util/concurrent/ConcurrentLinkedQueue; Ljava/util/concurrent/ConcurrentMap$$ExternalSyntheticLambda0; @@ -12061,6 +12282,8 @@ Ljava/util/concurrent/ConcurrentSkipListMap$Values; Ljava/util/concurrent/ConcurrentSkipListMap; Ljava/util/concurrent/ConcurrentSkipListSet; Ljava/util/concurrent/CopyOnWriteArrayList$$ExternalSyntheticLambda2; +Ljava/util/concurrent/CopyOnWriteArrayList$COWIterator; +Ljava/util/concurrent/CopyOnWriteArrayList; Ljava/util/concurrent/CopyOnWriteArraySet; Ljava/util/concurrent/CountDownLatch$Sync; Ljava/util/concurrent/CountDownLatch; @@ -12071,12 +12294,14 @@ Ljava/util/concurrent/ExecutionException; Ljava/util/concurrent/Executor; Ljava/util/concurrent/ExecutorService; Ljava/util/concurrent/Executors$AutoShutdownDelegatedExecutorService$$ExternalSyntheticLambda0; +Ljava/util/concurrent/Executors$AutoShutdownDelegatedExecutorService$$ExternalSyntheticLambda1; +Ljava/util/concurrent/Executors$AutoShutdownDelegatedExecutorService; Ljava/util/concurrent/Executors$DefaultThreadFactory; Ljava/util/concurrent/Executors$DelegatedExecutorService; +Ljava/util/concurrent/Executors$DelegatedScheduledExecutorService; Ljava/util/concurrent/Executors$RunnableAdapter; Ljava/util/concurrent/Executors; Ljava/util/concurrent/ForkJoinPool$1; -Ljava/util/concurrent/ForkJoinPool$DefaultCommonPoolForkJoinWorkerThreadFactory; Ljava/util/concurrent/ForkJoinPool$DefaultForkJoinWorkerThreadFactory; Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory; Ljava/util/concurrent/ForkJoinPool$ManagedBlocker; @@ -12108,6 +12333,8 @@ Ljava/util/concurrent/ScheduledExecutorService; Ljava/util/concurrent/ScheduledFuture; Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr; Ljava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue; +Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask; +Ljava/util/concurrent/ScheduledThreadPoolExecutor; Ljava/util/concurrent/Semaphore$FairSync; Ljava/util/concurrent/Semaphore$NonfairSync; Ljava/util/concurrent/Semaphore$Sync; @@ -12119,6 +12346,7 @@ Ljava/util/concurrent/ThreadLocalRandom; Ljava/util/concurrent/ThreadPoolExecutor$AbortPolicy; Ljava/util/concurrent/ThreadPoolExecutor$DiscardPolicy; Ljava/util/concurrent/ThreadPoolExecutor$Worker; +Ljava/util/concurrent/ThreadPoolExecutor; Ljava/util/concurrent/TimeUnit$1; Ljava/util/concurrent/TimeUnit; Ljava/util/concurrent/TimeoutException; @@ -12158,9 +12386,11 @@ Ljava/util/concurrent/locks/ReentrantLock$Sync; Ljava/util/concurrent/locks/ReentrantLock; Ljava/util/concurrent/locks/ReentrantReadWriteLock$FairSync; Ljava/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync; +Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock; Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync$HoldCounter; Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter; Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync; +Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; Ljava/util/concurrent/locks/ReentrantReadWriteLock; Ljava/util/function/BiConsumer; Ljava/util/function/BiFunction$$ExternalSyntheticLambda0; @@ -12176,6 +12406,7 @@ Ljava/util/function/DoubleConsumer; Ljava/util/function/DoubleSupplier; Ljava/util/function/DoubleUnaryOperator$$ExternalSyntheticLambda0; Ljava/util/function/DoubleUnaryOperator$$ExternalSyntheticLambda1; +Ljava/util/function/DoubleUnaryOperator$$ExternalSyntheticLambda2; Ljava/util/function/DoubleUnaryOperator; Ljava/util/function/Function$$ExternalSyntheticLambda0; Ljava/util/function/Function$$ExternalSyntheticLambda1; @@ -12329,6 +12560,7 @@ Ljava/util/stream/Collectors$CollectorImpl; Ljava/util/stream/Collectors; Ljava/util/stream/DistinctOps$1$1; Ljava/util/stream/DistinctOps$1$2; +Ljava/util/stream/DistinctOps$1; Ljava/util/stream/DistinctOps; Ljava/util/stream/DoublePipeline$$ExternalSyntheticLambda0; Ljava/util/stream/DoublePipeline$$ExternalSyntheticLambda4; @@ -12360,8 +12592,12 @@ Ljava/util/stream/IntPipeline$$ExternalSyntheticLambda5; Ljava/util/stream/IntPipeline$$ExternalSyntheticLambda7; Ljava/util/stream/IntPipeline$$ExternalSyntheticLambda8; Ljava/util/stream/IntPipeline$1$1; +Ljava/util/stream/IntPipeline$10; +Ljava/util/stream/IntPipeline$1; Ljava/util/stream/IntPipeline$4$1; +Ljava/util/stream/IntPipeline$4; Ljava/util/stream/IntPipeline$9; +Ljava/util/stream/IntPipeline$Head; Ljava/util/stream/IntPipeline$StatelessOp; Ljava/util/stream/IntPipeline; Ljava/util/stream/IntStream; @@ -12432,14 +12668,18 @@ Ljava/util/stream/ReferencePipeline$$ExternalSyntheticLambda1; Ljava/util/stream/ReferencePipeline$15$1; Ljava/util/stream/ReferencePipeline$15; Ljava/util/stream/ReferencePipeline$2$1; +Ljava/util/stream/ReferencePipeline$2; Ljava/util/stream/ReferencePipeline$3$1; +Ljava/util/stream/ReferencePipeline$3; Ljava/util/stream/ReferencePipeline$4$1; +Ljava/util/stream/ReferencePipeline$4; Ljava/util/stream/ReferencePipeline$5$1; Ljava/util/stream/ReferencePipeline$5; Ljava/util/stream/ReferencePipeline$6$1; Ljava/util/stream/ReferencePipeline$6; Ljava/util/stream/ReferencePipeline$7$1; Ljava/util/stream/ReferencePipeline$7; +Ljava/util/stream/ReferencePipeline$Head; Ljava/util/stream/ReferencePipeline$StatefulOp; Ljava/util/stream/ReferencePipeline$StatelessOp; Ljava/util/stream/ReferencePipeline; @@ -12453,6 +12693,7 @@ Ljava/util/stream/SliceOps$1$1; Ljava/util/stream/SliceOps$1; Ljava/util/stream/SliceOps; Ljava/util/stream/SortedOps$AbstractRefSortingSink; +Ljava/util/stream/SortedOps$OfRef; Ljava/util/stream/SortedOps$RefSortingSink$$ExternalSyntheticLambda0; Ljava/util/stream/SortedOps$RefSortingSink; Ljava/util/stream/SortedOps$SizedRefSortingSink; @@ -12641,7 +12882,9 @@ Ljdk/internal/access/JavaIOFileDescriptorAccess; Ljdk/internal/access/JavaObjectInputStreamAccess; Ljdk/internal/access/JavaUtilCollectionAccess; Ljdk/internal/access/SharedSecrets; +Ljdk/internal/math/DoubleToDecimal; Ljdk/internal/math/FDBigInteger; +Ljdk/internal/math/FloatToDecimal; Ljdk/internal/math/FloatingDecimal$1; Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryBuffer; Ljdk/internal/math/FloatingDecimal$ASCIIToBinaryConverter; @@ -12651,9 +12894,11 @@ Ljdk/internal/math/FloatingDecimal$ExceptionalBinaryToASCIIBuffer; Ljdk/internal/math/FloatingDecimal$HexFloatPattern; Ljdk/internal/math/FloatingDecimal$PreparedASCIIToBinaryBuffer; Ljdk/internal/math/FloatingDecimal; +Ljdk/internal/math/FormattedFPDecimal; Ljdk/internal/math/FormattedFloatingDecimal$1; Ljdk/internal/math/FormattedFloatingDecimal$Form; Ljdk/internal/math/FormattedFloatingDecimal; +Ljdk/internal/math/MathUtils; Ljdk/internal/misc/TerminatingThreadLocal$1; Ljdk/internal/misc/TerminatingThreadLocal; Ljdk/internal/misc/Unsafe; @@ -12661,6 +12906,7 @@ Ljdk/internal/misc/UnsafeConstants; Ljdk/internal/misc/VM; Ljdk/internal/misc/VirtualThreads; Ljdk/internal/ref/CleanerFactory; +Ljdk/internal/ref/CleanerImpl$PhantomCleanableRef; Ljdk/internal/ref/CleanerImpl; Ljdk/internal/ref/PhantomCleanable; Ljdk/internal/reflect/Reflection; @@ -12756,10 +13002,13 @@ Llibcore/util/FP16; Llibcore/util/HexEncoding; Llibcore/util/NativeAllocationRegistry$CleanerRunner; Llibcore/util/NativeAllocationRegistry$CleanerThunk; +Llibcore/util/NativeAllocationRegistry$Metrics; +Llibcore/util/NativeAllocationRegistry-IA; Llibcore/util/NativeAllocationRegistry; Llibcore/util/Objects; Llibcore/util/SneakyThrow; Llibcore/util/XmlObjectFactory; +Llibcore/util/ZoneInfo; Lorg/apache/harmony/dalvik/ddmc/Chunk; Lorg/apache/harmony/dalvik/ddmc/ChunkHandler; Lorg/apache/harmony/dalvik/ddmc/DdmServer; @@ -12887,6 +13136,7 @@ Lsun/nio/ch/DirectBuffer; Lsun/nio/ch/FileChannelImpl$SimpleFileLockTable; Lsun/nio/ch/FileChannelImpl$Unmapper; Lsun/nio/ch/FileChannelImpl-IA; +Lsun/nio/ch/FileChannelImpl; Lsun/nio/ch/FileDescriptorHolderSocketImpl; Lsun/nio/ch/FileDispatcher; Lsun/nio/ch/FileDispatcherImpl; @@ -12964,6 +13214,7 @@ Lsun/nio/fs/UnixFileSystemProvider$3; Lsun/nio/fs/UnixFileSystemProvider; Lsun/nio/fs/UnixMountEntry; Lsun/nio/fs/UnixNativeDispatcher; +Lsun/nio/fs/UnixPath; Lsun/nio/fs/UnixSecureDirectoryStream; Lsun/nio/fs/Util; Lsun/reflect/Reflection; @@ -13158,6 +13409,7 @@ Lsun/util/locale/BaseLocale-IA; Lsun/util/locale/BaseLocale; Lsun/util/locale/Extension; Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar; +Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveString; Lsun/util/locale/InternalLocaleBuilder-IA; Lsun/util/locale/InternalLocaleBuilder; Lsun/util/locale/LanguageTag; @@ -13209,22 +13461,29 @@ Lsun/util/logging/PlatformLogger; [Ldalvik/system/DexPathList$NativeLibraryElement; [Ljava/io/File$PathStatus; [Ljava/io/File; +[Ljava/io/FileDescriptor; +[Ljava/io/IOException; [Ljava/io/InputStream; [Ljava/io/ObjectInputStream$HandleTable$HandleList; [Ljava/io/ObjectStreamClass$ClassDataSlot; [Ljava/io/ObjectStreamClass$MemberSignature; [Ljava/io/ObjectStreamField; +[Ljava/io/Serializable; +[Ljava/lang/Boolean; [Ljava/lang/Byte; [Ljava/lang/CharSequence; [Ljava/lang/Character$UnicodeBlock; [Ljava/lang/Character; [Ljava/lang/Class; +[Ljava/lang/ClassLoader; [Ljava/lang/ClassValue$Entry; [Ljava/lang/Comparable; [Ljava/lang/Daemons$Daemon; [Ljava/lang/Double; [Ljava/lang/Enum; +[Ljava/lang/Float; [Ljava/lang/Integer; +[Ljava/lang/Iterable; [Ljava/lang/Long; [Ljava/lang/Number; [Ljava/lang/Object; @@ -13240,7 +13499,9 @@ Lsun/util/logging/PlatformLogger; [Ljava/lang/Thread; [Ljava/lang/ThreadGroup; [Ljava/lang/ThreadLocal$ThreadLocalMap$Entry; +[Ljava/lang/ThreadLocal; [Ljava/lang/Throwable; +[Ljava/lang/Void; [Ljava/lang/annotation/Annotation; [Ljava/lang/constant/ClassDesc; [Ljava/lang/constant/Constable; @@ -13263,6 +13524,7 @@ Lsun/util/logging/PlatformLogger; [Ljava/lang/reflect/TypeVariable; [Ljava/math/BigDecimal; [Ljava/math/BigInteger; +[Ljava/math/MathContext; [Ljava/math/RoundingMode; [Ljava/net/Authenticator$RequestorType; [Ljava/net/InetAddress; @@ -13295,6 +13557,7 @@ Lsun/util/logging/PlatformLogger; [Ljava/security/cert/X509CRL; [Ljava/security/cert/X509Certificate; [Ljava/text/DateFormat$Field; +[Ljava/text/DateFormat; [Ljava/text/Format; [Ljava/text/Normalizer$Form; [Ljava/text/NumberFormat$Style; @@ -13317,10 +13580,13 @@ Lsun/util/logging/PlatformLogger; [Ljava/time/zone/ZoneOffsetTransition; [Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition; [Ljava/time/zone/ZoneOffsetTransitionRule; +[Ljava/util/ArrayList; +[Ljava/util/Comparator; [Ljava/util/Comparators$NaturalOrderComparator; [Ljava/util/Enumeration; [Ljava/util/Formatter$Flags; [Ljava/util/HashMap$Node; +[Ljava/util/HashMap; [Ljava/util/Hashtable$HashtableEntry; [Ljava/util/List; [Ljava/util/Locale$Category; @@ -13328,15 +13594,19 @@ Lsun/util/logging/PlatformLogger; [Ljava/util/Locale$IsoCountryCode; [Ljava/util/Locale; [Ljava/util/Map$Entry; +[Ljava/util/Set; [Ljava/util/TimerTask; +[Ljava/util/UUID; [Ljava/util/WeakHashMap$Entry; [Ljava/util/concurrent/ConcurrentHashMap$CounterCell; [Ljava/util/concurrent/ConcurrentHashMap$Node; [Ljava/util/concurrent/ConcurrentHashMap$Segment; [Ljava/util/concurrent/ForkJoinPool$WorkQueue; [Ljava/util/concurrent/ForkJoinTask; +[Ljava/util/concurrent/Future$State; [Ljava/util/concurrent/RunnableScheduledFuture; [Ljava/util/concurrent/TimeUnit; +[Ljava/util/concurrent/atomic/AtomicReference; [Ljava/util/concurrent/atomic/Striped64$Cell; [Ljava/util/logging/Handler; [Ljava/util/prefs/AbstractPreferences; @@ -13353,6 +13623,7 @@ Lsun/util/logging/PlatformLogger; [Ljavax/net/ssl/SSLEngineResult$Status; [Ljavax/net/ssl/TrustManager; [Ljavax/security/auth/callback/Callback; +[Ljavax/security/auth/x500/X500Principal; [Ljavax/security/cert/X509Certificate; [Ljdk/internal/math/FDBigInteger; [Ljdk/internal/math/FormattedFloatingDecimal$Form; @@ -13385,14 +13656,20 @@ Lsun/util/logging/PlatformLogger; [S [Z [[B +[[C [[D +[[F [[I [[J [[Ljava/lang/Byte; [[Ljava/lang/Class; +[[Ljava/lang/Long; [[Ljava/lang/Object; [[Ljava/lang/String; [[Ljava/lang/annotation/Annotation; [[Ljava/lang/invoke/MethodHandle; [[Ljava/math/BigInteger; +[[S [[Z +[[[B +[[[I diff --git a/build/boot/preloaded-classes b/build/boot/preloaded-classes index 08735d6365..f857972d6d 100644 --- a/build/boot/preloaded-classes +++ b/build/boot/preloaded-classes @@ -1,5 +1,5 @@ # -# Copyright (C) 2017 The Android Open Source Project +# Copyright (C) 2025 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,10 +21,19 @@ # # This file has been derived for mainline phone (and tablet) usage. # +android.app.ActivityThread$AndroidOs +android.app.AppOpsManager$$ExternalSyntheticLambda4 android.compat.Compatibility$1 android.compat.Compatibility$BehaviorChangeDelegate android.compat.Compatibility$ChangeConfig android.compat.Compatibility +android.content.ContentCaptureOptions$ContentProtectionOptions$$ExternalSyntheticLambda0 +android.crypto.hpke.HpkeSpi +android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda4 +android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda6 +android.graphics.ColorSpace$Rgb$$ExternalSyntheticLambda9 +android.icu.text.RuleBasedBreakIterator +android.os.StrictMode$AndroidBlockGuardPolicy android.system.ErrnoException android.system.GaiException android.system.Int32Ref @@ -53,9 +62,19 @@ android.system.StructUtsname android.system.SystemCleaner android.system.UnixSocketAddress android.system.VmSocketAddress +android.util.ArrayMap +android.util.IndentingPrintWriter +android.util.MapCollections$ArrayIterator +android.util.MapCollections$EntrySet +android.util.MapCollections$KeySet +android.util.MapCollections$MapIterator +android.util.MapCollections$ValuesCollection +android.widget.RemoteViews$ApplicationInfoCache$$ExternalSyntheticLambda0 com.android.art.flags.FeatureFlags com.android.art.flags.FeatureFlagsImpl com.android.art.flags.Flags +com.android.internal.util.FastPrintWriter +com.android.internal.util.IndentingPrintWriter com.android.libcore.FeatureFlags com.android.libcore.FeatureFlagsImpl com.android.libcore.Flags @@ -219,12 +238,12 @@ com.android.okhttp.okio.Timeout$1 com.android.okhttp.okio.Timeout com.android.okhttp.okio.Util com.android.org.bouncycastle.asn1.ASN1ApplicationSpecific +com.android.org.bouncycastle.asn1.ASN1ApplicationSpecificParser com.android.org.bouncycastle.asn1.ASN1BitString com.android.org.bouncycastle.asn1.ASN1Boolean com.android.org.bouncycastle.asn1.ASN1Choice com.android.org.bouncycastle.asn1.ASN1Encodable com.android.org.bouncycastle.asn1.ASN1EncodableVector -com.android.org.bouncycastle.asn1.ASN1Enumerated$$ExternalSyntheticOutline0 com.android.org.bouncycastle.asn1.ASN1Enumerated com.android.org.bouncycastle.asn1.ASN1Exception com.android.org.bouncycastle.asn1.ASN1External @@ -248,6 +267,7 @@ com.android.org.bouncycastle.asn1.ASN1SetParser com.android.org.bouncycastle.asn1.ASN1StreamParser com.android.org.bouncycastle.asn1.ASN1String com.android.org.bouncycastle.asn1.ASN1TaggedObject +com.android.org.bouncycastle.asn1.ASN1TaggedObjectParser com.android.org.bouncycastle.asn1.ASN1UTCTime com.android.org.bouncycastle.asn1.BERApplicationSpecific com.android.org.bouncycastle.asn1.BERApplicationSpecificParser @@ -258,6 +278,7 @@ com.android.org.bouncycastle.asn1.BERSequenceParser com.android.org.bouncycastle.asn1.BERSet com.android.org.bouncycastle.asn1.BERSetParser com.android.org.bouncycastle.asn1.BERTaggedObjectParser +com.android.org.bouncycastle.asn1.BERTags com.android.org.bouncycastle.asn1.ConstructedOctetStream com.android.org.bouncycastle.asn1.DERBMPString com.android.org.bouncycastle.asn1.DERBitString @@ -289,6 +310,7 @@ com.android.org.bouncycastle.asn1.InMemoryRepresentable com.android.org.bouncycastle.asn1.IndefiniteLengthInputStream com.android.org.bouncycastle.asn1.LazyEncodedSequence com.android.org.bouncycastle.asn1.LimitedInputStream +com.android.org.bouncycastle.asn1.OIDTokenizer com.android.org.bouncycastle.asn1.StreamUtil com.android.org.bouncycastle.asn1.bc.BCObjectIdentifiers com.android.org.bouncycastle.asn1.misc.MiscObjectIdentifiers @@ -296,6 +318,7 @@ com.android.org.bouncycastle.asn1.nist.NISTObjectIdentifiers com.android.org.bouncycastle.asn1.oiw.OIWObjectIdentifiers com.android.org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers com.android.org.bouncycastle.asn1.x500.X500Name +com.android.org.bouncycastle.asn1.x500.X500NameStyle com.android.org.bouncycastle.asn1.x500.style.AbstractX500NameStyle com.android.org.bouncycastle.asn1.x500.style.BCStyle com.android.org.bouncycastle.asn1.x509.AlgorithmIdentifier @@ -318,12 +341,14 @@ com.android.org.bouncycastle.crypto.DataLengthException com.android.org.bouncycastle.crypto.Digest com.android.org.bouncycastle.crypto.ExtendedDigest com.android.org.bouncycastle.crypto.InvalidCipherTextException +com.android.org.bouncycastle.crypto.Mac com.android.org.bouncycastle.crypto.OutputLengthException com.android.org.bouncycastle.crypto.PBEParametersGenerator com.android.org.bouncycastle.crypto.RuntimeCryptoException com.android.org.bouncycastle.crypto.Wrapper com.android.org.bouncycastle.crypto.digests.AndroidDigestFactory com.android.org.bouncycastle.crypto.digests.AndroidDigestFactoryBouncyCastle +com.android.org.bouncycastle.crypto.digests.AndroidDigestFactoryInterface com.android.org.bouncycastle.crypto.digests.AndroidDigestFactoryOpenSSL com.android.org.bouncycastle.crypto.digests.EncodableDigest com.android.org.bouncycastle.crypto.digests.GeneralDigest @@ -350,6 +375,7 @@ com.android.org.bouncycastle.crypto.generators.PKCS5S2ParametersGenerator com.android.org.bouncycastle.crypto.io.MacInputStream com.android.org.bouncycastle.crypto.macs.HMac com.android.org.bouncycastle.crypto.modes.AEADBlockCipher +com.android.org.bouncycastle.crypto.modes.AEADCipher com.android.org.bouncycastle.crypto.modes.CBCBlockCipher com.android.org.bouncycastle.crypto.paddings.BlockCipherPadding com.android.org.bouncycastle.crypto.paddings.PKCS7Padding @@ -365,16 +391,22 @@ com.android.org.bouncycastle.crypto.params.DSAValidationParameters com.android.org.bouncycastle.crypto.params.KeyParameter com.android.org.bouncycastle.crypto.params.ParametersWithIV com.android.org.bouncycastle.crypto.params.ParametersWithRandom +com.android.org.bouncycastle.jcajce.PBKDFKey com.android.org.bouncycastle.jcajce.PKCS12Key +com.android.org.bouncycastle.jcajce.PKCS12KeyWithParameters com.android.org.bouncycastle.jcajce.provider.asymmetric.DH$Mappings com.android.org.bouncycastle.jcajce.provider.asymmetric.DH com.android.org.bouncycastle.jcajce.provider.asymmetric.DSA$Mappings +com.android.org.bouncycastle.jcajce.provider.asymmetric.EC$Mappings com.android.org.bouncycastle.jcajce.provider.asymmetric.RSA$Mappings com.android.org.bouncycastle.jcajce.provider.asymmetric.RSA +com.android.org.bouncycastle.jcajce.provider.asymmetric.X509$Mappings com.android.org.bouncycastle.jcajce.provider.asymmetric.dh.KeyFactorySpi +com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.BCDSAPublicKey com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.DSAUtil com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.KeyFactorySpi com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi$NoPadding +com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyFactorySpi com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.RSAUtil com.android.org.bouncycastle.jcajce.provider.asymmetric.util.BaseCipherSpi @@ -387,7 +419,8 @@ com.android.org.bouncycastle.jcajce.provider.config.ConfigurableProvider com.android.org.bouncycastle.jcajce.provider.config.ProviderConfiguration com.android.org.bouncycastle.jcajce.provider.config.ProviderConfigurationPermission com.android.org.bouncycastle.jcajce.provider.digest.DigestAlgorithmProvider -com.android.org.bouncycastle.jcajce.provider.digest.SHA1$Mappings$$ExternalSyntheticOutline0 +com.android.org.bouncycastle.jcajce.provider.digest.MD5$Mappings +com.android.org.bouncycastle.jcajce.provider.digest.MD5 com.android.org.bouncycastle.jcajce.provider.digest.SHA1$Mappings com.android.org.bouncycastle.jcajce.provider.digest.SHA1 com.android.org.bouncycastle.jcajce.provider.digest.SHA224$Mappings @@ -403,6 +436,7 @@ com.android.org.bouncycastle.jcajce.provider.keystore.PKCS12$Mappings com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$Std com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$StoreEntry com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi +com.android.org.bouncycastle.jcajce.provider.symmetric.AES$ECB$1 com.android.org.bouncycastle.jcajce.provider.symmetric.AES$ECB com.android.org.bouncycastle.jcajce.provider.symmetric.AES$Mappings com.android.org.bouncycastle.jcajce.provider.symmetric.AES @@ -437,6 +471,7 @@ com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseSecretKeyFactory com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseWrapCipher$ErasableOutputStream com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseWrapCipher$InvalidKeyOrParametersException com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseWrapCipher +com.android.org.bouncycastle.jcajce.provider.symmetric.util.BlockCipherProvider com.android.org.bouncycastle.jcajce.provider.symmetric.util.ClassUtil$1 com.android.org.bouncycastle.jcajce.provider.symmetric.util.ClassUtil com.android.org.bouncycastle.jcajce.provider.symmetric.util.GcmSpecUtil$2 @@ -447,11 +482,14 @@ com.android.org.bouncycastle.jcajce.provider.util.AlgorithmProvider com.android.org.bouncycastle.jcajce.provider.util.AsymmetricAlgorithmProvider com.android.org.bouncycastle.jcajce.provider.util.AsymmetricKeyInfoConverter com.android.org.bouncycastle.jcajce.provider.util.DigestFactory +com.android.org.bouncycastle.jcajce.spec.AEADParameterSpec com.android.org.bouncycastle.jcajce.spec.PBKDF2KeySpec com.android.org.bouncycastle.jcajce.util.BCJcaJceHelper com.android.org.bouncycastle.jcajce.util.DefaultJcaJceHelper com.android.org.bouncycastle.jcajce.util.JcaJceHelper +com.android.org.bouncycastle.jcajce.util.ProviderJcaJceHelper com.android.org.bouncycastle.jce.X509Principal +com.android.org.bouncycastle.jce.interfaces.BCKeyStore com.android.org.bouncycastle.jce.interfaces.PKCS12BagAttributeCarrier com.android.org.bouncycastle.jce.provider.BouncyCastleProvider$1 com.android.org.bouncycastle.jce.provider.BouncyCastleProvider$PrivateProvider @@ -461,18 +499,23 @@ com.android.org.bouncycastle.jce.provider.CertStoreCollectionSpi com.android.org.bouncycastle.jce.provider.X509CRLObject com.android.org.bouncycastle.util.Arrays com.android.org.bouncycastle.util.BigIntegers +com.android.org.bouncycastle.util.Encodable com.android.org.bouncycastle.util.Integers +com.android.org.bouncycastle.util.Iterable com.android.org.bouncycastle.util.Memoable com.android.org.bouncycastle.util.Pack com.android.org.bouncycastle.util.Properties$1 com.android.org.bouncycastle.util.Properties com.android.org.bouncycastle.util.Strings$1 com.android.org.bouncycastle.util.Strings +com.android.org.bouncycastle.util.encoders.Encoder com.android.org.bouncycastle.util.encoders.Hex com.android.org.bouncycastle.util.encoders.HexEncoder com.android.org.bouncycastle.util.io.Streams com.android.org.kxml2.io.KXmlParser$ContentSource com.android.org.kxml2.io.KXmlParser$ValueContext +com.android.org.kxml2.io.KXmlParser +com.android.org.kxml2.io.KXmlSerializer com.sun.security.cert.internal.x509.X509V1CertImpl dalvik.annotation.optimization.CriticalNative dalvik.annotation.optimization.FastNative @@ -481,6 +524,7 @@ dalvik.annotation.optimization.NeverInline dalvik.system.AppSpecializationHooks dalvik.system.BaseDexClassLoader$Reporter dalvik.system.BaseDexClassLoader +dalvik.system.BlockGuard$1 dalvik.system.BlockGuard$2 dalvik.system.BlockGuard$3 dalvik.system.BlockGuard$BlockGuardPolicyException @@ -522,6 +566,7 @@ java.awt.font.NumericShaper java.awt.font.TextAttribute java.io.Bits java.io.BufferedInputStream +java.io.BufferedOutputStream java.io.BufferedReader java.io.BufferedWriter java.io.ByteArrayInputStream @@ -588,6 +633,7 @@ java.io.ObjectOutputStream$Caches java.io.ObjectOutputStream$DebugTraceInfoStack java.io.ObjectOutputStream$HandleTable java.io.ObjectOutputStream$PutField +java.io.ObjectOutputStream$PutFieldImpl java.io.ObjectOutputStream$ReplaceTable java.io.ObjectOutputStream java.io.ObjectStreamClass$$ExternalSyntheticLambda0 @@ -800,6 +846,7 @@ java.lang.Thread$WeakClassKey java.lang.Thread java.lang.ThreadDeath java.lang.ThreadGroup +java.lang.ThreadLocal$SuppliedThreadLocal java.lang.ThreadLocal$ThreadLocalMap$Entry java.lang.ThreadLocal$ThreadLocalMap java.lang.ThreadLocal-IA @@ -815,8 +862,10 @@ java.lang.UNIXProcess$1 java.lang.UNIXProcess$2 java.lang.UNIXProcess$3 java.lang.UNIXProcess$ProcessPipeInputStream +java.lang.UNIXProcess$ProcessPipeOutputStream java.lang.UNIXProcess$ProcessReaperThreadFactory$1 java.lang.UNIXProcess$ProcessReaperThreadFactory +java.lang.UNIXProcess java.lang.UnsatisfiedLinkError java.lang.UnsupportedClassVersionError java.lang.UnsupportedOperationException @@ -1071,8 +1120,10 @@ java.net.SocketAddress java.net.SocketException java.net.SocketImpl java.net.SocketImplFactory +java.net.SocketInputStream java.net.SocketOption java.net.SocketOptions +java.net.SocketOutputStream java.net.SocketPermission java.net.SocketTimeoutException java.net.SocksConsts @@ -1099,12 +1150,18 @@ java.nio.BufferUnderflowException java.nio.ByteBuffer java.nio.ByteBufferAsCharBuffer java.nio.ByteBufferAsDoubleBuffer +java.nio.ByteBufferAsFloatBuffer +java.nio.ByteBufferAsIntBuffer +java.nio.ByteBufferAsLongBuffer java.nio.ByteBufferAsShortBuffer java.nio.ByteOrder java.nio.CharBuffer java.nio.DirectByteBuffer$MemoryRef +java.nio.DirectByteBuffer java.nio.DoubleBuffer java.nio.FloatBuffer +java.nio.HeapByteBuffer +java.nio.HeapCharBuffer java.nio.HeapIntBuffer java.nio.IntBuffer java.nio.InvalidMarkException @@ -1256,6 +1313,7 @@ java.security.KeyStore$TrustedCertificateEntry java.security.KeyStore java.security.KeyStoreException java.security.KeyStoreSpi +java.security.MessageDigest$Delegate java.security.MessageDigest java.security.MessageDigestSpi java.security.NoSuchAlgorithmException @@ -1417,6 +1475,7 @@ java.text.ParsePosition java.text.RuleBasedCollator java.text.SimpleDateFormat java.text.StringCharacterIterator +java.time.Clock$SystemClock java.time.Clock java.time.DateTimeException java.time.DayOfWeek @@ -1435,6 +1494,7 @@ java.time.Period java.time.Year java.time.ZoneId java.time.ZoneOffset +java.time.ZoneRegion java.time.ZonedDateTime$$ExternalSyntheticLambda0 java.time.ZonedDateTime$1 java.time.ZonedDateTime @@ -1525,6 +1585,7 @@ java.time.zone.ZoneRules java.time.zone.ZoneRulesException java.time.zone.ZoneRulesProvider java.util.AbstractCollection +java.util.AbstractList$Itr java.util.AbstractList$ListItr java.util.AbstractList$RandomAccessSpliterator java.util.AbstractList$RandomAccessSubList @@ -1534,6 +1595,7 @@ java.util.AbstractList-IA java.util.AbstractList java.util.AbstractMap$1 java.util.AbstractMap$2$1 +java.util.AbstractMap$2 java.util.AbstractMap$SimpleEntry java.util.AbstractMap$SimpleImmutableEntry java.util.AbstractMap$ViewCollection @@ -1542,10 +1604,15 @@ java.util.AbstractQueue java.util.AbstractSequentialList java.util.AbstractSet java.util.ArrayDeque$$ExternalSyntheticLambda1 +java.util.ArrayDeque$DeqIterator +java.util.ArrayDeque$DescendingIterator java.util.ArrayDeque java.util.ArrayList$ArrayListSpliterator +java.util.ArrayList$Itr java.util.ArrayList$ListItr +java.util.ArrayList$SubList$1 java.util.ArrayList$SubList$2 +java.util.ArrayList$SubList java.util.ArrayList java.util.ArrayPrefixHelpers$CumulateTask java.util.ArrayPrefixHelpers$DoubleCumulateTask @@ -1555,6 +1622,8 @@ java.util.Arrays$$ExternalSyntheticLambda0 java.util.Arrays$$ExternalSyntheticLambda1 java.util.Arrays$$ExternalSyntheticLambda2 java.util.Arrays$$ExternalSyntheticLambda3 +java.util.Arrays$ArrayItr +java.util.Arrays$ArrayList java.util.Arrays$NaturalOrder java.util.Arrays java.util.ArraysParallelSortHelpers$FJObject$Sorter @@ -1566,7 +1635,9 @@ java.util.Calendar$$ExternalSyntheticLambda0 java.util.Calendar$Builder java.util.Calendar java.util.Collection +java.util.Collections$1 java.util.Collections$2 +java.util.Collections$3 java.util.Collections$AsLIFOQueue java.util.Collections$CheckedCollection java.util.Collections$CheckedList @@ -1580,29 +1651,50 @@ java.util.Collections$CheckedSortedMap java.util.Collections$CheckedSortedSet java.util.Collections$CopiesList java.util.Collections$EmptyEnumeration +java.util.Collections$EmptyIterator +java.util.Collections$EmptyList java.util.Collections$EmptyListIterator +java.util.Collections$EmptyMap +java.util.Collections$EmptySet java.util.Collections$ReverseComparator2 java.util.Collections$ReverseComparator java.util.Collections$SequencedSetFromMap java.util.Collections$SetFromMap +java.util.Collections$SingletonList +java.util.Collections$SingletonMap +java.util.Collections$SingletonSet +java.util.Collections$SynchronizedCollection java.util.Collections$SynchronizedList +java.util.Collections$SynchronizedMap java.util.Collections$SynchronizedNavigableMap java.util.Collections$SynchronizedNavigableSet +java.util.Collections$SynchronizedRandomAccessList +java.util.Collections$SynchronizedSet java.util.Collections$SynchronizedSortedMap java.util.Collections$SynchronizedSortedSet +java.util.Collections$UnmodifiableCollection$1 +java.util.Collections$UnmodifiableCollection java.util.Collections$UnmodifiableList$1 java.util.Collections$UnmodifiableList +java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$1 +java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry +java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet +java.util.Collections$UnmodifiableMap java.util.Collections$UnmodifiableNavigableMap$EmptyNavigableMap java.util.Collections$UnmodifiableNavigableMap java.util.Collections$UnmodifiableNavigableSet$EmptyNavigableSet java.util.Collections$UnmodifiableNavigableSet +java.util.Collections$UnmodifiableRandomAccessList java.util.Collections$UnmodifiableSequencedCollection java.util.Collections$UnmodifiableSequencedMap java.util.Collections$UnmodifiableSequencedSet +java.util.Collections$UnmodifiableSet java.util.Collections$UnmodifiableSortedMap +java.util.Collections$UnmodifiableSortedSet java.util.Collections-IA java.util.Collections java.util.ComparableTimSort +java.util.Comparator$$ExternalSyntheticLambda0 java.util.Comparator$$ExternalSyntheticLambda1 java.util.Comparator$$ExternalSyntheticLambda2 java.util.Comparator$$ExternalSyntheticLambda3 @@ -1649,15 +1741,25 @@ java.util.Formatter$FormatSpecifierParser java.util.Formatter$FormatString java.util.Formatter java.util.FormatterClosedException +java.util.GregorianCalendar +java.util.HashMap$EntryIterator +java.util.HashMap$EntrySet java.util.HashMap$EntrySpliterator java.util.HashMap$HashIterator java.util.HashMap$HashMapSpliterator +java.util.HashMap$KeyIterator +java.util.HashMap$KeySet java.util.HashMap$KeySpliterator +java.util.HashMap$Node +java.util.HashMap$TreeNode java.util.HashMap$UnsafeHolder +java.util.HashMap$ValueIterator java.util.HashMap$ValueSpliterator +java.util.HashMap$Values java.util.HashMap java.util.HashSet java.util.Hashtable$EntrySet +java.util.Hashtable$Enumerator java.util.Hashtable$HashtableEntry java.util.Hashtable$KeySet java.util.Hashtable$ValueCollection @@ -1688,8 +1790,16 @@ java.util.ImmutableCollections$AbstractImmutableMap java.util.ImmutableCollections$AbstractImmutableSet java.util.ImmutableCollections$Access$1 java.util.ImmutableCollections$Access +java.util.ImmutableCollections$List12 +java.util.ImmutableCollections$ListItr +java.util.ImmutableCollections$ListN +java.util.ImmutableCollections$Map1 java.util.ImmutableCollections$MapN$1 java.util.ImmutableCollections$MapN$MapNIterator +java.util.ImmutableCollections$MapN +java.util.ImmutableCollections$Set12 +java.util.ImmutableCollections$SetN$SetNIterator +java.util.ImmutableCollections$SetN java.util.ImmutableCollections$SubList java.util.ImmutableCollections-IA java.util.InputMismatchException @@ -1697,10 +1807,19 @@ java.util.Iterator java.util.JumboEnumSet$EnumSetIterator java.util.JumboEnumSet java.util.KeyValueHolder +java.util.LinkedHashMap$Entry +java.util.LinkedHashMap$LinkedEntryIterator +java.util.LinkedHashMap$LinkedEntrySet java.util.LinkedHashMap$LinkedHashIterator +java.util.LinkedHashMap$LinkedKeyIterator +java.util.LinkedHashMap$LinkedKeySet +java.util.LinkedHashMap$LinkedValueIterator +java.util.LinkedHashMap$LinkedValues java.util.LinkedHashMap$ReversedLinkedHashMapView java.util.LinkedHashMap java.util.LinkedHashSet +java.util.LinkedList$DescendingIterator +java.util.LinkedList$ListItr java.util.LinkedList$Node java.util.LinkedList java.util.List @@ -1737,6 +1856,7 @@ java.util.OptionalInt java.util.PrimitiveIterator$OfInt$$ExternalSyntheticLambda0 java.util.PrimitiveIterator$OfInt java.util.PrimitiveIterator +java.util.PriorityQueue$Itr java.util.PriorityQueue java.util.Properties$EntrySet java.util.Properties$LineReader @@ -1808,13 +1928,18 @@ java.util.TooManyListenersException java.util.TreeMap$AscendingSubMap$AscendingEntrySetView java.util.TreeMap$AscendingSubMap java.util.TreeMap$DescendingSubMap +java.util.TreeMap$EntryIterator +java.util.TreeMap$EntrySet +java.util.TreeMap$KeyIterator java.util.TreeMap$KeySet java.util.TreeMap$NavigableSubMap$DescendingSubMapKeyIterator java.util.TreeMap$NavigableSubMap$EntrySetView java.util.TreeMap$NavigableSubMap$SubMapEntryIterator java.util.TreeMap$NavigableSubMap$SubMapIterator +java.util.TreeMap$NavigableSubMap$SubMapKeyIterator java.util.TreeMap$NavigableSubMap java.util.TreeMap$PrivateEntryIterator +java.util.TreeMap$TreeMapEntry java.util.TreeMap$ValueIterator java.util.TreeMap$Values java.util.TreeMap @@ -1833,6 +1958,8 @@ java.util.WeakHashMap$Entry java.util.WeakHashMap$EntryIterator java.util.WeakHashMap$EntrySet java.util.WeakHashMap$HashIterator +java.util.WeakHashMap$KeyIterator +java.util.WeakHashMap$KeySet java.util.WeakHashMap$ValueIterator java.util.WeakHashMap$Values java.util.WeakHashMap-IA @@ -1859,6 +1986,8 @@ java.util.concurrent.ConcurrentHashMap$BaseIterator java.util.concurrent.ConcurrentHashMap$BulkTask java.util.concurrent.ConcurrentHashMap$CollectionView java.util.concurrent.ConcurrentHashMap$CounterCell +java.util.concurrent.ConcurrentHashMap$EntryIterator +java.util.concurrent.ConcurrentHashMap$EntrySetView java.util.concurrent.ConcurrentHashMap$ForEachEntryTask java.util.concurrent.ConcurrentHashMap$ForEachKeyTask java.util.concurrent.ConcurrentHashMap$ForEachMappingTask @@ -1868,8 +1997,10 @@ java.util.concurrent.ConcurrentHashMap$ForEachTransformedMappingTask java.util.concurrent.ConcurrentHashMap$ForEachTransformedValueTask java.util.concurrent.ConcurrentHashMap$ForEachValueTask java.util.concurrent.ConcurrentHashMap$ForwardingNode +java.util.concurrent.ConcurrentHashMap$KeyIterator java.util.concurrent.ConcurrentHashMap$KeySetView java.util.concurrent.ConcurrentHashMap$KeySpliterator +java.util.concurrent.ConcurrentHashMap$MapEntry java.util.concurrent.ConcurrentHashMap$MapReduceEntriesTask java.util.concurrent.ConcurrentHashMap$MapReduceEntriesToDoubleTask java.util.concurrent.ConcurrentHashMap$MapReduceEntriesToIntTask @@ -1900,11 +2031,14 @@ java.util.concurrent.ConcurrentHashMap$TableStack java.util.concurrent.ConcurrentHashMap$Traverser java.util.concurrent.ConcurrentHashMap$TreeBin java.util.concurrent.ConcurrentHashMap$TreeNode +java.util.concurrent.ConcurrentHashMap$ValueIterator +java.util.concurrent.ConcurrentHashMap$ValuesView java.util.concurrent.ConcurrentHashMap java.util.concurrent.ConcurrentLinkedDeque$Node java.util.concurrent.ConcurrentLinkedDeque java.util.concurrent.ConcurrentLinkedQueue$$ExternalSyntheticLambda0 java.util.concurrent.ConcurrentLinkedQueue$$ExternalSyntheticLambda2 +java.util.concurrent.ConcurrentLinkedQueue$Itr java.util.concurrent.ConcurrentLinkedQueue$Node java.util.concurrent.ConcurrentLinkedQueue java.util.concurrent.ConcurrentMap$$ExternalSyntheticLambda0 @@ -1919,6 +2053,8 @@ java.util.concurrent.ConcurrentSkipListMap$Values java.util.concurrent.ConcurrentSkipListMap java.util.concurrent.ConcurrentSkipListSet java.util.concurrent.CopyOnWriteArrayList$$ExternalSyntheticLambda2 +java.util.concurrent.CopyOnWriteArrayList$COWIterator +java.util.concurrent.CopyOnWriteArrayList java.util.concurrent.CopyOnWriteArraySet java.util.concurrent.CountDownLatch$Sync java.util.concurrent.CountDownLatch @@ -1928,12 +2064,15 @@ java.util.concurrent.Delayed java.util.concurrent.ExecutionException java.util.concurrent.Executor java.util.concurrent.ExecutorService +java.util.concurrent.Executors$AutoShutdownDelegatedExecutorService$$ExternalSyntheticLambda0 +java.util.concurrent.Executors$AutoShutdownDelegatedExecutorService$$ExternalSyntheticLambda1 +java.util.concurrent.Executors$AutoShutdownDelegatedExecutorService java.util.concurrent.Executors$DefaultThreadFactory java.util.concurrent.Executors$DelegatedExecutorService +java.util.concurrent.Executors$DelegatedScheduledExecutorService java.util.concurrent.Executors$RunnableAdapter java.util.concurrent.Executors java.util.concurrent.ForkJoinPool$1 -java.util.concurrent.ForkJoinPool$DefaultCommonPoolForkJoinWorkerThreadFactory java.util.concurrent.ForkJoinPool$DefaultForkJoinWorkerThreadFactory java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory java.util.concurrent.ForkJoinPool$ManagedBlocker @@ -1942,6 +2081,7 @@ java.util.concurrent.ForkJoinPool java.util.concurrent.ForkJoinTask$Aux java.util.concurrent.ForkJoinTask java.util.concurrent.ForkJoinWorkerThread +java.util.concurrent.Future$State java.util.concurrent.Future java.util.concurrent.FutureTask$WaitNode java.util.concurrent.FutureTask @@ -1952,6 +2092,8 @@ java.util.concurrent.LinkedBlockingDeque java.util.concurrent.LinkedBlockingQueue$Itr java.util.concurrent.LinkedBlockingQueue$Node java.util.concurrent.LinkedBlockingQueue +java.util.concurrent.LinkedTransferQueue$DualNode +java.util.concurrent.LinkedTransferQueue java.util.concurrent.Phaser java.util.concurrent.PriorityBlockingQueue java.util.concurrent.RejectedExecutionException @@ -1962,6 +2104,8 @@ java.util.concurrent.ScheduledExecutorService java.util.concurrent.ScheduledFuture java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue +java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask +java.util.concurrent.ScheduledThreadPoolExecutor java.util.concurrent.Semaphore$FairSync java.util.concurrent.Semaphore$NonfairSync java.util.concurrent.Semaphore$Sync @@ -1972,9 +2116,11 @@ java.util.concurrent.ThreadFactory java.util.concurrent.ThreadPoolExecutor$AbortPolicy java.util.concurrent.ThreadPoolExecutor$DiscardPolicy java.util.concurrent.ThreadPoolExecutor$Worker +java.util.concurrent.ThreadPoolExecutor java.util.concurrent.TimeUnit$1 java.util.concurrent.TimeUnit java.util.concurrent.TimeoutException +java.util.concurrent.TransferQueue java.util.concurrent.atomic.AtomicBoolean java.util.concurrent.atomic.AtomicInteger java.util.concurrent.atomic.AtomicIntegerArray @@ -2010,9 +2156,11 @@ java.util.concurrent.locks.ReentrantLock$Sync java.util.concurrent.locks.ReentrantLock java.util.concurrent.locks.ReentrantReadWriteLock$FairSync java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync +java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock java.util.concurrent.locks.ReentrantReadWriteLock$Sync$HoldCounter java.util.concurrent.locks.ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter java.util.concurrent.locks.ReentrantReadWriteLock$Sync +java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock java.util.concurrent.locks.ReentrantReadWriteLock java.util.function.BiConsumer java.util.function.BiFunction$$ExternalSyntheticLambda0 @@ -2028,6 +2176,7 @@ java.util.function.DoubleConsumer java.util.function.DoubleSupplier java.util.function.DoubleUnaryOperator$$ExternalSyntheticLambda0 java.util.function.DoubleUnaryOperator$$ExternalSyntheticLambda1 +java.util.function.DoubleUnaryOperator$$ExternalSyntheticLambda2 java.util.function.DoubleUnaryOperator java.util.function.Function$$ExternalSyntheticLambda0 java.util.function.Function$$ExternalSyntheticLambda1 @@ -2181,6 +2330,7 @@ java.util.stream.Collectors$CollectorImpl java.util.stream.Collectors java.util.stream.DistinctOps$1$1 java.util.stream.DistinctOps$1$2 +java.util.stream.DistinctOps$1 java.util.stream.DistinctOps java.util.stream.DoublePipeline$$ExternalSyntheticLambda0 java.util.stream.DoublePipeline$$ExternalSyntheticLambda4 @@ -2212,8 +2362,12 @@ java.util.stream.IntPipeline$$ExternalSyntheticLambda5 java.util.stream.IntPipeline$$ExternalSyntheticLambda7 java.util.stream.IntPipeline$$ExternalSyntheticLambda8 java.util.stream.IntPipeline$1$1 +java.util.stream.IntPipeline$10 +java.util.stream.IntPipeline$1 java.util.stream.IntPipeline$4$1 +java.util.stream.IntPipeline$4 java.util.stream.IntPipeline$9 +java.util.stream.IntPipeline$Head java.util.stream.IntPipeline$StatelessOp java.util.stream.IntPipeline java.util.stream.IntStream @@ -2284,14 +2438,18 @@ java.util.stream.ReferencePipeline$$ExternalSyntheticLambda1 java.util.stream.ReferencePipeline$15$1 java.util.stream.ReferencePipeline$15 java.util.stream.ReferencePipeline$2$1 +java.util.stream.ReferencePipeline$2 java.util.stream.ReferencePipeline$3$1 +java.util.stream.ReferencePipeline$3 java.util.stream.ReferencePipeline$4$1 +java.util.stream.ReferencePipeline$4 java.util.stream.ReferencePipeline$5$1 java.util.stream.ReferencePipeline$5 java.util.stream.ReferencePipeline$6$1 java.util.stream.ReferencePipeline$6 java.util.stream.ReferencePipeline$7$1 java.util.stream.ReferencePipeline$7 +java.util.stream.ReferencePipeline$Head java.util.stream.ReferencePipeline$StatefulOp java.util.stream.ReferencePipeline$StatelessOp java.util.stream.ReferencePipeline @@ -2305,6 +2463,7 @@ java.util.stream.SliceOps$1$1 java.util.stream.SliceOps$1 java.util.stream.SliceOps java.util.stream.SortedOps$AbstractRefSortingSink +java.util.stream.SortedOps$OfRef java.util.stream.SortedOps$RefSortingSink$$ExternalSyntheticLambda0 java.util.stream.SortedOps$RefSortingSink java.util.stream.SortedOps$SizedRefSortingSink @@ -2347,6 +2506,7 @@ java.util.zip.Deflater-IA java.util.zip.Deflater java.util.zip.DeflaterOutputStream java.util.zip.GZIPInputStream$1 +java.util.zip.GZIPInputStream java.util.zip.GZIPOutputStream java.util.zip.Inflater$InflaterZStreamRef java.util.zip.Inflater-IA @@ -2491,7 +2651,9 @@ jdk.internal.access.JavaIOFileDescriptorAccess jdk.internal.access.JavaObjectInputStreamAccess jdk.internal.access.JavaUtilCollectionAccess jdk.internal.access.SharedSecrets +jdk.internal.math.DoubleToDecimal jdk.internal.math.FDBigInteger +jdk.internal.math.FloatToDecimal jdk.internal.math.FloatingDecimal$1 jdk.internal.math.FloatingDecimal$ASCIIToBinaryBuffer jdk.internal.math.FloatingDecimal$ASCIIToBinaryConverter @@ -2501,9 +2663,11 @@ jdk.internal.math.FloatingDecimal$ExceptionalBinaryToASCIIBuffer jdk.internal.math.FloatingDecimal$HexFloatPattern jdk.internal.math.FloatingDecimal$PreparedASCIIToBinaryBuffer jdk.internal.math.FloatingDecimal +jdk.internal.math.FormattedFPDecimal jdk.internal.math.FormattedFloatingDecimal$1 jdk.internal.math.FormattedFloatingDecimal$Form jdk.internal.math.FormattedFloatingDecimal +jdk.internal.math.MathUtils jdk.internal.misc.TerminatingThreadLocal$1 jdk.internal.misc.TerminatingThreadLocal jdk.internal.misc.Unsafe @@ -2511,6 +2675,7 @@ jdk.internal.misc.UnsafeConstants jdk.internal.misc.VM jdk.internal.misc.VirtualThreads jdk.internal.ref.CleanerFactory +jdk.internal.ref.CleanerImpl$PhantomCleanableRef jdk.internal.ref.CleanerImpl jdk.internal.ref.PhantomCleanable jdk.internal.reflect.Reflection @@ -2606,10 +2771,12 @@ libcore.util.FP16 libcore.util.HexEncoding libcore.util.NativeAllocationRegistry$CleanerRunner libcore.util.NativeAllocationRegistry$CleanerThunk +libcore.util.NativeAllocationRegistry$Metrics libcore.util.NativeAllocationRegistry libcore.util.Objects libcore.util.SneakyThrow libcore.util.XmlObjectFactory +libcore.util.ZoneInfo org.apache.harmony.dalvik.ddmc.Chunk org.apache.harmony.dalvik.ddmc.ChunkHandler org.apache.harmony.dalvik.ddmc.DdmServer @@ -2627,7 +2794,9 @@ org.apache.harmony.xml.dom.CDATASectionImpl org.apache.harmony.xml.dom.CharacterDataImpl org.apache.harmony.xml.dom.CommentImpl org.apache.harmony.xml.dom.DOMImplementationImpl +org.apache.harmony.xml.dom.DocumentImpl org.apache.harmony.xml.dom.DocumentTypeImpl +org.apache.harmony.xml.dom.ElementImpl org.apache.harmony.xml.dom.EntityReferenceImpl org.apache.harmony.xml.dom.InnerNodeImpl org.apache.harmony.xml.dom.LeafNodeImpl @@ -2635,6 +2804,7 @@ org.apache.harmony.xml.dom.NodeImpl$1 org.apache.harmony.xml.dom.NodeImpl org.apache.harmony.xml.dom.NodeListImpl org.apache.harmony.xml.dom.ProcessingInstructionImpl +org.apache.harmony.xml.dom.TextImpl org.apache.harmony.xml.parsers.DocumentBuilderFactoryImpl org.apache.harmony.xml.parsers.DocumentBuilderImpl org.apache.harmony.xml.parsers.SAXParserFactoryImpl @@ -2734,6 +2904,7 @@ sun.nio.ch.DirectBuffer sun.nio.ch.FileChannelImpl$SimpleFileLockTable sun.nio.ch.FileChannelImpl$Unmapper sun.nio.ch.FileChannelImpl-IA +sun.nio.ch.FileChannelImpl sun.nio.ch.FileDescriptorHolderSocketImpl sun.nio.ch.FileDispatcher sun.nio.ch.FileDispatcherImpl @@ -2810,6 +2981,7 @@ sun.nio.fs.UnixFileSystemProvider$3 sun.nio.fs.UnixFileSystemProvider sun.nio.fs.UnixMountEntry sun.nio.fs.UnixNativeDispatcher +sun.nio.fs.UnixPath sun.nio.fs.UnixSecureDirectoryStream sun.nio.fs.Util sun.reflect.Reflection @@ -3004,6 +3176,7 @@ sun.util.locale.BaseLocale-IA sun.util.locale.BaseLocale sun.util.locale.Extension sun.util.locale.InternalLocaleBuilder$CaseInsensitiveChar +sun.util.locale.InternalLocaleBuilder$CaseInsensitiveString sun.util.locale.InternalLocaleBuilder-IA sun.util.locale.InternalLocaleBuilder sun.util.locale.LanguageTag @@ -3055,22 +3228,28 @@ sun.util.logging.PlatformLogger [Ldalvik.system.DexPathList$NativeLibraryElement; [Ljava.io.File$PathStatus; [Ljava.io.File; +[Ljava.io.FileDescriptor; +[Ljava.io.IOException; [Ljava.io.InputStream; [Ljava.io.ObjectInputStream$HandleTable$HandleList; [Ljava.io.ObjectStreamClass$ClassDataSlot; [Ljava.io.ObjectStreamClass$MemberSignature; [Ljava.io.ObjectStreamField; +[Ljava.io.Serializable; +[Ljava.lang.Boolean; [Ljava.lang.Byte; [Ljava.lang.CharSequence; [Ljava.lang.Character$UnicodeBlock; [Ljava.lang.Character; [Ljava.lang.Class; +[Ljava.lang.ClassLoader; [Ljava.lang.ClassValue$Entry; [Ljava.lang.Comparable; [Ljava.lang.Daemons$Daemon; [Ljava.lang.Double; [Ljava.lang.Enum; [Ljava.lang.Integer; +[Ljava.lang.Iterable; [Ljava.lang.Long; [Ljava.lang.Number; [Ljava.lang.Object; @@ -3086,7 +3265,9 @@ sun.util.logging.PlatformLogger [Ljava.lang.Thread; [Ljava.lang.ThreadGroup; [Ljava.lang.ThreadLocal$ThreadLocalMap$Entry; +[Ljava.lang.ThreadLocal; [Ljava.lang.Throwable; +[Ljava.lang.Void; [Ljava.lang.annotation.Annotation; [Ljava.lang.constant.ClassDesc; [Ljava.lang.constant.Constable; @@ -3109,6 +3290,7 @@ sun.util.logging.PlatformLogger [Ljava.lang.reflect.TypeVariable; [Ljava.math.BigDecimal; [Ljava.math.BigInteger; +[Ljava.math.MathContext; [Ljava.math.RoundingMode; [Ljava.net.Authenticator$RequestorType; [Ljava.net.InetAddress; @@ -3141,6 +3323,7 @@ sun.util.logging.PlatformLogger [Ljava.security.cert.X509CRL; [Ljava.security.cert.X509Certificate; [Ljava.text.DateFormat$Field; +[Ljava.text.DateFormat; [Ljava.text.Format; [Ljava.text.Normalizer$Form; [Ljava.text.NumberFormat$Style; @@ -3163,10 +3346,13 @@ sun.util.logging.PlatformLogger [Ljava.time.zone.ZoneOffsetTransition; [Ljava.time.zone.ZoneOffsetTransitionRule$TimeDefinition; [Ljava.time.zone.ZoneOffsetTransitionRule; +[Ljava.util.ArrayList; +[Ljava.util.Comparator; [Ljava.util.Comparators$NaturalOrderComparator; [Ljava.util.Enumeration; [Ljava.util.Formatter$Flags; [Ljava.util.HashMap$Node; +[Ljava.util.HashMap; [Ljava.util.Hashtable$HashtableEntry; [Ljava.util.List; [Ljava.util.Locale$Category; @@ -3174,15 +3360,19 @@ sun.util.logging.PlatformLogger [Ljava.util.Locale$IsoCountryCode; [Ljava.util.Locale; [Ljava.util.Map$Entry; +[Ljava.util.Set; [Ljava.util.TimerTask; +[Ljava.util.UUID; [Ljava.util.WeakHashMap$Entry; [Ljava.util.concurrent.ConcurrentHashMap$CounterCell; [Ljava.util.concurrent.ConcurrentHashMap$Node; [Ljava.util.concurrent.ConcurrentHashMap$Segment; [Ljava.util.concurrent.ForkJoinPool$WorkQueue; [Ljava.util.concurrent.ForkJoinTask; +[Ljava.util.concurrent.Future$State; [Ljava.util.concurrent.RunnableScheduledFuture; [Ljava.util.concurrent.TimeUnit; +[Ljava.util.concurrent.atomic.AtomicReference; [Ljava.util.concurrent.atomic.Striped64$Cell; [Ljava.util.logging.Handler; [Ljava.util.prefs.AbstractPreferences; @@ -3199,6 +3389,7 @@ sun.util.logging.PlatformLogger [Ljavax.net.ssl.SSLEngineResult$Status; [Ljavax.net.ssl.TrustManager; [Ljavax.security.auth.callback.Callback; +[Ljavax.security.auth.x500.X500Principal; [Ljavax.security.cert.X509Certificate; [Ljdk.internal.math.FDBigInteger; [Ljdk.internal.math.FormattedFloatingDecimal$Form; @@ -3231,14 +3422,20 @@ sun.util.logging.PlatformLogger [S [Z [[B +[[C [[D +[[F [[I [[J [[Ljava.lang.Byte; [[Ljava.lang.Class; +[[Ljava.lang.Long; [[Ljava.lang.Object; [[Ljava.lang.String; [[Ljava.lang.annotation.Annotation; [[Ljava.lang.invoke.MethodHandle; [[Ljava.math.BigInteger; +[[S [[Z +[[[B +[[[I diff --git a/libartservice/service/java/com/android/server/art/DexUseManagerLocal.java b/libartservice/service/java/com/android/server/art/DexUseManagerLocal.java index 8d47cb6ba0..92a0dab04d 100644 --- a/libartservice/service/java/com/android/server/art/DexUseManagerLocal.java +++ b/libartservice/service/java/com/android/server/art/DexUseManagerLocal.java @@ -113,6 +113,14 @@ public class DexUseManagerLocal { */ @VisibleForTesting public static final long INTERVAL_MS = 15_000; + // Impose a limit on the input accepted by notifyDexContainersLoaded per owning package. + /** @hide */ + @VisibleForTesting public static final int MAX_PATH_LENGTH = 4096; + /** @hide */ + @VisibleForTesting public static final int MAX_CLASS_LOADER_CONTEXT_LENGTH = 10000; + /** @hide */ + private static final int MAX_SECONDARY_DEX_FILES_PER_OWNER = 500; + private static final Object sLock = new Object(); // The static field is associated with the class and the class loader that loads it. In the @@ -527,7 +535,7 @@ public class DexUseManagerLocal { } // Check remaining packages. Don't check for shared libraries because it might be too - // expansive to do so and the time complexity is O(n) no matter we do it or not. + // expensive to do so and the time complexity is O(n) no matter we do it or not. for (PackageState pkgState : packageStates.values()) { if (visitedPackages.contains(pkgState.getPackageName())) { continue; @@ -657,16 +665,27 @@ public class DexUseManagerLocal { private void addSecondaryDexUse(@NonNull String owningPackageName, @NonNull String dexPath, @NonNull String loadingPackageName, boolean isolatedProcess, @NonNull String classLoaderContext, @NonNull String abiName, long lastUsedAtMs) { + DexLoader loader = DexLoader.create(loadingPackageName, isolatedProcess); synchronized (mLock) { + PackageDexUse packageDexUse = mDexUse.mPackageDexUseByOwningPackageName.computeIfAbsent( + owningPackageName, k -> new PackageDexUse()); SecondaryDexUse secondaryDexUse = - mDexUse.mPackageDexUseByOwningPackageName - .computeIfAbsent(owningPackageName, k -> new PackageDexUse()) - .mSecondaryDexUseByDexFile.computeIfAbsent( - dexPath, k -> new SecondaryDexUse()); + packageDexUse.mSecondaryDexUseByDexFile.computeIfAbsent(dexPath, k -> { + if (packageDexUse.mSecondaryDexUseByDexFile.size() + >= mInjector.getMaxSecondaryDexFilesPerOwner()) { + AsLog.w("Not recording too many secondary dex use entries for " + + owningPackageName); + return null; + } + return new SecondaryDexUse(); + }); + if (secondaryDexUse == null) { + return; + } secondaryDexUse.mUserHandle = mInjector.getCallingUserHandle(); - SecondaryDexUseRecord record = secondaryDexUse.mRecordByLoader.computeIfAbsent( - DexLoader.create(loadingPackageName, isolatedProcess), - k -> new SecondaryDexUseRecord()); + SecondaryDexUseRecord record = + secondaryDexUse.mRecordByLoader.computeIfAbsent( + loader, k -> new SecondaryDexUseRecord()); record.mClassLoaderContext = classLoaderContext; record.mAbiName = abiName; record.mLastUsedAtMs = lastUsedAtMs; @@ -772,13 +791,23 @@ public class DexUseManagerLocal { } for (var entry : classLoaderContextByDexContainerFile.entrySet()) { - Utils.assertNonEmpty(entry.getKey()); - String errorMsg = ArtJni.validateDexPath(entry.getKey()); + String dexPath = entry.getKey(); + String classLoaderContext = entry.getValue(); + Utils.assertNonEmpty(dexPath); + if (dexPath.length() > MAX_PATH_LENGTH) { + throw new IllegalArgumentException( + "Dex path too long - exceeds " + MAX_PATH_LENGTH + " chars"); + } + String errorMsg = ArtJni.validateDexPath(dexPath); if (errorMsg != null) { throw new IllegalArgumentException(errorMsg); } - Utils.assertNonEmpty(entry.getValue()); - errorMsg = ArtJni.validateClassLoaderContext(entry.getKey(), entry.getValue()); + Utils.assertNonEmpty(classLoaderContext); + if (classLoaderContext.length() > MAX_CLASS_LOADER_CONTEXT_LENGTH) { + throw new IllegalArgumentException("Class loader context too long - exceeds " + + MAX_CLASS_LOADER_CONTEXT_LENGTH + " chars"); + } + errorMsg = ArtJni.validateClassLoaderContext(dexPath, classLoaderContext); if (errorMsg != null) { throw new IllegalArgumentException(errorMsg); } @@ -1404,5 +1433,9 @@ public class DexUseManagerLocal { public boolean isIsolatedUid(int uid) { return Process.isIsolatedUid(uid); } + + public int getMaxSecondaryDexFilesPerOwner() { + return MAX_SECONDARY_DEX_FILES_PER_OWNER; + } } } diff --git a/libartservice/service/javatests/com/android/server/art/DexUseManagerTest.java b/libartservice/service/javatests/com/android/server/art/DexUseManagerTest.java index d404b4cbda..1627c5eeef 100644 --- a/libartservice/service/javatests/com/android/server/art/DexUseManagerTest.java +++ b/libartservice/service/javatests/com/android/server/art/DexUseManagerTest.java @@ -28,6 +28,7 @@ import static org.mockito.Mockito.argThat; import static org.mockito.Mockito.eq; import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -85,6 +86,9 @@ public class DexUseManagerTest { private static final String INVISIBLE_BASE_APK = "/somewhere/app/" + INVISIBLE_PKG_NAME + "/base.apk"; + // A reduced limit to make the test run faster. + private static final int MAX_SECONDARY_DEX_FILES_PER_OWNER_FOR_TESTING = 50; + @Rule public StaticMockitoRule mockitoRule = new StaticMockitoRule( SystemProperties.class, Constants.class, ArtJni.class); @@ -185,6 +189,9 @@ public class DexUseManagerTest { lenient().when(mInjector.getCallingUserHandle()).thenReturn(mUserHandle); lenient().when(mInjector.getCallingUid()).thenReturn(110001); lenient().when(mInjector.isIsolatedUid(anyInt())).thenReturn(false); + lenient() + .when(mInjector.getMaxSecondaryDexFilesPerOwner()) + .thenReturn(MAX_SECONDARY_DEX_FILES_PER_OWNER_FOR_TESTING); mDexUseManager = new DexUseManagerLocal(mInjector); mDexUseManager.systemReady(); @@ -639,11 +646,11 @@ public class DexUseManagerTest { @Test public void testCheckedSecondaryDexNotFound() throws Exception { - when(mArtd.getDexFileVisibility(mCeDir + "/foo.apk")).thenReturn(FileVisibility.NOT_FOUND); - mDexUseManager.notifyDexContainersLoaded( mSnapshot, OWNING_PKG_NAME, Map.of(mCeDir + "/foo.apk", "CLC")); + when(mArtd.getDexFileVisibility(mCeDir + "/foo.apk")).thenReturn(FileVisibility.NOT_FOUND); + assertThat(mDexUseManager.getCheckedSecondaryDexInfo( OWNING_PKG_NAME, true /* excludeObsoleteDexesAndLoaders */)) .isEmpty(); @@ -825,6 +832,18 @@ public class DexUseManagerTest { } @Test(expected = IllegalArgumentException.class) + public void testTooLongDexPath() throws Exception { + mDexUseManager.notifyDexContainersLoaded(mSnapshot, OWNING_PKG_NAME, + Map.of("/" + "X".repeat(DexUseManagerLocal.MAX_PATH_LENGTH), "CLC")); + } + + @Test + public void testMaxLengthDexPath() throws Exception { + mDexUseManager.notifyDexContainersLoaded(mSnapshot, OWNING_PKG_NAME, + Map.of("/" + "X".repeat(DexUseManagerLocal.MAX_PATH_LENGTH - 1), "CLC")); + } + + @Test(expected = IllegalArgumentException.class) public void testInvalidDexPath() throws Exception { lenient().when(ArtJni.validateDexPath(any())).thenReturn("invalid"); mDexUseManager.notifyDexContainersLoaded( @@ -832,6 +851,20 @@ public class DexUseManagerTest { } @Test(expected = IllegalArgumentException.class) + public void testTooLongClassLoaderContext() throws Exception { + mDexUseManager.notifyDexContainersLoaded(mSnapshot, OWNING_PKG_NAME, + Map.of(mCeDir + "/foo.apk", + "X".repeat(DexUseManagerLocal.MAX_CLASS_LOADER_CONTEXT_LENGTH + 1))); + } + + @Test + public void testMaxLengthClassLoaderContext() throws Exception { + mDexUseManager.notifyDexContainersLoaded(mSnapshot, OWNING_PKG_NAME, + Map.of(mCeDir + "/foo.apk", + "X".repeat(DexUseManagerLocal.MAX_CLASS_LOADER_CONTEXT_LENGTH))); + } + + @Test(expected = IllegalArgumentException.class) public void testInvalidClassLoaderContext() throws Exception { lenient().when(ArtJni.validateClassLoaderContext(any(), any())).thenReturn("invalid"); mDexUseManager.notifyDexContainersLoaded( @@ -874,6 +907,57 @@ public class DexUseManagerTest { mSnapshot, OWNING_PKG_NAME, Map.of(BASE_APK, "CLC")); } + @Test + public void testSecondaryDexPath() throws Exception { + mMockClock.advanceTime(DexUseManagerLocal.INTERVAL_MS); // Save. + long oldFileSize = mTempFile.length(); + + String existingDexPath = mCeDir + "/foo.apk"; + mDexUseManager.notifyDexContainersLoaded( + mSnapshot, LOADING_PKG_NAME, Map.of(existingDexPath, "PCL[]")); + + mMockClock.advanceTime(DexUseManagerLocal.INTERVAL_MS); // Save. + assertThat(mTempFile.length()).isGreaterThan(oldFileSize); + } + + @Test + public void testLimitSecondaryDexFiles() throws Exception { + for (int n = 0; n < MAX_SECONDARY_DEX_FILES_PER_OWNER_FOR_TESTING - 1; ++n) { + mDexUseManager.notifyDexContainersLoaded(mSnapshot, LOADING_PKG_NAME, + Map.of(String.format("%s/%04d/foo.apk", mCeDir, n), "CLC")); + } + mMockClock.advanceTime(DexUseManagerLocal.INTERVAL_MS); // Save. + long oldFileSize = mTempFile.length(); + + mDexUseManager.notifyDexContainersLoaded( + mSnapshot, LOADING_PKG_NAME, Map.of(mCeDir + "/9998/foo.apk", "CLC")); + mMockClock.advanceTime(DexUseManagerLocal.INTERVAL_MS); // Save. + assertThat(mTempFile.length()).isGreaterThan(oldFileSize); + + oldFileSize = mTempFile.length(); + mDexUseManager.notifyDexContainersLoaded( + mSnapshot, LOADING_PKG_NAME, Map.of(mCeDir + "/9999/foo.apk", "CLC")); + mMockClock.advanceTime(DexUseManagerLocal.INTERVAL_MS); // Save. + assertThat(mTempFile.length()).isEqualTo(oldFileSize); + + // Can still add loading packages to existing entries after the limit is reached. + mDexUseManager.notifyDexContainersLoaded( + mSnapshot, OWNING_PKG_NAME, Map.of(mCeDir + "/9998/foo.apk", "CLC")); + mMockClock.advanceTime(DexUseManagerLocal.INTERVAL_MS); // Save. + assertThat(mTempFile.length()).isGreaterThan(oldFileSize); + } + + @Test + public void testLimitSecondaryDexFilesSingleCall() throws Exception { + Map<String, String> clcByDexFile = new HashMap<>(); + for (int n = 0; n < MAX_SECONDARY_DEX_FILES_PER_OWNER_FOR_TESTING + 1; ++n) { + clcByDexFile.put(String.format("%s/%04d/foo.apk", mCeDir, n), "CLC"); + } + mDexUseManager.notifyDexContainersLoaded(mSnapshot, LOADING_PKG_NAME, clcByDexFile); + assertThat(mDexUseManager.getSecondaryDexInfo(OWNING_PKG_NAME)) + .hasSize(MAX_SECONDARY_DEX_FILES_PER_OWNER_FOR_TESTING); + } + private AndroidPackage createPackage(String packageName) { AndroidPackage pkg = mock(AndroidPackage.class); lenient().when(pkg.getStorageUuid()).thenReturn(StorageManager.UUID_DEFAULT); diff --git a/libartservice/service/proto/dex_use.proto b/libartservice/service/proto/dex_use.proto index 1dd962dbf4..1960882ad5 100644 --- a/libartservice/service/proto/dex_use.proto +++ b/libartservice/service/proto/dex_use.proto @@ -29,31 +29,31 @@ message DexUseProto { } message PackageDexUseProto { - string owning_package_name = 1; + string owning_package_name = 1; // key repeated PrimaryDexUseProto primary_dex_use = 2; repeated SecondaryDexUseProto secondary_dex_use = 3; } message PrimaryDexUseProto { - string dex_file = 1; + string dex_file = 1; // key repeated PrimaryDexUseRecordProto record = 2; } message PrimaryDexUseRecordProto { - string loading_package_name = 1; - bool isolated_process = 2; + string loading_package_name = 1; // key + bool isolated_process = 2; // key int64 last_used_at_ms = 3; } message SecondaryDexUseProto { - string dex_file = 1; + string dex_file = 1; // key Int32Value user_id = 2; // Must be explicitly set. repeated SecondaryDexUseRecordProto record = 3; } message SecondaryDexUseRecordProto { - string loading_package_name = 1; - bool isolated_process = 2; + string loading_package_name = 1; // key + bool isolated_process = 2; // key string class_loader_context = 3; string abi_name = 4; int64 last_used_at_ms = 5; |