diff --git a/.travis.yml b/.travis.yml index e451d43f3..551a48311 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,8 +7,8 @@ android: components: - tools - platform-tools - - build-tools-23.0.2 - - android-23 + - build-tools-26.0.1 + - android-26 - extra-android-support - extra-android-m2repository diff --git a/app/build.gradle b/app/build.gradle index 5ba995c52..8414ed467 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -88,6 +88,7 @@ android { compile fileTree(include: ['*.jar'], dir: 'libs') compile "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" compile "com.android.support:design:${rootProject.ext.supportLibVersion}" + compile "com.android.support:cardview-v7:${rootProject.ext.supportLibVersion}" // https://github.com/InkApplications/Android-ViewPagerIndicator compile 'com.inkapplications.viewpageindicator:library:2.4.3' // https://github.com/kevinsawicki/http-request diff --git a/app/hs_err_pid9592.log b/app/hs_err_pid9592.log new file mode 100644 index 000000000..43f0b7e55 --- /dev/null +++ b/app/hs_err_pid9592.log @@ -0,0 +1,292 @@ +# +# A fatal error has been detected by the Java Runtime Environment: +# +# Internal Error (postaloc.cpp:649), pid=9592, tid=0x0000000000003924 +# guarantee(def != NULL) failed: no disconnected nodes at this point +# +# JRE version: OpenJDK Runtime Environment (8.0_112-b06) (build 1.8.0_112-release-b06) +# Java VM: OpenJDK 64-Bit Server VM (25.112-b06 mixed mode windows-amd64 compressed oops) +# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows +# +# If you would like to submit a bug report, please visit: +# http://bugreport.java.com/bugreport/crash.jsp +# + +--------------- T H R E A D --------------- + +Current thread (0x0000000016fac800): JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=14628, stack(0x0000000017870000,0x0000000017970000)] + +Stack: [0x0000000017870000,0x0000000017970000] +[error occurred during error reporting (printing stack bounds), id 0xc0000005] + +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) + + +Current CompileTask: +C2: 7441 2324 s 4 com.android.dx.dex.file.StringIdsSection::intern (53 bytes) + + +--------------- P R O C E S S --------------- + +Java Threads: ( => current thread ) + 0x0000000017175800 JavaThread "pool-1-thread-1" [_thread_in_Java, id=14684, stack(0x000000001aa10000,0x000000001ab10000)] + 0x0000000017043000 JavaThread "Service Thread" daemon [_thread_blocked, id=5976, stack(0x0000000017b70000,0x0000000017c70000)] + 0x0000000016fb4000 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=9308, stack(0x0000000017a70000,0x0000000017b70000)] + 0x0000000016fae800 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=3548, stack(0x0000000017970000,0x0000000017a70000)] +=>0x0000000016fac800 JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=14628, stack(0x0000000017870000,0x0000000017970000)] + 0x0000000016fa9800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=10280, stack(0x0000000017770000,0x0000000017870000)] + 0x0000000016fa4000 JavaThread "Attach Listener" daemon [_thread_blocked, id=7588, stack(0x0000000017670000,0x0000000017770000)] + 0x00000000150be000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=14660, stack(0x0000000017570000,0x0000000017670000)] + 0x000000000258e000 JavaThread "Finalizer" daemon [_thread_blocked, id=14176, stack(0x0000000017380000,0x0000000017480000)] + 0x0000000002585000 JavaThread "Reference Handler" daemon [_thread_blocked, id=14876, stack(0x0000000016e80000,0x0000000016f80000)] + 0x0000000002490800 JavaThread "main" [_thread_blocked, id=16816, stack(0x0000000002360000,0x0000000002460000)] + +Other Threads: + 0x00000000150a5800 VMThread [stack: 0x0000000016d80000,0x0000000016e80000] [id=6232] + 0x0000000017043800 WatcherThread [stack: 0x0000000017c70000,0x0000000017d70000] [id=9088] + +VM state:not at safepoint (normal execution) + +VM Mutex/Monitor currently owned by a thread: None + +Heap: + PSYoungGen total 272896K, used 109092K [0x00000000eab00000, 0x0000000100000000, 0x0000000100000000) + eden space 262144K, 37% used [0x00000000eab00000,0x00000000f0b0f410,0x00000000fab00000) + from space 10752K, 99% used [0x00000000fab00000,0x00000000fb579d38,0x00000000fb580000) + to space 59392K, 0% used [0x00000000fc600000,0x00000000fc600000,0x0000000100000000) + ParOldGen total 175104K, used 115842K [0x00000000c0000000, 0x00000000cab00000, 0x00000000eab00000) + object space 175104K, 66% used [0x00000000c0000000,0x00000000c71209b0,0x00000000cab00000) + Metaspace used 6177K, capacity 7216K, committed 7296K, reserved 1056768K + class space used 572K, capacity 616K, committed 640K, reserved 1048576K + +Card table byte_map: [0x0000000011950000,0x0000000011b60000] byte_map_base: 0x0000000011350000 + +Marking Bits: (ParMarkBitMap*) 0x000000006f8e18f0 + Begin Bits: [0x00000000124c0000, 0x00000000134c0000) + End Bits: [0x00000000134c0000, 0x00000000144c0000) + +Polling page: 0x0000000000b20000 + +CodeCache: size=245760Kb used=8325Kb max_used=9541Kb free=237434Kb + bounds [0x0000000002590000, 0x0000000002f10000, 0x0000000011590000] + total_blobs=2019 nmethods=1756 adapters=176 + compilation: enabled + +Compilation events (10 events): +Event: 7.418 Thread 0x0000000016fb4000 nmethod 2319 0x00000000027cf090 code [0x00000000027cf3a0, 0x00000000027d0fa8] +Event: 7.418 Thread 0x0000000016fae800 2320 4 com.android.dx.rop.type.Prototype::compareTo (9 bytes) +Event: 7.419 Thread 0x0000000016fb4000 2321 3 com.android.dx.dex.file.ProtoIdItem:: (60 bytes) +Event: 7.420 Thread 0x0000000016fb4000 nmethod 2321 0x0000000002980c50 code [0x0000000002980e20, 0x0000000002981628] +Event: 7.424 Thread 0x0000000016fae800 nmethod 2320 0x0000000002d80350 code [0x0000000002d804c0, 0x0000000002d80a18] +Event: 7.425 Thread 0x0000000016fa9800 2322 4 com.android.dx.util.ByteArray:: (81 bytes) +Event: 7.426 Thread 0x0000000016fb4000 2323 3 com.android.dx.dex.file.StringIdItem:: (29 bytes) +Event: 7.426 Thread 0x0000000016fa9800 nmethod 2322 0x000000000276f390 code [0x000000000276f4e0, 0x000000000276f5d8] +Event: 7.426 Thread 0x0000000016fb4000 nmethod 2323 0x0000000002a00d90 code [0x0000000002a00f20, 0x0000000002a012c8] +Event: 7.426 Thread 0x0000000016fac800 2324 s 4 com.android.dx.dex.file.StringIdsSection::intern (53 bytes) + +GC Heap History (10 events): +Event: 2.036 GC heap before +{Heap before GC invocations=1 (full 0): + PSYoungGen total 76288K, used 65536K [0x00000000eab00000, 0x00000000f0000000, 0x0000000100000000) + eden space 65536K, 100% used [0x00000000eab00000,0x00000000eeb00000,0x00000000eeb00000) + from space 10752K, 0% used [0x00000000ef580000,0x00000000ef580000,0x00000000f0000000) + to space 10752K, 0% used [0x00000000eeb00000,0x00000000eeb00000,0x00000000ef580000) + ParOldGen total 175104K, used 0K [0x00000000c0000000, 0x00000000cab00000, 0x00000000eab00000) + object space 175104K, 0% used [0x00000000c0000000,0x00000000c0000000,0x00000000cab00000) + Metaspace used 5838K, capacity 7024K, committed 7296K, reserved 1056768K + class space used 562K, capacity 616K, committed 640K, reserved 1048576K +Event: 2.098 GC heap after +Heap after GC invocations=1 (full 0): + PSYoungGen total 76288K, used 10733K [0x00000000eab00000, 0x00000000f4000000, 0x0000000100000000) + eden space 65536K, 0% used [0x00000000eab00000,0x00000000eab00000,0x00000000eeb00000) + from space 10752K, 99% used [0x00000000eeb00000,0x00000000ef57b578,0x00000000ef580000) + to space 10752K, 0% used [0x00000000f3580000,0x00000000f3580000,0x00000000f4000000) + ParOldGen total 175104K, used 2236K [0x00000000c0000000, 0x00000000cab00000, 0x00000000eab00000) + object space 175104K, 1% used [0x00000000c0000000,0x00000000c022f138,0x00000000cab00000) + Metaspace used 5838K, capacity 7024K, committed 7296K, reserved 1056768K + class space used 562K, capacity 616K, committed 640K, reserved 1048576K +} +Event: 3.347 GC heap before +{Heap before GC invocations=2 (full 0): + PSYoungGen total 76288K, used 76269K [0x00000000eab00000, 0x00000000f4000000, 0x0000000100000000) + eden space 65536K, 100% used [0x00000000eab00000,0x00000000eeb00000,0x00000000eeb00000) + from space 10752K, 99% used [0x00000000eeb00000,0x00000000ef57b578,0x00000000ef580000) + to space 10752K, 0% used [0x00000000f3580000,0x00000000f3580000,0x00000000f4000000) + ParOldGen total 175104K, used 2236K [0x00000000c0000000, 0x00000000cab00000, 0x00000000eab00000) + object space 175104K, 1% used [0x00000000c0000000,0x00000000c022f138,0x00000000cab00000) + Metaspace used 5921K, capacity 7088K, committed 7296K, reserved 1056768K + class space used 564K, capacity 616K, committed 640K, reserved 1048576K +Event: 3.390 GC heap after +Heap after GC invocations=2 (full 0): + PSYoungGen total 141824K, used 10734K [0x00000000eab00000, 0x00000000f4000000, 0x0000000100000000) + eden space 131072K, 0% used [0x00000000eab00000,0x00000000eab00000,0x00000000f2b00000) + from space 10752K, 99% used [0x00000000f3580000,0x00000000f3ffbba0,0x00000000f4000000) + to space 10752K, 0% used [0x00000000f2b00000,0x00000000f2b00000,0x00000000f3580000) + ParOldGen total 175104K, used 24851K [0x00000000c0000000, 0x00000000cab00000, 0x00000000eab00000) + object space 175104K, 14% used [0x00000000c0000000,0x00000000c1844ee0,0x00000000cab00000) + Metaspace used 5921K, capacity 7088K, committed 7296K, reserved 1056768K + class space used 564K, capacity 616K, committed 640K, reserved 1048576K +} +Event: 4.467 GC heap before +{Heap before GC invocations=3 (full 0): + PSYoungGen total 141824K, used 141806K [0x00000000eab00000, 0x00000000f4000000, 0x0000000100000000) + eden space 131072K, 100% used [0x00000000eab00000,0x00000000f2b00000,0x00000000f2b00000) + from space 10752K, 99% used [0x00000000f3580000,0x00000000f3ffbba0,0x00000000f4000000) + to space 10752K, 0% used [0x00000000f2b00000,0x00000000f2b00000,0x00000000f3580000) + ParOldGen total 175104K, used 24851K [0x00000000c0000000, 0x00000000cab00000, 0x00000000eab00000) + object space 175104K, 14% used [0x00000000c0000000,0x00000000c1844ee0,0x00000000cab00000) + Metaspace used 6019K, capacity 7152K, committed 7296K, reserved 1056768K + class space used 564K, capacity 616K, committed 640K, reserved 1048576K +Event: 4.560 GC heap after +Heap after GC invocations=3 (full 0): + PSYoungGen total 141824K, used 10724K [0x00000000eab00000, 0x00000000fc000000, 0x0000000100000000) + eden space 131072K, 0% used [0x00000000eab00000,0x00000000eab00000,0x00000000f2b00000) + from space 10752K, 99% used [0x00000000f2b00000,0x00000000f3579168,0x00000000f3580000) + to space 10752K, 0% used [0x00000000fb580000,0x00000000fb580000,0x00000000fc000000) + ParOldGen total 175104K, used 53013K [0x00000000c0000000, 0x00000000cab00000, 0x00000000eab00000) + object space 175104K, 30% used [0x00000000c0000000,0x00000000c33c5548,0x00000000cab00000) + Metaspace used 6019K, capacity 7152K, committed 7296K, reserved 1056768K + class space used 564K, capacity 616K, committed 640K, reserved 1048576K +} +Event: 5.664 GC heap before +{Heap before GC invocations=4 (full 0): + PSYoungGen total 141824K, used 141796K [0x00000000eab00000, 0x00000000fc000000, 0x0000000100000000) + eden space 131072K, 100% used [0x00000000eab00000,0x00000000f2b00000,0x00000000f2b00000) + from space 10752K, 99% used [0x00000000f2b00000,0x00000000f3579168,0x00000000f3580000) + to space 10752K, 0% used [0x00000000fb580000,0x00000000fb580000,0x00000000fc000000) + ParOldGen total 175104K, used 53013K [0x00000000c0000000, 0x00000000cab00000, 0x00000000eab00000) + object space 175104K, 30% used [0x00000000c0000000,0x00000000c33c5548,0x00000000cab00000) + Metaspace used 6066K, capacity 7152K, committed 7296K, reserved 1056768K + class space used 564K, capacity 616K, committed 640K, reserved 1048576K +Event: 5.716 GC heap after +Heap after GC invocations=4 (full 0): + PSYoungGen total 272896K, used 10750K [0x00000000eab00000, 0x00000000fc000000, 0x0000000100000000) + eden space 262144K, 0% used [0x00000000eab00000,0x00000000eab00000,0x00000000fab00000) + from space 10752K, 99% used [0x00000000fb580000,0x00000000fbfffa28,0x00000000fc000000) + to space 10752K, 0% used [0x00000000fab00000,0x00000000fab00000,0x00000000fb580000) + ParOldGen total 175104K, used 74732K [0x00000000c0000000, 0x00000000cab00000, 0x00000000eab00000) + object space 175104K, 42% used [0x00000000c0000000,0x00000000c48fb0c8,0x00000000cab00000) + Metaspace used 6066K, capacity 7152K, committed 7296K, reserved 1056768K + class space used 564K, capacity 616K, committed 640K, reserved 1048576K +} +Event: 6.366 GC heap before +{Heap before GC invocations=5 (full 0): + PSYoungGen total 272896K, used 272894K [0x00000000eab00000, 0x00000000fc000000, 0x0000000100000000) + eden space 262144K, 100% used [0x00000000eab00000,0x00000000fab00000,0x00000000fab00000) + from space 10752K, 99% used [0x00000000fb580000,0x00000000fbfffa28,0x00000000fc000000) + to space 10752K, 0% used [0x00000000fab00000,0x00000000fab00000,0x00000000fb580000) + ParOldGen total 175104K, used 74732K [0x00000000c0000000, 0x00000000cab00000, 0x00000000eab00000) + object space 175104K, 42% used [0x00000000c0000000,0x00000000c48fb0c8,0x00000000cab00000) + Metaspace used 6082K, capacity 7152K, committed 7296K, reserved 1056768K + class space used 565K, capacity 616K, committed 640K, reserved 1048576K +Event: 6.402 GC heap after +Heap after GC invocations=5 (full 0): + PSYoungGen total 272896K, used 10727K [0x00000000eab00000, 0x0000000100000000, 0x0000000100000000) + eden space 262144K, 0% used [0x00000000eab00000,0x00000000eab00000,0x00000000fab00000) + from space 10752K, 99% used [0x00000000fab00000,0x00000000fb579d38,0x00000000fb580000) + to space 59392K, 0% used [0x00000000fc600000,0x00000000fc600000,0x0000000100000000) + ParOldGen total 175104K, used 115842K [0x00000000c0000000, 0x00000000cab00000, 0x00000000eab00000) + object space 175104K, 66% used [0x00000000c0000000,0x00000000c71209b0,0x00000000cab00000) + Metaspace used 6082K, capacity 7152K, committed 7296K, reserved 1056768K + class space used 565K, capacity 616K, committed 640K, reserved 1048576K +} + +Deoptimization events (10 events): +Event: 6.733 Thread 0x0000000017175800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002968988 method=java.util.Arrays.hashCode([Ljava/lang/Object;)I @ 43 +Event: 6.733 Thread 0x0000000017175800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002968988 method=java.util.Arrays.hashCode([Ljava/lang/Object;)I @ 43 +Event: 6.733 Thread 0x0000000017175800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002968988 method=java.util.Arrays.hashCode([Ljava/lang/Object;)I @ 43 +Event: 6.733 Thread 0x0000000017175800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002944e68 method=java.util.Arrays.hashCode([Ljava/lang/Object;)I @ 43 +Event: 6.735 Thread 0x0000000017175800 Uncommon trap: reason=bimorphic action=maybe_recompile pc=0x0000000002b011a4 method=java.util.HashMap.getNode(ILjava/lang/Object;)Ljava/util/HashMap$Node; @ 126 +Event: 6.735 Thread 0x0000000017175800 Uncommon trap: reason=bimorphic action=maybe_recompile pc=0x0000000002b011a4 method=java.util.HashMap.getNode(ILjava/lang/Object;)Ljava/util/HashMap$Node; @ 126 +Event: 6.749 Thread 0x0000000017175800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002db2758 method=java.util.HashMap.putVal(ILjava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object; @ 203 +Event: 6.749 Thread 0x0000000017175800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002db2758 method=java.util.HashMap.putVal(ILjava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object; @ 203 +Event: 6.749 Thread 0x0000000017175800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000002db2758 method=java.util.HashMap.putVal(ILjava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object; @ 203 +Event: 6.889 Thread 0x0000000017175800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000002b08df8 method=com.android.dx.dex.code.OutputFinisher.addConstants(Ljava/util/HashSet;Lcom/android/dx/rop/code/RegisterSpec;)V @ 57 + +Internal exceptions (5 events): +Event: 0.028 Thread 0x0000000002490800 Exception (0x00000000eab07c78) thrown at [C:\src\android\AOSP-openjdk\external\jetbrains\jdk\hotspot\src\share\v>퉡Iœ? +Event: 0.028 Thread 0x0000000002490800 Exception (0x00000000eab07f60) thrown at [C:\src\android\AOSP-openjdk\external\jetbrains\jdk\hotspot\src\share\vm\prims\jni.cpp, l/¬_J\,ú? +Event: 1.636 Thread 0x0000000017166000 Implicit null exception at 0x0000000002807962 to 0x0000000002807a69 +Event: 1.903 Thread 0x0000000017288000 Implicit null exception at 0x0000000002b0f72c to 0x0000000002b11155 +Event: 5.412 Thread 0x0000000017288000 Implicit null exception at 0x0000000002c4f531 to 0x0000000002c50331 + +Events (10 events): +Event: 6.956 Thread 0x0000000017175800 DEOPT PACKING pc=0x0000000002769f61 sp=0x000000001ab0f0f0 +Event: 6.956 Thread 0x0000000017175800 DEOPT UNPACKING pc=0x00000000025d75bf sp=0x000000001ab0ee80 mode 0 +Event: 6.960 Thread 0x0000000017175800 DEOPT PACKING pc=0x0000000002769f61 sp=0x000000001ab0f0f0 +Event: 6.960 Thread 0x0000000017175800 DEOPT UNPACKING pc=0x00000000025d75bf sp=0x000000001ab0ee80 mode 0 +Event: 6.968 Thread 0x0000000017175800 DEOPT PACKING pc=0x0000000002769f61 sp=0x000000001ab0f0f0 +Event: 6.968 Thread 0x0000000017175800 DEOPT UNPACKING pc=0x00000000025d75bf sp=0x000000001ab0ee80 mode 0 +Event: 6.979 Thread 0x0000000017175800 DEOPT PACKING pc=0x0000000002807546 sp=0x000000001ab0f120 +Event: 6.979 Thread 0x0000000017175800 DEOPT UNPACKING pc=0x00000000025d75bf sp=0x000000001ab0ee70 mode 0 +Event: 7.357 loading class com/android/dx/dex/file/ProtoIdItem +Event: 7.357 loading class com/android/dx/dex/file/ProtoIdItem done + + +Dynamic libraries: +0x00007ff632770000 - 0x00007ff6327a1000 C:\Program Files\Android\Android Studio\jre\bin\java.exe +0x00007ffa38e20000 - 0x00007ffa38ffb000 C:\WINDOWS\SYSTEM32\ntdll.dll +0x00007ffa1e540000 - 0x00007ffa1e573000 C:\Program Files\AVAST Software\Avast\x64\aswhooka.dll +0x00007ffa36430000 - 0x00007ffa364de000 C:\WINDOWS\System32\KERNEL32.DLL +0x00007ffa35f10000 - 0x00007ffa36159000 C:\WINDOWS\System32\KERNELBASE.dll +0x00007ffa38d60000 - 0x00007ffa38e01000 C:\WINDOWS\System32\ADVAPI32.dll +0x00007ffa37f60000 - 0x00007ffa37ffd000 C:\WINDOWS\System32\msvcrt.dll +0x00007ffa364e0000 - 0x00007ffa36539000 C:\WINDOWS\System32\sechost.dll +0x00007ffa38710000 - 0x00007ffa38835000 C:\WINDOWS\System32\RPCRT4.dll +0x00007ffa37e10000 - 0x00007ffa37f5a000 C:\WINDOWS\System32\USER32.dll +0x00007ffa35ae0000 - 0x00007ffa35afe000 C:\WINDOWS\System32\win32u.dll +0x00007ffa38560000 - 0x00007ffa38587000 C:\WINDOWS\System32\GDI32.dll +0x00007ffa35d80000 - 0x00007ffa35f08000 C:\WINDOWS\System32\gdi32full.dll +0x00007ffa35340000 - 0x00007ffa353da000 C:\WINDOWS\System32\msvcp_win.dll +0x00007ffa36160000 - 0x00007ffa36256000 C:\WINDOWS\System32\ucrtbase.dll +0x00007ffa2f830000 - 0x00007ffa2fa97000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.15063.483_none_26002d27e7c744a2\COMCTL32.dll +0x00007ffa389e0000 - 0x00007ffa38cd9000 C:\WINDOWS\System32\combase.dll +0x00007ffa36310000 - 0x00007ffa3637a000 C:\WINDOWS\System32\bcryptPrimitives.dll +0x00007ffa38840000 - 0x00007ffa3886d000 C:\WINDOWS\System32\IMM32.DLL +0x0000000070010000 - 0x00000000700e2000 C:\Program Files\Android\Android Studio\jre\jre\bin\msvcr100.dll +0x000000006f120000 - 0x000000006f95c000 C:\Program Files\Android\Android Studio\jre\jre\bin\server\jvm.dll +0x00007ffa38e10000 - 0x00007ffa38e18000 C:\WINDOWS\System32\PSAPI.DLL +0x00007ffa2b500000 - 0x00007ffa2b509000 C:\WINDOWS\SYSTEM32\WSOCK32.dll +0x00007ffa38590000 - 0x00007ffa385fc000 C:\WINDOWS\System32\WS2_32.dll +0x00007ffa303a0000 - 0x00007ffa303c3000 C:\WINDOWS\SYSTEM32\WINMM.dll +0x00007ffa344b0000 - 0x00007ffa344ba000 C:\WINDOWS\SYSTEM32\VERSION.dll +0x00007ffa30370000 - 0x00007ffa3039b000 C:\WINDOWS\SYSTEM32\WINMMBASE.dll +0x00007ffa35b00000 - 0x00007ffa35b49000 C:\WINDOWS\System32\cfgmgr32.dll +0x00007ffa2d190000 - 0x00007ffa2d19f000 C:\Program Files\Android\Android Studio\jre\jre\bin\verify.dll +0x00007ffa26b30000 - 0x00007ffa26b59000 C:\Program Files\Android\Android Studio\jre\jre\bin\java.dll +0x00007ffa2d080000 - 0x00007ffa2d096000 C:\Program Files\Android\Android Studio\jre\jre\bin\zip.dll +0x00007ffa36740000 - 0x00007ffa37b76000 C:\WINDOWS\System32\SHELL32.dll +0x00007ffa36380000 - 0x00007ffa3642a000 C:\WINDOWS\System32\shcore.dll +0x00007ffa353e0000 - 0x00007ffa35ad3000 C:\WINDOWS\System32\windows.storage.dll +0x00007ffa37d10000 - 0x00007ffa37d61000 C:\WINDOWS\System32\shlwapi.dll +0x00007ffa35290000 - 0x00007ffa352a1000 C:\WINDOWS\System32\kernel.appcore.dll +0x00007ffa352d0000 - 0x00007ffa3531c000 C:\WINDOWS\System32\powrprof.dll +0x00007ffa352b0000 - 0x00007ffa352c5000 C:\WINDOWS\System32\profapi.dll + +VM Arguments: +jvm_args: -Djava.awt.headless=true -Xmx1024M -Dfile.encoding=windows-1252 -Duser.country=US -Duser.language=en -Duser.variant +java_command: com.android.dx.command.Main --dex --force-jumbo --num-threads=4 --multi-dex --output D:\Anselm\Repos\seadroid\app\build\intermediates\transforms\dex\debug\folders\1000\5\slice_2 D:\Anselm\Repos\seadroid\app\build\intermediates\transforms\instantRunSlicer\debug\folders\1\5\slice_2 +java_class_path (initial): C:\Users\ansel\AppData\Local\Android\sdk\build-tools\26.0.1\lib\dx.jar +Launcher Type: SUN_STANDARD + +Environment Variables: +PATH=C:\Program Files (x86)\ImageMagick-6.9.9-Q8;C:\Program Files (x86)\ImageMagick-7.0.6-Q16;C:\Program Files\ImageMagick-7.0.6-Q16;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Dell\Dell Data Protection\Drivers\TSS\bin\;C:\Program Files\OpenVPN\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\MiKTeX 2.9\miktex\bin\x64\;C:\Program Files (x86)\gs\gs9.21\bin;C:\Program Files\Redis;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\gettext\bin;C:\Users\ansel\AppData\Local\Programs\Python\Python36-32\Scripts\;C:\Users\ansel\AppData\Local\Programs\Python\Python36-32\;C:\Users\ansel\AppData\Local\Microsoft\WindowsApps; +USERNAME=ansel +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 60 Stepping 3, GenuineIntel + + + +--------------- S Y S T E M --------------- + +OS: Windows 10.0 , 64 bit Build 15063 (10.0.15063.296) + +CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 60 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2 + +Memory: 4k page, physical 16676144k(4619456k free), swap 23438900k(3087620k free) + +vm_info: OpenJDK 64-Bit Server VM (25.112-b06) for windows-amd64 JRE (1.8.0_112-release-b06), built on Dec 8 2016 00:54:26 by "builder" with MS VC++ 10.0 (VS2010) + +time: Sat Sep 23 16:12:25 2017 +elapsed time: 7 seconds (0d 0h 0m 7s) + diff --git a/app/replay_pid9592.log b/app/replay_pid9592.log new file mode 100644 index 000000000..e84c04813 --- /dev/null +++ b/app/replay_pid9592.log @@ -0,0 +1,822 @@ +JvmtiExport can_access_local_variables 0 +JvmtiExport can_hotswap_or_post_breakpoint 0 +JvmtiExport can_post_on_exceptions 0 +# 144 ciObject found +ciMethod java/lang/Object getClass ()Ljava/lang/Class; 2049 1 256 0 -1 +ciMethod java/lang/Comparable compareTo (Ljava/lang/Object;)I 0 0 1 0 -1 +ciMethod java/lang/String compareTo (Ljava/lang/String;)I 1113 22433 1413 0 -1 +ciMethod java/lang/Class getName ()Ljava/lang/String; 241 1 32 0 0 +ciMethod java/lang/Class getName0 ()Ljava/lang/String; 153 1 19 0 -1 +ciMethod java/util/Comparator compare (Ljava/lang/Object;Ljava/lang/Object;)I 0 0 1 0 -1 +ciMethod java/util/TreeMap get (Ljava/lang/Object;)Ljava/lang/Object; 4097 1 40021 0 0 +ciMethod java/util/TreeMap getEntry (Ljava/lang/Object;)Ljava/util/TreeMap$Entry; 3705 16385 2247 0 288 +ciMethod java/util/TreeMap getEntryUsingComparator (Ljava/lang/Object;)Ljava/util/TreeMap$Entry; 0 0 1 0 -1 +ciMethod java/util/TreeMap put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3569 16385 1889 0 3424 +ciMethod java/util/TreeMap compare (Ljava/lang/Object;Ljava/lang/Object;)I 1049 1 1841 0 -1 +ciMethod java/util/TreeMap fixAfterInsertion (Ljava/util/TreeMap$Entry;)V 4041 5201 1708 0 -1 +ciMethod java/util/TreeMap$Entry (Ljava/lang/Object;Ljava/lang/Object;Ljava/util/TreeMap$Entry;)V 4097 1 1889 0 -1 +ciMethod java/util/TreeMap$Entry setValue (Ljava/lang/Object;)Ljava/lang/Object; 0 0 1 0 -1 +ciMethodData java/util/TreeMap getEntry (Ljava/lang/Object;)Ljava/util/TreeMap$Entry; 2 18660 orig 264 8 110 108 111 0 0 0 0 16 114 148 20 0 0 0 0 216 2 0 0 208 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 68 79 32 101 120 116 114 97 32 100 97 116 97 32 108 111 99 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 193 55 0 0 33 7 2 0 248 6 0 0 224 64 0 0 2 0 0 0 1 0 15 0 2 0 0 0 136 1 0 0 255 255 255 255 7 0 4 0 0 0 0 0 data 49 0x40007 0x6f9 0x50 0x0 0x90005 0x0 0x0 0x0 0x0 0x0 0xe0007 0x6f9 0x30 0x0 0x150002 0x0 0x1a0004 0x0 0x186849e0 0x20e 0x18684a90 0x5a 0x240007 0x457 0xd8 0x4386 0x2c0005 0x3724 0x186849e0 0xc37 0x18684a90 0x2c 0x350007 0x3ade 0x38 0x8a7 0x3d0003 0x8a7 0x50 0x420007 0x2a3 0x38 0x383d 0x4a0003 0x383d 0x18 0x4f0003 0x40e4 0xffffffffffffff40 oops 4 18 com/android/dx/rop/cst/CstMethodRef 20 com/android/dx/rop/cst/CstType 28 com/android/dx/rop/cst/CstMethodRef 30 com/android/dx/rop/cst/CstType +ciMethodData java/util/TreeMap get (Ljava/lang/Object;)Ljava/lang/Object; 2 40103 orig 264 8 110 108 111 0 0 0 0 48 110 148 20 0 0 0 0 184 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 68 79 32 101 120 116 114 97 32 100 97 116 97 32 108 111 99 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 49 213 4 0 1 0 0 0 107 38 0 0 0 0 0 0 2 0 0 0 0 0 6 0 2 0 0 0 104 0 0 0 255 255 255 255 5 0 2 0 0 0 0 0 data 13 0x20005 0x37b 0x17211a10 0x972b 0x0 0x0 0x70007 0x7232 0x38 0x2876 0xb0003 0x2876 0x18 oops 1 2 java/util/TreeMap +ciMethod com/android/dx/rop/cst/Constant compareTo (Lcom/android/dx/rop/cst/Constant;)I 66345 1 36283 0 0 +ciMethod com/android/dx/rop/cst/Constant compareTo0 (Lcom/android/dx/rop/cst/Constant;)I 0 0 1 0 -1 +ciMethod com/android/dx/rop/cst/Constant compareTo (Ljava/lang/Object;)I 4097 1 8885 0 192 +ciMethod com/android/dx/dex/file/Section throwIfPrepared ()V 4097 1 41498 0 64 +ciMethod com/android/dx/dex/file/StringIdsSection intern (Lcom/android/dx/dex/file/StringIdItem;)Lcom/android/dx/dex/file/StringIdItem; 16385 1 7177 0 -1 +ciMethod com/android/dx/rop/cst/CstString compareTo0 (Lcom/android/dx/rop/cst/Constant;)I 3137 1 23737 0 416 +ciMethod com/android/dx/dex/file/StringIdItem getValue ()Lcom/android/dx/rop/cst/CstString; 1049 1 131 0 0 +ciMethodData com/android/dx/rop/cst/Constant compareTo (Lcom/android/dx/rop/cst/Constant;)I 2 36283 orig 264 8 110 108 111 0 0 0 0 16 178 173 20 0 0 0 0 144 2 0 0 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 68 79 32 101 120 116 114 97 32 100 97 116 97 32 108 111 99 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 118 1 0 0 177 106 3 0 1 0 0 0 196 88 0 0 0 0 0 0 2 0 0 0 0 0 13 0 2 0 0 0 64 1 0 0 255 255 255 255 5 0 1 0 0 0 0 0 data 40 0x10005 0x2fe9 0x19437c20 0x1970 0x18684a90 0x2401 0x60005 0x2fea 0x19437c20 0x1970 0x18684a90 0x2402 0xce007 0x6d5b 0xb0 0x1 0x100005 0x1 0x0 0x0 0x0 0x0 0x140005 0x1 0x0 0x0 0x0 0x0 0x170005 0x1 0x0 0x0 0x0 0x0 0x1d0005 0x309b 0x17213600 0x18a2 0x18684a90 0x241f oops 6 2 com/android/dx/rop/cst/CstFieldRef 4 com/android/dx/rop/cst/CstType 8 com/android/dx/rop/cst/CstFieldRef 10 com/android/dx/rop/cst/CstType 36 com/android/dx/rop/cst/CstString 38 com/android/dx/rop/cst/CstType +ciMethodData com/android/dx/rop/cst/Constant compareTo (Ljava/lang/Object;)I 2 8885 orig 264 8 110 108 111 0 0 0 0 88 179 173 20 0 0 0 0 176 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 68 79 32 101 120 116 114 97 32 100 97 116 97 32 108 111 99 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 169 5 1 0 1 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 14 0 2 0 0 0 96 0 0 0 255 255 255 255 4 0 2 0 0 0 0 0 data 12 0x20004 0x0 0x19437c20 0x148e 0x186849e0 0xa8d 0x50005 0x390 0x186849e0 0xa03 0x19437c20 0x1325 oops 4 2 com/android/dx/rop/cst/CstFieldRef 4 com/android/dx/rop/cst/CstMethodRef 8 com/android/dx/rop/cst/CstMethodRef 10 com/android/dx/rop/cst/CstFieldRef +ciMethodData com/android/dx/rop/cst/CstString compareTo0 (Lcom/android/dx/rop/cst/Constant;)I 2 23737 orig 264 8 110 108 111 0 0 0 0 184 28 176 20 0 0 0 0 176 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 68 79 32 101 120 116 114 97 32 100 97 116 97 32 108 111 99 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 136 1 0 0 137 217 2 0 1 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 3 0 2 0 0 0 96 0 0 0 255 255 255 255 4 0 5 0 0 0 0 0 data 12 0x50004 0x0 0x17213600 0x4fe9 0x0 0x0 0xb0005 0x56 0x24994e0 0x5add 0x0 0x0 oops 2 2 com/android/dx/rop/cst/CstString 8 java/lang/String +ciMethodData com/android/dx/dex/file/Section throwIfPrepared ()V 2 41516 orig 264 8 110 108 111 0 0 0 0 232 234 173 20 0 0 0 0 80 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 68 79 32 101 120 116 114 97 32 100 97 116 97 32 108 111 99 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 97 1 5 0 1 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 5 0 2 0 0 0 48 0 0 0 255 255 255 255 7 0 4 0 0 0 0 0 data 6 0x40007 0xa02c 0x30 0x0 0xd0002 0x0 oops 0 +ciMethodData com/android/dx/dex/file/StringIdsSection intern (Lcom/android/dx/dex/file/StringIdItem;)Lcom/android/dx/dex/file/StringIdItem; 2 7187 orig 264 8 110 108 111 0 0 0 0 88 149 174 20 0 0 0 0 144 2 0 0 240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 68 79 32 101 120 116 114 97 32 100 97 116 97 32 108 111 99 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 145 160 0 0 1 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 14 0 2 0 0 0 64 1 0 0 255 255 255 255 7 0 1 0 0 0 0 0 data 40 0x10007 0x1412 0x30 0x0 0xa0002 0x0 0xf0005 0x87 0x17211410 0x138b 0x0 0x0 0x130005 0x87 0x17211640 0x138b 0x0 0x0 0x1c0005 0x0 0x17211a10 0x1412 0x0 0x0 0x1f0104 0x0 0x17211640 0xcb2 0x0 0x0 0x240007 0x760 0x20 0xcb2 0x2f0005 0x0 0x17211a10 0x760 0x0 0x0 oops 5 8 com/android/dx/dex/file/StringIdsSection 14 com/android/dx/dex/file/StringIdItem 20 java/util/TreeMap 26 com/android/dx/dex/file/StringIdItem 36 java/util/TreeMap +instanceKlass com/android/dx/dex/file/CatchStructs +instanceKlass com/android/dx/rop/cst/Zeroes +instanceKlass java/util/NavigableSet +instanceKlass java/util/SortedSet +instanceKlass com/android/dx/command/dexer/Main$DexWriter +instanceKlass com/android/dx/rop/code/RegisterSpec$1 +instanceKlass com/android/dx/util/ListIntSet$1 +instanceKlass com/android/dx/util/ListIntSet +instanceKlass com/android/dx/dex/file/FieldAnnotationStruct +instanceKlass com/android/dx/dex/file/MethodAnnotationStruct +instanceKlass com/android/dx/cf/direct/AnnotationParser +instanceKlass com/android/dx/cf/code/Ropper$ExceptionHandlerSetup +instanceKlass com/android/dx/cf/direct/DirectClassFile$DcfTypeList +instanceKlass java/util/ArrayList$1 +instanceKlass java/util/DualPivotQuicksort +instanceKlass com/android/dx/ssa/back/FirstFitLocalCombiningAllocator$Multiset +instanceKlass com/android/dx/dex/code/DalvCode +instanceKlass com/android/dx/dex/code/StdCatchBuilder +instanceKlass com/android/dx/dex/code/RopToDop +instanceKlass com/android/dx/dex/code/OutputFinisher +instanceKlass com/android/dx/dex/code/OutputCollector +instanceKlass com/android/dx/rop/code/Insn$BaseVisitor +instanceKlass com/android/dx/io/Opcodes +instanceKlass com/android/dx/dex/code/InsnFormat +instanceKlass com/android/dx/dex/code/Dop +instanceKlass com/android/dx/dex/code/Dops +instanceKlass com/android/dx/dex/code/BlockAddresses +instanceKlass com/android/dx/dex/code/CatchBuilder +instanceKlass com/android/dx/dex/code/DalvInsn +instanceKlass com/android/dx/dex/code/RopTranslator$TranslationVisitor +instanceKlass com/android/dx/dex/code/RopTranslator +instanceKlass com/android/dx/rop/code/LocalVariableExtractor +instanceKlass com/android/dx/ssa/back/IdenticalBlockCombiner +instanceKlass com/android/dx/ssa/back/SsaToRop$1 +instanceKlass com/android/dx/ssa/back/SsaToRop$PhiVisitor +instanceKlass com/android/dx/ssa/back/FirstFitLocalCombiningAllocator$1 +instanceKlass com/android/dx/ssa/back/LivenessAnalyzer$1 +instanceKlass com/android/dx/ssa/back/InterferenceGraph +instanceKlass com/android/dx/ssa/back/LivenessAnalyzer +instanceKlass com/android/dx/ssa/back/RegisterAllocator +instanceKlass com/android/dx/ssa/back/SsaToRop +instanceKlass com/android/dx/ssa/PhiTypeResolver +instanceKlass com/android/dx/ssa/ConstCollector$1 +instanceKlass java/util/HashMap$HashIterator +instanceKlass com/android/dx/ssa/ConstCollector +instanceKlass com/android/dx/ssa/LiteralOpUpgrader$1 +instanceKlass com/android/dx/ssa/LiteralOpUpgrader +instanceKlass com/android/dx/ssa/DeadCodeRemover$NoSideEffectVisitor +instanceKlass com/android/dx/ssa/DeadCodeRemover +instanceKlass com/android/dx/ssa/SsaMethod$1 +instanceKlass com/android/dx/ssa/SsaMethod$2 +instanceKlass com/android/dx/ssa/SCCP +instanceKlass com/android/dx/ssa/MoveParamCombiner$1 +instanceKlass com/android/dx/ssa/MoveParamCombiner +instanceKlass com/android/dx/ssa/PhiInsn$Operand +instanceKlass com/android/dx/ssa/SsaRenamer$BlockRenamer$1 +instanceKlass com/android/dx/ssa/PhiInsn$Visitor +instanceKlass com/android/dx/ssa/RegisterMapper +instanceKlass com/android/dx/ssa/SsaRenamer$BlockRenamer +instanceKlass com/android/dx/ssa/SsaRenamer$1 +instanceKlass com/android/dx/ssa/SsaRenamer +instanceKlass com/android/dx/util/BitIntSet$1 +instanceKlass com/android/dx/util/IntIterator +instanceKlass com/android/dx/util/BitIntSet +instanceKlass com/android/dx/util/IntSet +instanceKlass com/android/dx/ssa/SetFactory +instanceKlass com/android/dx/ssa/Dominators$DfsWalker +instanceKlass com/android/dx/ssa/Dominators$DFSInfo +instanceKlass com/android/dx/ssa/SsaBasicBlock$Visitor +instanceKlass com/android/dx/ssa/Dominators +instanceKlass com/android/dx/ssa/DomFront$DomInfo +instanceKlass com/android/dx/ssa/DomFront +instanceKlass com/android/dx/ssa/LocalVariableExtractor +instanceKlass com/android/dx/ssa/SsaBasicBlock$LabelComparator +instanceKlass com/android/dx/ssa/SsaBasicBlock +instanceKlass com/android/dx/rop/code/BasicBlockList$RegCountVisitor +instanceKlass com/android/dx/ssa/SsaInsn +instanceKlass com/android/dx/ssa/SsaInsn$Visitor +instanceKlass com/android/dx/ssa/SsaMethod +instanceKlass com/android/dx/ssa/SsaConverter +instanceKlass java/lang/Class$4 +instanceKlass com/android/dx/ssa/Optimizer +instanceKlass com/android/dx/rop/code/RopMethod +instanceKlass com/android/dx/rop/code/Insn$Visitor +instanceKlass com/android/dx/cf/code/Merger +instanceKlass java/util/ArrayList$Itr +instanceKlass com/android/dx/rop/code/BasicBlock +instanceKlass com/android/dx/rop/code/Exceptions +instanceKlass com/android/dx/rop/code/Rop +instanceKlass com/android/dx/rop/code/Rops +instanceKlass com/android/dx/rop/code/RegisterSpec$ForComparison +instanceKlass com/android/dx/rop/code/RegisterSpec +instanceKlass com/android/dx/rop/code/LocalItem +instanceKlass com/android/dx/rop/code/SourcePosition +instanceKlass com/android/dx/cf/code/Ropper$LabelAllocator +instanceKlass com/android/dx/cf/code/Ropper$CatchInfo +instanceKlass com/android/dx/cf/code/Ropper$Subroutine +instanceKlass com/android/dx/cf/code/Frame +instanceKlass com/android/dx/cf/code/Simulator$SimVisitor +instanceKlass com/android/dx/cf/code/Simulator +instanceKlass com/android/dx/cf/code/BaseMachine +instanceKlass com/android/dx/cf/code/ByteBlock +instanceKlass com/android/dx/util/LabeledItem +instanceKlass com/android/dx/cf/code/ByteCatchList$Item +instanceKlass com/android/dx/cf/code/ByteOps +instanceKlass com/android/dx/util/Bits +instanceKlass com/android/dx/cf/code/BasicBlocker +instanceKlass com/android/dx/rop/code/BasicBlock$Visitor +instanceKlass com/android/dx/rop/code/Insn +instanceKlass com/android/dx/cf/code/Machine +instanceKlass com/android/dx/cf/code/Ropper +instanceKlass com/android/dx/rop/code/DexTranslationAdvice +instanceKlass com/android/dx/cf/code/ConcreteMethod +instanceKlass com/android/dx/dex/file/EncodedMember +instanceKlass com/android/dx/dex/file/ValueEncoder +instanceKlass com/android/dx/dex/file/AnnotationItem$TypeIdSorter +instanceKlass java/util/Collections$UnmodifiableCollection$1 +instanceKlass java/util/TreeMap$PrivateEntryIterator +instanceKlass java/util/TreeMap$Entry +instanceKlass com/android/dx/rop/annotation/NameValuePair +instanceKlass com/android/dx/dex/file/AnnotationUtils +instanceKlass com/android/dx/dex/cf/AttributeTranslator +instanceKlass sun/nio/ch/Interruptible +instanceKlass java/util/concurrent/locks/LockSupport +instanceKlass com/android/dx/rop/code/TranslationAdvice +instanceKlass com/android/dx/dex/code/DalvCode$AssignIndicesCallback +instanceKlass com/android/dx/dex/cf/CfTranslator +instanceKlass com/android/dx/command/dexer/Main$ClassDefItemConsumer +instanceKlass java/util/concurrent/FutureTask$WaitNode +instanceKlass java/util/concurrent/FutureTask +instanceKlass java/util/concurrent/RunnableFuture +instanceKlass java/util/concurrent/Future +instanceKlass com/android/dx/command/dexer/Main$ClassTranslatorTask +instanceKlass com/android/dx/cf/attrib/InnerClassList$Item +instanceKlass com/android/dx/util/Hex +instanceKlass com/android/dx/rop/code/AccessFlags +instanceKlass com/android/dx/cf/code/LineNumberList$Item +instanceKlass com/android/dx/cf/code/LocalVariableList$Item +instanceKlass java/io/DataInput +instanceKlass com/android/dx/cf/code/BytecodeArray$BaseVisitor +instanceKlass com/android/dx/cf/code/BytecodeArray +instanceKlass com/android/dx/cf/iface/Method +instanceKlass com/android/dx/cf/attrib/BaseAttribute +instanceKlass com/android/dx/cf/iface/StdMember +instanceKlass com/android/dx/cf/direct/AttributeListParser +instanceKlass com/android/dx/cf/iface/Field +instanceKlass com/android/dx/cf/iface/Member +instanceKlass com/android/dx/cf/direct/MemberListParser +instanceKlass com/android/dx/rop/type/Prototype +instanceKlass com/android/dx/rop/type/Type +instanceKlass com/android/dx/util/MutabilityControl +instanceKlass com/android/dx/cf/cst/ConstantPoolParser +instanceKlass com/android/dx/cf/code/BytecodeArray$Visitor +instanceKlass com/android/dx/cf/iface/Attribute +instanceKlass com/android/dx/util/ByteArray +instanceKlass com/android/dx/cf/iface/MethodList +instanceKlass com/android/dx/cf/iface/FieldList +instanceKlass com/android/dx/rop/type/TypeList +instanceKlass com/android/dx/cf/iface/AttributeList +instanceKlass com/android/dx/rop/cst/ConstantPool +instanceKlass com/android/dx/cf/direct/DirectClassFile +instanceKlass com/android/dx/cf/iface/ClassFile +instanceKlass com/android/dx/cf/iface/HasAttribute +instanceKlass com/android/dx/command/dexer/Main$ClassParserTask +instanceKlass com/android/dx/command/dexer/Main$DirectClassFileConsumer +instanceKlass com/android/dex/util/FileUtils +instanceKlass java/util/regex/Matcher +instanceKlass java/util/regex/MatchResult +instanceKlass java/util/regex/Pattern$Node +instanceKlass java/util/regex/Pattern +instanceKlass java/util/TimSort +instanceKlass com/android/dx/cf/direct/ClassPathOpener$2 +instanceKlass com/android/dx/command/dexer/Main$FileBytesConsumer +instanceKlass com/android/dx/cf/direct/ClassPathOpener$1 +instanceKlass com/android/dx/cf/direct/ClassPathOpener +instanceKlass java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy +instanceKlass java/util/ComparableTimSort +instanceKlass sun/security/action/GetBooleanAction +instanceKlass java/util/Arrays$LegacyMergeSort +instanceKlass java/util/NavigableMap +instanceKlass java/util/SortedMap +instanceKlass com/android/dx/dex/file/MixedItemSection$1 +instanceKlass com/android/dx/dex/file/Item +instanceKlass com/android/dx/util/AnnotatedOutput +instanceKlass com/android/dx/util/Output +instanceKlass com/android/dex/util/ByteOutput +instanceKlass com/android/dx/dex/file/Section +instanceKlass com/android/dx/rop/type/TypeBearer +instanceKlass com/android/dx/rop/cst/Constant +instanceKlass com/android/dx/util/ToHuman +instanceKlass com/android/dx/dex/file/DexFile +instanceKlass java/util/concurrent/Executors$DefaultThreadFactory +instanceKlass java/util/concurrent/ThreadFactory +instanceKlass java/util/concurrent/LinkedBlockingQueue$Node +instanceKlass java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject +instanceKlass java/util/concurrent/locks/Condition +instanceKlass java/util/concurrent/locks/AbstractQueuedSynchronizer$Node +instanceKlass java/util/concurrent/locks/AbstractOwnableSynchronizer +instanceKlass java/util/concurrent/ThreadPoolExecutor$AbortPolicy +instanceKlass java/util/concurrent/AbstractExecutorService +instanceKlass java/util/concurrent/Executors +instanceKlass com/android/dx/dex/DexOptions +instanceKlass com/android/dx/dex/cf/CfOptions +instanceKlass com/android/dx/command/dexer/Main$Arguments$ArgumentsParser +instanceKlass com/android/dx/command/dexer/Main$Arguments +instanceKlass com/android/dx/dex/cf/OptimizerOptions +instanceKlass com/android/dx/dex/cf/CodeStatistics +instanceKlass com/android/dx/command/dexer/DxContext +instanceKlass com/android/dx/cf/direct/ClassPathOpener$Consumer +instanceKlass com/android/dx/cf/direct/AttributeFactory +instanceKlass java/util/concurrent/Callable +instanceKlass com/android/dx/cf/direct/ClassPathOpener$FileNameFilter +instanceKlass java/util/concurrent/ExecutorService +instanceKlass java/util/concurrent/Executor +instanceKlass java/util/concurrent/BlockingQueue +instanceKlass java/util/concurrent/RejectedExecutionHandler +instanceKlass com/android/dx/command/dexer/Main +instanceKlass java/lang/Void +instanceKlass java/lang/Class$MethodArray +instanceKlass sun/launcher/LauncherHelper$FXHelper +instanceKlass com/android/dx/command/Main +instanceKlass java/io/FilePermission$1 +instanceKlass sun/net/www/MessageHeader +instanceKlass java/net/URLConnection +instanceKlass java/security/PermissionCollection +instanceKlass sun/nio/ByteBuffered +instanceKlass sun/security/util/ManifestEntryVerifier +instanceKlass sun/security/util/SignatureFileVerifier +instanceKlass java/lang/Package +instanceKlass java/util/jar/JarVerifier$3 +instanceKlass java/security/CodeSigner +instanceKlass java/util/jar/JarVerifier +instanceKlass sun/misc/ASCIICaseInsensitiveComparator +instanceKlass java/util/jar/Attributes$Name +instanceKlass java/util/jar/Attributes +instanceKlass sun/misc/Resource +instanceKlass sun/misc/IOUtils +instanceKlass java/util/zip/ZStreamRef +instanceKlass java/util/zip/Inflater +instanceKlass java/util/zip/ZipEntry +instanceKlass sun/misc/ExtensionDependency +instanceKlass sun/misc/JarIndex +instanceKlass sun/nio/ch/DirectBuffer +instanceKlass sun/misc/PerfCounter$CoreCounters +instanceKlass sun/misc/Perf +instanceKlass sun/misc/Perf$GetPerfAction +instanceKlass sun/misc/PerfCounter +instanceKlass java/util/zip/ZipCoder +instanceKlass java/util/Deque +instanceKlass java/util/Queue +instanceKlass java/nio/charset/StandardCharsets +instanceKlass java/util/jar/JavaUtilJarAccessImpl +instanceKlass sun/misc/JavaUtilJarAccess +instanceKlass sun/misc/FileURLMapper +instanceKlass sun/misc/URLClassPath$JarLoader$1 +instanceKlass sun/nio/cs/ThreadLocalCoders$Cache +instanceKlass sun/nio/cs/ThreadLocalCoders +instanceKlass java/util/zip/ZipFile$1 +instanceKlass sun/misc/JavaUtilZipFileAccess +instanceKlass java/util/zip/ZipFile +instanceKlass java/util/zip/ZipConstants +instanceKlass sun/misc/URLClassPath$Loader +instanceKlass sun/misc/URLClassPath$3 +instanceKlass sun/net/util/URLUtil +instanceKlass java/net/URLClassLoader$1 +instanceKlass java/lang/StringCoding$StringDecoder +instanceKlass java/lang/ThreadLocal$ThreadLocalMap +instanceKlass java/lang/StringCoding +instanceKlass java/lang/invoke/MethodHandleStatics$1 +instanceKlass java/lang/invoke/MethodHandleStatics +instanceKlass java/lang/invoke/MemberName$Factory +instanceKlass java/lang/ClassValue$Version +instanceKlass java/lang/ClassValue$Identity +instanceKlass java/lang/ClassValue +instanceKlass java/lang/invoke/MethodHandleImpl$3 +instanceKlass java/lang/invoke/MethodHandleImpl$2 +instanceKlass java/util/function/Function +instanceKlass java/lang/invoke/MethodHandleImpl$1 +instanceKlass java/lang/invoke/MethodHandleImpl +instanceKlass java/lang/SystemClassLoaderAction +instanceKlass sun/misc/Launcher$AppClassLoader$1 +instanceKlass sun/misc/URLClassPath +instanceKlass java/security/Principal +instanceKlass java/security/ProtectionDomain$Key +instanceKlass java/security/ProtectionDomain$2 +instanceKlass sun/misc/JavaSecurityProtectionDomainAccess +instanceKlass java/security/ProtectionDomain$JavaSecurityAccessImpl +instanceKlass sun/misc/JavaSecurityAccess +instanceKlass java/net/URLStreamHandler +instanceKlass java/net/Parts +instanceKlass java/util/BitSet +instanceKlass sun/net/www/ParseUtil +instanceKlass java/io/FileInputStream$1 +instanceKlass java/lang/CharacterData +instanceKlass sun/util/locale/LocaleUtils +instanceKlass java/util/Locale$LocaleKey +instanceKlass sun/util/locale/BaseLocale$Key +instanceKlass sun/util/locale/BaseLocale +instanceKlass java/util/concurrent/ConcurrentHashMap$CollectionView +instanceKlass java/util/concurrent/ConcurrentHashMap$CounterCell +instanceKlass java/util/concurrent/ConcurrentHashMap$Node +instanceKlass java/util/concurrent/locks/ReentrantLock +instanceKlass java/util/concurrent/locks/Lock +instanceKlass java/util/concurrent/ConcurrentMap +instanceKlass sun/util/locale/LocaleObjectCache +instanceKlass java/util/Locale +instanceKlass java/lang/reflect/Array +instanceKlass java/nio/charset/CoderResult$Cache +instanceKlass java/nio/charset/CoderResult +instanceKlass java/nio/charset/CharsetDecoder +instanceKlass sun/nio/cs/ArrayDecoder +instanceKlass java/io/Reader +instanceKlass java/lang/Readable +instanceKlass sun/misc/MetaIndex +instanceKlass sun/misc/Launcher$ExtClassLoader$1 +instanceKlass java/util/StringTokenizer +instanceKlass java/net/URLClassLoader$7 +instanceKlass sun/misc/JavaNetAccess +instanceKlass java/lang/ClassLoader$ParallelLoaders +instanceKlass sun/security/util/Debug +instanceKlass sun/misc/Launcher$Factory +instanceKlass java/net/URLStreamHandlerFactory +instanceKlass java/lang/Compiler$1 +instanceKlass java/lang/Compiler +instanceKlass java/lang/System$2 +instanceKlass sun/misc/JavaLangAccess +instanceKlass sun/io/Win32ErrorMode +instanceKlass sun/misc/OSEnvironment +instanceKlass java/lang/Integer$IntegerCache +instanceKlass sun/misc/NativeSignalHandler +instanceKlass sun/misc/Signal +instanceKlass java/lang/Terminator$1 +instanceKlass sun/misc/SignalHandler +instanceKlass java/lang/Terminator +instanceKlass java/lang/ClassLoader$NativeLibrary +instanceKlass java/io/ExpiringCache$Entry +instanceKlass java/lang/ClassLoader$3 +instanceKlass java/nio/file/Path +instanceKlass java/nio/file/Watchable +instanceKlass java/lang/Enum +instanceKlass java/io/ExpiringCache +instanceKlass java/io/FileSystem +instanceKlass java/io/DefaultFileSystem +instanceKlass java/nio/Bits$1 +instanceKlass sun/misc/JavaNioAccess +instanceKlass java/nio/ByteOrder +instanceKlass java/nio/Bits +instanceKlass java/nio/charset/CodingErrorAction +instanceKlass java/nio/charset/CharsetEncoder +instanceKlass sun/nio/cs/ArrayEncoder +instanceKlass sun/reflect/ReflectionFactory$1 +instanceKlass java/lang/Class$1 +instanceKlass sun/nio/cs/SingleByte +instanceKlass sun/nio/cs/HistoricallyNamedCharset +instanceKlass java/util/Arrays +instanceKlass sun/security/action/GetPropertyAction +instanceKlass java/lang/ThreadLocal +instanceKlass java/nio/charset/spi/CharsetProvider +instanceKlass java/nio/charset/Charset +instanceKlass java/io/Writer +instanceKlass sun/reflect/misc/ReflectUtil +instanceKlass java/lang/reflect/ReflectAccess +instanceKlass sun/reflect/LangReflectAccess +instanceKlass java/lang/reflect/Modifier +instanceKlass sun/reflect/annotation/AnnotationType +instanceKlass java/lang/Class$AnnotationData +instanceKlass sun/reflect/generics/repository/AbstractRepository +instanceKlass java/lang/Class$Atomic +instanceKlass java/lang/Class$ReflectionData +instanceKlass java/lang/Class$3 +instanceKlass java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1 +instanceKlass java/security/PrivilegedExceptionAction +instanceKlass java/util/concurrent/atomic/AtomicReferenceFieldUpdater +instanceKlass java/io/OutputStream +instanceKlass java/io/Flushable +instanceKlass java/io/FileDescriptor$1 +instanceKlass sun/misc/JavaIOFileDescriptorAccess +instanceKlass java/io/FileDescriptor +instanceKlass sun/misc/Version +instanceKlass java/lang/Runtime +instanceKlass java/util/Hashtable$Enumerator +instanceKlass java/util/Iterator +instanceKlass java/util/Enumeration +instanceKlass java/util/Objects +instanceKlass java/util/Collections$SynchronizedCollection +instanceKlass java/lang/Math +instanceKlass java/util/Hashtable$Entry +instanceKlass sun/misc/VM +instanceKlass java/util/HashMap$Node +instanceKlass java/util/Map$Entry +instanceKlass sun/reflect/Reflection +instanceKlass sun/misc/SharedSecrets +instanceKlass java/lang/ref/Reference$1 +instanceKlass sun/misc/JavaLangRefAccess +instanceKlass java/lang/ref/ReferenceQueue$Lock +instanceKlass java/lang/ref/ReferenceQueue +instanceKlass java/util/Collections$UnmodifiableCollection +instanceKlass java/util/AbstractMap +instanceKlass java/util/Set +instanceKlass java/util/Collections +instanceKlass java/lang/ref/Reference$Lock +instanceKlass sun/reflect/ReflectionFactory +instanceKlass java/util/AbstractCollection +instanceKlass java/util/RandomAccess +instanceKlass java/util/List +instanceKlass java/util/Collection +instanceKlass java/lang/Iterable +instanceKlass java/security/cert/Certificate +instanceKlass sun/reflect/ReflectionFactory$GetReflectionFactoryAction +instanceKlass java/security/PrivilegedAction +instanceKlass java/security/AccessController +instanceKlass java/security/Permission +instanceKlass java/security/Guard +instanceKlass java/lang/String$CaseInsensitiveComparator +instanceKlass java/util/Comparator +instanceKlass java/io/ObjectStreamField +instanceKlass java/lang/Number +instanceKlass java/lang/Character +instanceKlass java/lang/Boolean +instanceKlass java/nio/Buffer +instanceKlass java/lang/StackTraceElement +instanceKlass java/security/CodeSource +instanceKlass sun/misc/Launcher +instanceKlass java/util/jar/Manifest +instanceKlass java/net/URL +instanceKlass java/io/File +instanceKlass java/io/InputStream +instanceKlass java/io/Closeable +instanceKlass java/lang/AutoCloseable +instanceKlass sun/misc/Unsafe +instanceKlass java/lang/AbstractStringBuilder +instanceKlass java/lang/Appendable +instanceKlass java/lang/invoke/CallSite +instanceKlass java/lang/invoke/MethodType +instanceKlass java/lang/invoke/LambdaForm +instanceKlass java/lang/invoke/MethodHandleNatives +instanceKlass java/lang/invoke/MemberName +instanceKlass java/lang/invoke/MethodHandle +instanceKlass sun/reflect/CallerSensitive +instanceKlass java/lang/annotation/Annotation +instanceKlass sun/reflect/FieldAccessor +instanceKlass sun/reflect/ConstantPool +instanceKlass sun/reflect/ConstructorAccessor +instanceKlass sun/reflect/MethodAccessor +instanceKlass sun/reflect/MagicAccessorImpl +instanceKlass java/lang/reflect/Parameter +instanceKlass java/lang/reflect/Member +instanceKlass java/lang/reflect/AccessibleObject +instanceKlass java/util/Dictionary +instanceKlass java/util/Map +instanceKlass java/lang/ThreadGroup +instanceKlass java/lang/Thread$UncaughtExceptionHandler +instanceKlass java/lang/Thread +instanceKlass java/lang/Runnable +instanceKlass java/lang/ref/Reference +instanceKlass java/security/AccessControlContext +instanceKlass java/security/ProtectionDomain +instanceKlass java/lang/SecurityManager +instanceKlass java/lang/Throwable +instanceKlass java/lang/System +instanceKlass java/lang/ClassLoader +instanceKlass java/lang/Cloneable +instanceKlass java/lang/Class +instanceKlass java/lang/reflect/Type +instanceKlass java/lang/reflect/GenericDeclaration +instanceKlass java/lang/reflect/AnnotatedElement +instanceKlass java/lang/String +instanceKlass java/lang/CharSequence +instanceKlass java/lang/Comparable +instanceKlass java/io/Serializable +ciInstanceKlass java/lang/Object 1 1 78 100 10 10 10 10 8 10 10 10 100 8 10 3 8 10 10 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 100 1 1 100 1 1 1 1 12 12 100 12 12 1 12 100 12 12 1 1 12 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/io/Serializable 1 0 7 100 100 1 1 1 1 +ciInstanceKlass java/lang/Comparable 1 0 12 100 100 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/lang/String 1 1 548 10 8 9 9 10 100 10 10 10 10 100 10 10 10 10 10 100 8 10 10 8 10 10 10 10 10 10 10 10 10 10 10 100 10 10 10 10 10 10 10 10 10 7 10 10 10 100 100 10 10 11 11 10 10 9 11 10 10 10 10 7 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 10 10 10 10 10 7 10 10 8 10 10 3 3 100 10 10 10 10 10 11 100 10 10 100 10 10 10 11 11 11 7 3 10 10 10 10 8 8 8 10 10 10 10 10 10 10 10 10 10 10 100 10 10 10 10 8 10 10 8 8 10 10 10 10 7 9 7 10 7 100 100 100 1 1 1 1 1 1 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 100 1 100 1 1 1 1 1 1 1 1 100 1 100 1 1 1 1 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 100 100 1 100 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 1 12 12 7 12 1 12 12 12 12 1 100 12 12 12 12 12 1 1 7 12 1 12 12 12 12 12 12 12 100 12 12 1 12 12 7 12 100 12 12 12 12 1 12 1 1 12 12 12 12 7 12 12 7 12 12 12 12 12 1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 7 12 12 1 12 12 1 12 1 12 12 12 12 100 12 1 12 12 1 12 12 100 12 100 12 12 1 12 12 12 7 12 1 1 1 100 12 12 12 12 12 12 12 12 12 12 12 1 12 12 1 12 1 1 100 12 100 12 100 12 12 1 12 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/String serialPersistentFields [Ljava/io/ObjectStreamField; 0 [Ljava/io/ObjectStreamField; +staticfield java/lang/String CASE_INSENSITIVE_ORDER Ljava/util/Comparator; java/lang/String$CaseInsensitiveComparator +ciInstanceKlass java/lang/Class 1 1 1224 9 9 10 10 10 10 9 9 9 9 100 10 10 8 10 8 8 10 10 10 10 10 10 10 10 10 8 10 8 8 10 11 10 10 10 10 10 9 10 100 10 9 7 100 8 10 10 7 10 10 100 100 10 10 10 10 9 10 7 10 100 10 10 10 9 10 10 10 10 10 100 100 10 10 10 10 10 9 10 100 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 100 8 10 10 100 10 100 11 10 10 10 10 10 10 10 8 10 10 10 8 10 10 10 8 10 8 10 10 10 10 8 10 100 10 10 10 10 100 10 100 10 10 10 10 10 10 10 10 100 10 10 10 10 10 10 10 10 10 10 10 10 10 9 10 9 100 10 9 10 100 10 9 10 10 10 10 10 10 10 8 10 10 9 10 7 9 10 10 7 10 10 10 10 9 10 9 10 10 10 10 9 9 10 9 100 10 100 10 10 11 11 11 7 11 11 9 9 7 100 10 9 9 10 10 9 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 8 7 10 8 8 8 8 10 10 9 9 10 7 9 7 10 7 7 10 10 10 8 10 7 10 7 10 100 8 10 100 10 10 11 10 100 10 10 8 8 10 10 9 11 100 11 9 10 10 10 9 9 10 10 10 10 10 11 11 11 11 100 11 10 10 100 11 10 10 10 11 11 100 10 10 9 9 10 10 10 10 7 9 100 100 100 100 1 1 1 1 7 1 1 1 1 1 3 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 100 100 100 1 100 1 1 1 100 1 1 1 1 100 1 1 1 1 1 1 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 100 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 100 100 100 100 100 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 100 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 100 100 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 100 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 12 12 12 12 12 12 12 12 1 12 1 12 1 1 12 12 12 12 100 12 12 12 12 1 12 1 1 12 12 7 12 7 12 12 7 12 100 12 100 12 100 12 1 12 12 1 1 1 12 12 1 12 7 12 1 1 12 12 12 12 12 1 100 12 12 12 12 12 12 12 12 100 1 1 12 12 100 12 12 12 12 100 12 1 12 12 12 12 12 12 100 12 12 12 12 12 12 7 12 12 12 1 1 12 1 12 1 12 100 12 12 12 100 12 12 1 12 12 12 1 12 12 12 1 12 1 12 12 12 12 1 12 1 12 12 12 1 12 1 12 12 12 12 12 12 12 12 1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 12 12 1 12 12 100 12 12 12 100 12 12 12 12 1 12 12 12 12 1 12 12 12 1 12 12 100 12 100 12 12 12 12 12 12 12 12 12 12 12 12 1 1 12 100 12 12 100 12 1 12 100 12 12 1 1 12 12 12 12 12 12 1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 1 100 1 1 1 1 12 12 12 12 12 1 12 1 1 1 1 12 100 1 12 1 12 1 12 1 1 1 12 100 12 12 1 12 1 1 100 12 12 12 12 1 12 12 100 12 100 12 12 12 12 12 12 12 12 12 12 100 12 12 1 1 12 100 12 12 1 100 12 12 12 12 1 12 12 12 100 12 12 100 12 12 12 1 12 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/Class serialPersistentFields [Ljava/io/ObjectStreamField; 0 [Ljava/io/ObjectStreamField; +ciInstanceKlass java/lang/Cloneable 1 0 7 100 100 1 1 1 1 +instanceKlass sun/reflect/DelegatingClassLoader +instanceKlass java/security/SecureClassLoader +ciInstanceKlass java/lang/ClassLoader 1 1 865 9 9 9 10 10 10 10 7 10 7 7 7 10 10 9 7 10 9 9 9 9 9 9 10 10 7 10 9 9 7 10 10 9 7 9 100 10 10 10 10 10 10 10 10 10 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 100 10 100 10 10 11 10 10 10 100 100 10 8 10 10 10 8 10 100 8 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 8 11 9 11 10 8 8 10 10 10 10 10 10 10 10 100 100 10 10 10 100 10 10 10 7 10 10 10 10 10 10 100 10 10 10 100 10 10 10 9 9 100 8 10 10 10 7 10 10 100 10 100 10 100 10 10 10 10 10 9 10 10 100 10 7 10 10 10 10 10 10 10 10 11 11 11 100 10 9 10 10 7 8 10 9 8 10 9 8 7 10 10 100 8 10 10 10 8 8 10 10 10 8 8 10 10 7 10 10 10 9 10 10 7 9 10 10 8 8 10 10 10 8 10 10 10 10 9 10 10 10 100 10 10 10 10 9 9 9 9 9 10 7 7 10 1 1 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 100 100 1 1 1 1 1 1 100 100 100 100 100 1 1 1 1 1 1 100 100 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 100 100 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 100 1 1 100 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 100 1 100 1 1 1 1 1 1 1 1 1 12 12 12 12 7 12 100 12 12 1 1 1 12 12 12 1 12 12 12 12 12 12 12 12 1 12 12 1 7 12 12 1 12 1 12 12 12 12 12 12 12 12 1 12 7 12 12 12 12 12 12 12 12 12 100 12 7 12 12 12 12 1 12 1 12 7 12 7 12 12 12 12 1 1 1 12 12 1 12 1 1 12 12 12 12 7 12 12 12 12 12 12 100 12 12 12 12 12 12 12 12 12 12 7 12 12 1 100 12 12 12 12 1 1 12 12 12 12 12 12 12 12 1 1 12 12 12 1 12 12 7 12 1 12 12 12 100 12 100 12 1 12 7 12 1 12 12 12 12 12 1 1 12 12 1 12 12 1 12 1 100 1 12 12 12 12 12 100 12 12 12 1 1 12 12 12 12 12 12 12 100 12 1 12 12 12 12 1 1 12 1 12 12 1 1 12 1 1 12 12 1 1 12 12 100 12 1 1 12 1 12 12 12 12 12 1 12 12 1 1 12 1 12 12 12 12 12 12 12 12 1 12 12 12 12 100 12 12 12 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/ClassLoader nocerts [Ljava/security/cert/Certificate; 0 [Ljava/security/cert/Certificate; +ciInstanceKlass java/lang/System 1 1 375 10 10 10 10 10 9 7 10 11 10 10 10 100 8 10 10 8 10 100 10 8 10 10 100 10 10 9 10 9 9 7 10 10 10 10 10 10 100 100 8 10 10 7 10 100 8 10 8 10 100 8 10 100 10 8 10 10 10 8 10 10 10 10 10 10 10 10 10 7 7 10 10 100 10 10 8 10 7 9 10 7 9 10 9 7 10 8 10 8 8 10 10 10 10 10 10 10 10 7 10 10 10 9 9 9 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 100 1 100 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 12 12 12 12 12 12 1 7 12 100 12 100 12 12 12 1 1 12 100 12 1 12 1 12 12 100 12 1 12 100 12 12 12 12 12 1 12 12 12 12 12 1 1 1 12 12 1 12 1 1 1 12 1 1 1 1 12 12 100 12 1 12 7 12 12 12 12 12 7 12 12 12 1 1 12 12 1 12 7 12 1 7 12 1 7 12 12 1 12 12 1 12 1 12 1 1 12 7 12 12 7 12 12 7 12 12 12 1 12 12 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/System in Ljava/io/InputStream; java/io/BufferedInputStream +staticfield java/lang/System out Ljava/io/PrintStream; java/io/PrintStream +staticfield java/lang/System err Ljava/io/PrintStream; java/io/PrintStream +instanceKlass java/lang/Exception +instanceKlass java/lang/Error +ciInstanceKlass java/lang/Throwable 1 1 340 10 9 9 9 9 9 10 9 10 10 100 100 10 8 10 8 10 10 10 100 8 10 10 10 10 8 9 10 100 10 10 100 10 10 11 10 10 10 8 10 10 7 8 8 10 10 8 8 9 10 100 10 11 8 8 10 8 10 8 100 10 9 10 10 100 10 7 10 10 100 8 10 10 11 7 10 11 11 11 8 8 10 11 10 9 8 10 9 10 9 11 100 10 10 7 100 100 1 1 1 100 1 100 1 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 100 100 1 1 1 1 1 1 1 1 12 12 12 12 12 12 12 12 12 12 1 1 1 12 1 100 12 12 1 1 12 7 12 12 1 100 12 12 1 12 12 1 7 12 100 12 12 12 12 1 12 12 1 1 1 12 12 1 1 12 100 12 1 12 1 1 12 1 12 1 1 12 12 12 100 12 12 1 12 100 1 1 12 100 12 100 12 1 12 12 100 12 12 1 1 100 12 1 100 12 100 12 12 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/Throwable UNASSIGNED_STACK [Ljava/lang/StackTraceElement; 0 [Ljava/lang/StackTraceElement; +staticfield java/lang/Throwable SUPPRESSED_SENTINEL Ljava/util/List; java/util/Collections$UnmodifiableRandomAccessList +staticfield java/lang/Throwable EMPTY_THROWABLE_ARRAY [Ljava/lang/Throwable; 0 [Ljava/lang/Throwable; +staticfield java/lang/Throwable $assertionsDisabled Z 1 +instanceKlass java/lang/AssertionError +instanceKlass java/lang/VirtualMachineError +instanceKlass java/lang/LinkageError +instanceKlass java/lang/ThreadDeath +ciInstanceKlass java/lang/Error 1 1 30 10 10 10 10 10 100 7 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 12 12 12 12 12 1 1 +ciInstanceKlass java/lang/ThreadDeath 0 0 18 10 100 100 1 1 1 5 0 1 1 1 1 1 1 12 1 1 +instanceKlass java/lang/CloneNotSupportedException +instanceKlass java/security/GeneralSecurityException +instanceKlass java/io/IOException +instanceKlass java/util/concurrent/ExecutionException +instanceKlass java/lang/InterruptedException +instanceKlass java/lang/ReflectiveOperationException +instanceKlass java/lang/RuntimeException +ciInstanceKlass java/lang/Exception 1 1 30 10 10 10 10 10 100 7 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 12 12 12 12 12 1 1 +instanceKlass com/android/dx/util/Warning +instanceKlass java/lang/NegativeArraySizeException +instanceKlass java/lang/IndexOutOfBoundsException +instanceKlass java/lang/IllegalStateException +instanceKlass java/lang/UnsupportedOperationException +instanceKlass java/util/NoSuchElementException +instanceKlass com/android/dex/util/ExceptionWithContext +instanceKlass com/android/dx/command/dexer/Main$StopProcessing +instanceKlass com/android/dx/command/UsageException +instanceKlass java/lang/IllegalArgumentException +instanceKlass java/lang/ArithmeticException +instanceKlass java/lang/NullPointerException +instanceKlass java/lang/IllegalMonitorStateException +instanceKlass java/lang/ArrayStoreException +instanceKlass java/lang/ClassCastException +ciInstanceKlass java/lang/RuntimeException 1 1 30 10 10 10 10 10 100 100 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 12 12 12 12 12 1 1 +ciInstanceKlass java/lang/SecurityManager 0 0 383 9 10 100 9 10 9 100 10 100 8 10 10 10 10 10 10 10 10 10 100 10 10 9 10 10 10 100 8 10 9 9 8 9 100 10 8 10 10 10 100 10 10 100 100 8 10 8 8 8 8 8 8 10 8 8 8 8 8 10 10 8 100 8 10 8 8 8 8 8 10 8 100 8 8 10 8 9 8 9 9 8 10 100 8 10 10 100 10 10 10 8 9 9 100 10 10 10 9 8 8 9 9 100 10 9 8 8 8 10 10 9 100 10 10 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 100 100 100 1 1 1 1 100 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 100 1 1 1 1 1 100 100 1 1 1 1 1 100 1 1 1 1 1 1 1 1 12 12 1 12 12 12 1 100 12 1 1 12 12 12 12 12 12 12 100 12 1 12 100 12 12 100 12 1 1 12 12 1 12 1 1 12 12 12 1 12 1 1 1 12 1 1 1 1 1 1 12 1 1 1 1 1 12 12 1 1 1 1 1 1 1 1 100 12 1 1 1 1 1 100 12 1 12 12 1 12 1 1 12 1 12 12 12 1 12 12 1 12 12 12 12 1 1 12 12 1 12 1 1 1 12 100 12 12 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/security/ProtectionDomain 1 1 291 10 9 7 10 9 9 9 10 7 9 9 7 9 9 10 100 10 10 10 10 9 10 8 100 8 10 10 10 10 10 8 11 8 10 8 8 10 10 10 10 8 10 8 8 10 9 10 9 10 100 100 10 10 7 10 100 10 10 11 11 11 100 10 10 11 11 10 10 11 10 7 10 10 8 10 7 10 10 7 7 100 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 100 100 1 100 100 100 100 100 100 100 1 1 1 1 12 12 1 12 12 12 12 1 12 12 1 12 12 100 12 100 100 12 12 12 100 12 1 1 1 12 12 100 12 12 1 1 12 1 1 12 12 12 12 1 12 1 1 100 12 12 12 12 100 12 1 1 12 100 12 1 1 12 12 100 12 12 100 12 1 12 12 12 12 100 12 12 12 1 12 7 12 1 7 12 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/security/ProtectionDomain debug Lsun/security/util/Debug; null +ciInstanceKlass java/security/AccessControlContext 1 1 313 9 9 10 8 10 10 9 9 9 10 100 100 10 11 11 11 11 100 11 10 10 9 10 11 10 100 100 8 10 10 100 9 9 9 9 9 9 9 10 9 10 10 8 10 10 10 100 10 10 10 10 8 10 8 10 8 8 10 8 10 8 10 10 10 8 8 100 10 10 100 10 8 10 10 10 8 10 10 10 7 10 10 10 10 10 10 10 10 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 100 1 100 100 1 1 1 1 1 1 1 1 100 1 1 1 100 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 100 12 1 100 12 12 12 12 12 100 12 1 12 100 12 12 12 12 1 12 12 100 12 100 12 100 12 100 12 1 1 1 12 12 1 12 12 12 12 12 12 12 7 12 12 12 12 1 12 12 100 12 1 12 100 12 1 100 12 1 100 12 1 1 12 1 12 1 12 12 12 1 1 1 12 12 1 12 1 12 1 12 12 12 1 12 12 12 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +instanceKlass java/net/URLClassLoader +ciInstanceKlass java/security/SecureClassLoader 1 1 134 10 7 10 9 10 10 9 10 10 10 10 10 7 10 10 7 10 10 10 9 100 10 8 10 10 10 10 8 100 8 10 8 10 10 7 7 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 1 1 1 1 1 1 1 1 1 1 100 100 100 1 1 1 1 12 1 12 12 7 12 100 12 12 12 12 12 12 12 1 12 1 12 12 12 12 1 1 12 12 12 7 12 1 1 1 12 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/security/SecureClassLoader debug Lsun/security/util/Debug; null +instanceKlass java/lang/ClassNotFoundException +ciInstanceKlass java/lang/ReflectiveOperationException 1 1 27 10 10 10 10 100 7 1 1 1 5 0 1 1 1 1 1 1 1 1 1 12 12 12 12 1 1 +ciInstanceKlass java/lang/ClassNotFoundException 1 1 32 100 10 10 9 100 7 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 12 1 1 1 +instanceKlass java/lang/IncompatibleClassChangeError +instanceKlass java/lang/BootstrapMethodError +instanceKlass java/lang/NoClassDefFoundError +ciInstanceKlass java/lang/LinkageError 1 1 24 10 10 10 100 7 1 1 1 5 0 1 1 1 1 1 1 1 1 12 12 12 1 1 +ciInstanceKlass java/lang/NoClassDefFoundError 0 0 21 10 10 100 100 1 1 1 5 0 1 1 1 1 1 1 1 12 12 1 1 +ciInstanceKlass java/lang/ClassCastException 1 1 21 10 10 100 100 1 1 1 5 0 1 1 1 1 1 1 1 12 12 1 1 +ciInstanceKlass java/lang/ArrayStoreException 1 1 21 10 10 100 100 1 1 1 5 0 1 1 1 1 1 1 1 12 12 1 1 +instanceKlass java/lang/StackOverflowError +instanceKlass java/lang/OutOfMemoryError +ciInstanceKlass java/lang/VirtualMachineError 1 1 27 10 10 10 10 100 100 1 1 1 5 0 1 1 1 1 1 1 1 1 1 12 12 12 12 1 1 +ciInstanceKlass java/lang/OutOfMemoryError 1 1 21 10 10 100 100 1 1 1 5 0 1 1 1 1 1 1 1 12 12 1 1 +ciInstanceKlass java/lang/StackOverflowError 1 1 21 10 10 100 100 1 1 1 5 0 1 1 1 1 1 1 1 12 12 1 1 +ciInstanceKlass java/lang/IllegalMonitorStateException 1 1 21 10 10 100 100 1 1 1 5 0 1 1 1 1 1 1 1 12 12 1 1 +instanceKlass java/lang/ref/PhantomReference +instanceKlass java/lang/ref/FinalReference +instanceKlass java/lang/ref/WeakReference +instanceKlass java/lang/ref/SoftReference +ciInstanceKlass java/lang/ref/Reference 1 1 141 9 9 7 9 10 100 10 100 10 9 9 10 9 9 10 10 7 10 10 10 10 7 8 10 7 10 10 10 7 10 10 7 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 100 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 12 12 1 12 12 1 12 1 12 12 7 12 12 12 12 12 12 1 12 12 12 7 12 1 1 12 1 12 12 12 1 7 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +instanceKlass sun/util/locale/LocaleObjectCache$CacheEntry +ciInstanceKlass java/lang/ref/SoftReference 1 1 35 10 9 9 10 10 7 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 12 12 12 12 12 1 1 1 +instanceKlass java/lang/ThreadLocal$ThreadLocalMap$Entry +instanceKlass java/lang/ClassValue$Entry +instanceKlass java/util/WeakHashMap$Entry +ciInstanceKlass java/lang/ref/WeakReference 1 1 20 10 10 100 7 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 +instanceKlass java/lang/ref/Finalizer +ciInstanceKlass java/lang/ref/FinalReference 1 1 16 10 100 7 1 1 1 1 1 1 1 1 1 12 1 1 +instanceKlass sun/misc/Cleaner +ciInstanceKlass java/lang/ref/PhantomReference 1 1 19 10 100 100 1 1 1 1 1 1 1 1 1 1 1 1 12 1 1 +ciInstanceKlass sun/misc/Cleaner 1 1 75 9 9 9 9 10 9 7 10 10 10 11 100 100 10 10 7 10 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 12 12 12 12 12 12 1 12 12 12 100 12 1 1 12 100 12 1 12 1 1 1 1 1 1 1 1 +staticfield sun/misc/Cleaner dummyQueue Ljava/lang/ref/ReferenceQueue; java/lang/ref/ReferenceQueue +ciInstanceKlass java/lang/ref/Finalizer 1 1 151 9 9 9 10 9 9 10 10 7 10 10 10 10 7 11 100 10 100 10 10 10 100 10 10 100 10 7 10 7 10 10 10 10 7 10 7 10 10 10 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 12 12 12 12 12 12 12 12 1 12 12 12 12 1 7 12 1 12 1 12 100 12 100 12 1 12 12 1 1 1 12 12 7 12 1 12 1 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/ref/Finalizer lock Ljava/lang/Object; java/lang/Object +instanceKlass java/lang/ref/Finalizer$FinalizerThread +instanceKlass java/lang/ref/Reference$ReferenceHandler +ciInstanceKlass java/lang/Thread 1 1 550 9 9 9 9 100 8 10 3 8 3 10 10 100 8 10 9 10 10 10 10 10 10 10 9 10 10 9 10 9 10 9 10 9 10 9 9 10 9 10 9 10 9 100 10 10 9 9 9 7 100 10 8 10 10 10 10 10 100 10 10 10 10 100 11 10 9 10 9 10 100 10 10 100 10 10 11 10 100 10 10 10 7 10 10 10 10 10 10 10 10 10 10 100 8 10 10 10 8 10 8 10 8 8 10 10 7 8 10 9 9 10 10 10 9 10 100 10 11 9 9 10 100 10 11 100 10 10 11 10 100 10 10 10 8 9 10 11 10 11 10 7 8 7 1 1 100 1 100 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 100 1 1 1 1 1 1 100 1 1 1 1 100 100 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 100 100 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 12 12 12 12 1 1 12 1 12 12 1 1 12 12 7 12 100 12 7 12 12 12 12 12 12 12 12 12 12 12 12 12 7 12 12 12 12 12 100 12 12 12 12 1 12 12 12 12 1 1 1 12 12 12 12 12 1 12 12 12 1 12 12 12 100 12 12 1 12 1 12 100 12 12 1 12 12 1 12 12 12 12 12 12 12 12 12 1 1 12 12 1 12 1 1 1 100 12 100 12 1 12 12 12 12 12 12 1 12 100 12 12 12 12 1 12 100 12 1 12 12 12 12 1 12 12 100 12 12 12 12 100 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/Thread EMPTY_STACK_TRACE [Ljava/lang/StackTraceElement; 0 [Ljava/lang/StackTraceElement; +staticfield java/lang/Thread SUBCLASS_IMPLEMENTATION_PERMISSION Ljava/lang/RuntimePermission; java/lang/RuntimePermission +ciInstanceKlass java/lang/ThreadGroup 1 1 275 10 9 8 9 7 9 9 10 10 10 10 10 9 9 10 10 9 10 9 9 10 100 10 10 10 9 10 10 9 10 10 10 10 10 10 10 10 10 10 10 100 10 10 10 7 10 7 10 9 10 8 10 10 10 10 11 100 9 100 10 8 10 10 8 10 10 10 10 10 8 10 8 10 8 7 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 100 1 1 100 1 1 1 1 12 12 1 12 1 12 12 12 12 12 12 12 12 12 12 12 12 100 12 12 12 7 12 12 7 12 100 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 12 12 1 12 12 12 12 1 100 12 12 12 12 1 12 1 1 12 12 1 12 100 12 100 12 12 100 1 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +instanceKlass java/util/Hashtable +ciInstanceKlass java/util/Dictionary 1 1 31 10 100 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 1 1 +instanceKlass java/util/Properties +ciInstanceKlass java/util/Hashtable 1 1 417 100 9 9 9 10 10 100 100 10 8 10 10 10 10 10 8 10 9 7 7 4 10 9 4 10 11 10 10 10 100 10 9 10 9 10 10 3 9 9 3 10 10 10 11 11 11 11 7 11 11 10 10 10 9 9 9 100 100 10 10 8 10 10 8 10 8 10 7 10 10 100 10 10 7 10 100 10 10 7 11 11 100 10 10 10 11 100 10 100 11 11 10 10 10 10 10 100 10 10 8 10 10 10 10 7 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 3 1 3 1 3 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 100 1 1 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 1 1 1 1 1 100 1 1 1 100 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 100 1 100 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 12 12 12 1 1 1 12 12 12 12 7 12 1 12 12 1 1 7 12 12 12 12 12 12 12 1 12 7 12 12 12 12 12 12 12 12 12 12 7 12 7 12 12 1 12 12 12 12 12 12 12 1 1 12 1 12 1 1 7 12 1 12 12 1 12 12 1 1 12 1 12 12 1 100 12 100 12 1 100 12 100 12 12 100 12 12 12 100 12 1 12 1 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/util/Properties 1 1 273 10 10 9 10 100 10 10 10 10 9 10 100 3 100 8 10 7 10 10 100 10 10 10 10 10 8 10 10 10 10 10 100 100 10 10 100 8 10 10 100 10 10 100 10 10 10 10 11 11 10 10 8 10 10 100 10 10 8 10 100 10 10 10 7 10 10 10 10 8 10 8 10 10 9 7 100 1 1 1 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 1 1 1 1 100 1 1 100 100 1 1 100 1 1 1 1 1 100 1 1 100 100 100 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 12 12 12 12 1 12 12 12 12 12 12 1 1 1 12 1 12 12 1 12 12 12 12 12 1 12 12 12 12 12 1 1 12 12 1 1 12 12 1 12 1 12 100 12 12 12 12 1 12 100 12 1 12 12 1 12 1 12 12 1 12 12 12 1 100 12 1 100 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/util/Properties hexDigit [C 16 +instanceKlass java/lang/reflect/Executable +instanceKlass java/lang/reflect/Field +ciInstanceKlass java/lang/reflect/AccessibleObject 1 1 147 10 9 10 10 7 10 7 100 8 10 9 10 100 8 10 11 10 10 10 9 10 10 100 10 10 7 8 10 7 10 10 7 9 7 7 100 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 1 1 1 1 1 1 1 7 12 12 100 12 12 1 12 1 1 1 12 12 12 1 1 12 12 12 12 12 12 100 12 12 1 12 100 12 1 1 1 1 1 7 12 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/reflect/AccessibleObject ACCESS_PERMISSION Ljava/security/Permission; java/lang/reflect/ReflectPermission +staticfield java/lang/reflect/AccessibleObject reflectionFactory Lsun/reflect/ReflectionFactory; sun/reflect/ReflectionFactory +ciInstanceKlass java/lang/reflect/Field 1 1 367 9 10 10 10 9 10 10 10 10 9 9 9 9 9 9 9 100 8 10 7 10 9 9 10 100 10 10 10 10 10 10 10 100 10 8 10 10 8 10 10 8 10 11 9 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 9 10 10 10 10 11 10 100 10 10 9 10 11 10 10 9 10 7 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 100 100 1 100 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 100 12 100 12 12 12 12 100 12 12 12 12 12 12 12 12 12 1 1 12 1 12 12 12 12 1 12 12 12 12 12 100 100 12 1 1 12 12 1 12 12 1 100 12 100 12 12 12 12 100 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 100 12 12 100 12 12 100 12 1 100 12 100 12 12 100 12 100 12 12 12 100 12 100 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/lang/reflect/Parameter 0 0 215 10 9 9 9 9 9 9 100 10 10 10 100 10 10 11 10 10 10 10 10 8 8 10 10 10 8 10 8 10 10 10 10 10 10 10 10 10 10 11 10 100 10 10 10 10 10 9 100 10 11 11 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 100 100 100 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 12 12 12 12 12 12 12 1 12 12 100 12 1 12 100 12 12 100 12 12 12 12 1 1 100 12 12 12 1 1 12 12 12 12 12 12 12 100 12 12 100 12 100 12 1 100 12 12 12 12 12 12 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +instanceKlass java/lang/reflect/Constructor +instanceKlass java/lang/reflect/Method +ciInstanceKlass java/lang/reflect/Executable 1 1 385 10 10 10 11 10 10 10 8 10 10 10 100 8 100 10 10 10 10 8 10 100 8 10 8 10 10 8 10 10 11 10 8 8 10 10 100 10 100 10 10 10 10 10 10 100 10 10 10 10 10 100 10 100 8 10 10 100 8 10 10 10 10 10 8 8 3 8 9 10 100 8 9 10 10 10 10 10 10 100 10 10 10 10 11 10 100 10 10 9 10 10 10 9 10 10 9 10 9 10 9 100 7 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 100 1 1 1 1 1 100 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 100 12 12 100 12 100 12 12 12 1 12 12 12 1 1 1 12 12 12 1 12 1 1 12 1 12 100 1 12 12 12 1 1 100 12 12 1 12 1 12 12 100 12 12 12 1 12 12 12 12 100 12 12 1 1 12 12 1 1 12 12 12 12 1 1 1 12 12 1 1 12 12 12 12 12 12 12 1 12 12 100 12 12 100 12 12 1 100 12 12 12 12 12 12 100 12 100 12 12 12 12 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/lang/reflect/Method 1 1 353 9 10 10 9 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 100 8 10 7 10 9 10 10 100 100 10 10 10 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 9 10 10 10 10 11 10 100 10 10 10 10 9 10 10 10 10 10 11 10 100 100 100 10 8 10 10 10 10 10 10 10 8 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 100 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 100 12 100 12 12 12 12 100 12 12 12 12 12 12 12 12 12 12 12 12 12 1 1 12 1 12 12 12 12 1 1 12 12 7 12 12 100 12 12 12 100 12 12 100 100 12 12 12 12 12 12 12 12 12 100 12 100 12 12 12 12 7 12 12 1 12 12 12 12 12 7 12 12 100 12 100 12 100 12 100 12 100 12 1 1 1 1 12 12 12 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/lang/reflect/Constructor 1 1 335 10 10 9 10 10 10 9 10 9 9 9 9 9 9 9 9 100 8 10 7 10 9 10 10 10 10 100 100 10 7 10 10 10 10 10 10 10 10 10 10 10 9 10 10 10 10 100 8 10 11 10 10 10 9 10 10 10 10 10 10 10 10 10 100 8 10 10 10 10 10 10 11 9 10 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 100 12 100 12 12 12 12 100 12 12 12 12 12 12 12 12 12 12 12 1 1 12 1 12 12 12 7 12 12 12 1 1 7 12 12 100 12 12 100 12 12 12 12 100 12 12 12 12 100 12 12 12 12 1 1 12 7 12 12 12 12 12 7 12 12 12 12 12 12 12 12 12 1 1 12 12 12 12 100 12 100 12 100 12 100 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 +instanceKlass sun/reflect/FieldAccessorImpl +instanceKlass sun/reflect/ConstructorAccessorImpl +instanceKlass sun/reflect/MethodAccessorImpl +ciInstanceKlass sun/reflect/MagicAccessorImpl 1 1 13 10 100 7 1 1 1 1 1 1 12 1 1 +instanceKlass sun/reflect/DelegatingMethodAccessorImpl +instanceKlass sun/reflect/NativeMethodAccessorImpl +ciInstanceKlass sun/reflect/MethodAccessorImpl 1 1 22 10 100 7 100 1 1 1 1 1 1 1 100 100 1 1 12 1 1 1 1 1 +instanceKlass sun/reflect/DelegatingConstructorAccessorImpl +instanceKlass sun/reflect/NativeConstructorAccessorImpl +ciInstanceKlass sun/reflect/ConstructorAccessorImpl 1 1 24 10 100 7 100 1 1 1 1 1 1 1 100 100 100 1 1 12 1 1 1 1 1 1 +ciInstanceKlass sun/reflect/DelegatingClassLoader 0 0 13 10 100 100 1 1 1 1 1 1 12 1 1 +ciInstanceKlass sun/reflect/ConstantPool 0 0 106 10 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 100 100 8 10 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 1 100 12 1 1 1 1 +instanceKlass sun/reflect/UnsafeFieldAccessorImpl +ciInstanceKlass sun/reflect/FieldAccessorImpl 0 0 56 10 100 100 100 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 1 1 1 1 1 +instanceKlass sun/reflect/UnsafeStaticFieldAccessorImpl +ciInstanceKlass sun/reflect/UnsafeFieldAccessorImpl 0 0 233 10 9 10 10 9 10 9 10 10 9 10 10 10 10 100 10 10 10 8 10 10 100 8 10 8 10 8 10 100 10 10 8 10 8 10 8 10 8 10 8 10 8 10 8 10 8 10 8 10 10 8 8 8 8 8 8 10 8 8 8 10 10 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 100 12 100 12 12 100 12 12 12 12 12 12 100 12 100 12 12 1 12 12 1 12 1 1 12 1 12 1 12 1 12 1 12 1 100 12 1 100 12 1 100 12 1 100 12 1 100 12 1 100 12 1 100 12 1 100 12 12 1 1 1 1 1 1 100 12 1 1 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass sun/reflect/UnsafeStaticFieldAccessorImpl 0 0 38 10 9 10 9 100 100 8 10 100 1 1 1 1 1 1 1 1 1 1 12 12 100 12 12 1 1 100 12 1 1 1 1 1 1 1 1 1 +ciInstanceKlass sun/reflect/CallerSensitive 0 0 17 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 +instanceKlass java/lang/invoke/DirectMethodHandle +ciInstanceKlass java/lang/invoke/MethodHandle 1 1 444 9 10 10 10 9 10 10 10 10 10 10 11 10 10 10 9 10 100 100 10 8 10 10 8 10 10 10 10 10 10 10 10 10 7 10 10 10 8 10 10 10 10 10 8 10 8 10 8 10 9 100 10 9 9 8 10 10 10 10 10 10 10 10 8 10 10 10 10 10 10 9 8 10 10 8 10 10 10 10 10 10 8 10 10 100 9 10 100 10 10 9 10 10 8 9 9 9 10 10 10 10 7 10 10 8 10 10 100 10 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 100 100 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 12 12 12 100 12 12 12 100 12 12 100 12 12 12 100 12 12 12 12 12 12 1 1 1 12 12 1 12 12 7 12 12 12 12 12 100 12 100 12 1 12 12 12 1 7 12 12 12 12 12 1 12 1 12 1 100 12 12 1 100 12 100 1 12 12 12 12 12 12 12 12 1 12 12 12 12 12 12 12 1 12 12 1 12 12 100 12 12 12 1 12 12 1 12 1 100 12 12 12 12 12 1 12 12 12 7 12 12 12 12 1 12 12 12 12 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/invoke/MethodHandle FORM_OFFSET J 20 +staticfield java/lang/invoke/MethodHandle $assertionsDisabled Z 1 +ciInstanceKlass java/lang/invoke/DirectMethodHandle 0 0 705 100 100 100 10 10 10 100 10 10 10 10 10 100 100 10 10 10 10 10 10 10 9 100 10 9 10 10 10 10 10 10 100 10 10 10 10 100 10 100 10 10 10 100 10 10 100 10 10 10 10 10 10 10 10 8 10 10 10 10 10 9 100 10 10 10 100 10 8 10 10 10 10 10 10 10 10 8 10 10 10 10 10 10 10 10 10 10 10 8 8 8 8 8 8 8 8 8 8 8 10 10 100 9 100 10 100 10 10 10 10 100 9 10 9 9 9 10 100 10 10 10 8 10 10 10 10 9 9 10 10 100 100 100 9 10 10 10 10 9 10 100 10 100 10 10 9 9 10 9 10 10 10 10 10 9 10 10 10 10 9 9 10 10 9 9 9 9 10 9 9 10 10 9 10 9 10 10 100 10 10 10 10 10 8 8 8 9 10 100 10 10 9 9 9 9 9 9 8 8 8 8 10 10 9 9 100 1 100 1 1 1 1 1 100 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 100 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 100 1 1 1 1 12 12 12 1 12 12 12 12 12 1 1 12 12 12 12 12 12 12 12 1 12 12 12 12 12 12 12 1 100 12 12 12 12 1 12 1 12 12 12 1 12 12 1 12 12 12 12 100 12 100 12 12 12 12 12 12 100 12 1 12 100 12 12 1 1 12 12 12 12 12 12 12 1 12 12 12 12 12 100 12 12 12 12 12 1 1 1 1 1 1 1 1 1 1 1 12 12 1 12 1 12 1 100 12 12 12 12 1 12 12 12 12 12 12 1 12 100 12 12 1 12 12 12 12 12 12 100 12 12 1 1 1 12 12 12 12 12 12 12 1 12 1 12 12 12 12 12 12 12 12 12 12 12 12 12 100 12 12 100 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 12 12 100 12 12 12 1 1 1 100 12 1 12 12 12 12 12 12 12 12 1 1 1 1 12 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/lang/invoke/MemberName 1 1 656 100 7 100 10 10 10 9 9 10 9 10 10 10 10 10 10 10 9 10 100 100 10 8 10 10 10 10 9 8 10 100 100 10 10 100 100 7 10 9 100 8 10 10 10 10 10 10 10 10 10 8 8 8 10 10 9 3 10 10 10 10 10 10 10 10 10 100 8 10 10 8 9 8 9 10 8 10 10 10 10 10 100 10 10 8 10 10 8 10 10 100 10 10 8 8 8 10 10 10 10 10 10 10 10 10 3 10 3 10 3 3 3 3 3 3 10 100 10 3 10 3 10 10 10 10 10 10 10 10 10 10 10 10 100 10 10 10 100 10 10 10 10 100 10 10 8 10 10 10 10 10 10 10 10 10 10 10 100 10 100 8 10 10 10 10 10 10 10 8 8 8 8 10 10 10 8 8 10 8 10 10 10 8 8 10 10 8 8 100 10 8 8 8 8 10 100 100 100 10 100 10 100 10 9 10 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 3 1 3 1 3 1 3 1 1 1 1 1 1 1 1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 100 1 1 1 100 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 100 12 12 1 1 12 1 12 12 12 12 12 1 100 12 1 1 12 1 1 1 12 12 1 1 12 12 12 12 12 12 12 12 12 1 1 1 100 12 12 12 12 12 12 12 12 12 12 12 1 12 12 100 100 12 1 12 12 12 12 12 1 12 12 1 12 12 1 12 12 1 12 12 1 1 1 12 12 12 12 12 12 12 12 12 12 12 100 1 1 100 12 12 12 12 12 100 12 12 12 12 12 12 1 12 1 12 12 1 12 100 12 100 12 12 12 12 12 12 12 1 12 1 1 100 12 12 100 12 12 12 1 1 1 1 12 12 12 1 1 12 1 12 12 1 1 12 1 1 1 1 1 1 1 12 1 1 1 1 1 100 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/invoke/MemberName $assertionsDisabled Z 1 +ciInstanceKlass java/lang/invoke/MethodHandleNatives 1 1 442 100 10 9 10 100 10 10 10 10 8 8 8 8 8 8 8 8 8 8 100 10 100 10 10 100 10 10 8 10 8 10 8 10 9 8 10 100 10 100 100 8 100 7 10 10 100 9 10 10 10 100 10 10 10 10 100 10 9 8 10 8 10 8 8 8 100 8 10 10 10 10 10 100 10 10 8 8 10 10 10 8 10 8 8 9 10 10 10 100 100 10 10 10 100 100 10 10 100 10 10 100 100 10 10 10 10 100 10 10 10 10 10 10 10 8 8 100 10 100 10 10 10 10 7 10 10 10 9 10 10 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 1 1 100 100 100 100 1 1 100 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 100 1 1 1 100 100 1 1 1 1 1 1 1 1 1 12 12 12 1 12 12 12 1 1 1 1 1 1 1 1 1 1 1 12 1 12 100 12 1 12 1 12 1 12 1 12 100 12 1 100 12 1 12 1 1 1 1 1 12 1 100 12 12 12 100 12 1 12 100 12 12 12 1 100 12 12 1 12 1 12 1 1 1 1 1 12 12 12 12 12 1 12 12 1 1 12 12 1 100 12 1 1 100 12 12 12 12 1 1 12 1 1 1 1 1 100 12 12 1 12 100 12 12 12 12 12 1 1 1 12 1 12 12 12 12 1 12 12 12 12 7 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/invoke/MethodHandleNatives COUNT_GWT Z 1 +staticfield java/lang/invoke/MethodHandleNatives $assertionsDisabled Z 1 +ciInstanceKlass java/lang/invoke/LambdaForm 0 0 986 100 100 9 10 10 9 9 10 100 10 9 10 9 10 100 9 10 9 9 9 10 100 10 10 10 10 10 10 10 9 10 8 10 10 10 10 100 10 10 8 10 10 10 100 8 10 10 10 10 10 100 10 100 10 10 9 9 10 10 100 10 10 10 10 10 10 10 10 10 10 8 10 10 8 8 9 9 9 10 10 10 9 10 10 10 10 10 10 10 10 8 8 8 8 8 8 8 8 10 9 10 10 10 10 10 10 10 100 10 10 9 10 10 10 10 10 10 8 10 100 100 10 10 10 10 11 11 11 100 10 10 10 10 100 10 8 10 10 8 10 10 10 100 10 8 10 9 10 10 8 8 10 10 8 8 8 10 10 9 10 8 8 9 10 10 8 8 8 100 8 100 8 100 8 10 8 10 9 10 10 9 10 10 10 10 10 10 10 10 10 10 8 100 10 10 9 10 8 8 100 8 8 9 8 8 8 10 8 8 8 10 10 8 8 8 10 8 10 8 8 8 8 8 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 9 8 10 11 11 9 9 9 9 9 10 10 8 10 8 9 100 10 100 10 100 10 9 10 10 10 10 9 10 10 9 10 9 10 9 100 9 9 10 100 10 10 10 10 9 100 1 100 1 100 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 3 1 1 1 3 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 1 1 1 1 1 1 100 1 1 1 1 1 1 1 100 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 100 1 100 100 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 100 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 12 12 12 12 12 12 1 12 12 12 100 12 12 12 12 12 12 12 1 12 12 100 12 100 12 12 12 12 12 12 1 12 12 12 100 12 1 12 1 12 12 12 1 1 12 12 12 12 12 1 12 1 12 12 12 12 12 12 1 12 12 12 12 12 12 100 12 12 1 12 12 1 1 12 12 12 12 100 12 12 12 100 12 12 12 12 12 12 12 1 1 1 1 1 1 1 1 12 12 12 12 12 12 12 12 12 1 12 12 12 12 12 12 12 100 12 12 1 1 100 12 12 12 100 12 100 12 12 1 12 12 12 12 1 12 1 12 12 1 12 12 1 12 1 12 12 12 12 1 1 12 12 1 1 1 12 12 100 12 12 1 1 12 12 12 1 1 1 1 1 1 1 1 1 12 1 12 100 12 12 12 12 12 12 12 12 12 12 12 12 1 1 12 12 12 12 1 1 1 1 1 12 1 1 1 100 12 1 1 1 12 12 1 1 1 12 1 12 1 1 1 1 1 12 12 12 100 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 12 12 12 12 12 12 12 12 12 12 1 12 1 12 1 12 1 12 1 12 12 12 12 12 12 12 100 12 12 12 12 12 12 12 12 1 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/lang/invoke/MethodType 0 0 608 100 10 10 10 9 10 100 9 9 10 9 8 10 10 9 9 10 100 10 8 10 10 10 100 8 10 100 10 10 10 10 11 9 11 100 10 9 10 10 10 10 10 9 100 10 100 10 10 10 10 10 10 10 10 10 10 8 8 10 9 100 10 10 10 10 10 10 10 10 10 8 10 10 10 10 10 11 10 10 10 10 10 100 10 10 10 10 9 100 10 10 10 10 10 10 10 10 8 8 10 8 10 10 9 10 10 10 10 10 10 10 10 10 10 10 10 9 100 10 10 10 10 10 8 10 11 9 10 10 10 10 10 10 10 10 10 9 9 10 9 10 100 10 100 9 8 10 10 8 100 100 10 100 1 1 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 100 1 1 1 1 1 1 1 100 1 1 100 1 1 1 1 1 1 100 100 1 100 1 1 1 1 1 100 1 1 100 1 1 1 1 1 1 1 100 1 1 1 12 12 12 12 100 12 12 12 100 12 100 12 1 100 12 12 100 100 12 1 1 12 12 12 1 1 12 1 12 12 12 100 12 12 12 1 100 12 12 12 12 12 12 12 12 1 12 1 12 12 100 12 12 12 12 12 12 12 12 1 1 12 12 1 12 12 12 12 100 12 12 12 1 12 12 100 12 12 12 12 12 12 12 12 12 1 12 12 12 12 1 12 100 12 12 100 12 12 12 1 1 12 1 100 12 12 12 12 12 12 12 12 12 100 12 12 12 12 12 12 1 12 12 12 100 12 12 1 100 12 12 12 12 12 100 12 12 12 100 12 12 100 12 12 12 100 12 12 12 1 1 12 12 12 1 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/lang/BootstrapMethodError 0 0 39 10 10 10 10 10 100 100 1 1 1 5 0 1 1 1 1 1 1 1 1 100 100 1 1 12 12 12 100 12 12 1 1 1 1 1 1 1 1 +instanceKlass java/lang/invoke/VolatileCallSite +instanceKlass java/lang/invoke/MutableCallSite +instanceKlass java/lang/invoke/ConstantCallSite +ciInstanceKlass java/lang/invoke/CallSite 0 0 322 10 10 9 10 10 100 100 10 100 10 10 10 100 100 10 10 10 8 10 10 10 9 10 10 10 10 100 8 10 10 10 100 10 9 10 10 10 10 9 9 10 10 9 10 10 10 10 10 10 100 10 10 10 10 10 10 100 100 8 10 10 10 10 10 100 100 8 10 10 100 8 10 100 10 10 10 8 10 10 8 10 10 100 10 8 10 10 100 100 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 100 1 1 1 1 1 100 100 100 100 100 100 100 1 1 1 1 1 1 1 1 100 100 1 1 12 12 12 12 12 1 1 12 1 12 12 12 1 1 100 12 12 1 12 12 12 12 12 100 12 12 1 1 12 12 1 12 12 12 12 12 100 12 100 12 12 100 12 12 100 12 12 12 12 12 100 12 12 1 12 12 12 12 12 12 1 1 1 12 12 100 12 12 1 1 1 12 1 1 12 1 12 12 100 12 12 12 12 12 1 12 12 12 1 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/lang/invoke/ConstantCallSite 0 0 42 10 9 10 100 10 9 100 10 10 100 100 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 12 12 12 1 12 12 1 12 1 1 1 1 1 1 +ciInstanceKlass java/lang/invoke/MutableCallSite 0 0 57 10 10 9 10 10 10 9 10 10 100 10 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 12 12 12 12 12 12 100 12 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/lang/invoke/VolatileCallSite 0 0 33 10 10 10 10 10 10 100 100 1 1 1 1 1 1 1 1 1 1 1 12 12 12 12 12 12 1 1 1 1 1 1 1 +instanceKlass java/lang/StringBuilder +instanceKlass java/lang/StringBuffer +ciInstanceKlass java/lang/AbstractStringBuilder 1 1 318 7 10 9 9 10 10 10 7 3 10 3 100 10 100 10 10 10 10 100 10 10 10 8 10 10 10 10 10 10 10 10 10 10 10 7 10 11 10 8 100 10 8 10 10 8 8 10 10 11 3 8 10 10 100 5 0 8 10 10 10 10 10 10 10 10 100 10 8 8 10 10 10 8 8 8 10 10 8 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 7 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 12 12 12 12 12 7 12 1 12 1 1 12 12 100 12 12 1 12 12 1 12 7 12 12 12 12 12 12 100 1 12 12 1 1 1 12 12 1 1 12 12 1 12 12 1 1 12 12 100 12 12 12 12 12 1 1 1 12 12 12 1 1 1 12 12 1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/lang/StringBuffer 1 1 371 10 10 10 11 10 10 9 9 10 10 9 10 100 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 7 10 10 8 10 8 10 8 10 10 10 10 7 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 7 10 9 9 9 7 7 100 100 1 1 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 12 12 12 12 12 12 12 12 1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 7 12 1 12 100 12 1 100 12 1 12 1 12 12 100 12 100 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 12 7 12 7 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/StringBuffer serialPersistentFields [Ljava/io/ObjectStreamField; 3 [Ljava/io/ObjectStreamField; +ciInstanceKlass java/lang/StringBuilder 1 1 326 10 10 10 11 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 7 9 9 10 10 10 10 10 10 10 100 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 7 7 100 100 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 12 12 12 100 12 12 12 100 12 12 12 1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass sun/misc/Unsafe 1 1 390 10 10 10 10 100 8 10 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 100 10 10 7 7 8 10 10 7 10 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 7 9 10 9 9 9 9 9 9 9 9 9 10 9 7 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 7 12 7 12 7 12 1 1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 100 12 100 12 12 12 12 12 12 12 12 12 12 12 1 12 1 1 12 1 12 12 1 12 1 12 1 12 1 12 1 12 1 12 1 12 1 12 12 12 12 12 12 12 12 12 12 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield sun/misc/Unsafe theUnsafe Lsun/misc/Unsafe; sun/misc/Unsafe +staticfield sun/misc/Unsafe ARRAY_BOOLEAN_BASE_OFFSET I 16 +staticfield sun/misc/Unsafe ARRAY_BYTE_BASE_OFFSET I 16 +staticfield sun/misc/Unsafe ARRAY_SHORT_BASE_OFFSET I 16 +staticfield sun/misc/Unsafe ARRAY_CHAR_BASE_OFFSET I 16 +staticfield sun/misc/Unsafe ARRAY_INT_BASE_OFFSET I 16 +staticfield sun/misc/Unsafe ARRAY_LONG_BASE_OFFSET I 16 +staticfield sun/misc/Unsafe ARRAY_FLOAT_BASE_OFFSET I 16 +staticfield sun/misc/Unsafe ARRAY_DOUBLE_BASE_OFFSET I 16 +staticfield sun/misc/Unsafe ARRAY_OBJECT_BASE_OFFSET I 16 +staticfield sun/misc/Unsafe ARRAY_BOOLEAN_INDEX_SCALE I 1 +staticfield sun/misc/Unsafe ARRAY_BYTE_INDEX_SCALE I 1 +staticfield sun/misc/Unsafe ARRAY_SHORT_INDEX_SCALE I 2 +staticfield sun/misc/Unsafe ARRAY_CHAR_INDEX_SCALE I 2 +staticfield sun/misc/Unsafe ARRAY_INT_INDEX_SCALE I 4 +staticfield sun/misc/Unsafe ARRAY_LONG_INDEX_SCALE I 8 +staticfield sun/misc/Unsafe ARRAY_FLOAT_INDEX_SCALE I 4 +staticfield sun/misc/Unsafe ARRAY_DOUBLE_INDEX_SCALE I 8 +staticfield sun/misc/Unsafe ARRAY_OBJECT_INDEX_SCALE I 4 +staticfield sun/misc/Unsafe ADDRESS_SIZE I 8 +instanceKlass com/android/dx/util/ByteArray$MyInputStream +instanceKlass java/util/zip/ZipFile$ZipFileInputStream +instanceKlass java/io/FilterInputStream +instanceKlass java/io/FileInputStream +instanceKlass java/io/ByteArrayInputStream +ciInstanceKlass java/io/InputStream 1 1 63 10 10 100 10 100 10 10 100 100 5 0 10 8 10 7 100 1 1 1 3 1 1 1 1 1 1 1 1 1 1 100 1 1 100 100 1 1 1 1 1 1 1 1 1 12 12 1 1 12 1 1 100 12 1 12 1 1 1 1 1 1 1 +ciInstanceKlass java/io/ByteArrayInputStream 1 1 62 10 9 9 9 9 10 100 10 100 10 10 7 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 12 12 12 12 12 100 12 1 1 7 12 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/io/File 1 1 593 9 9 10 9 9 9 10 9 100 10 8 10 9 10 100 10 10 10 10 10 100 8 10 10 8 10 8 10 8 10 8 10 8 10 8 10 8 10 9 10 10 10 10 10 10 7 10 10 10 10 10 100 8 10 10 10 8 10 7 10 10 10 10 100 10 100 10 10 10 10 10 8 100 10 100 100 10 10 10 7 10 10 10 10 10 10 10 10 10 10 10 100 10 11 11 11 7 11 100 10 10 10 10 100 11 10 10 10 10 10 10 10 8 10 10 10 10 10 10 10 10 100 8 10 10 10 8 8 10 10 100 8 10 10 10 10 10 10 10 10 8 10 10 9 9 10 9 10 9 10 10 10 10 10 10 9 10 9 9 10 10 10 8 100 7 100 100 100 1 1 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 0 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 100 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 100 100 1 100 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 100 100 100 1 1 100 1 1 1 1 12 12 12 12 12 12 12 12 1 1 12 12 12 1 12 12 12 12 1 1 12 12 1 12 1 12 1 12 1 12 1 12 1 12 1 12 12 12 12 12 12 12 12 1 12 12 12 12 12 1 1 12 12 1 12 1 12 12 12 1 1 12 12 12 12 1 1 12 1 1 12 7 12 100 12 1 12 12 12 12 12 12 12 12 100 12 12 12 1 100 12 100 12 12 1 12 1 12 1 100 12 12 12 12 12 12 12 12 1 12 12 12 12 12 12 12 12 1 1 12 12 1 1 12 12 1 1 12 12 12 12 100 12 12 100 12 100 12 12 12 12 7 12 12 12 12 100 12 100 12 7 12 7 12 12 12 12 12 12 12 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/io/File fs Ljava/io/FileSystem; java/io/WinNTFileSystem +staticfield java/io/File separatorChar C 92 +staticfield java/io/File separator Ljava/lang/String; "\" +staticfield java/io/File pathSeparatorChar C 59 +staticfield java/io/File pathSeparator Ljava/lang/String; ";" +staticfield java/io/File PATH_OFFSET J 16 +staticfield java/io/File PREFIX_LENGTH_OFFSET J 12 +staticfield java/io/File UNSAFE Lsun/misc/Unsafe; sun/misc/Unsafe +staticfield java/io/File $assertionsDisabled Z 1 +instanceKlass sun/misc/Launcher$ExtClassLoader +instanceKlass sun/misc/Launcher$AppClassLoader +ciInstanceKlass java/net/URLClassLoader 1 1 545 9 10 9 10 7 10 9 10 10 7 10 10 10 10 10 10 10 100 10 10 10 100 100 100 8 10 10 10 10 11 11 11 100 11 11 10 11 11 11 10 10 10 7 10 10 7 100 10 7 10 10 10 10 100 100 10 8 10 8 10 10 10 8 8 10 10 10 100 100 8 10 10 10 10 10 10 10 10 10 7 10 10 10 10 10 10 10 8 10 10 9 10 9 9 9 9 9 9 10 8 10 100 10 10 7 10 10 100 10 10 10 10 7 10 9 10 8 100 8 10 10 8 10 10 9 10 10 10 10 100 8 10 100 10 10 100 10 10 7 100 10 7 10 10 10 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 100 1 100 1 1 1 100 1 1 100 100 100 100 100 100 100 100 100 1 1 100 100 100 100 1 1 1 1 1 1 1 100 100 1 1 1 100 1 1 100 1 1 100 1 1 100 100 1 1 1 1 1 1 1 1 1 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 12 12 12 12 1 12 12 7 12 100 12 1 12 7 12 12 12 12 7 12 1 12 12 12 1 1 1 1 12 12 12 12 100 12 100 12 12 1 12 100 12 12 12 12 12 12 12 1 12 12 1 1 12 1 12 7 12 12 1 1 1 12 1 12 12 1 1 12 12 12 1 1 1 12 12 7 12 7 12 12 12 12 12 12 1 12 7 12 12 12 12 12 12 1 12 7 12 7 12 7 12 12 12 12 12 12 12 12 1 12 1 12 1 12 12 1 12 12 12 12 1 7 12 7 12 12 1 1 1 12 12 1 12 12 12 100 12 12 12 12 1 1 1 12 7 12 1 12 12 1 1 12 1 7 12 7 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/net/URL 1 1 566 10 10 10 9 9 10 10 10 9 10 8 10 7 10 10 8 10 9 100 8 10 10 8 9 7 10 10 9 10 9 8 9 10 9 10 8 9 10 10 10 10 8 10 10 10 10 8 9 8 10 10 100 10 10 10 10 9 10 9 10 10 10 7 10 10 10 10 10 100 10 10 10 100 8 10 9 10 10 9 10 100 10 10 10 10 10 10 10 10 10 10 10 9 9 100 8 10 10 9 10 10 7 11 7 8 8 10 10 7 8 8 7 10 10 10 10 8 8 10 100 10 10 10 10 10 10 8 10 100 10 8 8 10 8 8 8 8 100 10 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 100 8 10 10 10 7 10 7 7 10 9 9 100 1 1 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 100 1 1 1 100 100 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 100 100 100 1 1 1 1 1 1 1 100 1 1 100 100 100 1 1 1 1 100 100 1 100 1 1 1 1 1 1 1 1 1 1 1 1 12 12 12 12 12 7 12 12 12 12 12 1 12 1 12 1 12 12 1 1 12 12 1 12 1 12 12 12 12 1 12 12 12 12 1 12 12 12 12 12 1 12 12 12 12 1 12 1 12 12 1 12 12 100 12 12 100 12 100 12 12 12 12 12 1 12 12 12 12 12 1 12 1 1 100 12 100 12 12 100 12 12 1 12 12 12 12 12 100 12 12 12 100 12 12 12 12 12 1 1 12 12 12 12 1 100 12 1 1 1 12 7 12 1 1 1 1 12 12 12 1 1 7 12 1 100 12 12 12 12 100 12 100 12 100 12 1 12 1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 1 12 1 1 1 12 7 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/net/URL serialPersistentFields [Ljava/io/ObjectStreamField; 7 [Ljava/io/ObjectStreamField; +ciInstanceKlass java/util/jar/Manifest 1 1 239 10 7 10 9 7 10 9 10 10 10 10 11 11 10 11 100 10 10 11 11 11 11 100 100 8 10 11 100 8 10 10 10 8 10 10 10 11 10 10 10 8 10 7 10 10 10 100 8 10 10 8 10 10 10 10 10 11 10 10 10 100 7 10 11 10 11 10 7 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 100 100 1 1 1 100 100 100 100 100 1 1 100 1 1 1 1 1 1 1 1 1 1 12 1 12 1 12 12 12 12 12 7 12 12 1 12 12 12 100 12 100 12 12 1 1 1 1 12 12 1 1 12 12 12 1 12 12 12 12 12 12 12 1 12 1 12 12 12 1 1 12 1 12 100 12 12 12 12 12 12 100 12 12 1 1 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass sun/misc/Launcher 1 1 228 9 10 10 9 9 10 10 100 100 8 10 10 9 8 10 10 8 10 8 10 8 100 10 10 10 100 100 100 100 10 100 10 8 10 10 10 9 7 10 9 10 7 10 10 8 10 10 10 10 10 100 10 7 10 7 10 8 7 100 1 1 100 1 7 1 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 100 100 100 100 100 100 1 1 1 1 1 1 100 1 1 100 1 1 100 1 1 1 1 1 1 1 1 1 12 12 12 12 12 12 12 1 1 1 12 12 12 1 7 12 12 1 7 12 1 7 12 1 1 100 12 100 12 1 1 1 1 12 1 1 12 12 12 12 1 12 12 12 1 12 1 12 12 12 12 7 12 1 12 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass sun/misc/Launcher$AppClassLoader 1 1 203 8 10 100 10 7 10 10 7 10 10 10 11 9 10 10 10 10 10 10 10 10 100 10 10 10 7 8 10 10 9 10 100 10 10 10 10 100 10 100 100 10 100 10 10 100 10 7 10 10 7 7 1 1 1 1 1 1 1 1 1 1 1 100 100 1 100 1 1 1 1 100 1 1 1 1 1 1 1 1 100 1 1 1 1 1 7 12 1 12 1 12 7 12 1 12 12 7 12 7 12 12 7 12 7 12 12 12 100 12 12 12 12 1 12 12 12 1 1 7 12 12 100 12 1 12 12 12 1 12 1 1 12 1 12 12 1 12 1 7 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield sun/misc/Launcher$AppClassLoader $assertionsDisabled Z 1 +ciInstanceKlass sun/misc/Launcher$ExtClassLoader 1 1 214 10 7 10 10 7 100 10 100 10 10 10 10 10 11 10 8 10 7 9 10 10 7 10 10 7 10 10 8 10 10 10 10 10 7 10 10 10 10 10 10 8 10 10 10 100 10 100 100 10 100 10 10 100 10 10 7 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 100 100 1 1 100 100 1 1 100 100 1 1 1 1 1 1 12 1 12 7 12 7 1 1 12 1 12 12 12 12 7 12 7 12 7 12 1 7 12 1 12 12 12 1 12 12 1 12 12 1 7 12 12 12 12 12 1 12 12 12 12 12 1 100 12 12 12 1 1 1 12 1 12 12 1 12 7 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/security/CodeSource 1 1 350 10 9 9 9 9 10 100 10 100 10 7 10 10 10 100 10 10 10 10 10 100 10 10 10 10 10 10 10 10 10 10 10 10 10 8 10 10 10 10 8 10 10 100 10 10 8 10 10 10 8 8 9 100 8 10 10 8 10 8 8 8 10 10 10 10 10 10 100 100 10 10 10 10 10 100 10 10 10 10 100 10 100 100 8 8 10 10 100 8 10 100 10 10 10 10 10 10 8 11 100 10 10 100 10 11 11 11 7 100 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 100 1 1 100 1 1 100 100 100 1 1 1 100 100 100 100 100 100 100 100 1 1 100 1 1 12 12 12 12 12 100 12 100 7 12 1 12 12 100 1 12 100 12 12 12 1 12 100 100 12 100 12 12 100 12 12 12 12 1 12 12 12 12 1 12 1 12 1 12 12 12 1 1 12 1 1 12 12 1 12 1 1 1 100 12 12 12 12 12 12 1 1 12 12 12 100 12 12 1 12 12 12 12 1 12 1 1 1 1 12 1 1 12 1 12 12 12 12 100 1 100 12 1 12 12 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/lang/StackTraceElement 0 0 101 10 8 10 100 9 8 9 9 9 100 10 10 10 8 10 8 8 8 10 8 10 8 100 10 10 10 10 100 100 1 1 1 1 1 1 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 1 1 1 1 1 12 1 100 12 1 12 1 12 12 12 1 12 12 1 12 1 1 1 12 1 12 1 1 12 12 12 12 1 1 1 1 1 1 1 1 1 1 1 +instanceKlass java/nio/LongBuffer +instanceKlass java/nio/CharBuffer +instanceKlass java/nio/ByteBuffer +ciInstanceKlass java/nio/Buffer 1 1 106 100 10 9 9 100 100 10 8 10 10 10 10 9 10 10 8 8 8 9 10 100 10 100 10 100 10 100 10 7 7 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 12 1 1 1 12 12 12 12 12 12 12 1 1 1 12 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/lang/Boolean 1 1 112 10 9 10 10 8 10 9 9 8 10 7 10 10 100 100 10 10 8 10 9 7 100 100 1 1 1 1 1 1 1 1 1 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 100 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 12 12 1 7 12 12 12 1 12 1 12 7 12 1 1 12 12 1 7 12 12 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/Boolean TRUE Ljava/lang/Boolean; java/lang/Boolean +staticfield java/lang/Boolean FALSE Ljava/lang/Boolean; java/lang/Boolean +staticfield java/lang/Boolean TYPE Ljava/lang/Class; java/lang/Class +ciInstanceKlass java/lang/Character 1 1 463 7 100 10 9 9 10 10 10 10 10 3 3 3 3 3 10 10 3 11 11 10 10 100 10 10 3 10 10 10 100 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 0 10 10 10 10 10 10 10 10 10 10 9 100 10 10 10 3 10 10 100 10 10 10 10 8 10 9 10 10 10 10 8 10 9 100 100 100 100 1 1 100 1 100 1 100 1 1 1 1 3 1 3 1 1 3 1 3 1 1 1 1 1 1 1 3 1 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 3 1 1 3 1 1 1 1 1 3 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 12 12 12 12 12 12 100 12 12 12 12 100 12 12 12 12 1 12 12 12 12 1 12 12 12 12 12 12 7 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 12 12 100 12 12 1 12 12 12 1 100 12 100 12 12 12 7 12 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/Character TYPE Ljava/lang/Class; java/lang/Class +staticfield java/lang/Character $assertionsDisabled Z 1 +instanceKlass java/util/concurrent/atomic/AtomicLong +instanceKlass java/util/concurrent/atomic/AtomicInteger +instanceKlass java/lang/Long +instanceKlass java/lang/Integer +instanceKlass java/lang/Short +instanceKlass java/lang/Byte +instanceKlass java/lang/Double +instanceKlass java/lang/Float +ciInstanceKlass java/lang/Number 1 1 34 10 10 100 7 100 1 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 1 +ciInstanceKlass java/lang/Float 1 1 175 7 100 10 10 100 4 100 10 10 8 8 10 10 10 10 4 4 4 10 9 10 10 10 10 10 10 3 3 3 10 10 10 10 8 10 9 100 100 1 1 1 1 1 4 1 1 1 4 1 1 3 1 3 1 3 1 3 1 1 1 1 1 1 1 5 0 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 12 100 12 1 1 12 100 12 1 1 100 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 7 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/Float TYPE Ljava/lang/Class; java/lang/Class +ciInstanceKlass java/lang/Double 1 1 229 7 100 10 10 10 100 10 10 6 0 8 10 8 10 8 100 6 0 10 5 0 5 0 8 8 10 10 8 10 8 8 8 10 10 10 10 10 10 10 10 6 0 6 0 6 0 10 9 10 10 10 10 5 0 5 0 10 10 10 10 8 10 9 100 100 1 1 1 1 1 6 0 1 1 1 6 0 1 1 3 1 3 1 3 1 3 1 1 1 1 1 1 1 5 0 1 1 1 1 1 1 100 100 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 12 12 12 1 12 100 12 1 12 1 12 1 1 12 1 1 100 12 100 12 1 12 1 1 1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 7 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/Double TYPE Ljava/lang/Class; java/lang/Class +ciInstanceKlass java/lang/Byte 1 1 153 7 10 9 10 100 100 10 8 10 8 10 10 10 10 10 10 10 10 8 8 10 9 10 10 10 10 5 0 10 8 10 9 100 100 100 1 1 1 1 1 3 1 3 1 1 1 1 1 1 1 3 1 3 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 12 12 12 1 1 12 1 12 1 12 12 12 12 12 12 12 12 1 1 12 12 12 12 12 12 1 7 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/Byte TYPE Ljava/lang/Class; java/lang/Class +ciInstanceKlass java/lang/Short 1 1 161 7 100 10 10 100 100 10 8 10 8 10 10 10 10 10 10 9 10 10 10 8 8 10 9 10 10 10 10 3 3 5 0 10 8 10 9 100 100 100 1 1 1 1 1 3 1 3 1 1 1 1 1 1 1 3 1 3 1 1 5 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 12 12 1 1 12 1 12 1 12 12 12 12 12 12 12 12 12 12 1 1 12 12 12 12 12 12 1 7 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/Short TYPE Ljava/lang/Class; java/lang/Class +ciInstanceKlass java/lang/Integer 1 1 314 7 100 7 10 9 7 10 10 10 10 10 10 10 10 3 8 10 10 10 3 9 9 3 9 100 8 10 100 10 8 10 10 8 10 8 10 3 10 10 10 10 8 100 10 10 5 0 8 10 10 7 9 9 10 10 9 10 10 10 10 100 100 10 8 8 10 8 8 8 8 8 8 10 10 10 5 0 3 3 3 3 3 10 10 8 10 9 3 3 3 3 3 3 7 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 1 5 0 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 12 12 100 12 12 12 100 12 12 12 1 12 12 12 12 12 12 1 1 12 1 12 1 12 12 1 12 1 12 12 12 12 12 1 1 12 12 1 12 12 1 12 12 12 12 12 12 12 7 12 1 1 12 1 1 12 1 1 1 1 1 1 12 12 12 12 12 1 7 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/Integer TYPE Ljava/lang/Class; java/lang/Class +staticfield java/lang/Integer digits [C 36 +staticfield java/lang/Integer DigitTens [C 100 +staticfield java/lang/Integer DigitOnes [C 100 +staticfield java/lang/Integer sizeTable [I 10 +ciInstanceKlass java/lang/Long 1 1 361 7 100 100 10 9 100 10 10 10 10 10 5 0 5 0 100 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 0 8 10 10 10 100 5 0 5 0 9 9 3 3 100 8 10 8 10 8 8 10 5 0 10 10 10 10 8 100 10 10 8 10 8 10 10 5 0 5 0 9 10 8 8 10 8 8 8 8 8 8 10 10 10 10 9 10 10 10 100 100 10 10 10 10 10 5 0 5 0 5 0 5 0 5 0 10 10 10 8 10 9 100 100 100 1 1 1 1 1 1 5 0 1 1 1 1 1 1 1 3 1 3 1 5 0 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 12 12 12 12 12 1 12 12 12 12 12 12 100 12 12 12 12 12 12 100 12 12 12 1 12 12 12 1 12 12 1 1 12 1 12 1 1 12 12 12 12 12 1 1 12 12 1 12 1 12 12 12 12 1 1 12 1 1 1 1 1 1 12 12 12 12 12 12 100 12 1 1 12 12 12 12 12 12 12 1 7 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/lang/Long TYPE Ljava/lang/Class; java/lang/Class +ciInstanceKlass java/lang/NullPointerException 1 1 21 10 10 100 100 1 1 1 5 0 1 1 1 1 1 1 1 12 12 1 1 +ciInstanceKlass java/lang/ArithmeticException 1 1 21 10 10 100 100 1 1 1 5 0 1 1 1 1 1 1 1 12 12 1 1 +ciInstanceKlass java/util/Comparator 1 1 263 10 10 18 100 100 11 11 11 11 11 11 10 9 100 10 18 18 18 18 18 10 10 8 10 8 8 8 8 8 10 10 8 10 10 8 10 8 10 10 8 10 100 8 8 100 8 8 100 8 100 100 8 10 11 10 11 10 11 10 11 100 11 11 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 12 100 12 1 15 16 15 3 3 12 1 1 12 12 12 12 12 12 12 100 12 100 1 1 1 12 15 12 15 12 15 12 15 12 15 12 100 12 100 12 12 12 12 12 12 12 12 12 1 1 1 1 1 1 12 12 100 12 12 100 12 12 100 12 12 1 12 12 1 1 1 1 1 1 10 11 1 1 1 1 1 1 1 1 11 1 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 12 12 12 12 12 12 12 1 1 100 1 1 100 1 1 +instanceKlass java/util/TreeMap +instanceKlass java/util/concurrent/ConcurrentHashMap +instanceKlass sun/util/PreHashedMap +instanceKlass java/util/WeakHashMap +instanceKlass java/util/HashMap +instanceKlass java/util/Collections$EmptyMap +ciInstanceKlass java/util/AbstractMap 1 1 161 10 10 10 11 10 11 11 11 7 11 10 11 100 10 11 11 10 11 9 100 10 9 100 10 100 11 11 11 100 100 11 8 100 10 10 8 10 10 10 7 7 100 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 100 1 1 100 1 1 1 1 1 100 100 100 1 1 1 100 100 1 1 1 100 1 1 1 1 1 1 12 12 12 7 12 12 7 12 12 1 12 12 12 1 12 12 12 12 1 12 12 1 1 12 12 1 1 12 1 1 12 1 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass java/util/TreeMap 1 1 546 9 9 9 9 9 10 10 10 11 11 11 11 10 100 100 10 10 9 10 10 10 10 11 100 11 11 10 10 100 10 7 9 11 9 9 11 10 9 7 10 10 10 10 7 100 100 10 9 9 9 10 10 10 10 10 10 10 10 7 10 10 11 9 7 10 7 10 100 10 100 10 10 10 10 10 10 11 100 10 11 7 10 100 10 10 100 10 100 10 9 10 10 10 10 10 10 10 10 10 10 11 11 100 11 10 11 10 10 11 11 10 10 10 10 9 10 100 10 100 10 100 10 7 10 7 100 100 100 100 1 1 100 1 1 1 100 1 1 100 1 1 1 1 1 1 100 1 100 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 1 1 5 0 1 1 1 1 1 1 1 1 1 1 100 100 100 100 1 1 1 1 1 100 1 1 100 1 1 1 1 1 1 1 1 100 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 100 1 100 100 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 12 12 12 12 12 12 12 12 12 100 12 12 1 1 12 12 12 12 12 12 12 100 1 100 12 12 1 1 12 12 12 12 12 12 1 12 12 12 12 1 1 1 12 12 12 12 12 12 12 12 12 12 12 1 12 12 12 1 12 1 1 12 1 12 12 12 100 12 12 100 12 1 100 12 1 12 1 1 1 12 1 12 12 12 12 12 12 12 12 12 100 12 12 100 12 12 1 12 12 12 100 12 12 100 12 12 12 12 12 12 1 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield java/util/TreeMap UNBOUNDED Ljava/lang/Object; java/lang/Object +ciInstanceKlass java/util/TreeMap$Entry 1 1 85 100 10 9 9 9 9 100 11 10 11 10 100 10 10 8 10 10 7 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 12 12 12 12 12 100 1 12 12 12 12 1 12 1 12 12 1 1 1 1 1 1 1 1 1 +instanceKlass com/android/dx/rop/cst/CstAnnotation +instanceKlass com/android/dx/rop/cst/CstArray +instanceKlass com/android/dx/rop/cst/CstNat +instanceKlass com/android/dx/rop/cst/TypedConstant +ciInstanceKlass com/android/dx/rop/cst/Constant 1 1 54 10 10 10 10 10 7 10 7 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 12 12 7 12 7 12 12 1 12 1 1 1 1 1 1 1 1 1 +instanceKlass com/android/dx/rop/cst/CstMemberRef +instanceKlass com/android/dx/rop/cst/CstLiteralBits +instanceKlass com/android/dx/rop/cst/CstString +instanceKlass com/android/dx/rop/cst/CstType +ciInstanceKlass com/android/dx/rop/cst/TypedConstant 1 1 35 10 10 10 10 7 7 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 7 12 12 1 1 1 1 1 1 +ciInstanceKlass com/android/dx/rop/cst/CstType 1 1 288 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 11 100 100 10 8 10 10 10 10 10 100 8 10 7 10 10 100 8 10 9 100 8 10 9 9 10 10 10 8 10 10 9 8 10 100 10 10 10 10 8 10 10 11 10 7 4 100 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 7 12 1 1 12 1 12 12 12 12 7 12 1 1 1 12 1 1 12 1 1 12 12 12 12 7 12 1 12 12 12 1 12 12 12 1 12 12 12 12 1 1 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield com/android/dx/rop/cst/CstType interns Ljava/util/concurrent/ConcurrentMap; java/util/concurrent/ConcurrentHashMap +staticfield com/android/dx/rop/cst/CstType OBJECT Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType BOOLEAN Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType BYTE Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType CHARACTER Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType DOUBLE Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType FLOAT Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType LONG Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType INTEGER Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType SHORT Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType VOID Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType BOOLEAN_ARRAY Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType BYTE_ARRAY Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType CHAR_ARRAY Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType DOUBLE_ARRAY Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType FLOAT_ARRAY Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType LONG_ARRAY Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType INT_ARRAY Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType SHORT_ARRAY Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +staticfield com/android/dx/rop/cst/CstType METHOD_HANDLE Lcom/android/dx/rop/cst/CstType; com/android/dx/rop/cst/CstType +instanceKlass com/android/dx/dex/file/UniformItemSection +instanceKlass com/android/dx/dex/file/MixedItemSection +ciInstanceKlass com/android/dx/dex/file/Section 1 1 157 100 8 10 10 100 8 10 10 9 9 9 9 9 100 8 10 8 8 10 10 11 100 10 8 10 10 8 10 8 10 11 8 8 11 10 8 8 10 10 8 8 11 7 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 12 12 12 12 12 12 1 1 1 1 12 12 100 12 1 1 12 12 1 12 1 12 12 1 1 12 12 1 1 12 12 1 1 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +instanceKlass com/android/dx/dex/file/ClassDefsSection +instanceKlass com/android/dx/dex/file/MemberIdsSection +instanceKlass com/android/dx/dex/file/ProtoIdsSection +instanceKlass com/android/dx/dex/file/TypeIdsSection +instanceKlass com/android/dx/dex/file/StringIdsSection +instanceKlass com/android/dx/dex/file/HeaderSection +ciInstanceKlass com/android/dx/dex/file/UniformItemSection 1 1 110 10 10 11 11 11 7 10 10 10 11 10 10 10 11 100 10 10 10 7 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 7 12 12 7 12 1 12 12 12 12 12 12 12 100 12 1 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +instanceKlass com/android/dx/dex/file/OffsettedItem +instanceKlass com/android/dx/dex/file/IndexedItem +ciInstanceKlass com/android/dx/dex/file/Item 1 1 33 10 10 10 100 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 100 12 1 1 1 1 +instanceKlass com/android/dx/dex/file/ProtoIdItem +instanceKlass com/android/dx/dex/file/StringIdItem +instanceKlass com/android/dx/dex/file/IdItem +instanceKlass com/android/dx/dex/file/ClassDefItem +instanceKlass com/android/dx/dex/file/HeaderItem +ciInstanceKlass com/android/dx/dex/file/IndexedItem 1 1 57 10 9 100 8 10 8 100 10 10 10 10 10 7 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 1 1 12 1 1 12 100 12 12 12 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass com/android/dx/dex/file/StringIdsSection 1 1 190 8 10 7 10 9 10 100 8 10 10 100 10 100 100 8 10 10 10 11 100 10 8 10 10 10 11 8 11 7 10 10 10 8 10 10 10 10 10 10 10 11 11 11 10 7 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 100 1 1 1 12 1 12 12 12 1 1 12 12 1 12 1 1 1 12 12 100 12 1 1 12 100 12 12 12 1 12 1 12 12 1 12 12 12 100 12 12 12 12 100 12 100 12 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass com/android/dx/rop/cst/CstString 1 1 214 10 10 10 10 10 10 7 10 100 100 10 8 10 10 8 10 10 10 10 100 8 10 10 9 7 10 10 9 8 10 7 10 10 10 8 10 8 8 10 10 8 8 8 8 10 8 10 8 9 10 9 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 12 7 12 12 12 12 1 12 1 1 12 1 12 100 12 1 12 12 12 1 1 12 12 1 12 12 12 1 12 1 12 12 12 1 12 1 1 12 12 1 1 1 1 100 12 1 12 1 7 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +staticfield com/android/dx/rop/cst/CstString EMPTY_STRING Lcom/android/dx/rop/cst/CstString; com/android/dx/rop/cst/CstString +ciInstanceKlass com/android/dx/rop/cst/CstFieldRef 1 1 71 7 10 9 10 10 8 10 10 10 10 10 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 100 12 7 12 12 1 12 12 12 12 7 12 1 1 1 1 1 1 1 1 1 1 1 1 1 +ciInstanceKlass com/android/dx/rop/cst/CstMethodRef 1 1 24 10 8 100 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 1 1 1 +ciInstanceKlass com/android/dx/dex/file/StringIdItem 1 1 143 10 100 8 10 9 9 7 10 10 10 9 100 10 100 10 10 10 11 100 10 10 10 10 10 10 11 8 10 11 7 100 1 1 1 1 1 1 1 1 1 1 1 1 100 100 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 12 1 1 12 12 12 1 100 12 12 12 100 12 1 100 12 1 12 100 12 12 100 12 1 12 12 12 12 12 12 1 100 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 +compile com/android/dx/dex/file/StringIdsSection intern (Lcom/android/dx/dex/file/StringIdItem;)Lcom/android/dx/dex/file/StringIdItem; -1 4 inline 8 0 -1 com/android/dx/dex/file/StringIdsSection intern (Lcom/android/dx/dex/file/StringIdItem;)Lcom/android/dx/dex/file/StringIdItem; 1 15 com/android/dx/dex/file/Section throwIfPrepared ()V 1 19 com/android/dx/dex/file/StringIdItem getValue ()Lcom/android/dx/rop/cst/CstString; 1 28 java/util/TreeMap get (Ljava/lang/Object;)Ljava/lang/Object; 2 2 java/util/TreeMap getEntry (Ljava/lang/Object;)Ljava/util/TreeMap$Entry; 3 44 com/android/dx/rop/cst/Constant compareTo (Ljava/lang/Object;)I 4 5 com/android/dx/rop/cst/Constant compareTo (Lcom/android/dx/rop/cst/Constant;)I 5 29 com/android/dx/rop/cst/CstString compareTo0 (Lcom/android/dx/rop/cst/Constant;)I diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 25011da1e..12f96abfb 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -154,7 +154,7 @@ list) { String s = TextUtils.join(",", list); sharedPref.edit().putString(SHARED_PREF_CAMERA_UPLOAD_BUCKETS, s).commit(); diff --git a/app/src/main/java/com/seafile/seadroid2/data/DataManager.java b/app/src/main/java/com/seafile/seadroid2/data/DataManager.java index ffadaa1b0..d5184dfab 100644 --- a/app/src/main/java/com/seafile/seadroid2/data/DataManager.java +++ b/app/src/main/java/com/seafile/seadroid2/data/DataManager.java @@ -48,6 +48,8 @@ public class DataManager { public static final String PULL_TO_REFRESH_LAST_TIME_FOR_STARRED_FRAGMENT = "starred fragment last update "; private static SimpleDateFormat ptrDataFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + public static final String THUMBNAIL_LINK = "api2/repos/%s/thumbnail/?p=%s&size=%s"; + private static Map passwords = Maps.newHashMap(); private static Map direntsRefreshTimeMap = Maps.newHashMap(); public static final long REFRESH_EXPIRATION_MSECS = 10 * 60 * 1000; // 10 mins @@ -116,7 +118,7 @@ public String getThumbnailLink(String repoName, String repoID, String filePath, } else { try { String pathEnc = URLEncoder.encode(filePath, "UTF-8"); - return account.getServer() + String.format("api2/repos/%s/thumbnail/?p=%s&size=%s", repoID, pathEnc, size); + return account.getServer() + String.format(THUMBNAIL_LINK, repoID, pathEnc, size); } catch (UnsupportedEncodingException e) { return null; } diff --git a/app/src/main/java/com/seafile/seadroid2/ui/activity/BrowserActivity.java b/app/src/main/java/com/seafile/seadroid2/ui/activity/BrowserActivity.java index 2122081e4..e7be9acbd 100644 --- a/app/src/main/java/com/seafile/seadroid2/ui/activity/BrowserActivity.java +++ b/app/src/main/java/com/seafile/seadroid2/ui/activity/BrowserActivity.java @@ -480,9 +480,40 @@ public boolean onOptionsItemSelected(MenuItem item) { return super.onOptionsItemSelected(item); } + private ReposFragment.ViewMode determineNextViewMode(){ + ReposFragment.ViewMode currentMode = ReposFragment.ViewMode.valueOf( + SettingsManager.instance().getRepoViewPref()); + switch (currentMode){ + case GRID: + return ReposFragment.ViewMode.LIST; + case LIST: + return ReposFragment.ViewMode.GRID; + default: + return ReposFragment.ViewMode.LIST; + } + } + + private void setViewModeIcon(MenuItem item,ReposFragment.ViewMode currentMode){ + + switch (currentMode){ + case GRID: + item.setIcon(ContextCompat.getDrawable(this, R.drawable.list_view)); + break; + case LIST: + item.setIcon(ContextCompat.getDrawable(this, R.drawable.grid_view)); + break; + } + } + @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { + case R.id.switch_view: + ReposFragment.ViewMode nextMode = determineNextViewMode(); + SettingsManager.instance().setRepoViewPref(nextMode.toString()); + setViewModeIcon(item,nextMode); + getReposFragment().changeLayout(nextMode); + return true; case R.id.sort: showSortFilesDialog(); return true; @@ -912,6 +943,12 @@ public boolean onCreateOptionsMenu(Menu menu) { Toolbar toolbar = getActionBarToolbar(); toolbar.inflateMenu(R.menu.browser_menu); toolbar.setOnMenuItemClickListener(this); + MenuItem item = toolbar.getMenu().findItem(R.id.switch_view); + if(item!=null){ + ReposFragment.ViewMode currentMode = ReposFragment.ViewMode.valueOf( + SettingsManager.instance().getRepoViewPref()); + setViewModeIcon(item, currentMode); + } return true; } diff --git a/app/src/main/java/com/seafile/seadroid2/ui/adapter/SeafItemAdapter.java b/app/src/main/java/com/seafile/seadroid2/ui/adapter/SeafItemAdapter.java index 69d46d5a2..b01f1306b 100644 --- a/app/src/main/java/com/seafile/seadroid2/ui/adapter/SeafItemAdapter.java +++ b/app/src/main/java/com/seafile/seadroid2/ui/adapter/SeafItemAdapter.java @@ -1,10 +1,12 @@ package com.seafile.seadroid2.ui.adapter; +import android.graphics.Bitmap; +import android.support.v7.widget.RecyclerView; +import android.util.Log; import android.util.SparseBooleanArray; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.RelativeLayout; @@ -29,12 +31,23 @@ import com.seafile.seadroid2.util.Utils; import java.io.File; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.Collections; import java.util.List; -public class SeafItemAdapter extends BaseAdapter { +import static com.seafile.seadroid2.data.DataManager.THUMBNAIL_LINK; +public class SeafItemAdapter extends RecyclerView.Adapter { + public interface OnItemClickListener { + void onItemClicked(int position); + + void onItemLongClicked(int position); + } + + private static final String DEBUG_TAG = "SeafItemAdapter"; + private OnItemClickListener onItemClickListener; private ArrayList items; private BrowserActivity mActivity; private boolean repoIsEncrypted; @@ -44,32 +57,43 @@ public class SeafItemAdapter extends BaseAdapter { private List mSelectedItemsPositions = Lists.newArrayList(); private List mSelectedItemsValues = Lists.newArrayList(); - /** DownloadTask instance container **/ + /** + * DownloadTask instance container + **/ private List mDownloadTaskInfos; + private boolean showGrids = false; + public SeafItemAdapter(BrowserActivity activity) { mActivity = activity; items = Lists.newArrayList(); mSelectedItemsIds = new SparseBooleanArray(); } - /** sort files type */ + /** + * sort files type + */ public static final int SORT_BY_NAME = 9; - /** sort files type */ + /** + * sort files type + */ public static final int SORT_BY_LAST_MODIFIED_TIME = 10; - /** sort files order */ + /** + * sort files order + */ public static final int SORT_ORDER_ASCENDING = 11; - /** sort files order */ + /** + * sort files order + */ public static final int SORT_ORDER_DESCENDING = 12; @Override - public int getCount() { + public int getItemCount() { return items.size(); } - @Override - public boolean isEmpty() { - return items.isEmpty(); + public void setShowGrids(boolean showGrids) { + this.showGrids = showGrids; } /** @@ -94,7 +118,7 @@ public void setDownloadTaskList(List newList) { * @param newList * @param oldList * @return true if the two lists are equal, - * false, otherwise. + * false, otherwise. */ private boolean equalLists(List newList, List oldList) { if (newList == null && oldList == null) @@ -114,6 +138,10 @@ public void addEntry(SeafItem entry) { notifyDataSetChanged(); } + public void setOnItemClickListener(OnItemClickListener onItemClickListener) { + this.onItemClickListener = onItemClickListener; + } + public void add(SeafItem entry) { items.add(entry); } @@ -122,7 +150,7 @@ public void notifyChanged() { notifyDataSetChanged(); } - @Override + public SeafItem getItem(int position) { return items.get(position); } @@ -178,35 +206,112 @@ public boolean isClickable(int position) { } public int getViewTypeCount() { - return 2; + return 3; } + + @Override + public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + switch (viewType) { + case 0: + View view = LayoutInflater.from(mActivity).inflate(R.layout.group_item, null); + return new GroupViewHolder(view); + case 1: + view = LayoutInflater.from(mActivity).inflate(R.layout.grid_item_entry, null); + GridViewHolder gridViewHolder = new GridViewHolder(view); + return gridViewHolder; + default: + view = LayoutInflater.from(mActivity).inflate(R.layout.list_item_entry, null); + TextView title = (TextView) view.findViewById(R.id.list_item_title); + TextView subtitle = (TextView) view.findViewById(R.id.list_item_subtitle); + ImageView multiSelect = (ImageView) view.findViewById(R.id.list_item_multi_select_btn); + ImageView icon = (ImageView) view.findViewById(R.id.list_item_icon); + RelativeLayout action = (RelativeLayout) view.findViewById(R.id.expandable_toggle_button); + ImageView downloadStatusIcon = (ImageView) view.findViewById(R.id.list_item_download_status_icon); + ProgressBar progressBar = (ProgressBar) view.findViewById(R.id.list_item_download_status_progressbar); + Viewholder viewHolder = new Viewholder(view, title, subtitle, multiSelect, icon, action, downloadStatusIcon, progressBar); + view.setTag(viewHolder); + return viewHolder; + } + } + + @Override + public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { + SeafItem item = items.get(position); + + if (holder instanceof GridViewHolder) { + setGridView(item, (GridViewHolder) holder, position); + } else if (item instanceof SeafRepo) { + setRepoView((SeafRepo) item, (Viewholder) holder); + } else if (item instanceof SeafGroup) { + getGroupView((SeafGroup) item, (GroupViewHolder) holder); + } else if (item instanceof SeafCachedFile) { + setCacheView((SeafCachedFile) item, (Viewholder) holder); + } else { + setDirentView((SeafDirent) item, (Viewholder) holder, position); + } + } + + @Override public int getItemViewType(int position) { SeafItem item = items.get(position); if (item instanceof SeafGroup) return 0; - else + else if (showGrids) return 1; + else + return 2; } - private View getRepoView(final SeafRepo repo, View convertView, ViewGroup parent) { - View view = convertView; - Viewholder viewHolder; - - if (convertView == null) { - view = LayoutInflater.from(mActivity).inflate(R.layout.list_item_entry, null); - TextView title = (TextView) view.findViewById(R.id.list_item_title); - TextView subtitle = (TextView) view.findViewById(R.id.list_item_subtitle); - ImageView multiSelect = (ImageView) view.findViewById(R.id.list_item_multi_select_btn); - ImageView icon = (ImageView) view.findViewById(R.id.list_item_icon); - RelativeLayout action = (RelativeLayout) view.findViewById(R.id.expandable_toggle_button); - ImageView downloadStatusIcon = (ImageView) view.findViewById(R.id.list_item_download_status_icon); - ProgressBar progressBar = (ProgressBar) view.findViewById(R.id.list_item_download_status_progressbar); - viewHolder = new Viewholder(title, subtitle, multiSelect, icon, action, downloadStatusIcon, progressBar); - view.setTag(viewHolder); + private void setGridView(final SeafItem item, GridViewHolder viewHolder,int position) { + viewHolder.title.setVisibility(View.VISIBLE); + viewHolder.title.setText(item.getTitle()); + viewHolder.repoIcon.setVisibility(View.INVISIBLE); + viewHolder.icon.setVisibility(View.VISIBLE); + + if (item instanceof SeafRepo) { + if (showGrids) { + viewHolder.icon.setVisibility(View.INVISIBLE); + viewHolder.repoIcon.setVisibility(View.VISIBLE); + viewHolder.repoIcon.setImageResource(item.getIcon()); + } else { + viewHolder.icon.setImageResource(item.getIcon()); + } } else { - viewHolder = (Viewholder) convertView.getTag(); + SeafDirent dirent = (SeafDirent) item; + setActionView(viewHolder.multiSelect, dirent, position); + DataManager dataManager = mActivity.getDataManager(); + NavContext nav = mActivity.getNavContext(); + String repoID = nav.getRepoID(); + String filePath = Utils.pathJoin(nav.getDirPath(), dirent.name); + if (Utils.isViewableImage(dirent.name)) { + String url = null; + try { + String encoding = URLEncoder.encode(filePath, "UTF-8"); + url = dataManager.getAccount().getServer() + + String.format(THUMBNAIL_LINK, repoID, encoding, getThumbnailWidth()); + SeafRepo seafRepo = dataManager.getCachedRepoByID(repoID); + // encrypted repo doesn\`t support thumbnails + if (seafRepo != null && seafRepo.encrypted) + url = null; + } catch (UnsupportedEncodingException e) { + Log.e(DEBUG_TAG, "Unsupported encoding when loading image thumbnail"); + } + + if (url == null) { + viewHolder.icon.setImageResource(dirent.getIcon()); + } else { + ImageLoader.getInstance().displayImage(url, viewHolder.icon, getDisplayImageOptions(dataManager), animateFirstListener); + if (showGrids) viewHolder.title.setVisibility(View.INVISIBLE); + } + + } else { + viewHolder.icon.setImageResource(dirent.getIcon()); + } } + } + + private void setRepoView(final SeafRepo repo, Viewholder viewHolder) { viewHolder.action.setOnClickListener(new View.OnClickListener() { @Override @@ -214,78 +319,54 @@ public void onClick(View v) { mActivity.showRepoBottomSheet(repo); } }); - + viewHolder.title.setVisibility(View.VISIBLE); viewHolder.multiSelect.setVisibility(View.GONE); viewHolder.downloadStatusIcon.setVisibility(View.GONE); viewHolder.progressBar.setVisibility(View.GONE); viewHolder.title.setText(repo.getTitle()); viewHolder.subtitle.setText(repo.getSubtitle()); - viewHolder.icon.setImageResource(repo.getIcon()); + + if (showGrids) { + viewHolder.icon.setVisibility(View.INVISIBLE); + viewHolder.repoIcon.setVisibility(View.VISIBLE); + viewHolder.repoIcon.setImageResource(repo.getIcon()); + } else { + viewHolder.icon.setImageResource(repo.getIcon()); + } if (repo.hasWritePermission()) { viewHolder.action.setVisibility(View.VISIBLE); - }else { + } else { viewHolder.action.setVisibility(View.INVISIBLE); } - return view; } - private View getGroupView(SeafGroup group) { - View view = LayoutInflater.from(mActivity).inflate(R.layout.group_item, null); - TextView tv = (TextView) view.findViewById(R.id.textview_groupname); + private void getGroupView(SeafGroup group, GroupViewHolder viewHolder) { String groupTitle = group.getTitle(); if ("Organization".equals(groupTitle)) { groupTitle = mActivity.getString(R.string.shared_with_all); } - tv.setText(groupTitle); - return view; - } - - private View getDirentView(final SeafDirent dirent, View convertView, ViewGroup parent, final int position) { - View view = convertView; - final Viewholder viewHolder; - - if (convertView == null) { - view = LayoutInflater.from(mActivity).inflate(R.layout.list_item_entry, null); - TextView title = (TextView) view.findViewById(R.id.list_item_title); - TextView subtitle = (TextView) view.findViewById(R.id.list_item_subtitle); - ImageView icon = (ImageView) view.findViewById(R.id.list_item_icon); - ImageView multiSelect = (ImageView) view.findViewById(R.id.list_item_multi_select_btn); - RelativeLayout action = (RelativeLayout) view.findViewById(R.id.expandable_toggle_button); - ImageView downloadStatusIcon = (ImageView) view.findViewById(R.id.list_item_download_status_icon); - ProgressBar progressBar = (ProgressBar) view.findViewById(R.id.list_item_download_status_progressbar); - viewHolder = new Viewholder(title, subtitle, multiSelect, icon, action, downloadStatusIcon, progressBar); - view.setTag(viewHolder); - } else { - viewHolder = (Viewholder) convertView.getTag(); - } + viewHolder.tv.setText(groupTitle); + } - viewHolder.action.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (dirent.isDir()) - mActivity.showDirBottomSheet(dirent.getTitle(), (SeafDirent) getItem(position)); - else - mActivity.showFileBottomSheet(dirent.getTitle(), (SeafDirent) getItem(position)); - } - }); + private void setActionView(final ImageView multiSelect,final SeafDirent dirent, final int position){ if (actionModeOn) { - viewHolder.multiSelect.setVisibility(View.VISIBLE); + multiSelect.setVisibility(View.VISIBLE); if (mSelectedItemsIds.get(position)) { - viewHolder.multiSelect.setImageResource(R.drawable.multi_select_item_checked); + multiSelect.setImageResource(R.drawable.multi_select_item_checked); } else - viewHolder.multiSelect.setImageResource(R.drawable.multi_select_item_unchecked); + multiSelect.setImageResource(R.drawable.multi_select_item_unchecked); - viewHolder.multiSelect.setOnClickListener(new View.OnClickListener() { + multiSelect.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (!mSelectedItemsIds.get(position)) { - viewHolder.multiSelect.setImageResource(R.drawable.multi_select_item_checked); + multiSelect.setImageResource(R.drawable.multi_select_item_checked); mSelectedItemsIds.put(position, true); mSelectedItemsPositions.add(position); mSelectedItemsValues.add(dirent); } else { - viewHolder.multiSelect.setImageResource(R.drawable.multi_select_item_unchecked); + multiSelect.setImageResource(R.drawable.multi_select_item_unchecked); mSelectedItemsIds.delete(position); mSelectedItemsPositions.remove(Integer.valueOf(position)); mSelectedItemsValues.remove(dirent); @@ -295,7 +376,23 @@ public void onClick(View v) { } }); } else - viewHolder.multiSelect.setVisibility(View.GONE); + multiSelect.setVisibility(View.GONE); + } + + private void setDirentView(final SeafDirent dirent, final Viewholder viewHolder, final int position) { + viewHolder.title.setVisibility(View.VISIBLE); + + viewHolder.action.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (dirent.isDir()) + mActivity.showDirBottomSheet(dirent.getTitle(), (SeafDirent) getItem(position)); + else + mActivity.showFileBottomSheet(dirent.getTitle(), (SeafDirent) getItem(position)); + } + }); + + setActionView(viewHolder.multiSelect,dirent,position); viewHolder.title.setText(dirent.getTitle()); if (dirent.isDir()) { @@ -314,10 +411,10 @@ public void onClick(View v) { viewHolder.downloadStatusIcon.setVisibility(View.GONE); viewHolder.progressBar.setVisibility(View.GONE); viewHolder.action.setVisibility(View.VISIBLE); + setFileView(dirent, viewHolder, position); } - return view; } /** @@ -334,115 +431,125 @@ public void onClick(View v) { * @param position */ private void setFileView(SeafDirent dirent, Viewholder viewHolder, int position) { - NavContext nav = mActivity.getNavContext(); + DataManager dataManager = mActivity.getDataManager(); + NavContext nav = mActivity.getNavContext(); String repoName = nav.getRepoName(); String repoID = nav.getRepoID(); String filePath = Utils.pathJoin(nav.getDirPath(), dirent.name); - if (repoName == null || repoID == null) - return; - - File file = dataManager.getLocalRepoFile(repoName, repoID, filePath); - boolean cacheExists = false; - - if (file.exists()) { - SeafCachedFile cf = dataManager.getCachedFile(repoName, repoID, filePath); - String subtitle = null; - subtitle = dirent.getSubtitle(); - if (cf != null) { - cacheExists = true; - } - // show file download finished - viewHolder.downloadStatusIcon.setVisibility(View.VISIBLE); - viewHolder.downloadStatusIcon.setImageResource(R.drawable.list_item_download_finished); - viewHolder.subtitle.setText(subtitle); - viewHolder.progressBar.setVisibility(View.GONE); + if (Utils.isViewableImage(dirent.name)) { + String url = null; + try { + String encoding = URLEncoder.encode(filePath, "UTF-8"); + url = dataManager.getAccount().getServer() + + String.format(THUMBNAIL_LINK, repoID, encoding, getThumbnailWidth()); + SeafRepo seafRepo = dataManager.getCachedRepoByID(repoID); + // encrypted repo doesn\`t support thumbnails + if (seafRepo != null && seafRepo.encrypted) + url = null; + } catch (UnsupportedEncodingException e) { + Log.e(DEBUG_TAG, "Unsupported encoding when loading image thumbnail"); + } + if (url == null) { + viewHolder.icon.setImageResource(dirent.getIcon()); + } else { + ImageLoader.getInstance().displayImage(url, viewHolder.icon, getDisplayImageOptions(dataManager), animateFirstListener); + } } else { - int downloadStatusIcon = R.drawable.list_item_download_waiting; - if (mDownloadTaskInfos != null) { - for (DownloadTaskInfo downloadTaskInfo : mDownloadTaskInfos) { - // use repoID and path to identify the task - if (downloadTaskInfo.repoID.equals(repoID) - && downloadTaskInfo.pathInRepo.equals(filePath)) { - switch (downloadTaskInfo.state) { - case INIT: - case FAILED: - downloadStatusIcon = R.drawable.list_item_download_waiting; - viewHolder.downloadStatusIcon.setVisibility(View.VISIBLE); - viewHolder.progressBar.setVisibility(View.GONE); - break; - case CANCELLED: - viewHolder.downloadStatusIcon.setVisibility(View.GONE); - viewHolder.progressBar.setVisibility(View.GONE); - break; - case TRANSFERRING: - viewHolder.downloadStatusIcon.setVisibility(View.GONE); - viewHolder.progressBar.setVisibility(View.VISIBLE); - break; - case FINISHED: - downloadStatusIcon = R.drawable.list_item_download_finished; - viewHolder.downloadStatusIcon.setVisibility(View.VISIBLE); - viewHolder.progressBar.setVisibility(View.GONE); - break; - default: - downloadStatusIcon = R.drawable.list_item_download_waiting; - break; + viewHolder.icon.setImageResource(dirent.getIcon()); + } + if (!showGrids) { + + if (repoName == null || repoID == null) + return; + + File file = dataManager.getLocalRepoFile(repoName, repoID, filePath); + boolean cacheExists = false; + + + if (!showGrids) { + if (file.exists()) { + SeafCachedFile cf = dataManager.getCachedFile(repoName, repoID, filePath); + String subtitle = null; + subtitle = dirent.getSubtitle(); + if (cf != null) { + cacheExists = true; + } + // show file download finished + viewHolder.downloadStatusIcon.setVisibility(View.VISIBLE); + viewHolder.downloadStatusIcon.setImageResource(R.drawable.list_item_download_finished); + viewHolder.subtitle.setText(subtitle); + viewHolder.progressBar.setVisibility(View.GONE); + + } else { + int downloadStatusIcon = R.drawable.list_item_download_waiting; + if (mDownloadTaskInfos != null) { + for (DownloadTaskInfo downloadTaskInfo : mDownloadTaskInfos) { + // use repoID and path to identify the task + if (downloadTaskInfo.repoID.equals(repoID) + && downloadTaskInfo.pathInRepo.equals(filePath)) { + switch (downloadTaskInfo.state) { + case INIT: + case FAILED: + downloadStatusIcon = R.drawable.list_item_download_waiting; + viewHolder.downloadStatusIcon.setVisibility(View.VISIBLE); + viewHolder.progressBar.setVisibility(View.GONE); + break; + case CANCELLED: + viewHolder.downloadStatusIcon.setVisibility(View.GONE); + viewHolder.progressBar.setVisibility(View.GONE); + break; + case TRANSFERRING: + viewHolder.downloadStatusIcon.setVisibility(View.GONE); + viewHolder.progressBar.setVisibility(View.VISIBLE); + break; + case FINISHED: + downloadStatusIcon = R.drawable.list_item_download_finished; + viewHolder.downloadStatusIcon.setVisibility(View.VISIBLE); + viewHolder.progressBar.setVisibility(View.GONE); + break; + default: + downloadStatusIcon = R.drawable.list_item_download_waiting; + break; + } + } } + } else { + viewHolder.downloadStatusIcon.setVisibility(View.GONE); + viewHolder.progressBar.setVisibility(View.GONE); } + + viewHolder.downloadStatusIcon.setImageResource(downloadStatusIcon); + viewHolder.subtitle.setText(dirent.getSubtitle()); } - } else { - viewHolder.downloadStatusIcon.setVisibility(View.GONE); - viewHolder.progressBar.setVisibility(View.GONE); } - - viewHolder.downloadStatusIcon.setImageResource(downloadStatusIcon); - viewHolder.subtitle.setText(dirent.getSubtitle()); } - if (Utils.isViewableImage(file.getName())) { - DisplayImageOptions options = new DisplayImageOptions.Builder() + } + + private DisplayImageOptions options; + + private DisplayImageOptions getDisplayImageOptions(DataManager dataManager) { + if (options == null) + options = new DisplayImageOptions.Builder() .extraForDownloader(dataManager.getAccount()) - .delayBeforeLoading(500) + .delayBeforeLoading(300) + .bitmapConfig(Bitmap.Config.RGB_565) .resetViewBeforeLoading(true) - .showImageOnLoading(R.drawable.file_image) .showImageForEmptyUri(R.drawable.file_image) .showImageOnFail(R.drawable.file_image) .cacheInMemory(true) .cacheOnDisk(true) .considerExifParams(true) .build(); - - ImageLoadingListener animateFirstListener = new AnimateFirstDisplayListener(); - String url = dataManager.getThumbnailLink(repoName, repoID, filePath, getThumbnailWidth()); - if (url == null) { - viewHolder.icon.setImageResource(dirent.getIcon()); - } else - ImageLoader.getInstance().displayImage(url, viewHolder.icon, options, animateFirstListener); - } else { - viewHolder.icon.setImageResource( dirent.getIcon()); - } - + return options; } - private View getCacheView(SeafCachedFile item, View convertView, ViewGroup parent) { - View view = convertView; - Viewholder viewHolder; - if (convertView == null) { - view = LayoutInflater.from(mActivity).inflate(R.layout.list_item_entry, null); - TextView title = (TextView) view.findViewById(R.id.list_item_title); - TextView subtitle = (TextView) view.findViewById(R.id.list_item_subtitle); - ImageView multiSelect = (ImageView) view.findViewById(R.id.list_item_multi_select_btn); - ImageView icon = (ImageView) view.findViewById(R.id.list_item_icon); - RelativeLayout action = (RelativeLayout) view.findViewById(R.id.expandable_toggle_button); - ImageView downloadStatusIcon = (ImageView) view.findViewById(R.id.list_item_download_status_icon); - ProgressBar progressBar = (ProgressBar) view.findViewById(R.id.list_item_download_status_progressbar); - viewHolder = new Viewholder(title, subtitle, multiSelect, icon, action, downloadStatusIcon, progressBar); - view.setTag(viewHolder); - } else { - viewHolder = (Viewholder) convertView.getTag(); - } + ImageLoadingListener animateFirstListener = new AnimateFirstDisplayListener(); + + private void setCacheView(SeafCachedFile item, Viewholder viewHolder) { viewHolder.downloadStatusIcon.setVisibility(View.VISIBLE); viewHolder.downloadStatusIcon.setImageResource(R.drawable.list_item_download_finished); @@ -451,22 +558,8 @@ private View getCacheView(SeafCachedFile item, View convertView, ViewGroup paren viewHolder.subtitle.setText(item.getSubtitle()); viewHolder.icon.setImageResource(item.getIcon()); viewHolder.action.setVisibility(View.INVISIBLE); - return view; } - @Override - public View getView(int position, View convertView, ViewGroup parent) { - SeafItem item = items.get(position); - if (item instanceof SeafRepo) { - return getRepoView((SeafRepo) item, convertView, parent); - } else if (item instanceof SeafGroup) { - return getGroupView((SeafGroup) item); - } else if (item instanceof SeafCachedFile) { - return getCacheView((SeafCachedFile) item, convertView, parent); - } else { - return getDirentView((SeafDirent) item, convertView, parent, position); - } - } public void setActionModeOn(boolean actionModeOn) { this.actionModeOn = actionModeOn; @@ -496,21 +589,60 @@ public List getSelectedItemsValues() { return mSelectedItemsValues; } - private class Viewholder { + private class GroupViewHolder extends RecyclerView.ViewHolder { + TextView tv; + + + public GroupViewHolder(View itemView) { + super(itemView); + tv = (TextView) itemView.findViewById(R.id.textview_groupname); + } + } + + private class GridViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener { + TextView title; + ImageView icon, repoIcon,multiSelect; + + public GridViewHolder(View itemView) { + super(itemView); + itemView.setOnClickListener(this); + itemView.setOnLongClickListener(this); + title = (TextView) itemView.findViewById(R.id.list_item_title); + icon = (ImageView) itemView.findViewById(R.id.list_item_icon); + repoIcon = (ImageView) itemView.findViewById(R.id.list_item_repo_icon); + multiSelect = (ImageView) itemView.findViewById(R.id.list_item_multi_select_btn); + } + + + @Override + public void onClick(View v) { + SeafItemAdapter.this.onItemClickListener.onItemClicked(getLayoutPosition()); + } + + @Override + public boolean onLongClick(View v) { + SeafItemAdapter.this.onItemClickListener.onItemLongClicked(getLayoutPosition()); + return true; + } + } + + private class Viewholder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener { TextView title, subtitle; - ImageView icon, multiSelect, downloadStatusIcon; // downloadStatusIcon used to show file downloading status, it is invisible by default + ImageView icon, repoIcon, multiSelect, downloadStatusIcon; // downloadStatusIcon used to show file downloading status, it is invisible by default ProgressBar progressBar; RelativeLayout action; - public Viewholder(TextView title, + public Viewholder(View view, TextView title, TextView subtitle, ImageView multiSelect, ImageView icon, RelativeLayout action, ImageView downloadStatusIcon, ProgressBar progressBar - ) { - super(); + ) { + super(view); + view.setOnClickListener(this); + view.setOnLongClickListener(this); this.icon = icon; this.multiSelect = multiSelect; this.action = action; @@ -519,8 +651,20 @@ public Viewholder(TextView title, this.downloadStatusIcon = downloadStatusIcon; this.progressBar = progressBar; } + + @Override + public void onClick(View v) { + SeafItemAdapter.this.onItemClickListener.onItemClicked(getLayoutPosition()); + } + + @Override + public boolean onLongClick(View v) { + SeafItemAdapter.this.onItemClickListener.onItemLongClicked(getLayoutPosition()); + return true; + } } + private int getThumbnailWidth() { return (int) SeadroidApplication.getAppContext().getResources().getDimension(R.dimen.lv_icon_width); } diff --git a/app/src/main/java/com/seafile/seadroid2/ui/fragment/ReposFragment.java b/app/src/main/java/com/seafile/seadroid2/ui/fragment/ReposFragment.java index 3f8501d53..88f5634db 100644 --- a/app/src/main/java/com/seafile/seadroid2/ui/fragment/ReposFragment.java +++ b/app/src/main/java/com/seafile/seadroid2/ui/fragment/ReposFragment.java @@ -2,13 +2,18 @@ import android.annotation.SuppressLint; import android.app.Activity; +import android.content.Context; import android.content.DialogInterface; import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; +import android.support.v4.app.Fragment; import android.support.v4.app.ListFragment; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.view.ActionMode; +import android.support.v7.widget.DividerItemDecoration; +import android.support.v7.widget.GridLayoutManager; +import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; @@ -51,7 +56,7 @@ import java.util.Map; -public class ReposFragment extends ListFragment { +public class ReposFragment extends Fragment implements SeafItemAdapter.OnItemClickListener { private static final String DEBUG_TAG = "ReposFragment"; private static final String KEY_REPO_SCROLL_POSITION = "repo_scroll_position"; @@ -78,13 +83,21 @@ public class ReposFragment extends ListFragment { public static final int FILE_ACTION_STAR = 3; private SwipeRefreshLayout refreshLayout; - private ListView mListView; + private RecyclerView mListView; private ImageView mEmptyView; private View mProgressContainer; private View mListContainer; private TextView mErrorText; + private DividerItemDecoration mDividerItemDecoration; + + public enum ViewMode {GRID, LIST} + + private ViewMode mode; private boolean isTimerStarted; + + private int gridColumns; + private final Handler mTimer = new Handler(); private DataManager getDataManager() { @@ -103,6 +116,45 @@ public ImageView getEmptyView() { return mEmptyView; } + public void changeLayout(ViewMode mode) { + this.mode = mode; + final GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), isGridView() ? gridColumns : 1); + mListView.setLayoutManager(gridLayoutManager); + gridLayoutManager.setInitialPrefetchItemCount(40); + gridLayoutManager.setItemPrefetchEnabled(true); + if(!isGridView()){ + mDividerItemDecoration = new DividerItemDecoration( + mListView.getContext(), + gridLayoutManager.getOrientation() + ); + mListView.addItemDecoration(mDividerItemDecoration); + } else + mListView.removeItemDecoration(mDividerItemDecoration); + + gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { + @Override + public int getSpanSize(int position) { + switch (getAdapter().getItemViewType(position)) { + case 0: + return gridLayoutManager.getSpanCount(); + default: + return 1; + } + } + }); + getAdapter().setShowGrids(isGridView()); + getAdapter().notifyDataSetChanged(); + } + + private boolean isGridView() { + return mode != ViewMode.LIST; + } + + public ViewMode getLayout() { + return mode; + } + + public interface OnFileSelectedListener { void onFileSelected(SeafDirent fileName); } @@ -119,19 +171,16 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View root = inflater.inflate(R.layout.repos_fragment, container, false); refreshLayout = (SwipeRefreshLayout) root.findViewById(R.id.swiperefresh); - mListView = (ListView) root.findViewById(android.R.id.list); + mListView = (RecyclerView) root.findViewById(android.R.id.list); mEmptyView = (ImageView) root.findViewById(R.id.empty); mListContainer = root.findViewById(R.id.listContainer); + mErrorText = (TextView) root.findViewById(R.id.error_message); mProgressContainer = root.findViewById(R.id.progressContainer); - mListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { - @Override - public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { - startContextualActionMode(position); - return true; - } - }); + + gridColumns = getResources().getInteger(R.integer.gv_number_of_columns); + mListView.setLayoutManager(new GridLayoutManager(getContext(), 1)); refreshLayout.setColorSchemeResources(R.color.fancy_orange); refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @@ -141,7 +190,10 @@ public void onRefresh() { refreshView(true, true); } }); - + mListView.setHasFixedSize(true); + mListView.setItemViewCacheSize(100); + mListView.setDrawingCacheEnabled(true); + mListView.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_AUTO); return root; } @@ -321,8 +373,11 @@ public void onActivityCreated(Bundle savedInstanceState) { Log.d(DEBUG_TAG, "ReposFragment onActivityCreated"); scrollPostions = Maps.newHashMap(); adapter = new SeafItemAdapter(mActivity); - + changeLayout(ViewMode.valueOf(SettingsManager.instance().getRepoViewPref())); + getAdapter().setOnItemClickListener(this); mListView.setAdapter(adapter); + mode = ViewMode.valueOf(SettingsManager.instance().getRepoViewPref()); + } @Override @@ -393,6 +448,7 @@ public void refreshView(boolean forceRefresh, boolean restorePosition) { } public void navToReposView(boolean forceRefresh, boolean restorePosition) { + //stopTimer(); mPullToRefreshStopRefreshing++; @@ -593,7 +649,22 @@ public void updateContextualActionBar() { } @Override - public void onListItemClick(final ListView l, final View v, final int position, final long id) { + public void onItemLongClicked(int position) { + SeafItem item = adapter.getItem(position); + if(item instanceof SeafDirent) { + SeafDirent dirent = (SeafDirent) item; + if (dirent.isDir()) + mActivity.showDirBottomSheet(dirent.getTitle(), (SeafDirent) item); + else + mActivity.showFileBottomSheet(dirent.getTitle(), (SeafDirent) item); + + } else if(item instanceof SeafRepo) + mActivity.showRepoBottomSheet((SeafRepo) item); + } + + @Override + public void onItemClicked(final int position) { + if (Utils.isFastTapping()) return; // handle action mode selections @@ -628,7 +699,7 @@ public void onListItemClick(final ListView l, final View v, final int position, new TaskDialog.TaskDialogListener() { @Override public void onTaskSuccess() { - onListItemClick(l, v, position, id); + onItemClicked(position); } }, password); @@ -645,12 +716,12 @@ public void onTaskSuccess() { currentPath + dirent.name : currentPath + "/" + dirent.name; nav.setDir(newPath, dirent.id); nav.setDirPermission(dirent.permission); - saveDirentScrollPosition(repo.getID(), currentPath); + saveDirentScrollPosition(repo.getID(), currentPath,position); refreshView(); mActivity.setUpButtonTitle(dirent.name); } else { String currentPath = nav.getDirPath(); - saveDirentScrollPosition(repo.getID(), currentPath); + saveDirentScrollPosition(repo.getID(), currentPath,position); mActivity.onFileSelected(dirent); } } else @@ -660,7 +731,7 @@ public void onTaskSuccess() { nav.setRepoID(repo.id); nav.setRepoName(repo.getName()); nav.setDir("/", repo.root); - saveRepoScrollPosition(); + saveRepoScrollPosition(position); refreshView(); } } @@ -675,20 +746,16 @@ public ScrollState(int index, int top) { } } - private void saveDirentScrollPosition(String repoId, String currentPath) { + private void saveDirentScrollPosition(String repoId, String currentPath, int position) { final String pathJoin = Utils.pathJoin(repoId, currentPath); - final int index = mListView.getFirstVisiblePosition(); - final View v = mListView.getChildAt(0); - final int top = (v == null) ? 0 : (v.getTop() - mListView.getPaddingTop()); - final ScrollState state = new ScrollState(index, top); + final int index = mListView.getTop(); + final ScrollState state = new ScrollState(index, position); scrollPostions.put(pathJoin, state); } - private void saveRepoScrollPosition() { - final int index = mListView.getFirstVisiblePosition(); - final View v = mListView.getChildAt(0); - final int top = (v == null) ? 0 : (v.getTop() - mListView.getPaddingTop()); - final ScrollState state = new ScrollState(index, top); + private void saveRepoScrollPosition(int position) { + final int index = mListView.getTop(); + final ScrollState state = new ScrollState(index, position); scrollPostions.put(KEY_REPO_SCROLL_POSITION, state); } @@ -697,12 +764,12 @@ private void restoreDirentScrollPosition(boolean restore, String repoId, String if (restore) { ScrollState state = scrollPostions.get(pathJoin); if (state != null) { - mListView.setSelectionFromTop(state.index, state.top); + mListView.getLayoutManager().scrollToPosition(state.top); } else { - mListView.setSelectionAfterHeaderView(); + mListView.getLayoutManager().scrollToPosition(0); } } else { - mListView.setSelectionAfterHeaderView(); + mListView.getLayoutManager().scrollToPosition(0); } } @@ -710,12 +777,12 @@ private void restoreRepoScrollPosition(boolean restore) { if (restore) { ScrollState state = scrollPostions.get(KEY_REPO_SCROLL_POSITION); if (state != null) { - mListView.setSelectionFromTop(state.index, state.top); + mListView.getLayoutManager().scrollToPosition(state.top); } else { - mListView.setSelectionAfterHeaderView(); + mListView.getLayoutManager().scrollToPosition(0); } } else { - mListView.setSelectionAfterHeaderView(); + mListView.getLayoutManager().scrollToPosition(0); } } diff --git a/app/src/main/java/com/seafile/seadroid2/ui/widget/SquareRelativeLayout.java b/app/src/main/java/com/seafile/seadroid2/ui/widget/SquareRelativeLayout.java new file mode 100644 index 000000000..c9ae8a415 --- /dev/null +++ b/app/src/main/java/com/seafile/seadroid2/ui/widget/SquareRelativeLayout.java @@ -0,0 +1,34 @@ +package com.seafile.seadroid2.ui.widget; + + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build; +import android.util.AttributeSet; +import android.widget.RelativeLayout; + +public class SquareRelativeLayout extends RelativeLayout { + + public SquareRelativeLayout(Context context) { + super(context); + } + + public SquareRelativeLayout(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public SquareRelativeLayout(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + public SquareRelativeLayout(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, widthMeasureSpec); + } + +} \ No newline at end of file diff --git a/app/src/main/res/drawable-hdpi/fastscroll_thumb.png b/app/src/main/res/drawable-hdpi/fastscroll_thumb.png new file mode 100644 index 000000000..6cb766421 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/fastscroll_thumb.png differ diff --git a/app/src/main/res/drawable-hdpi/grid_view.png b/app/src/main/res/drawable-hdpi/grid_view.png new file mode 100644 index 000000000..e4f42fb4a Binary files /dev/null and b/app/src/main/res/drawable-hdpi/grid_view.png differ diff --git a/app/src/main/res/drawable-hdpi/list_view.png b/app/src/main/res/drawable-hdpi/list_view.png new file mode 100644 index 000000000..e19973d4d Binary files /dev/null and b/app/src/main/res/drawable-hdpi/list_view.png differ diff --git a/app/src/main/res/drawable-hdpi/repo.png b/app/src/main/res/drawable-hdpi/repo.png index 8f9dc8fb4..707f25fea 100644 Binary files a/app/src/main/res/drawable-hdpi/repo.png and b/app/src/main/res/drawable-hdpi/repo.png differ diff --git a/app/src/main/res/drawable-hdpi/repo_encrypted.png b/app/src/main/res/drawable-hdpi/repo_encrypted.png index 9717054d2..4b37464ae 100644 Binary files a/app/src/main/res/drawable-hdpi/repo_encrypted.png and b/app/src/main/res/drawable-hdpi/repo_encrypted.png differ diff --git a/app/src/main/res/drawable-hdpi/repo_readonly.png b/app/src/main/res/drawable-hdpi/repo_readonly.png index a1cdd4c73..3148d18d0 100644 Binary files a/app/src/main/res/drawable-hdpi/repo_readonly.png and b/app/src/main/res/drawable-hdpi/repo_readonly.png differ diff --git a/app/src/main/res/drawable-ldpi/fastscroll_thumb.png b/app/src/main/res/drawable-ldpi/fastscroll_thumb.png new file mode 100644 index 000000000..58961ecc1 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/fastscroll_thumb.png differ diff --git a/app/src/main/res/drawable-ldpi/grid_view.png b/app/src/main/res/drawable-ldpi/grid_view.png new file mode 100644 index 000000000..d1544fe98 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/grid_view.png differ diff --git a/app/src/main/res/drawable-ldpi/list_view.png b/app/src/main/res/drawable-ldpi/list_view.png new file mode 100644 index 000000000..54c10739e Binary files /dev/null and b/app/src/main/res/drawable-ldpi/list_view.png differ diff --git a/app/src/main/res/drawable-ldpi/repo.png b/app/src/main/res/drawable-ldpi/repo.png index e68625f58..e8508a619 100644 Binary files a/app/src/main/res/drawable-ldpi/repo.png and b/app/src/main/res/drawable-ldpi/repo.png differ diff --git a/app/src/main/res/drawable-ldpi/repo_encrypted.png b/app/src/main/res/drawable-ldpi/repo_encrypted.png index f81871312..71d5277e4 100644 Binary files a/app/src/main/res/drawable-ldpi/repo_encrypted.png and b/app/src/main/res/drawable-ldpi/repo_encrypted.png differ diff --git a/app/src/main/res/drawable-ldpi/repo_readonly.png b/app/src/main/res/drawable-ldpi/repo_readonly.png index 3a841c8cf..bd8c39c04 100644 Binary files a/app/src/main/res/drawable-ldpi/repo_readonly.png and b/app/src/main/res/drawable-ldpi/repo_readonly.png differ diff --git a/app/src/main/res/drawable-mdpi/fastscroll_thumb.png b/app/src/main/res/drawable-mdpi/fastscroll_thumb.png new file mode 100644 index 000000000..a8e67a2d5 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/fastscroll_thumb.png differ diff --git a/app/src/main/res/drawable-mdpi/grid_view.png b/app/src/main/res/drawable-mdpi/grid_view.png new file mode 100644 index 000000000..c52861f0a Binary files /dev/null and b/app/src/main/res/drawable-mdpi/grid_view.png differ diff --git a/app/src/main/res/drawable-mdpi/list_view.png b/app/src/main/res/drawable-mdpi/list_view.png new file mode 100644 index 000000000..23547567b Binary files /dev/null and b/app/src/main/res/drawable-mdpi/list_view.png differ diff --git a/app/src/main/res/drawable-mdpi/repo.png b/app/src/main/res/drawable-mdpi/repo.png index fdd2e52a6..884093722 100644 Binary files a/app/src/main/res/drawable-mdpi/repo.png and b/app/src/main/res/drawable-mdpi/repo.png differ diff --git a/app/src/main/res/drawable-mdpi/repo_encrypted.png b/app/src/main/res/drawable-mdpi/repo_encrypted.png index 91a90d0b9..03ed47a06 100644 Binary files a/app/src/main/res/drawable-mdpi/repo_encrypted.png and b/app/src/main/res/drawable-mdpi/repo_encrypted.png differ diff --git a/app/src/main/res/drawable-mdpi/repo_readonly.png b/app/src/main/res/drawable-mdpi/repo_readonly.png index c8d0dafbb..b32f515aa 100644 Binary files a/app/src/main/res/drawable-mdpi/repo_readonly.png and b/app/src/main/res/drawable-mdpi/repo_readonly.png differ diff --git a/app/src/main/res/drawable-nodpi/fastscroll_thumb.png b/app/src/main/res/drawable-nodpi/fastscroll_thumb.png new file mode 100644 index 000000000..a8e67a2d5 Binary files /dev/null and b/app/src/main/res/drawable-nodpi/fastscroll_thumb.png differ diff --git a/app/src/main/res/drawable-nodpi/grid_view.png b/app/src/main/res/drawable-nodpi/grid_view.png new file mode 100644 index 000000000..e4f42fb4a Binary files /dev/null and b/app/src/main/res/drawable-nodpi/grid_view.png differ diff --git a/app/src/main/res/drawable-nodpi/list_view.png b/app/src/main/res/drawable-nodpi/list_view.png new file mode 100644 index 000000000..e19973d4d Binary files /dev/null and b/app/src/main/res/drawable-nodpi/list_view.png differ diff --git a/app/src/main/res/drawable-nodpi/repo.png b/app/src/main/res/drawable-nodpi/repo.png index 8f9dc8fb4..707f25fea 100644 Binary files a/app/src/main/res/drawable-nodpi/repo.png and b/app/src/main/res/drawable-nodpi/repo.png differ diff --git a/app/src/main/res/drawable-nodpi/repo_encrypted.png b/app/src/main/res/drawable-nodpi/repo_encrypted.png index 9717054d2..af2234ff4 100644 Binary files a/app/src/main/res/drawable-nodpi/repo_encrypted.png and b/app/src/main/res/drawable-nodpi/repo_encrypted.png differ diff --git a/app/src/main/res/drawable-nodpi/repo_readonly.png b/app/src/main/res/drawable-nodpi/repo_readonly.png index a1cdd4c73..3148d18d0 100644 Binary files a/app/src/main/res/drawable-nodpi/repo_readonly.png and b/app/src/main/res/drawable-nodpi/repo_readonly.png differ diff --git a/app/src/main/res/drawable-xhdpi/fastscroll_thumb.png b/app/src/main/res/drawable-xhdpi/fastscroll_thumb.png new file mode 100644 index 000000000..fc234ff31 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/fastscroll_thumb.png differ diff --git a/app/src/main/res/drawable-xhdpi/grid_view.png b/app/src/main/res/drawable-xhdpi/grid_view.png new file mode 100644 index 000000000..e4f42fb4a Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/grid_view.png differ diff --git a/app/src/main/res/drawable-xhdpi/list_view.png b/app/src/main/res/drawable-xhdpi/list_view.png new file mode 100644 index 000000000..e19973d4d Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/list_view.png differ diff --git a/app/src/main/res/drawable-xhdpi/repo.png b/app/src/main/res/drawable-xhdpi/repo.png index 53c5873e7..fc69cb8f9 100644 Binary files a/app/src/main/res/drawable-xhdpi/repo.png and b/app/src/main/res/drawable-xhdpi/repo.png differ diff --git a/app/src/main/res/drawable-xhdpi/repo_encrypted.png b/app/src/main/res/drawable-xhdpi/repo_encrypted.png index 13918387d..7d44092a8 100644 Binary files a/app/src/main/res/drawable-xhdpi/repo_encrypted.png and b/app/src/main/res/drawable-xhdpi/repo_encrypted.png differ diff --git a/app/src/main/res/drawable-xhdpi/repo_readonly.png b/app/src/main/res/drawable-xhdpi/repo_readonly.png index a3f9b9a41..99b1ec221 100644 Binary files a/app/src/main/res/drawable-xhdpi/repo_readonly.png and b/app/src/main/res/drawable-xhdpi/repo_readonly.png differ diff --git a/app/src/main/res/drawable-xxhdpi/fastscroll_thumb.png b/app/src/main/res/drawable-xxhdpi/fastscroll_thumb.png new file mode 100644 index 000000000..a84e792c2 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/fastscroll_thumb.png differ diff --git a/app/src/main/res/drawable-xxhdpi/grid_view.png b/app/src/main/res/drawable-xxhdpi/grid_view.png new file mode 100644 index 000000000..e4f42fb4a Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/grid_view.png differ diff --git a/app/src/main/res/drawable-xxhdpi/list_view.png b/app/src/main/res/drawable-xxhdpi/list_view.png new file mode 100644 index 000000000..e19973d4d Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/list_view.png differ diff --git a/app/src/main/res/drawable-xxhdpi/repo.png b/app/src/main/res/drawable-xxhdpi/repo.png new file mode 100644 index 000000000..77ea84241 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/repo.png differ diff --git a/app/src/main/res/drawable-xxhdpi/repo_encrypted.png b/app/src/main/res/drawable-xxhdpi/repo_encrypted.png new file mode 100644 index 000000000..4546d2a4e Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/repo_encrypted.png differ diff --git a/app/src/main/res/drawable-xxhdpi/repo_readonly.png b/app/src/main/res/drawable-xxhdpi/repo_readonly.png new file mode 100644 index 000000000..99b1ec221 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/repo_readonly.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/fastscroll_thumb.png b/app/src/main/res/drawable-xxxhdpi/fastscroll_thumb.png new file mode 100644 index 000000000..745edb2b5 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/fastscroll_thumb.png differ diff --git a/app/src/main/res/drawable/fastscroll_thumb_default.xml b/app/src/main/res/drawable/fastscroll_thumb_default.xml new file mode 100644 index 000000000..2da430b79 --- /dev/null +++ b/app/src/main/res/drawable/fastscroll_thumb_default.xml @@ -0,0 +1,6 @@ + + \ No newline at end of file diff --git a/app/src/main/res/drawable/fastscroll_thumb_selector.xml b/app/src/main/res/drawable/fastscroll_thumb_selector.xml new file mode 100644 index 000000000..b7cfc794c --- /dev/null +++ b/app/src/main/res/drawable/fastscroll_thumb_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/grid_item_entry.xml b/app/src/main/res/layout/grid_item_entry.xml new file mode 100644 index 000000000..ee52aff3b --- /dev/null +++ b/app/src/main/res/layout/grid_item_entry.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/repos_fragment.xml b/app/src/main/res/layout/repos_fragment.xml index 9d6e14e9a..0cdc00c8f 100644 --- a/app/src/main/res/layout/repos_fragment.xml +++ b/app/src/main/res/layout/repos_fragment.xml @@ -1,24 +1,29 @@ + + + android:layout_height="match_parent" + android:gravity="center" + android:orientation="vertical" + android:visibility="gone"> - + - - + @@ -32,13 +37,17 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - diff --git a/app/src/main/res/menu-sw480dp/browser_menu.xml b/app/src/main/res/menu-sw480dp/browser_menu.xml index c5d893992..9c30fbdcb 100644 --- a/app/src/main/res/menu-sw480dp/browser_menu.xml +++ b/app/src/main/res/menu-sw480dp/browser_menu.xml @@ -3,6 +3,11 @@ + + + + + 5 + 10sp + + \ No newline at end of file diff --git a/app/src/main/res/values-normal/dimens.xml b/app/src/main/res/values-normal/dimens.xml new file mode 100644 index 000000000..460971da5 --- /dev/null +++ b/app/src/main/res/values-normal/dimens.xml @@ -0,0 +1,6 @@ + + + 4 + 10sp + + \ No newline at end of file diff --git a/app/src/main/res/values-small/dimens.xml b/app/src/main/res/values-small/dimens.xml new file mode 100644 index 000000000..778786e3f --- /dev/null +++ b/app/src/main/res/values-small/dimens.xml @@ -0,0 +1,5 @@ + + + 3 + 12sp + \ No newline at end of file diff --git a/app/src/main/res/values-xlarge/dimens.xml b/app/src/main/res/values-xlarge/dimens.xml new file mode 100644 index 000000000..3760624a4 --- /dev/null +++ b/app/src/main/res/values-xlarge/dimens.xml @@ -0,0 +1,5 @@ + + + 8 + 11sp + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index ec28f564a..0b090ac8f 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -65,6 +65,7 @@ 4dp 8dp 16sp + 13sp 8dp 14sp 14dp @@ -75,6 +76,7 @@ 12sp + 3 60dp 5dp 40dp @@ -193,4 +195,5 @@ 18sp 20sp 22sp + 20dp \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ebbb2c8b1..f6549baa5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -560,4 +560,5 @@ expiration dates Add auto expiration Please enter the expiration dates + Switch View diff --git a/build.gradle b/build.gradle index 27db3988b..cd6b578f7 100644 --- a/build.gradle +++ b/build.gradle @@ -15,13 +15,16 @@ buildscript { allprojects { repositories { jcenter() + maven { + url "https://maven.google.com" + } } } ext { - compileSdkVersion = 25 - supportLibVersion = '23.4.0' // variable that can be referenced to keep support libs consistent - minSdkVersion = 9 - targetSdkVersion = 25 - buildToolsVersion = '25.0.2' + compileSdkVersion = 26 + supportLibVersion = '26.0.0' // variable that can be referenced to keep support libs consistent + minSdkVersion = 14 + targetSdkVersion = 26 + buildToolsVersion = '26.0.1' }