-
Notifications
You must be signed in to change notification settings - Fork 633
Closed
Description
[REQUIRED] Step 2: Describe your environment
- Firebase Component: com.google.firebase:firebase-iid
- Component version: 20.1.2
[REQUIRED] Step 3: Describe the problem
Class.getResourceAsStream
is very slow on Android, should instead load from Android Resource Manager.
Also, Android API 23 has a race condition with Class.getResourceAsStream
that causes a ConcurrentModificationException
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
at java.util.HashMap$KeyIterator.next(HashMap.java:814)
at java.util.jar.JarVerifier.readCertificates(JarVerifier.java:266)
at java.util.jar.JarFile.getInputStream(JarFile.java:380)
at libcore.net.url.JarURLConnectionImpl.getInputStream(JarURLConnectionImpl.java:222)
at java.net.URL.openStream(URL.java:470)
at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:444)
at java.lang.Class.getResourceAsStream(Class.java:1169)
at com.google.android.gms.common.internal.LibraryVersion.getVersion(Unknown Source)
at com.google.firebase.iid.zzs.zzb(com.google.firebase:firebase-iid@@20.1.2:61)
at com.google.firebase.iid.zzs.zza(com.google.firebase:firebase-iid@@20.1.2:89)
at com.google.firebase.iid.zzv.run(com.google.firebase:firebase-iid@@20.1.2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)```
ashwinraghav