--- /home/fdroid/fdroiddata/tmp/org.nonononoki.hendroid_166.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_org.nonononoki.hendroid_166.apk ├── /usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {} │┄ error from `/usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {}` (b): │┄ DOES NOT VERIFY │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. CHUNKED_SHA256 digest mismatch. Expected: , actual: <780d997e2054b28d6a62885acb378fbbae3d2ecb47a1fc7955cabb5e6bfcf836> │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <3c91e66569a237b9996703154c0874c0cc688de98b6bc72f8f6439d4dba6feeb4110740000000000>, actual: <61a0feca728bed4668477c88a6f0d991046d470ec202f27951464cc1e9ed9cbd4110740000000000> │ @@ -1,115 +0,0 @@ │ -Verifies │ -Verified using v1 scheme (JAR signing): true │ -Verified using v2 scheme (APK Signature Scheme v2): true │ -Verified using v3 scheme (APK Signature Scheme v3): true │ -Verified using v4 scheme (APK Signature Scheme v4): false │ -Verified for SourceStamp: false │ -Number of signers: 1 │ -Signer #1 certificate DN: CN=FDroid, OU=FDroid, O=fdroid.org, L=ORG, ST=ORG, C=UK │ -Signer #1 certificate SHA-256 digest: cb7d0da1f8275000ab6422931455832c6eb3af18a480abd9cea56489485f4c97 │ -Signer #1 certificate SHA-1 digest: fbd58b0ca79201aaea8e3ab96b6dddcb0d3fd6a6 │ -Signer #1 certificate MD5 digest: c442e607f580340ec338e850d2a08f07 │ -Signer #1 key algorithm: RSA │ -Signer #1 key size (bits): 2048 │ -Signer #1 public key SHA-256 digest: df39552a402064c08bd034096c95d245b17e2a866ea1ac00b4e0c5ae98713ca1 │ -Signer #1 public key SHA-1 digest: c0d44dde0a58c2b40b289fe6362a45d85b15e8bf │ -Signer #1 public key MD5 digest: 365a3ae43f531eb45f2fb07f041691b2 │ -WARNING: META-INF/fastadapter-extensions-paged.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.customview_customview.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/CHANGES not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.room_room-runtime.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/objectbox-kotlin.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/okio.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.legacy_legacy-support-core-ui.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.legacy_legacy-support-v13.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/com.google.android.material_material.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.activity_activity-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/fastadapter-extensions-swipe.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.slidingpanelayout_slidingpanelayout.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/kotlin-stdlib.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.dynamicanimation_dynamicanimation.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.exifinterface_exifinterface.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/app_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/moshi.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-extensions.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/preference-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.legacy_legacy-support-v4.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.versionedparcelable_versionedparcelable.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/activity-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-livedata-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.preference_preference-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.preference_preference.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/lifecycle-livedata-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/retrofit.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/core-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-runtime.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/fastadapter.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/fragment-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.appcompat_appcompat-resources.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/fastadapter-extensions-scroll.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.work_work-runtime.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.appcompat_appcompat.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/appintro_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-livedata.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/powermenu_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.cursoradapter_cursoradapter.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.media_media.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.savedstate_savedstate.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.fragment_fragment.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/kotlinx-coroutines-core.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.vectordrawable_vectordrawable.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.fragment_fragment-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/lifecycle-livedata-core-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.sqlite_sqlite-framework.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.core_core.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.vectordrawable_vectordrawable-animated.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/okhttp.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/collection-ktx.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.localbroadcastmanager_localbroadcastmanager.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-viewmodel-savedstate.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/fastadapter-extensions-drag.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/paging-runtime-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/services/kotlinx.coroutines.CoroutineExceptionHandler not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-livedata-core.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.legacy_legacy-support-core-utils.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.viewpager2_viewpager2.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/kotlin-stdlib-common.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.transition_transition.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.print_print.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.documentfile_documentfile.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.core_core-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/fastadapter-extensions-expandable.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.recyclerview_recyclerview.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/lifecycle-viewmodel-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/README.md not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/fastadapter-extensions-utils.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/kotlinx-coroutines-android.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/kotlin-stdlib-jdk7.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-livedata-core-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.asynclayoutinflater_asynclayoutinflater.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.arch.core_core-runtime.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-runtime-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-viewmodel-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/balloon_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.activity_activity.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/lifecycle-runtime-ktx_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/powerspinner_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.paging_paging-runtime.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.databinding_viewbinding.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.drawerlayout_drawerlayout.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.interpolator_interpolator.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/fastadapter-extensions-ui.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-viewmodel.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/work-runtime_release.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.swiperefreshlayout_swiperefreshlayout.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-service.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-process.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.loader_loader.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.viewpager_viewpager.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.cardview_cardview.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/fastadapter-extensions-diff.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.coordinatorlayout_coordinatorlayout.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.annotation_annotation-experimental.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.paging_paging-runtime-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.sqlite_sqlite.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/paging-common-ktx.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. ├── zipinfo {} │ @@ -589,15 +589,15 @@ │ -rw---- 0.0 fat 109 b- defN 81-Jan-01 01:01 META-INF/collection-ktx.kotlin_module │ -rw---- 0.0 fat 479 b- stor 81-Jan-01 01:01 res/drawable-hdpi-v4/ic_menu_pururin.png │ -rw---- 0.0 fat 736 b- defN 81-Jan-01 01:01 res/drawable/ic_appintro_skip.xml │ -rw---- 0.0 fat 225 b- stor 81-Jan-01 01:01 res/drawable-hdpi-v4/notification_bg_low_pressed.9.png │ -rw---- 0.0 fat 616 b- defN 81-Jan-01 01:01 res/anim/elastic_center.xml │ -rw---- 0.0 fat 1204 b- defN 81-Jan-01 01:01 res/drawable/ic_settings.xml │ -rw---- 0.0 fat 576 b- defN 81-Jan-01 01:01 res/layout/design_navigation_item.xml │ --rw---- 0.0 fat 7262732 b- defN 81-Jan-01 01:01 classes.dex │ +-rw---- 0.0 fat 7262892 b- defN 81-Jan-01 01:01 classes.dex │ -rw---- 0.0 fat 376 b- defN 81-Jan-01 01:01 res/color/design_icon_tint.xml │ -rw---- 0.0 fat 684 b- defN 81-Jan-01 01:01 res/drawable/ic_folder.xml │ -rw---- 0.0 fat 2976 b- defN 81-Jan-01 01:01 res/drawable/ic_menu_tsumino.xml │ -rw---- 0.0 fat 1480 b- defN 81-Jan-01 01:01 res/drawable/ic_menu_doujins.xml │ -rw---- 0.0 fat 376 b- defN 81-Jan-01 01:01 res/color/material_on_surface_disabled.xml │ -rw---- 0.0 fat 1836 b- defN 81-Jan-01 01:01 res/drawable/ic_direction_ltr_icons.xml │ -rw---- 0.0 fat 312 b- defN 81-Jan-01 01:01 res/anim/design_snackbar_in.xml │ @@ -1233,8 +1233,8 @@ │ -rw---- 0.0 fat 1972 b- defN 81-Jan-01 01:01 res/drawable/ic_social_github.xml │ -rw---- 0.0 fat 360 b- defN 81-Jan-01 01:01 res/xml/standalone_badge_offset.xml │ -rw---- 0.0 fat 516 b- defN 81-Jan-01 01:01 res/drawable/abc_seekbar_tick_mark_material.xml │ -rw---- 0.0 fat 212 b- stor 81-Jan-01 01:01 res/drawable-hdpi-v4/notification_bg_normal.9.png │ -rw---- 2.0 fat 142860 b- defN 81-Jan-01 01:01 META-INF/615E6112.SF │ -rw---- 2.0 fat 1334 b- defN 81-Jan-01 01:01 META-INF/615E6112.RSA │ -rw---- 2.0 fat 142733 b- defN 81-Jan-01 01:01 META-INF/MANIFEST.MF │ -1238 files, 16226652 bytes uncompressed, 7400343 bytes compressed: 54.4% │ +1238 files, 16226812 bytes uncompressed, 7400302 bytes compressed: 54.4% ├── classes.dex │ ├── classes.jar │ │ ├── zipinfo {} │ │ │ @@ -1,8 +1,8 @@ │ │ │ -Zip file size: 13122063 bytes, number of entries: 7342 │ │ │ +Zip file size: 13122330 bytes, number of entries: 7342 │ │ │ ?rwxrwxr-x 2.0 unx 673 b- stor 80-Jan-01 00:00 $$ServiceLoaderMethods.class │ │ │ ?rwxrwxr-x 2.0 unx 178 b- stor 80-Jan-01 00:00 $r8$backportedMethods$utility$Boolean$1$hashCode.class │ │ │ ?rwxrwxr-x 2.0 unx 163 b- stor 80-Jan-01 00:00 $r8$backportedMethods$utility$Long$1$hashCode.class │ │ │ ?rwxrwxr-x 2.0 unx 318 b- stor 80-Jan-01 00:00 android/support/v4/app/INotificationSideChannel.class │ │ │ ?rwxrwxr-x 2.0 unx 2930 b- stor 80-Jan-01 00:00 android/support/v4/media/MediaBrowserCompat$CallbackHandler.class │ │ │ ?rwxrwxr-x 2.0 unx 963 b- stor 80-Jan-01 00:00 android/support/v4/media/MediaBrowserCompat$ConnectionCallback$ConnectionCallbackApi21.class │ │ │ ?rwxrwxr-x 2.0 unx 230 b- stor 80-Jan-01 00:00 android/support/v4/media/MediaBrowserCompat$ConnectionCallback$ConnectionCallbackInternal.class │ │ │ @@ -1708,15 +1708,15 @@ │ │ │ ?rwxrwxr-x 2.0 unx 629 b- stor 80-Jan-01 00:00 com/github/penfeizhou/animation/decode/FrameSeqDecoder$4.class │ │ │ ?rwxrwxr-x 2.0 unx 2108 b- stor 80-Jan-01 00:00 com/github/penfeizhou/animation/decode/FrameSeqDecoder$5.class │ │ │ ?rwxrwxr-x 2.0 unx 473 b- stor 80-Jan-01 00:00 com/github/penfeizhou/animation/decode/FrameSeqDecoder$6.class │ │ │ ?rwxrwxr-x 2.0 unx 474 b- stor 80-Jan-01 00:00 com/github/penfeizhou/animation/decode/FrameSeqDecoder$7.class │ │ │ ?rwxrwxr-x 2.0 unx 1350 b- stor 80-Jan-01 00:00 com/github/penfeizhou/animation/decode/FrameSeqDecoder$8.class │ │ │ ?rwxrwxr-x 2.0 unx 207 b- stor 80-Jan-01 00:00 com/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener.class │ │ │ ?rwxrwxr-x 2.0 unx 1011 b- stor 80-Jan-01 00:00 com/github/penfeizhou/animation/decode/FrameSeqDecoder$State.class │ │ │ -?rwxrwxr-x 2.0 unx 10965 b- defN 80-Jan-01 00:00 com/github/penfeizhou/animation/decode/FrameSeqDecoder.class │ │ │ +?rwxrwxr-x 2.0 unx 11457 b- defN 80-Jan-01 00:00 com/github/penfeizhou/animation/decode/FrameSeqDecoder.class │ │ │ ?rwxrwxr-x 2.0 unx 115 b- stor 80-Jan-01 00:00 com/github/penfeizhou/animation/executor/FrameDecoderExecutor$1.class │ │ │ ?rwxrwxr-x 2.0 unx 436 b- stor 80-Jan-01 00:00 com/github/penfeizhou/animation/executor/FrameDecoderExecutor$Inner.class │ │ │ ?rwxrwxr-x 2.0 unx 1688 b- stor 80-Jan-01 00:00 com/github/penfeizhou/animation/executor/FrameDecoderExecutor.class │ │ │ ?rwxrwxr-x 2.0 unx 294 b- stor 80-Jan-01 00:00 com/github/penfeizhou/animation/io/Reader.class │ │ │ ?rwxrwxr-x 2.0 unx 115 b- stor 80-Jan-01 00:00 com/github/penfeizhou/animation/io/Writer.class │ │ │ ?rwxrwxr-x 2.0 unx 162 b- stor 80-Jan-01 00:00 com/github/penfeizhou/animation/loader/Loader.class │ │ │ ?rwxrwxr-x 2.0 unx 1105 b- stor 80-Jan-01 00:00 com/google/android/flexbox/FlexContainer.class │ │ │ @@ -7337,8 +7337,8 @@ │ │ │ ?rwxrwxr-x 2.0 unx 4887 b- stor 80-Jan-01 00:00 kotlin/text/StringsKt__StringsJVMKt.class │ │ │ ?rwxrwxr-x 2.0 unx 7154 b- stor 80-Jan-01 00:00 kotlin/collections/CollectionsKt___CollectionsKt.class │ │ │ ?rwxrwxr-x 2.0 unx 11761 b- defN 80-Jan-01 00:00 kotlin/text/StringsKt__StringsKt.class │ │ │ ?rwxrwxr-x 2.0 unx 3070 b- stor 80-Jan-01 00:00 kotlin/collections/CollectionsKt.class │ │ │ ?rwxrwxr-x 2.0 unx 104 b- stor 80-Jan-01 00:00 kotlin/text/StringsKt___StringsJvmKt.class │ │ │ ?rwxrwxr-x 2.0 unx 1033 b- stor 80-Jan-01 00:00 kotlin/text/StringsKt___StringsKt.class │ │ │ ?rwxrwxr-x 2.0 unx 3436 b- stor 80-Jan-01 00:00 kotlin/text/StringsKt.class │ │ │ -7342 files, 13844073 bytes uncompressed, 11685369 bytes compressed: 15.6% │ │ │ +7342 files, 13844565 bytes uncompressed, 11685636 bytes compressed: 15.6% │ │ ├── com/github/penfeizhou/animation/decode/FrameSeqDecoder.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -25,14 +25,15 @@ │ │ │ │ import android.graphics.Rect; │ │ │ │ │ │ │ │ public abstract class FrameSeqDecoder │ │ │ │ { │ │ │ │ private static final Rect RECT_EMPTY; │ │ │ │ private static final String TAG = "FrameSeqDecoder"; │ │ │ │ private Set cacheBitmaps; │ │ │ │ + private final Object cacheBitmapsLock; │ │ │ │ protected Map cachedCanvas; │ │ │ │ private boolean finished; │ │ │ │ protected ByteBuffer frameBuffer; │ │ │ │ protected int frameIndex; │ │ │ │ protected List frames; │ │ │ │ protected volatile Rect fullRect; │ │ │ │ private Integer loopLimit; │ │ │ │ @@ -58,14 +59,15 @@ │ │ │ │ this.loopLimit = null; │ │ │ │ this.renderListeners = new HashSet(); │ │ │ │ final boolean b = true; │ │ │ │ this.paused = new AtomicBoolean(b); │ │ │ │ this.renderTask = (Runnable)new FrameSeqDecoder$1(this); │ │ │ │ this.sampleSize = (b ? 1 : 0); │ │ │ │ this.cacheBitmaps = new HashSet(); │ │ │ │ + this.cacheBitmapsLock = new Object(); │ │ │ │ this.cachedCanvas = new WeakHashMap(); │ │ │ │ this.mWriter = this.getWriter(); │ │ │ │ this.mReader = null; │ │ │ │ this.finished = false; │ │ │ │ this.mState = FrameSeqDecoder$State.IDLE; │ │ │ │ this.mLoader = mLoader; │ │ │ │ if (frameSeqDecoder$RenderListener != null) { │ │ │ │ @@ -191,49 +193,56 @@ │ │ │ │ this.mState = FrameSeqDecoder$State.RUNNING; │ │ │ │ } │ │ │ │ } │ │ │ │ │ │ │ │ private void innerStop() { │ │ │ │ this.workerHandler.removeCallbacks(this.renderTask); │ │ │ │ this.frames.clear(); │ │ │ │ - for (final Bitmap bitmap : this.cacheBitmaps) { │ │ │ │ - if (bitmap != null && !bitmap.isRecycled()) { │ │ │ │ - bitmap.recycle(); │ │ │ │ - } │ │ │ │ - } │ │ │ │ - this.cacheBitmaps.clear(); │ │ │ │ - if (this.frameBuffer != null) { │ │ │ │ - this.frameBuffer = null; │ │ │ │ - } │ │ │ │ - this.cachedCanvas.clear(); │ │ │ │ - try { │ │ │ │ - final Reader mReader = this.mReader; │ │ │ │ - Label_0135: { │ │ │ │ - if (mReader == null) { │ │ │ │ - break Label_0135; │ │ │ │ + Object mState = this.cacheBitmapsLock; │ │ │ │ + synchronized (mState) { │ │ │ │ + for (final Bitmap bitmap : this.cacheBitmaps) { │ │ │ │ + if (bitmap != null && !bitmap.isRecycled()) { │ │ │ │ + bitmap.recycle(); │ │ │ │ } │ │ │ │ - mReader.close(); │ │ │ │ - try { │ │ │ │ - this.mReader = null; │ │ │ │ - final Writer mWriter = this.mWriter; │ │ │ │ - if (mWriter != null) { │ │ │ │ - mWriter.close(); │ │ │ │ + } │ │ │ │ + this.cacheBitmaps.clear(); │ │ │ │ + // monitorexit(mState) │ │ │ │ + mState = this.frameBuffer; │ │ │ │ + if (mState != null) { │ │ │ │ + this.frameBuffer = null; │ │ │ │ + } │ │ │ │ + mState = this.cachedCanvas; │ │ │ │ + ((Map)mState).clear(); │ │ │ │ + try { │ │ │ │ + final Reader mReader = this.mReader; │ │ │ │ + Label_0157: { │ │ │ │ + if (mReader == null) { │ │ │ │ + break Label_0157; │ │ │ │ + } │ │ │ │ + mReader.close(); │ │ │ │ + try { │ │ │ │ + this.mReader = null; │ │ │ │ + mState = this.mWriter; │ │ │ │ + if (mState != null) { │ │ │ │ + ((Writer)mState).close(); │ │ │ │ + } │ │ │ │ + } │ │ │ │ + catch (IOException mState) { │ │ │ │ + ((IOException)mState).printStackTrace(); │ │ │ │ } │ │ │ │ - } │ │ │ │ - catch (IOException ex) { │ │ │ │ - ex.printStackTrace(); │ │ │ │ } │ │ │ │ } │ │ │ │ - } │ │ │ │ - catch (IOException ex2) {} │ │ │ │ - this.release(); │ │ │ │ - this.mState = FrameSeqDecoder$State.IDLE; │ │ │ │ - final Iterator iterator2 = this.renderListeners.iterator(); │ │ │ │ - while (iterator2.hasNext()) { │ │ │ │ - ((FrameSeqDecoder$RenderListener)iterator2.next()).onEnd(); │ │ │ │ + catch (IOException ex) {} │ │ │ │ + this.release(); │ │ │ │ + mState = FrameSeqDecoder$State.IDLE; │ │ │ │ + this.mState = (FrameSeqDecoder$State)mState; │ │ │ │ + mState = this.renderListeners.iterator(); │ │ │ │ + while (((Iterator)mState).hasNext()) { │ │ │ │ + ((FrameSeqDecoder$RenderListener)((Iterator)mState).next()).onEnd(); │ │ │ │ + } │ │ │ │ } │ │ │ │ } │ │ │ │ │ │ │ │ private long step() { │ │ │ │ final int frameIndex = this.frameIndex + 1; │ │ │ │ this.frameIndex = frameIndex; │ │ │ │ if (frameIndex >= this.getFrameCount()) { │ │ │ │ @@ -294,56 +303,73 @@ │ │ │ │ protected abstract Writer getWriter(); │ │ │ │ │ │ │ │ public boolean isRunning() { │ │ │ │ return this.mState == FrameSeqDecoder$State.RUNNING || this.mState == FrameSeqDecoder$State.INITIALIZING; │ │ │ │ } │ │ │ │ │ │ │ │ protected Bitmap obtainBitmap(int height, final int n) { │ │ │ │ - final Iterator iterator = this.cacheBitmaps.iterator(); │ │ │ │ + final Object cacheBitmapsLock = this.cacheBitmapsLock; │ │ │ │ + // monitorenter(cacheBitmapsLock) │ │ │ │ Bitmap bitmap = null; │ │ │ │ - while (iterator.hasNext()) { │ │ │ │ - final int n2 = height * n * 4; │ │ │ │ - final Bitmap bitmap2 = (Bitmap)iterator.next(); │ │ │ │ - if (Build$VERSION.SDK_INT >= 19) { │ │ │ │ - if (bitmap2 != null && bitmap2.getAllocationByteCount() >= n2) { │ │ │ │ - iterator.remove(); │ │ │ │ - if (bitmap2.getWidth() != height || bitmap2.getHeight() != n) { │ │ │ │ - bitmap2.reconfigure(height, n, Bitmap$Config.ARGB_8888); │ │ │ │ - } │ │ │ │ - bitmap2.eraseColor(0); │ │ │ │ - return bitmap2; │ │ │ │ - } │ │ │ │ - } │ │ │ │ - else if (bitmap2 != null && bitmap2.getByteCount() >= n2) { │ │ │ │ - if (bitmap2.getWidth() == height) { │ │ │ │ - height = bitmap2.getHeight(); │ │ │ │ - if (height == n) { │ │ │ │ + try { │ │ │ │ + final Iterator iterator = this.cacheBitmaps.iterator(); │ │ │ │ + while (iterator.hasNext()) { │ │ │ │ + final int n2 = height * n * 4; │ │ │ │ + final Bitmap bitmap2 = (Bitmap)iterator.next(); │ │ │ │ + if (Build$VERSION.SDK_INT >= 19) { │ │ │ │ + if (bitmap2 != null && bitmap2.getAllocationByteCount() >= n2) { │ │ │ │ iterator.remove(); │ │ │ │ + if (bitmap2.getWidth() != height || bitmap2.getHeight() != n) { │ │ │ │ + bitmap2.reconfigure(height, n, Bitmap$Config.ARGB_8888); │ │ │ │ + } │ │ │ │ bitmap2.eraseColor(0); │ │ │ │ + return bitmap2; │ │ │ │ + } │ │ │ │ + } │ │ │ │ + else if (bitmap2 != null && bitmap2.getByteCount() >= n2) { │ │ │ │ + if (bitmap2.getWidth() == height) { │ │ │ │ + height = bitmap2.getHeight(); │ │ │ │ + if (height == n) { │ │ │ │ + iterator.remove(); │ │ │ │ + bitmap2.eraseColor(0); │ │ │ │ + } │ │ │ │ } │ │ │ │ + return bitmap2; │ │ │ │ } │ │ │ │ - return bitmap2; │ │ │ │ + bitmap = bitmap2; │ │ │ │ } │ │ │ │ - bitmap = bitmap2; │ │ │ │ - } │ │ │ │ - try { │ │ │ │ - bitmap = Bitmap.createBitmap(height, n, Bitmap$Config.ARGB_8888); │ │ │ │ + try { │ │ │ │ + bitmap = Bitmap.createBitmap(height, n, Bitmap$Config.ARGB_8888); │ │ │ │ + } │ │ │ │ + catch (OutOfMemoryError outOfMemoryError) { │ │ │ │ + outOfMemoryError.printStackTrace(); │ │ │ │ + } │ │ │ │ + return bitmap; │ │ │ │ } │ │ │ │ - catch (OutOfMemoryError outOfMemoryError) { │ │ │ │ - outOfMemoryError.printStackTrace(); │ │ │ │ + finally { │ │ │ │ } │ │ │ │ - return bitmap; │ │ │ │ + // monitorexit(cacheBitmapsLock) │ │ │ │ } │ │ │ │ │ │ │ │ protected abstract Rect read(final Reader p0); │ │ │ │ │ │ │ │ protected void recycleBitmap(final Bitmap bitmap) { │ │ │ │ - if (bitmap != null && !this.cacheBitmaps.contains(bitmap)) { │ │ │ │ - this.cacheBitmaps.add(bitmap); │ │ │ │ + final Object cacheBitmapsLock = this.cacheBitmapsLock; │ │ │ │ + // monitorenter(cacheBitmapsLock) │ │ │ │ + if (bitmap == null) { │ │ │ │ + return; │ │ │ │ + } │ │ │ │ + try { │ │ │ │ + if (!this.cacheBitmaps.contains(bitmap)) { │ │ │ │ + this.cacheBitmaps.add(bitmap); │ │ │ │ + } │ │ │ │ + } │ │ │ │ + finally { │ │ │ │ } │ │ │ │ + // monitorexit(cacheBitmapsLock) │ │ │ │ } │ │ │ │ │ │ │ │ protected abstract void release(); │ │ │ │ │ │ │ │ public void removeRenderListener(final FrameSeqDecoder$RenderListener frameSeqDecoder$RenderListener) { │ │ │ │ this.workerHandler.post((Runnable)new FrameSeqDecoder$3(this, frameSeqDecoder$RenderListener)); │ │ │ │ } │ │ ├── me/devsaki/hentoid/database/domains/MyObjectBox.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -356,38 +356,38 @@ │ │ │ │ property2.flags(n6); │ │ │ │ entity.property("url", n).id(n2, n3); │ │ │ │ entity.entityDone(); │ │ │ │ } │ │ │ │ │ │ │ │ public static BoxStoreBuilder builder() { │ │ │ │ final BoxStoreBuilder boxStoreBuilder = new BoxStoreBuilder(getModel()); │ │ │ │ + boxStoreBuilder.entity((EntityInfo)SiteHistory_.__INSTANCE); │ │ │ │ + boxStoreBuilder.entity((EntityInfo)AttributeLocation_.__INSTANCE); │ │ │ │ + boxStoreBuilder.entity((EntityInfo)GroupItem_.__INSTANCE); │ │ │ │ boxStoreBuilder.entity((EntityInfo)Content_.__INSTANCE); │ │ │ │ - boxStoreBuilder.entity((EntityInfo)Group_.__INSTANCE); │ │ │ │ boxStoreBuilder.entity((EntityInfo)SiteBookmark_.__INSTANCE); │ │ │ │ - boxStoreBuilder.entity((EntityInfo)Attribute_.__INSTANCE); │ │ │ │ - boxStoreBuilder.entity((EntityInfo)SiteHistory_.__INSTANCE); │ │ │ │ boxStoreBuilder.entity((EntityInfo)ErrorRecord_.__INSTANCE); │ │ │ │ - boxStoreBuilder.entity((EntityInfo)GroupItem_.__INSTANCE); │ │ │ │ - boxStoreBuilder.entity((EntityInfo)AttributeLocation_.__INSTANCE); │ │ │ │ boxStoreBuilder.entity((EntityInfo)ImageFile_.__INSTANCE); │ │ │ │ boxStoreBuilder.entity((EntityInfo)QueueRecord_.__INSTANCE); │ │ │ │ + boxStoreBuilder.entity((EntityInfo)Attribute_.__INSTANCE); │ │ │ │ + boxStoreBuilder.entity((EntityInfo)Group_.__INSTANCE); │ │ │ │ return boxStoreBuilder; │ │ │ │ } │ │ │ │ │ │ │ │ private static byte[] getModel() { │ │ │ │ final ModelBuilder modelBuilder = new ModelBuilder(); │ │ │ │ modelBuilder.lastEntityId(12, 6339833598022566662L); │ │ │ │ modelBuilder.lastIndexId(13, 7082707691451462644L); │ │ │ │ modelBuilder.lastRelationId(3, 1412032361666532056L); │ │ │ │ + buildEntitySiteHistory(modelBuilder); │ │ │ │ + buildEntityAttributeLocation(modelBuilder); │ │ │ │ + buildEntityGroupItem(modelBuilder); │ │ │ │ buildEntityContent(modelBuilder); │ │ │ │ - buildEntityGroup(modelBuilder); │ │ │ │ buildEntitySiteBookmark(modelBuilder); │ │ │ │ - buildEntityAttribute(modelBuilder); │ │ │ │ - buildEntitySiteHistory(modelBuilder); │ │ │ │ buildEntityErrorRecord(modelBuilder); │ │ │ │ - buildEntityGroupItem(modelBuilder); │ │ │ │ - buildEntityAttributeLocation(modelBuilder); │ │ │ │ buildEntityImageFile(modelBuilder); │ │ │ │ buildEntityQueueRecord(modelBuilder); │ │ │ │ + buildEntityAttribute(modelBuilder); │ │ │ │ + buildEntityGroup(modelBuilder); │ │ │ │ return modelBuilder.build(); │ │ │ │ } │ │ │ │ } ├── smali/me/devsaki/hentoid/database/domains/MyObjectBox.smali │ @@ -5,91 +5,91 @@ │ │ # direct methods │ .method private static buildEntityAttribute(Lio/objectbox/ModelBuilder;)V │ .locals 7 │ │ const-string v0, "Attribute" │ │ - .line 154 │ + .line 241 │ invoke-virtual {p0, v0}, Lio/objectbox/ModelBuilder;->entity(Ljava/lang/String;)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ move-result-object p0 │ │ const/4 v0, 0x1 │ │ const-wide v1, 0x572d4c03c53cfe23L # 8.807051980500288E111 │ │ - .line 155 │ + .line 242 │ invoke-virtual {p0, v0, v1, v2}, Lio/objectbox/ModelBuilder$EntityBuilder;->id(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v1, 0x6 │ │ const-wide v2, 0x25219d332b9df3dcL # 7.94093057918469E-130 │ │ invoke-virtual {p0, v1, v2, v3}, Lio/objectbox/ModelBuilder$EntityBuilder;->lastPropertyId(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ - .line 156 │ + .line 243 │ invoke-virtual {p0, v0}, Lio/objectbox/ModelBuilder$EntityBuilder;->flags(I)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const-string v4, "id" │ │ - .line 158 │ + .line 245 │ invoke-virtual {p0, v4, v1}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v4 │ │ const-wide v5, 0x46e5e4a64517a7d0L │ │ invoke-virtual {v4, v0, v5, v6}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 159 │ + .line 246 │ invoke-virtual {v4, v0}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "name" │ │ const/16 v4, 0x9 │ │ - .line 160 │ + .line 247 │ invoke-virtual {p0, v0, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/4 v4, 0x3 │ │ const-wide v5, 0x564adde6bb4f90b0L # 4.929517844517971E107 │ │ invoke-virtual {v0, v4, v5, v6}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const/16 v4, 0x800 │ │ - .line 161 │ + .line 248 │ invoke-virtual {v0, v4}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-wide v4, 0x2edc5316d5b0a3f8L # 5.832093630289078E-83 │ │ invoke-virtual {v0, v1, v4, v5}, Lio/objectbox/ModelBuilder$PropertyBuilder;->indexId(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "type" │ │ const/4 v4, 0x5 │ │ - .line 162 │ + .line 249 │ invoke-virtual {p0, v0, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/4 v4, 0x4 │ │ const-wide v5, 0x7eca4315721a5bbcL │ │ invoke-virtual {v0, v4, v5, v6}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const/16 v4, 0xa │ │ - .line 163 │ + .line 250 │ invoke-virtual {v0, v4}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const/4 v4, 0x7 │ │ const-wide v5, 0x991563f6bc0bbc9L │ │ invoke-virtual {v0, v4, v5, v6}, Lio/objectbox/ModelBuilder$PropertyBuilder;->indexId(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ @@ -98,103 +98,103 @@ │ │ const-string v4, "Group" │ │ const-string v5, "group" │ │ const/16 v6, 0xb │ │ - .line 164 │ + .line 251 │ invoke-virtual {p0, v0, v4, v5, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const/16 v1, 0x60c │ │ - .line 165 │ + .line 252 │ invoke-virtual {v0, v1}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const/16 v1, 0xd │ │ const-wide v2, 0x624ad51e9ce433f4L # 3.090357684145589E165 │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->indexId(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 168 │ + .line 255 │ invoke-virtual {p0}, Lio/objectbox/ModelBuilder$EntityBuilder;->entityDone()Lio/objectbox/ModelBuilder; │ │ return-void │ .end method │ │ .method private static buildEntityAttributeLocation(Lio/objectbox/ModelBuilder;)V │ .locals 8 │ │ const-string v0, "AttributeLocation" │ │ - .line 226 │ + .line 71 │ invoke-virtual {p0, v0}, Lio/objectbox/ModelBuilder;->entity(Ljava/lang/String;)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ move-result-object p0 │ │ const/4 v0, 0x7 │ │ const-wide v1, 0x3b0b1fa6c2d6a614L # 2.8045184702594597E-24 │ │ - .line 227 │ + .line 72 │ invoke-virtual {p0, v0, v1, v2}, Lio/objectbox/ModelBuilder$EntityBuilder;->id(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v0, 0x4 │ │ const-wide v1, 0x40156cac6d7ee734L # 5.356126509542992 │ │ invoke-virtual {p0, v0, v1, v2}, Lio/objectbox/ModelBuilder$EntityBuilder;->lastPropertyId(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v3, 0x1 │ │ - .line 228 │ + .line 73 │ invoke-virtual {p0, v3}, Lio/objectbox/ModelBuilder$EntityBuilder;->flags(I)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const-string v4, "id" │ │ const/4 v5, 0x6 │ │ - .line 230 │ + .line 75 │ invoke-virtual {p0, v4, v5}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v4 │ │ const-wide v6, 0x680f731619ab57c1L # 1.793584144738538E193 │ │ invoke-virtual {v4, v3, v6, v7}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 231 │ + .line 76 │ invoke-virtual {v4, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v3, "site" │ │ - .line 232 │ + .line 77 │ invoke-virtual {p0, v3, v5}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v3 │ │ const/4 v4, 0x2 │ │ const-wide v5, 0x38e62a6654b71509L # 1.3340449654199624E-34 │ │ invoke-virtual {v3, v4, v5, v6}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 233 │ + .line 78 │ invoke-virtual {v3, v4}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v3, "url" │ │ const/16 v4, 0x9 │ │ - .line 234 │ + .line 79 │ invoke-virtual {p0, v3, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v3 │ │ const/4 v4, 0x3 │ │ const-wide v5, 0x161009b8a02b6776L │ @@ -205,1092 +205,1092 @@ │ │ const-string v4, "Attribute" │ │ const-string v5, "attribute" │ │ const/16 v6, 0xb │ │ - .line 235 │ + .line 80 │ invoke-virtual {p0, v3, v4, v5, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v3 │ │ invoke-virtual {v3, v0, v1, v2}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const/16 v0, 0x60c │ │ - .line 236 │ + .line 81 │ invoke-virtual {v3, v0}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const/16 v0, 0x8 │ │ const-wide v1, 0x4fe3115560601f1fL # 6.899655815920347E76 │ │ invoke-virtual {v3, v0, v1, v2}, Lio/objectbox/ModelBuilder$PropertyBuilder;->indexId(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 239 │ + .line 84 │ invoke-virtual {p0}, Lio/objectbox/ModelBuilder$EntityBuilder;->entityDone()Lio/objectbox/ModelBuilder; │ │ return-void │ .end method │ │ .method private static buildEntityContent(Lio/objectbox/ModelBuilder;)V │ .locals 14 │ │ const-string v0, "Content" │ │ - .line 56 │ + .line 106 │ invoke-virtual {p0, v0}, Lio/objectbox/ModelBuilder;->entity(Ljava/lang/String;)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ move-result-object p0 │ │ const/4 v0, 0x2 │ │ const-wide v1, 0x519b24a52f222f79L # 1.3182536104651005E85 │ │ - .line 57 │ + .line 107 │ invoke-virtual {p0, v0, v1, v2}, Lio/objectbox/ModelBuilder$EntityBuilder;->id(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/16 v1, 0x19 │ │ const-wide v2, 0x727d9c88c778c6cL │ │ invoke-virtual {p0, v1, v2, v3}, Lio/objectbox/ModelBuilder$EntityBuilder;->lastPropertyId(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v4, 0x1 │ │ - .line 58 │ + .line 108 │ invoke-virtual {p0, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->flags(I)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const-string v5, "id" │ │ const/4 v6, 0x6 │ │ - .line 60 │ + .line 110 │ invoke-virtual {p0, v5, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const-wide v7, 0x14911518cbcec578L │ │ invoke-virtual {v5, v4, v7, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 61 │ + .line 111 │ invoke-virtual {v5, v4}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "url" │ │ const/16 v7, 0x9 │ │ - .line 62 │ + .line 112 │ invoke-virtual {p0, v5, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const-wide v8, 0x5080e5e178519fcbL # 6.261284611591513E79 │ │ invoke-virtual {v5, v0, v8, v9}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "uniqueSiteId" │ │ - .line 63 │ + .line 113 │ invoke-virtual {p0, v5, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const/16 v8, 0xf │ │ const-wide v9, 0x6c0646323690b93fL # 2.343306770352774E212 │ │ invoke-virtual {v5, v8, v9, v10}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "title" │ │ - .line 64 │ + .line 114 │ invoke-virtual {p0, v5, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const/4 v8, 0x3 │ │ const-wide v9, 0x19f3782b47fd0e41L │ │ invoke-virtual {v5, v8, v9, v10}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "author" │ │ - .line 65 │ + .line 115 │ invoke-virtual {p0, v5, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const/4 v8, 0x4 │ │ const-wide v9, 0x218bdf95ae5a2343L # 4.359751429871716E-147 │ │ invoke-virtual {v5, v8, v9, v10}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "coverImageUrl" │ │ - .line 66 │ + .line 116 │ invoke-virtual {p0, v5, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const/4 v9, 0x5 │ │ const-wide v10, 0x95cef59cb45018bL │ │ invoke-virtual {v5, v9, v10, v11}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "qtyPages" │ │ - .line 67 │ + .line 117 │ invoke-virtual {p0, v5, v9}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const-wide v10, 0x62025bb9f8513af7L # 1.321479008450683E164 │ │ invoke-virtual {v5, v6, v10, v11}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 68 │ + .line 118 │ invoke-virtual {v5, v0}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "uploadDate" │ │ - .line 69 │ + .line 119 │ invoke-virtual {p0, v5, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const/4 v10, 0x7 │ │ const-wide v11, 0x65546ad421be6cd5L # 1.3237797129576235E180 │ │ invoke-virtual {v5, v10, v11, v12}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 70 │ + .line 120 │ invoke-virtual {v5, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "downloadDate" │ │ - .line 71 │ + .line 121 │ invoke-virtual {p0, v5, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const/16 v11, 0x8 │ │ const-wide v12, 0x195dcce3ffdbb8abL │ │ invoke-virtual {v5, v11, v12, v13}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 72 │ + .line 122 │ invoke-virtual {v5, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "status" │ │ - .line 73 │ + .line 123 │ invoke-virtual {p0, v5, v9}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const-wide v11, 0x21b84078c2e97463L │ │ invoke-virtual {v5, v7, v11, v12}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 74 │ + .line 124 │ invoke-virtual {v5, v0}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "site" │ │ - .line 75 │ + .line 125 │ invoke-virtual {p0, v5, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const/16 v11, 0xa │ │ const-wide v12, 0x47ceda7814bdf3c6L # 8.202239224242226E37 │ │ invoke-virtual {v5, v11, v12, v13}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 76 │ + .line 126 │ invoke-virtual {v5, v0}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "storageFolder" │ │ - .line 77 │ + .line 127 │ invoke-virtual {p0, v0, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v5, 0xb │ │ const-wide v11, 0x56bc5cbfbd589be2L # 6.661007097372102E109 │ │ invoke-virtual {v0, v5, v11, v12}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "storageUri" │ │ - .line 78 │ + .line 128 │ invoke-virtual {p0, v0, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v5, 0x15 │ │ const-wide v11, 0x1ce9904aefb0b4c7L │ │ invoke-virtual {v0, v5, v11, v12}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "favourite" │ │ - .line 79 │ + .line 129 │ invoke-virtual {p0, v0, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v5, 0xc │ │ const-wide v11, 0x3543c22582388034L # 4.1257432594243796E-52 │ │ invoke-virtual {v0, v5, v11, v12}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 80 │ + .line 130 │ invoke-virtual {v0, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "reads" │ │ - .line 81 │ + .line 131 │ invoke-virtual {p0, v0, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v5, 0xd │ │ const-wide v11, 0x3a73a7a30ebce37bL # 3.969261674096776E-27 │ │ invoke-virtual {v0, v5, v11, v12}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 82 │ + .line 132 │ invoke-virtual {v0, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "lastReadDate" │ │ - .line 83 │ + .line 133 │ invoke-virtual {p0, v0, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v5, 0xe │ │ const-wide v11, 0x4189bfb02ec8df42L # 5.399910984808208E7 │ │ invoke-virtual {v0, v5, v11, v12}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 84 │ + .line 134 │ invoke-virtual {v0, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "lastReadPageIndex" │ │ - .line 85 │ + .line 135 │ invoke-virtual {p0, v0, v9}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v5, 0x11 │ │ const-wide v11, 0xc8955d8506f4060L │ │ invoke-virtual {v0, v5, v11, v12}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 86 │ + .line 136 │ invoke-virtual {v0, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "bookPreferences" │ │ - .line 87 │ + .line 137 │ invoke-virtual {p0, v0, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v5, 0x16 │ │ const-wide v11, 0x163610b030fa9deL │ │ invoke-virtual {v0, v5, v11, v12}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "size" │ │ - .line 88 │ + .line 138 │ invoke-virtual {p0, v0, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v5, 0x17 │ │ const-wide v11, 0x29cb1841cb10efa9L │ │ invoke-virtual {v0, v5, v11, v12}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 89 │ + .line 139 │ invoke-virtual {v0, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "readProgress" │ │ - .line 90 │ + .line 140 │ invoke-virtual {p0, v0, v10}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 91 │ + .line 141 │ invoke-virtual {v0, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "downloadParams" │ │ - .line 92 │ + .line 142 │ invoke-virtual {p0, v0, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v1, 0x10 │ │ const-wide v2, 0x3bf96b1fec0eda5bL # 8.6121078268095E-20 │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "isBeingDeleted" │ │ - .line 93 │ + .line 143 │ invoke-virtual {p0, v0, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v1, 0x12 │ │ const-wide v2, 0x7e885926f0058747L # 3.2611699829031654E301 │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 94 │ + .line 144 │ invoke-virtual {v0, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "jsonUri" │ │ - .line 95 │ + .line 145 │ invoke-virtual {p0, v0, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v1, 0x13 │ │ const-wide v2, 0x4893f7f5f4fad02L │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "isFlaggedForDeletion" │ │ - .line 96 │ + .line 146 │ invoke-virtual {p0, v0, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v1, 0x18 │ │ const-wide v2, 0x5c1d9a44694a7162L # 5.3790801630806726E135 │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 97 │ + .line 147 │ invoke-virtual {v0, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v2, "attributes" │ │ const/4 v3, 0x1 │ │ const-wide v4, 0x3d7d0ab2f95b1963L # 1.6508348282525476E-12 │ │ const/4 v6, 0x1 │ │ const-wide v7, 0x572d4c03c53cfe23L # 8.807051980500288E111 │ │ move-object v1, p0 │ │ - .line 99 │ + .line 149 │ invoke-virtual/range {v1 .. v8}, Lio/objectbox/ModelBuilder$EntityBuilder;->relation(Ljava/lang/String;IJIJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ - .line 101 │ + .line 151 │ invoke-virtual {p0}, Lio/objectbox/ModelBuilder$EntityBuilder;->entityDone()Lio/objectbox/ModelBuilder; │ │ return-void │ .end method │ │ .method private static buildEntityErrorRecord(Lio/objectbox/ModelBuilder;)V │ .locals 11 │ │ const-string v0, "ErrorRecord" │ │ - .line 187 │ + .line 173 │ invoke-virtual {p0, v0}, Lio/objectbox/ModelBuilder;->entity(Ljava/lang/String;)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ move-result-object p0 │ │ const/16 v0, 0x8 │ │ const-wide v1, 0x26532263caeff8b3L # 4.522672842651028E-124 │ │ - .line 188 │ + .line 174 │ invoke-virtual {p0, v0, v1, v2}, Lio/objectbox/ModelBuilder$EntityBuilder;->id(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v0, 0x7 │ │ const-wide v1, 0x418aa5181bb053bfL # 5.587840346109723E7 │ │ invoke-virtual {p0, v0, v1, v2}, Lio/objectbox/ModelBuilder$EntityBuilder;->lastPropertyId(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v3, 0x1 │ │ - .line 189 │ + .line 175 │ invoke-virtual {p0, v3}, Lio/objectbox/ModelBuilder$EntityBuilder;->flags(I)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const-string v4, "id" │ │ const/4 v5, 0x6 │ │ - .line 191 │ + .line 177 │ invoke-virtual {p0, v4, v5}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v4 │ │ const-wide v6, 0x4e78b1e9f241f2f4L # 1.0652403769126231E70 │ │ invoke-virtual {v4, v3, v6, v7}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 192 │ + .line 178 │ invoke-virtual {v4, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v3, "type" │ │ const/4 v4, 0x5 │ │ - .line 193 │ + .line 179 │ invoke-virtual {p0, v3, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v3 │ │ const/4 v6, 0x2 │ │ const-wide v7, 0x15acf7fb7de0d6fL │ │ invoke-virtual {v3, v6, v7, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 194 │ + .line 180 │ invoke-virtual {v3, v6}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v3, "url" │ │ const/16 v7, 0x9 │ │ - .line 195 │ + .line 181 │ invoke-virtual {p0, v3, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v3 │ │ const/4 v8, 0x3 │ │ const-wide v9, 0x4917b24772946de1L # 1.3211185970319728E44 │ │ invoke-virtual {v3, v8, v9, v10}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v3, "contentPart" │ │ - .line 196 │ + .line 182 │ invoke-virtual {p0, v3, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v3 │ │ const/4 v8, 0x4 │ │ const-wide v9, 0x20f3117db7e29712L │ │ invoke-virtual {v3, v8, v9, v10}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v3, "description" │ │ - .line 197 │ + .line 183 │ invoke-virtual {p0, v3, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v3 │ │ const-wide v8, 0x526a46f21417bc66L # 1.0454582395121093E89 │ │ invoke-virtual {v3, v4, v8, v9}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v3, "timestamp" │ │ - .line 198 │ + .line 184 │ invoke-virtual {p0, v3, v5}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v3 │ │ invoke-virtual {v3, v0, v1, v2}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 199 │ + .line 185 │ invoke-virtual {v3, v6}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "contentId" │ │ const-string v1, "Content" │ │ const-string v2, "content" │ │ const/16 v3, 0xb │ │ - .line 200 │ + .line 186 │ invoke-virtual {p0, v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const-wide v1, 0x5f30e42320c5ca89L # 3.4557104881204196E150 │ │ invoke-virtual {v0, v5, v1, v2}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const/16 v1, 0x60c │ │ - .line 201 │ + .line 187 │ invoke-virtual {v0, v1}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-wide v1, 0x551d8f5a4e5c574dL # 1.0344811128149193E102 │ │ invoke-virtual {v0, v7, v1, v2}, Lio/objectbox/ModelBuilder$PropertyBuilder;->indexId(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 204 │ + .line 190 │ invoke-virtual {p0}, Lio/objectbox/ModelBuilder$EntityBuilder;->entityDone()Lio/objectbox/ModelBuilder; │ │ return-void │ .end method │ │ .method private static buildEntityGroup(Lio/objectbox/ModelBuilder;)V │ .locals 12 │ │ const-string v0, "Group" │ │ - .line 105 │ + .line 259 │ invoke-virtual {p0, v0}, Lio/objectbox/ModelBuilder;->entity(Ljava/lang/String;)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ move-result-object p0 │ │ const/16 v0, 0xa │ │ const-wide v1, 0x4dc90ce241744ee8L # 5.276214768494756E66 │ │ - .line 106 │ + .line 260 │ invoke-virtual {p0, v0, v1, v2}, Lio/objectbox/ModelBuilder$EntityBuilder;->id(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/16 v1, 0xc │ │ const-wide v2, 0x19b959fd1be4ca46L # 9.322376673811469E-185 │ │ invoke-virtual {p0, v1, v2, v3}, Lio/objectbox/ModelBuilder$EntityBuilder;->lastPropertyId(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v4, 0x1 │ │ - .line 107 │ + .line 261 │ invoke-virtual {p0, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->flags(I)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const-string v5, "id" │ │ const/4 v6, 0x6 │ │ - .line 109 │ + .line 263 │ invoke-virtual {p0, v5, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const-wide v7, 0x44969b6c6aff561aL # 2.6689780072951518E22 │ │ invoke-virtual {v5, v4, v7, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 110 │ + .line 264 │ invoke-virtual {v5, v4}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "grouping" │ │ const/4 v7, 0x5 │ │ - .line 111 │ + .line 265 │ invoke-virtual {p0, v5, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const/4 v8, 0x2 │ │ const-wide v9, 0x6582f30e01aaf671L # 9.828870633239852E180 │ │ invoke-virtual {v5, v8, v9, v10}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 112 │ + .line 266 │ invoke-virtual {v5, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "name" │ │ const/16 v8, 0x9 │ │ - .line 113 │ + .line 267 │ invoke-virtual {p0, v5, v8}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const/4 v9, 0x3 │ │ const-wide v10, 0x2d27f041c40f651cL # 3.672385973034525E-91 │ │ invoke-virtual {v5, v9, v10, v11}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "subtype" │ │ - .line 114 │ + .line 268 │ invoke-virtual {p0, v5, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ invoke-virtual {v5, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const/4 v1, 0x4 │ │ - .line 115 │ + .line 269 │ invoke-virtual {v5, v1}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v2, "order" │ │ - .line 116 │ + .line 270 │ invoke-virtual {p0, v2, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v2 │ │ const-wide v9, 0x65548818f052536cL # 1.3311925087563866E180 │ │ invoke-virtual {v2, v1, v9, v10}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 117 │ + .line 271 │ invoke-virtual {v2, v1}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v2, "hasCustomBookOrder" │ │ - .line 118 │ + .line 272 │ invoke-virtual {p0, v2, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v2 │ │ const/16 v3, 0x8 │ │ const-wide v9, 0x36073786de95a1bfL # 1.9857060968816914E-48 │ │ invoke-virtual {v2, v3, v9, v10}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 119 │ + .line 273 │ invoke-virtual {v2, v1}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v2, "propertyMin" │ │ - .line 120 │ + .line 274 │ invoke-virtual {p0, v2, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v2 │ │ const-wide v9, 0x7d9386019190ffe2L # 7.980177677120393E296 │ │ invoke-virtual {v2, v0, v9, v10}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 121 │ + .line 275 │ invoke-virtual {v2, v1}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v2, "propertyMax" │ │ - .line 122 │ + .line 276 │ invoke-virtual {p0, v2, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v2 │ │ const/16 v3, 0xb │ │ const-wide v9, 0xd9847f15e6f4fe8L │ │ invoke-virtual {v2, v3, v9, v10}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 123 │ + .line 277 │ invoke-virtual {v2, v1}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v2, "isBeingDeleted" │ │ - .line 124 │ + .line 278 │ invoke-virtual {p0, v2, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v2 │ │ const-wide v9, 0x136a702fd84b89e1L │ │ invoke-virtual {v2, v6, v9, v10}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 125 │ + .line 279 │ invoke-virtual {v2, v1}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v2, "isFlaggedForDeletion" │ │ - .line 126 │ + .line 280 │ invoke-virtual {p0, v2, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v2 │ │ const-wide v4, 0x556e02919adbe847L # 3.3607408217304245E103 │ │ invoke-virtual {v2, v8, v4, v5}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 127 │ + .line 281 │ invoke-virtual {v2, v1}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v1, "pictureId" │ │ const-string v2, "ImageFile" │ │ const-string v4, "picture" │ │ - .line 128 │ + .line 282 │ invoke-virtual {p0, v1, v2, v4, v3}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v1 │ │ const-wide v2, 0x4b6b4650a6479572L # 2.0899153631775865E55 │ │ invoke-virtual {v1, v7, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const/16 v2, 0x60c │ │ - .line 129 │ + .line 283 │ invoke-virtual {v1, v2}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-wide v2, 0x360336132139cccdL # 1.6431070710676705E-48 │ │ invoke-virtual {v1, v0, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->indexId(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 132 │ + .line 286 │ invoke-virtual {p0}, Lio/objectbox/ModelBuilder$EntityBuilder;->entityDone()Lio/objectbox/ModelBuilder; │ │ return-void │ .end method │ │ .method private static buildEntityGroupItem(Lio/objectbox/ModelBuilder;)V │ .locals 8 │ │ const-string v0, "GroupItem" │ │ - .line 208 │ + .line 88 │ invoke-virtual {p0, v0}, Lio/objectbox/ModelBuilder;->entity(Ljava/lang/String;)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ move-result-object p0 │ │ const/16 v0, 0xb │ │ const-wide v1, 0x77b553e6210028f4L # 4.401298143173065E268 │ │ - .line 209 │ + .line 89 │ invoke-virtual {p0, v0, v1, v2}, Lio/objectbox/ModelBuilder$EntityBuilder;->id(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v1, 0x4 │ │ const-wide v2, 0x7e9ec2190046b460L # 8.239417399426535E301 │ │ invoke-virtual {p0, v1, v2, v3}, Lio/objectbox/ModelBuilder$EntityBuilder;->lastPropertyId(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v4, 0x1 │ │ - .line 210 │ + .line 90 │ invoke-virtual {p0, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->flags(I)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const-string v5, "id" │ │ const/4 v6, 0x6 │ │ - .line 212 │ + .line 92 │ invoke-virtual {p0, v5, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const-wide v6, 0x3699e0d7362c23e4L # 1.1332249826374331E-45 │ │ invoke-virtual {v5, v4, v6, v7}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 213 │ + .line 93 │ invoke-virtual {v5, v4}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v4, "order" │ │ const/4 v5, 0x5 │ │ - .line 214 │ + .line 94 │ invoke-virtual {p0, v4, v5}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v4 │ │ const/4 v5, 0x2 │ │ const-wide v6, 0x2510e8ec54e9f32L │ │ invoke-virtual {v4, v5, v6, v7}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 215 │ + .line 95 │ invoke-virtual {v4, v1}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v4, "contentId" │ │ const-string v5, "Content" │ │ const-string v6, "content" │ │ - .line 216 │ + .line 96 │ invoke-virtual {p0, v4, v5, v6, v0}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v4 │ │ const/4 v5, 0x3 │ │ const-wide v6, 0x2e06cf6b2ed11b14L # 5.733250419686379E-87 │ │ invoke-virtual {v4, v5, v6, v7}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const/16 v5, 0x60c │ │ - .line 217 │ + .line 97 │ invoke-virtual {v4, v5}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-wide v6, 0x466ad328a3b3a2d5L # 1.7002261540283187E31 │ │ invoke-virtual {v4, v0, v6, v7}, Lio/objectbox/ModelBuilder$PropertyBuilder;->indexId(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v4, "groupId" │ │ const-string v6, "Group" │ │ const-string v7, "group" │ │ - .line 218 │ + .line 98 │ invoke-virtual {p0, v4, v6, v7, v0}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 219 │ + .line 99 │ invoke-virtual {v0, v5}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const/16 v1, 0xc │ │ const-wide v2, 0x6c1981b57dc6f410L # 5.366743199525242E212 │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->indexId(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 222 │ + .line 102 │ invoke-virtual {p0}, Lio/objectbox/ModelBuilder$EntityBuilder;->entityDone()Lio/objectbox/ModelBuilder; │ │ return-void │ .end method │ │ .method private static buildEntityImageFile(Lio/objectbox/ModelBuilder;)V │ .locals 13 │ │ const-string v0, "ImageFile" │ │ - .line 243 │ + .line 194 │ invoke-virtual {p0, v0}, Lio/objectbox/ModelBuilder;->entity(Ljava/lang/String;)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ move-result-object p0 │ │ const/4 v0, 0x3 │ │ const-wide v1, 0x278ca85abc7cbcb3L # 3.551338360417739E-118 │ │ - .line 244 │ + .line 195 │ invoke-virtual {p0, v0, v1, v2}, Lio/objectbox/ModelBuilder$EntityBuilder;->id(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/16 v1, 0xe │ │ const-wide v2, 0x291cb44cc9306410L │ │ invoke-virtual {p0, v1, v2, v3}, Lio/objectbox/ModelBuilder$EntityBuilder;->lastPropertyId(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v4, 0x1 │ │ - .line 245 │ + .line 196 │ invoke-virtual {p0, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->flags(I)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const-string v5, "id" │ │ const/4 v6, 0x6 │ │ - .line 247 │ + .line 198 │ invoke-virtual {p0, v5, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const-wide v7, 0x2b3708691c916d20L │ │ invoke-virtual {v5, v4, v7, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 248 │ + .line 199 │ invoke-virtual {v5, v4}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "order" │ │ const/4 v7, 0x5 │ │ - .line 249 │ + .line 200 │ invoke-virtual {p0, v5, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const/4 v8, 0x2 │ │ const-wide v9, 0x426bdf894cd7f7e9L # 9.577154741117472E11 │ │ invoke-virtual {v5, v8, v9, v10}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 250 │ + .line 201 │ invoke-virtual {v5, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v5, "url" │ │ const/16 v9, 0x9 │ │ - .line 251 │ + .line 202 │ invoke-virtual {p0, v5, v9}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const-wide v10, 0x7ac6eb28cdda0ee8L # 2.6625260068433036E283 │ │ invoke-virtual {v5, v0, v10, v11}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "name" │ │ - .line 252 │ + .line 203 │ invoke-virtual {p0, v0, v9}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/4 v5, 0x4 │ │ const-wide v10, 0x7b61b4d67fb673a9L # 2.1063770563216677E286 │ │ invoke-virtual {v0, v5, v10, v11}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "fileUri" │ │ - .line 253 │ + .line 204 │ invoke-virtual {p0, v0, v9}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v10, 0xb │ │ const-wide v11, 0x1c3f8580f948cf9dL │ │ invoke-virtual {v0, v10, v11, v12}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "read" │ │ - .line 254 │ + .line 205 │ invoke-virtual {p0, v0, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 255 │ + .line 206 │ invoke-virtual {v0, v5}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "favourite" │ │ - .line 256 │ + .line 207 │ invoke-virtual {p0, v0, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const-wide v1, 0x36a8f28a632c6295L # 2.1849241946212336E-45 │ │ invoke-virtual {v0, v9, v1, v2}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 257 │ + .line 208 │ invoke-virtual {v0, v5}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "isCover" │ │ - .line 258 │ + .line 209 │ invoke-virtual {p0, v0, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v1, 0xc │ │ const-wide v2, 0xd22dd41835157acL │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 259 │ + .line 210 │ invoke-virtual {v0, v5}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "status" │ │ - .line 260 │ + .line 211 │ invoke-virtual {p0, v0, v7}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const-wide v1, 0x69a9ce1381c86319L # 9.876219616880152E200 │ │ invoke-virtual {v0, v7, v1, v2}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 261 │ + .line 212 │ invoke-virtual {v0, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "mimeType" │ │ - .line 262 │ + .line 213 │ invoke-virtual {p0, v0, v9}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v1, 0xa │ │ const-wide v2, 0x49cc225a5f2ca35bL # 3.2123567882342097E47 │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "size" │ │ - .line 263 │ + .line 214 │ invoke-virtual {p0, v0, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/16 v1, 0xd │ │ const-wide v2, 0x6d10ed8ee41570b3L # 2.3342187417392605E217 │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 264 │ + .line 215 │ invoke-virtual {v0, v5}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "downloadParams" │ │ - .line 265 │ + .line 216 │ invoke-virtual {p0, v0, v9}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/4 v1, 0x7 │ │ const-wide v2, 0x77bad4bc76127913L # 5.536980831804887E268 │ @@ -1299,306 +1299,306 @@ │ │ const-string v0, "contentId" │ │ const-string v1, "Content" │ │ const-string v2, "content" │ │ - .line 266 │ + .line 217 │ invoke-virtual {p0, v0, v1, v2, v10}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const-wide v1, 0x5d9dff100f041cbaL # 9.144631554579773E142 │ │ invoke-virtual {v0, v6, v1, v2}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const/16 v1, 0x60c │ │ - .line 267 │ + .line 218 │ invoke-virtual {v0, v1}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-wide v1, 0x6bda450f32c15159L # 3.454563107693031E211 │ │ invoke-virtual {v0, v5, v1, v2}, Lio/objectbox/ModelBuilder$PropertyBuilder;->indexId(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 270 │ + .line 221 │ invoke-virtual {p0}, Lio/objectbox/ModelBuilder$EntityBuilder;->entityDone()Lio/objectbox/ModelBuilder; │ │ return-void │ .end method │ │ .method private static buildEntityQueueRecord(Lio/objectbox/ModelBuilder;)V │ .locals 8 │ │ const-string v0, "QueueRecord" │ │ - .line 274 │ + .line 225 │ invoke-virtual {p0, v0}, Lio/objectbox/ModelBuilder;->entity(Ljava/lang/String;)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ move-result-object p0 │ │ const/4 v0, 0x4 │ │ const-wide v1, 0x2ad6c7a5bf0996bdL │ │ - .line 275 │ + .line 226 │ invoke-virtual {p0, v0, v1, v2}, Lio/objectbox/ModelBuilder$EntityBuilder;->id(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v1, 0x3 │ │ const-wide v2, 0x4b3d497e40dd616bL # 2.8051452299365275E54 │ │ invoke-virtual {p0, v1, v2, v3}, Lio/objectbox/ModelBuilder$EntityBuilder;->lastPropertyId(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v4, 0x1 │ │ - .line 276 │ + .line 227 │ invoke-virtual {p0, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->flags(I)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const-string v5, "id" │ │ const/4 v6, 0x6 │ │ - .line 278 │ + .line 229 │ invoke-virtual {p0, v5, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const-wide v6, 0x1c188d9c9266b633L # 2.481818874777138E-173 │ │ invoke-virtual {v5, v4, v6, v7}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 279 │ + .line 230 │ invoke-virtual {v5, v4}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v4, "rank" │ │ const/4 v5, 0x5 │ │ - .line 280 │ + .line 231 │ invoke-virtual {p0, v4, v5}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v4 │ │ const/4 v5, 0x2 │ │ const-wide v6, 0x1253dbd126dcd09cL │ │ invoke-virtual {v4, v5, v6, v7}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 281 │ + .line 232 │ invoke-virtual {v4, v0}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v0, "contentId" │ │ const-string v4, "Content" │ │ const-string v5, "content" │ │ const/16 v6, 0xb │ │ - .line 282 │ + .line 233 │ invoke-virtual {p0, v0, v4, v5, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const/16 v2, 0x60c │ │ - .line 283 │ + .line 234 │ invoke-virtual {v0, v2}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-wide v2, 0x571b1b3bce588af5L # 4.074271410533563E111 │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->indexId(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 286 │ + .line 237 │ invoke-virtual {p0}, Lio/objectbox/ModelBuilder$EntityBuilder;->entityDone()Lio/objectbox/ModelBuilder; │ │ return-void │ .end method │ │ .method private static buildEntitySiteBookmark(Lio/objectbox/ModelBuilder;)V │ .locals 8 │ │ const-string v0, "SiteBookmark" │ │ - .line 136 │ + .line 155 │ invoke-virtual {p0, v0}, Lio/objectbox/ModelBuilder;->entity(Ljava/lang/String;)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ move-result-object p0 │ │ const/16 v0, 0xc │ │ const-wide v1, 0x57fb9d114938c306L # 6.800181698355905E115 │ │ - .line 137 │ + .line 156 │ invoke-virtual {p0, v0, v1, v2}, Lio/objectbox/ModelBuilder$EntityBuilder;->id(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v0, 0x5 │ │ const-wide v1, 0x17bb6a9ebf2d8559L │ │ invoke-virtual {p0, v0, v1, v2}, Lio/objectbox/ModelBuilder$EntityBuilder;->lastPropertyId(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v3, 0x1 │ │ - .line 138 │ + .line 157 │ invoke-virtual {p0, v3}, Lio/objectbox/ModelBuilder$EntityBuilder;->flags(I)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const-string v4, "id" │ │ const/4 v5, 0x6 │ │ - .line 140 │ + .line 159 │ invoke-virtual {p0, v4, v5}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v4 │ │ const-wide v6, 0x52bccd9ab298af87L # 3.6670647483467503E90 │ │ invoke-virtual {v4, v3, v6, v7}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 141 │ + .line 160 │ invoke-virtual {v4, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v3, "site" │ │ - .line 142 │ + .line 161 │ invoke-virtual {p0, v3, v5}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v3 │ │ const/4 v4, 0x2 │ │ const-wide v5, 0x3c5ac6a67f580dc2L # 5.806114714289816E-18 │ │ invoke-virtual {v3, v4, v5, v6}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 143 │ + .line 162 │ invoke-virtual {v3, v4}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v3, "title" │ │ const/16 v4, 0x9 │ │ - .line 144 │ + .line 163 │ invoke-virtual {p0, v3, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v3 │ │ invoke-virtual {v3, v0, v1, v2}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v1, "url" │ │ - .line 145 │ + .line 164 │ invoke-virtual {p0, v1, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v1 │ │ const/4 v2, 0x3 │ │ const-wide v3, 0x19010671c46d8938L # 3.056921341032949E-188 │ │ invoke-virtual {v1, v2, v3, v4}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v1, "order" │ │ - .line 146 │ + .line 165 │ invoke-virtual {p0, v1, v0}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ const/4 v1, 0x4 │ │ const-wide v2, 0x2cda4febb8188e0eL │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 147 │ + .line 166 │ invoke-virtual {v0, v1}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 150 │ + .line 169 │ invoke-virtual {p0}, Lio/objectbox/ModelBuilder$EntityBuilder;->entityDone()Lio/objectbox/ModelBuilder; │ │ return-void │ .end method │ │ .method private static buildEntitySiteHistory(Lio/objectbox/ModelBuilder;)V │ .locals 9 │ │ const-string v0, "SiteHistory" │ │ - .line 172 │ + .line 56 │ invoke-virtual {p0, v0}, Lio/objectbox/ModelBuilder;->entity(Ljava/lang/String;)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ move-result-object p0 │ │ const/16 v0, 0x9 │ │ const-wide v1, 0x279dfddaf612e233L # 7.433300106277759E-118 │ │ - .line 173 │ + .line 57 │ invoke-virtual {p0, v0, v1, v2}, Lio/objectbox/ModelBuilder$EntityBuilder;->id(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v1, 0x3 │ │ const-wide v2, 0x3f697fd12e2a3918L # 0.003112705760322087 │ │ invoke-virtual {p0, v1, v2, v3}, Lio/objectbox/ModelBuilder$EntityBuilder;->lastPropertyId(IJ)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const/4 v4, 0x1 │ │ - .line 174 │ + .line 58 │ invoke-virtual {p0, v4}, Lio/objectbox/ModelBuilder$EntityBuilder;->flags(I)Lio/objectbox/ModelBuilder$EntityBuilder; │ │ const-string v5, "id" │ │ const/4 v6, 0x6 │ │ - .line 176 │ + .line 60 │ invoke-virtual {p0, v5, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v5 │ │ const-wide v7, 0x36f43a038caa5bcfL # 5.668705373020135E-44 │ │ invoke-virtual {v5, v4, v7, v8}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 177 │ + .line 61 │ invoke-virtual {v5, v4}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v4, "site" │ │ - .line 178 │ + .line 62 │ invoke-virtual {p0, v4, v6}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v4 │ │ const/4 v5, 0x2 │ │ const-wide v6, 0x27477fa84fa4bfcbL # 1.820014567381633E-119 │ │ invoke-virtual {v4, v5, v6, v7}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 179 │ + .line 63 │ invoke-virtual {v4, v5}, Lio/objectbox/ModelBuilder$PropertyBuilder;->flags(I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ const-string v4, "url" │ │ - .line 180 │ + .line 64 │ invoke-virtual {p0, v4, v0}, Lio/objectbox/ModelBuilder$EntityBuilder;->property(Ljava/lang/String;I)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ move-result-object v0 │ │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder$PropertyBuilder;->id(IJ)Lio/objectbox/ModelBuilder$PropertyBuilder; │ │ - .line 183 │ + .line 67 │ invoke-virtual {p0}, Lio/objectbox/ModelBuilder$EntityBuilder;->entityDone()Lio/objectbox/ModelBuilder; │ │ return-void │ .end method │ │ .method public static builder()Lio/objectbox/BoxStoreBuilder; │ .locals 2 │ @@ -1609,60 +1609,60 @@ │ invoke-static {}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->getModel()[B │ │ move-result-object v1 │ │ invoke-direct {v0, v1}, Lio/objectbox/BoxStoreBuilder;->([B)V │ │ .line 22 │ - sget-object v1, Lme/devsaki/hentoid/database/domains/Content_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/Content_; │ + sget-object v1, Lme/devsaki/hentoid/database/domains/SiteHistory_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/SiteHistory_; │ │ invoke-virtual {v0, v1}, Lio/objectbox/BoxStoreBuilder;->entity(Lio/objectbox/EntityInfo;)V │ │ .line 23 │ - sget-object v1, Lme/devsaki/hentoid/database/domains/Group_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/Group_; │ + sget-object v1, Lme/devsaki/hentoid/database/domains/AttributeLocation_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/AttributeLocation_; │ │ invoke-virtual {v0, v1}, Lio/objectbox/BoxStoreBuilder;->entity(Lio/objectbox/EntityInfo;)V │ │ .line 24 │ - sget-object v1, Lme/devsaki/hentoid/database/domains/SiteBookmark_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/SiteBookmark_; │ + sget-object v1, Lme/devsaki/hentoid/database/domains/GroupItem_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/GroupItem_; │ │ invoke-virtual {v0, v1}, Lio/objectbox/BoxStoreBuilder;->entity(Lio/objectbox/EntityInfo;)V │ │ .line 25 │ - sget-object v1, Lme/devsaki/hentoid/database/domains/Attribute_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/Attribute_; │ + sget-object v1, Lme/devsaki/hentoid/database/domains/Content_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/Content_; │ │ invoke-virtual {v0, v1}, Lio/objectbox/BoxStoreBuilder;->entity(Lio/objectbox/EntityInfo;)V │ │ .line 26 │ - sget-object v1, Lme/devsaki/hentoid/database/domains/SiteHistory_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/SiteHistory_; │ + sget-object v1, Lme/devsaki/hentoid/database/domains/SiteBookmark_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/SiteBookmark_; │ │ invoke-virtual {v0, v1}, Lio/objectbox/BoxStoreBuilder;->entity(Lio/objectbox/EntityInfo;)V │ │ .line 27 │ sget-object v1, Lme/devsaki/hentoid/database/domains/ErrorRecord_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/ErrorRecord_; │ │ invoke-virtual {v0, v1}, Lio/objectbox/BoxStoreBuilder;->entity(Lio/objectbox/EntityInfo;)V │ │ .line 28 │ - sget-object v1, Lme/devsaki/hentoid/database/domains/GroupItem_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/GroupItem_; │ + sget-object v1, Lme/devsaki/hentoid/database/domains/ImageFile_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/ImageFile_; │ │ invoke-virtual {v0, v1}, Lio/objectbox/BoxStoreBuilder;->entity(Lio/objectbox/EntityInfo;)V │ │ .line 29 │ - sget-object v1, Lme/devsaki/hentoid/database/domains/AttributeLocation_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/AttributeLocation_; │ + sget-object v1, Lme/devsaki/hentoid/database/domains/QueueRecord_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/QueueRecord_; │ │ invoke-virtual {v0, v1}, Lio/objectbox/BoxStoreBuilder;->entity(Lio/objectbox/EntityInfo;)V │ │ .line 30 │ - sget-object v1, Lme/devsaki/hentoid/database/domains/ImageFile_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/ImageFile_; │ + sget-object v1, Lme/devsaki/hentoid/database/domains/Attribute_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/Attribute_; │ │ invoke-virtual {v0, v1}, Lio/objectbox/BoxStoreBuilder;->entity(Lio/objectbox/EntityInfo;)V │ │ .line 31 │ - sget-object v1, Lme/devsaki/hentoid/database/domains/QueueRecord_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/QueueRecord_; │ + sget-object v1, Lme/devsaki/hentoid/database/domains/Group_;->__INSTANCE:Lme/devsaki/hentoid/database/domains/Group_; │ │ invoke-virtual {v0, v1}, Lio/objectbox/BoxStoreBuilder;->entity(Lio/objectbox/EntityInfo;)V │ │ return-object v0 │ .end method │ │ .method private static getModel()[B │ @@ -1691,42 +1691,42 @@ │ │ const-wide v2, 0x13988bf3a07d52d8L │ │ .line 39 │ invoke-virtual {v0, v1, v2, v3}, Lio/objectbox/ModelBuilder;->lastRelationId(IJ)Lio/objectbox/ModelBuilder; │ │ .line 41 │ - invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityContent(Lio/objectbox/ModelBuilder;)V │ + invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntitySiteHistory(Lio/objectbox/ModelBuilder;)V │ │ .line 42 │ - invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityGroup(Lio/objectbox/ModelBuilder;)V │ + invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityAttributeLocation(Lio/objectbox/ModelBuilder;)V │ │ .line 43 │ - invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntitySiteBookmark(Lio/objectbox/ModelBuilder;)V │ + invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityGroupItem(Lio/objectbox/ModelBuilder;)V │ │ .line 44 │ - invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityAttribute(Lio/objectbox/ModelBuilder;)V │ + invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityContent(Lio/objectbox/ModelBuilder;)V │ │ .line 45 │ - invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntitySiteHistory(Lio/objectbox/ModelBuilder;)V │ + invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntitySiteBookmark(Lio/objectbox/ModelBuilder;)V │ │ .line 46 │ invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityErrorRecord(Lio/objectbox/ModelBuilder;)V │ │ .line 47 │ - invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityGroupItem(Lio/objectbox/ModelBuilder;)V │ + invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityImageFile(Lio/objectbox/ModelBuilder;)V │ │ .line 48 │ - invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityAttributeLocation(Lio/objectbox/ModelBuilder;)V │ + invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityQueueRecord(Lio/objectbox/ModelBuilder;)V │ │ .line 49 │ - invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityImageFile(Lio/objectbox/ModelBuilder;)V │ + invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityAttribute(Lio/objectbox/ModelBuilder;)V │ │ .line 50 │ - invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityQueueRecord(Lio/objectbox/ModelBuilder;)V │ + invoke-static {v0}, Lme/devsaki/hentoid/database/domains/MyObjectBox;->buildEntityGroup(Lio/objectbox/ModelBuilder;)V │ │ .line 52 │ invoke-virtual {v0}, Lio/objectbox/ModelBuilder;->build()[B │ │ move-result-object v0 │ │ return-object v0 ├── smali/com/github/penfeizhou/animation/decode/FrameSeqDecoder$5.smali │ @@ -23,47 +23,47 @@ │ .field final synthetic val$thread:Ljava/lang/Thread; │ │ │ # direct methods │ .method constructor (Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;Ljava/lang/Thread;)V │ .locals 0 │ │ - .line 211 │ + .line 216 │ iput-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$5;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ iput-object p2, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$5;->val$thread:Ljava/lang/Thread; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ │ # virtual methods │ .method public run()V │ .locals 2 │ │ - .line 215 │ + .line 220 │ :try_start_0 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$5;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ iget-object v0, v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->fullRect:Landroid/graphics/Rect; │ │ if-nez v0, :cond_1 │ │ - .line 216 │ + .line 221 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$5;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$500(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Lcom/github/penfeizhou/animation/io/Reader; │ │ move-result-object v0 │ │ if-nez v0, :cond_0 │ │ - .line 217 │ + .line 222 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$5;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$600(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Lcom/github/penfeizhou/animation/loader/Loader; │ │ move-result-object v1 │ │ invoke-interface {v1}, Lcom/github/penfeizhou/animation/loader/Loader;->obtain()Lcom/github/penfeizhou/animation/io/Reader; │ @@ -74,25 +74,25 @@ │ │ move-result-object v1 │ │ invoke-static {v0, v1}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$502(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;Lcom/github/penfeizhou/animation/io/Reader;)Lcom/github/penfeizhou/animation/io/Reader; │ │ goto :goto_0 │ │ - .line 219 │ + .line 224 │ :cond_0 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$5;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$500(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Lcom/github/penfeizhou/animation/io/Reader; │ │ move-result-object v0 │ │ invoke-interface {v0}, Lcom/github/penfeizhou/animation/io/Reader;->reset()V │ │ - .line 221 │ + .line 226 │ :goto_0 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$5;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$500(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Lcom/github/penfeizhou/animation/io/Reader; │ │ move-result-object v1 │ │ @@ -101,15 +101,15 @@ │ move-result-object v1 │ │ invoke-static {v0, v1}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$700(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;Landroid/graphics/Rect;)V │ :try_end_0 │ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 │ .catchall {:try_start_0 .. :try_end_0} :catchall_0 │ │ - .line 227 │ + .line 232 │ :cond_1 │ :goto_1 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$5;->val$thread:Ljava/lang/Thread; │ │ invoke-static {v0}, Ljava/util/concurrent/locks/LockSupport;->unpark(Ljava/lang/Thread;)V │ │ goto :goto_2 │ @@ -118,19 +118,19 @@ │ move-exception v0 │ │ goto :goto_3 │ │ :catch_0 │ move-exception v0 │ │ - .line 224 │ + .line 229 │ :try_start_1 │ invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V │ │ - .line 225 │ + .line 230 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$5;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$800()Landroid/graphics/Rect; │ │ move-result-object v1 │ │ iput-object v1, v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->fullRect:Landroid/graphics/Rect; │ @@ -138,16 +138,16 @@ │ .catchall {:try_start_1 .. :try_end_1} :catchall_0 │ │ goto :goto_1 │ │ :goto_2 │ return-void │ │ - .line 227 │ + .line 232 │ :goto_3 │ iget-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$5;->val$thread:Ljava/lang/Thread; │ │ invoke-static {v1}, Ljava/util/concurrent/locks/LockSupport;->unpark(Ljava/lang/Thread;)V │ │ - .line 228 │ + .line 233 │ throw v0 │ .end method ├── smali/com/github/penfeizhou/animation/decode/FrameSeqDecoder$State.smali │ @@ -34,48 +34,48 @@ │ .field public static final enum RUNNING:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ │ # direct methods │ .method static constructor ()V │ .locals 9 │ │ - .line 87 │ + .line 88 │ new-instance v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ const-string v1, "IDLE" │ │ const/4 v2, 0x0 │ │ invoke-direct {v0, v1, v2}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->(Ljava/lang/String;I)V │ │ sput-object v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->IDLE:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ - .line 88 │ + .line 89 │ new-instance v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ const-string v3, "RUNNING" │ │ const/4 v4, 0x1 │ │ invoke-direct {v1, v3, v4}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->(Ljava/lang/String;I)V │ │ sput-object v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->RUNNING:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ - .line 89 │ + .line 90 │ new-instance v3, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ const-string v5, "INITIALIZING" │ │ const/4 v6, 0x2 │ │ invoke-direct {v3, v5, v6}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->(Ljava/lang/String;I)V │ │ sput-object v3, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->INITIALIZING:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ - .line 90 │ + .line 91 │ new-instance v5, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ const-string v7, "FINISHING" │ │ const/4 v8, 0x3 │ │ invoke-direct {v5, v7, v8}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->(Ljava/lang/String;I)V │ @@ -90,53 +90,53 @@ │ │ aput-object v1, v7, v4 │ │ aput-object v3, v7, v6 │ │ aput-object v5, v7, v8 │ │ - .line 86 │ + .line 87 │ sput-object v7, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->$VALUES:[Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ return-void │ .end method │ │ .method private constructor (Ljava/lang/String;I)V │ .locals 0 │ .annotation system Ldalvik/annotation/Signature; │ value = { │ "()V" │ } │ .end annotation │ │ - .line 86 │ + .line 87 │ invoke-direct {p0, p1, p2}, Ljava/lang/Enum;->(Ljava/lang/String;I)V │ │ return-void │ .end method │ │ .method public static valueOf(Ljava/lang/String;)Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ .locals 1 │ │ - .line 86 │ + .line 87 │ const-class v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; │ │ move-result-object p0 │ │ check-cast p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ return-object p0 │ .end method │ │ .method public static values()[Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ .locals 1 │ │ - .line 86 │ + .line 87 │ sget-object v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->$VALUES:[Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ invoke-virtual {v0}, [Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->clone()Ljava/lang/Object; │ │ move-result-object v0 │ │ check-cast v0, [Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; ├── smali/com/github/penfeizhou/animation/decode/FrameSeqDecoder$1.smali │ @@ -21,72 +21,72 @@ │ .field final synthetic this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ │ # direct methods │ .method constructor (Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)V │ .locals 0 │ │ - .line 50 │ + .line 49 │ iput-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$1;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ │ # virtual methods │ .method public run()V │ .locals 8 │ │ - .line 56 │ + .line 55 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$1;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$000(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Ljava/util/concurrent/atomic/AtomicBoolean; │ │ move-result-object v0 │ │ invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z │ │ move-result v0 │ │ if-eqz v0, :cond_0 │ │ return-void │ │ - .line 59 │ + .line 58 │ :cond_0 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$1;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$100(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Z │ │ move-result v0 │ │ if-eqz v0, :cond_1 │ │ - .line 60 │ + .line 59 │ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J │ │ move-result-wide v0 │ │ - .line 61 │ + .line 60 │ iget-object v2, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$1;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v2}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$200(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)J │ │ move-result-wide v2 │ │ - .line 62 │ + .line 61 │ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J │ │ move-result-wide v4 │ │ sub-long/2addr v4, v0 │ │ - .line 63 │ + .line 62 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$1;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$300(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Landroid/os/Handler; │ │ move-result-object v0 │ │ const-wide/16 v6, 0x0 │ @@ -95,15 +95,15 @@ │ │ invoke-static {v6, v7, v2, v3}, Ljava/lang/Math;->max(JJ)J │ │ move-result-wide v1 │ │ invoke-virtual {v0, p0, v1, v2}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z │ │ - .line 64 │ + .line 63 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$1;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$400(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Ljava/util/Set; │ │ move-result-object v0 │ │ invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ @@ -119,24 +119,24 @@ │ │ invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v1 │ │ check-cast v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener; │ │ - .line 65 │ + .line 64 │ iget-object v2, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$1;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ iget-object v2, v2, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frameBuffer:Ljava/nio/ByteBuffer; │ │ invoke-interface {v1, v2}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener;->onRender(Ljava/nio/ByteBuffer;)V │ │ goto :goto_0 │ │ - .line 68 │ + .line 67 │ :cond_1 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$1;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-virtual {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->stop()V │ │ :cond_2 │ return-void ├── smali/com/github/penfeizhou/animation/decode/FrameSeqDecoder$8.smali │ @@ -23,35 +23,35 @@ │ .field final synthetic val$tempRunning:Z │ │ │ # direct methods │ .method constructor (Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;Z)V │ .locals 0 │ │ - .line 427 │ + .line 434 │ iput-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$8;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ iput-boolean p2, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$8;->val$tempRunning:Z │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ │ # virtual methods │ .method public run()V │ .locals 2 │ │ - .line 430 │ + .line 437 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$8;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$1000(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)V │ │ - .line 432 │ + .line 439 │ :try_start_0 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$8;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$600(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Lcom/github/penfeizhou/animation/loader/Loader; │ │ move-result-object v1 │ │ @@ -65,31 +65,31 @@ │ │ invoke-virtual {v0, v1}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->read(Lcom/github/penfeizhou/animation/io/Reader;)Landroid/graphics/Rect; │ │ move-result-object v1 │ │ invoke-static {v0, v1}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$700(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;Landroid/graphics/Rect;)V │ │ - .line 433 │ + .line 440 │ iget-boolean v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$8;->val$tempRunning:Z │ │ if-eqz v0, :cond_0 │ │ - .line 434 │ + .line 441 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$8;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$900(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)V │ :try_end_0 │ .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 │ │ goto :goto_0 │ │ :catch_0 │ move-exception v0 │ │ - .line 437 │ + .line 444 │ invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V │ │ :cond_0 │ :goto_0 │ return-void │ .end method ├── smali/com/github/penfeizhou/animation/decode/FrameSeqDecoder$6.smali │ @@ -21,27 +21,27 @@ │ .field final synthetic this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ │ # direct methods │ .method constructor (Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)V │ .locals 0 │ │ - .line 272 │ + .line 277 │ iput-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$6;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ │ # virtual methods │ .method public run()V │ .locals 1 │ │ - .line 275 │ + .line 280 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$6;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$900(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)V │ │ return-void │ .end method ├── smali/com/github/penfeizhou/animation/decode/FrameSeqDecoder.smali │ @@ -36,14 +36,16 @@ │ "Ljava/util/Set<", │ "Landroid/graphics/Bitmap;", │ ">;" │ } │ .end annotation │ .end field │ │ +.field private final cacheBitmapsLock:Ljava/lang/Object; │ + │ .field protected cachedCanvas:Ljava/util/Map; │ .annotation system Ldalvik/annotation/Signature; │ value = { │ "Ljava/util/Map<", │ "Landroid/graphics/Bitmap;", │ "Landroid/graphics/Canvas;", │ ">;" │ @@ -114,130 +116,137 @@ │ .field private final workerHandler:Landroid/os/Handler; │ │ │ # direct methods │ .method static constructor ()V │ .locals 1 │ │ - .line 49 │ + .line 48 │ new-instance v0, Landroid/graphics/Rect; │ │ invoke-direct {v0}, Landroid/graphics/Rect;->()V │ │ sput-object v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->RECT_EMPTY:Landroid/graphics/Rect; │ │ return-void │ .end method │ │ .method public constructor (Lcom/github/penfeizhou/animation/loader/Loader;Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener;)V │ .locals 3 │ │ - .line 166 │ + .line 171 │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ - .line 43 │ + .line 42 │ new-instance v0, Ljava/util/ArrayList; │ │ invoke-direct {v0}, Ljava/util/ArrayList;->()V │ │ iput-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frames:Ljava/util/List; │ │ const/4 v0, -0x1 │ │ - .line 44 │ + .line 43 │ iput v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frameIndex:I │ │ const/4 v0, 0x0 │ │ - .line 46 │ + .line 45 │ iput-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->loopLimit:Ljava/lang/Integer; │ │ - .line 47 │ + .line 46 │ new-instance v1, Ljava/util/HashSet; │ │ invoke-direct {v1}, Ljava/util/HashSet;->()V │ │ iput-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->renderListeners:Ljava/util/Set; │ │ - .line 48 │ + .line 47 │ new-instance v1, Ljava/util/concurrent/atomic/AtomicBoolean; │ │ const/4 v2, 0x1 │ │ invoke-direct {v1, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;->(Z)V │ │ iput-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->paused:Ljava/util/concurrent/atomic/AtomicBoolean; │ │ - .line 50 │ + .line 49 │ new-instance v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$1; │ │ invoke-direct {v1, p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$1;->(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)V │ │ iput-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->renderTask:Ljava/lang/Runnable; │ │ - .line 72 │ + .line 71 │ iput v2, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->sampleSize:I │ │ - .line 74 │ + .line 73 │ new-instance v1, Ljava/util/HashSet; │ │ invoke-direct {v1}, Ljava/util/HashSet;->()V │ │ iput-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmaps:Ljava/util/Set; │ │ - .line 75 │ + .line 74 │ + new-instance v1, Ljava/lang/Object; │ + │ + invoke-direct {v1}, Ljava/lang/Object;->()V │ + │ + iput-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmapsLock:Ljava/lang/Object; │ + │ + .line 76 │ new-instance v1, Ljava/util/WeakHashMap; │ │ invoke-direct {v1}, Ljava/util/WeakHashMap;->()V │ │ iput-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cachedCanvas:Ljava/util/Map; │ │ - .line 78 │ + .line 79 │ invoke-virtual {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->getWriter()Lcom/github/penfeizhou/animation/io/Writer; │ │ move-result-object v1 │ │ iput-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mWriter:Lcom/github/penfeizhou/animation/io/Writer; │ │ - .line 79 │ + .line 80 │ iput-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mReader:Lcom/github/penfeizhou/animation/io/Reader; │ │ const/4 v0, 0x0 │ │ - .line 84 │ + .line 85 │ iput-boolean v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->finished:Z │ │ - .line 93 │ + .line 94 │ sget-object v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->IDLE:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ iput-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mState:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ - .line 167 │ + .line 172 │ iput-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mLoader:Lcom/github/penfeizhou/animation/loader/Loader; │ │ if-eqz p2, :cond_0 │ │ - .line 169 │ + .line 174 │ iget-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->renderListeners:Ljava/util/Set; │ │ invoke-interface {p1, p2}, Ljava/util/Set;->add(Ljava/lang/Object;)Z │ │ - .line 171 │ + .line 176 │ :cond_0 │ invoke-static {}, Lcom/github/penfeizhou/animation/executor/FrameDecoderExecutor;->getInstance()Lcom/github/penfeizhou/animation/executor/FrameDecoderExecutor; │ │ move-result-object p1 │ │ invoke-virtual {p1}, Lcom/github/penfeizhou/animation/executor/FrameDecoderExecutor;->generateTaskId()I │ │ move-result p1 │ │ iput p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->taskId:I │ │ - .line 172 │ + .line 177 │ new-instance p2, Landroid/os/Handler; │ │ invoke-static {}, Lcom/github/penfeizhou/animation/executor/FrameDecoderExecutor;->getInstance()Lcom/github/penfeizhou/animation/executor/FrameDecoderExecutor; │ │ move-result-object v0 │ │ invoke-virtual {v0, p1}, Lcom/github/penfeizhou/animation/executor/FrameDecoderExecutor;->getLooper(I)Landroid/os/Looper; │ @@ -250,176 +259,176 @@ │ │ return-void │ .end method │ │ .method static synthetic access$000(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Ljava/util/concurrent/atomic/AtomicBoolean; │ .locals 0 │ │ - .line 37 │ + .line 36 │ iget-object p0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->paused:Ljava/util/concurrent/atomic/AtomicBoolean; │ │ return-object p0 │ .end method │ │ .method static synthetic access$100(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Z │ .locals 0 │ │ - .line 37 │ + .line 36 │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->canStep()Z │ │ move-result p0 │ │ return p0 │ .end method │ │ .method static synthetic access$1000(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)V │ .locals 0 │ │ - .line 37 │ + .line 36 │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->innerStop()V │ │ return-void │ .end method │ │ .method static synthetic access$200(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)J │ .locals 2 │ │ - .line 37 │ + .line 36 │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->step()J │ │ move-result-wide v0 │ │ return-wide v0 │ .end method │ │ .method static synthetic access$300(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Landroid/os/Handler; │ .locals 0 │ │ - .line 37 │ + .line 36 │ iget-object p0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->workerHandler:Landroid/os/Handler; │ │ return-object p0 │ .end method │ │ .method static synthetic access$400(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Ljava/util/Set; │ .locals 0 │ │ - .line 37 │ + .line 36 │ iget-object p0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->renderListeners:Ljava/util/Set; │ │ return-object p0 │ .end method │ │ .method static synthetic access$500(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Lcom/github/penfeizhou/animation/io/Reader; │ .locals 0 │ │ - .line 37 │ + .line 36 │ iget-object p0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mReader:Lcom/github/penfeizhou/animation/io/Reader; │ │ return-object p0 │ .end method │ │ .method static synthetic access$502(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;Lcom/github/penfeizhou/animation/io/Reader;)Lcom/github/penfeizhou/animation/io/Reader; │ .locals 0 │ │ - .line 37 │ + .line 36 │ iput-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mReader:Lcom/github/penfeizhou/animation/io/Reader; │ │ return-object p1 │ .end method │ │ .method static synthetic access$600(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Lcom/github/penfeizhou/animation/loader/Loader; │ .locals 0 │ │ - .line 37 │ + .line 36 │ iget-object p0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mLoader:Lcom/github/penfeizhou/animation/loader/Loader; │ │ return-object p0 │ .end method │ │ .method static synthetic access$700(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;Landroid/graphics/Rect;)V │ .locals 0 │ │ - .line 37 │ + .line 36 │ invoke-direct {p0, p1}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->initCanvasBounds(Landroid/graphics/Rect;)V │ │ return-void │ .end method │ │ .method static synthetic access$800()Landroid/graphics/Rect; │ .locals 1 │ │ - .line 37 │ + .line 36 │ sget-object v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->RECT_EMPTY:Landroid/graphics/Rect; │ │ return-object v0 │ .end method │ │ .method static synthetic access$900(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)V │ .locals 0 │ │ - .line 37 │ + .line 36 │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->innerStart()V │ │ return-void │ .end method │ │ .method private canStep()Z │ .locals 4 │ │ - .line 464 │ + .line 471 │ invoke-virtual {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->isRunning()Z │ │ move-result v0 │ │ const/4 v1, 0x0 │ │ if-nez v0, :cond_0 │ │ return v1 │ │ - .line 467 │ + .line 474 │ :cond_0 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frames:Ljava/util/List; │ │ invoke-interface {v0}, Ljava/util/List;->size()I │ │ move-result v0 │ │ if-nez v0, :cond_1 │ │ return v1 │ │ - .line 470 │ + .line 477 │ :cond_1 │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->getNumPlays()I │ │ move-result v0 │ │ const/4 v2, 0x1 │ │ if-gtz v0, :cond_2 │ │ return v2 │ │ - .line 473 │ + .line 480 │ :cond_2 │ iget v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->playCount:I │ │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->getNumPlays()I │ │ move-result v3 │ │ sub-int/2addr v3, v2 │ │ if-ge v0, v3, :cond_3 │ │ return v2 │ │ - .line 475 │ + .line 482 │ :cond_3 │ iget v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->playCount:I │ │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->getNumPlays()I │ │ move-result v3 │ │ @@ -435,15 +444,15 @@ │ │ sub-int/2addr v3, v2 │ │ if-ge v0, v3, :cond_4 │ │ return v2 │ │ - .line 478 │ + .line 485 │ :cond_4 │ iput-boolean v2, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->finished:Z │ │ return v1 │ .end method │ │ .method private debugInfo()Ljava/lang/String; │ @@ -455,26 +464,26 @@ │ .end method │ │ .method private getFrame(I)Lcom/github/penfeizhou/animation/decode/Frame; │ .locals 1 │ │ if-ltz p1, :cond_1 │ │ - .line 500 │ + .line 507 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frames:Ljava/util/List; │ │ invoke-interface {v0}, Ljava/util/List;->size()I │ │ move-result v0 │ │ if-lt p1, v0, :cond_0 │ │ goto :goto_0 │ │ - .line 503 │ + .line 510 │ :cond_0 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frames:Ljava/util/List; │ │ invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object; │ │ move-result-object p1 │ │ @@ -488,28 +497,28 @@ │ │ return-object p1 │ .end method │ │ .method private getFrameCount()I │ .locals 1 │ │ - .line 246 │ + .line 251 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frames:Ljava/util/List; │ │ invoke-interface {v0}, Ljava/util/List;->size()I │ │ move-result v0 │ │ return v0 │ .end method │ │ .method private getNumPlays()I │ .locals 1 │ │ - .line 460 │ + .line 467 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->loopLimit:Ljava/lang/Integer; │ │ if-eqz v0, :cond_0 │ │ invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I │ │ move-result v0 │ @@ -524,18 +533,18 @@ │ :goto_0 │ return v0 │ .end method │ │ .method private initCanvasBounds(Landroid/graphics/Rect;)V │ .locals 1 │ │ - .line 237 │ + .line 242 │ iput-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->fullRect:Landroid/graphics/Rect; │ │ - .line 238 │ + .line 243 │ invoke-virtual {p1}, Landroid/graphics/Rect;->width()I │ │ move-result v0 │ │ invoke-virtual {p1}, Landroid/graphics/Rect;->height()I │ │ move-result p1 │ @@ -554,20 +563,20 @@ │ │ invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer; │ │ move-result-object p1 │ │ iput-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frameBuffer:Ljava/nio/ByteBuffer; │ │ - .line 239 │ + .line 244 │ iget-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mWriter:Lcom/github/penfeizhou/animation/io/Writer; │ │ if-nez p1, :cond_0 │ │ - .line 240 │ + .line 245 │ invoke-virtual {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->getWriter()Lcom/github/penfeizhou/animation/io/Writer; │ │ move-result-object p1 │ │ iput-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mWriter:Lcom/github/penfeizhou/animation/io/Writer; │ │ :cond_0 │ @@ -575,66 +584,66 @@ │ .end method │ │ .method private innerStart()V │ .locals 8 │ │ const-string v0, " Set state to RUNNING,cost " │ │ - .line 283 │ + .line 288 │ iget-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->paused:Ljava/util/concurrent/atomic/AtomicBoolean; │ │ const/4 v2, 0x1 │ │ const/4 v3, 0x0 │ │ invoke-virtual {v1, v2, v3}, Ljava/util/concurrent/atomic/AtomicBoolean;->compareAndSet(ZZ)Z │ │ - .line 285 │ + .line 290 │ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J │ │ move-result-wide v1 │ │ - .line 287 │ + .line 292 │ :try_start_0 │ iget-object v3, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frames:Ljava/util/List; │ │ invoke-interface {v3}, Ljava/util/List;->size()I │ │ move-result v3 │ :try_end_0 │ .catchall {:try_start_0 .. :try_end_0} :catchall_1 │ │ if-nez v3, :cond_1 │ │ - .line 289 │ + .line 294 │ :try_start_1 │ iget-object v3, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mReader:Lcom/github/penfeizhou/animation/io/Reader; │ │ if-nez v3, :cond_0 │ │ - .line 290 │ + .line 295 │ iget-object v3, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mLoader:Lcom/github/penfeizhou/animation/loader/Loader; │ │ invoke-interface {v3}, Lcom/github/penfeizhou/animation/loader/Loader;->obtain()Lcom/github/penfeizhou/animation/io/Reader; │ │ move-result-object v3 │ │ invoke-virtual {p0, v3}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->getReader(Lcom/github/penfeizhou/animation/io/Reader;)Lcom/github/penfeizhou/animation/io/Reader; │ │ move-result-object v3 │ │ iput-object v3, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mReader:Lcom/github/penfeizhou/animation/io/Reader; │ │ goto :goto_0 │ │ - .line 292 │ + .line 297 │ :cond_0 │ invoke-interface {v3}, Lcom/github/penfeizhou/animation/io/Reader;->reset()V │ │ - .line 294 │ + .line 299 │ :goto_0 │ iget-object v3, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mReader:Lcom/github/penfeizhou/animation/io/Reader; │ │ invoke-virtual {p0, v3}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->read(Lcom/github/penfeizhou/animation/io/Reader;)Landroid/graphics/Rect; │ │ move-result-object v3 │ │ @@ -643,21 +652,21 @@ │ .catchall {:try_start_1 .. :try_end_1} :catchall_0 │ │ goto :goto_1 │ │ :catchall_0 │ move-exception v3 │ │ - .line 296 │ + .line 301 │ :try_start_2 │ invoke-virtual {v3}, Ljava/lang/Throwable;->printStackTrace()V │ :try_end_2 │ .catchall {:try_start_2 .. :try_end_2} :catchall_1 │ │ - .line 300 │ + .line 305 │ :cond_1 │ :goto_1 │ sget-object v3, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->TAG:Ljava/lang/String; │ │ new-instance v4, Ljava/lang/StringBuilder; │ │ invoke-direct {v4}, Ljava/lang/StringBuilder;->()V │ @@ -680,33 +689,33 @@ │ │ invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v0 │ │ invoke-static {v3, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ │ - .line 301 │ + .line 306 │ sget-object v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->RUNNING:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ iput-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mState:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ - .line 303 │ + .line 308 │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->getNumPlays()I │ │ move-result v0 │ │ if-eqz v0, :cond_3 │ │ iget-boolean v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->finished:Z │ │ if-nez v0, :cond_2 │ │ goto :goto_2 │ │ - .line 310 │ + .line 315 │ :cond_2 │ new-instance v0, Ljava/lang/StringBuilder; │ │ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V │ │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->debugInfo()Ljava/lang/String; │ │ @@ -726,23 +735,23 @@ │ │ goto :goto_4 │ │ :cond_3 │ :goto_2 │ const/4 v0, -0x1 │ │ - .line 304 │ + .line 309 │ iput v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frameIndex:I │ │ - .line 305 │ + .line 310 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->renderTask:Ljava/lang/Runnable; │ │ invoke-interface {v0}, Ljava/lang/Runnable;->run()V │ │ - .line 306 │ + .line 311 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->renderListeners:Ljava/util/Set; │ │ invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ │ move-result-object v0 │ │ :goto_3 │ @@ -754,27 +763,27 @@ │ │ invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v1 │ │ check-cast v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener; │ │ - .line 307 │ + .line 312 │ invoke-interface {v1}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener;->onStart()V │ │ goto :goto_3 │ │ :cond_4 │ :goto_4 │ return-void │ │ :catchall_1 │ move-exception v3 │ │ - .line 300 │ + .line 305 │ sget-object v4, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->TAG:Ljava/lang/String; │ │ new-instance v5, Ljava/lang/StringBuilder; │ │ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V │ │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->debugInfo()Ljava/lang/String; │ @@ -795,137 +804,148 @@ │ │ invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v0 │ │ invoke-static {v4, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I │ │ - .line 301 │ + .line 306 │ sget-object v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->RUNNING:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ iput-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mState:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ - .line 302 │ + .line 307 │ throw v3 │ .end method │ │ .method private innerStop()V │ - .locals 3 │ + .locals 4 │ │ - .line 316 │ + .line 321 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->workerHandler:Landroid/os/Handler; │ │ iget-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->renderTask:Ljava/lang/Runnable; │ │ invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V │ │ - .line 317 │ + .line 322 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frames:Ljava/util/List; │ │ invoke-interface {v0}, Ljava/util/List;->clear()V │ │ - .line 318 │ - iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmaps:Ljava/util/Set; │ + .line 323 │ + iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmapsLock:Ljava/lang/Object; │ │ - invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ + monitor-enter v0 │ │ - move-result-object v0 │ + .line 324 │ + :try_start_0 │ + iget-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmaps:Ljava/util/Set; │ + │ + invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ + │ + move-result-object v1 │ │ :cond_0 │ :goto_0 │ - invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z │ │ - move-result v1 │ + move-result v2 │ │ - if-eqz v1, :cond_1 │ + if-eqz v2, :cond_1 │ │ - invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v1 │ + move-result-object v2 │ │ - check-cast v1, Landroid/graphics/Bitmap; │ + check-cast v2, Landroid/graphics/Bitmap; │ │ - if-eqz v1, :cond_0 │ + if-eqz v2, :cond_0 │ │ - .line 319 │ - invoke-virtual {v1}, Landroid/graphics/Bitmap;->isRecycled()Z │ + .line 325 │ + invoke-virtual {v2}, Landroid/graphics/Bitmap;->isRecycled()Z │ │ - move-result v2 │ + move-result v3 │ │ - if-nez v2, :cond_0 │ + if-nez v3, :cond_0 │ │ - .line 320 │ - invoke-virtual {v1}, Landroid/graphics/Bitmap;->recycle()V │ + .line 326 │ + invoke-virtual {v2}, Landroid/graphics/Bitmap;->recycle()V │ │ goto :goto_0 │ │ - .line 323 │ + .line 329 │ :cond_1 │ - iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmaps:Ljava/util/Set; │ + iget-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmaps:Ljava/util/Set; │ │ - invoke-interface {v0}, Ljava/util/Set;->clear()V │ + invoke-interface {v1}, Ljava/util/Set;->clear()V │ │ - .line 324 │ + .line 330 │ + monitor-exit v0 │ + :try_end_0 │ + .catchall {:try_start_0 .. :try_end_0} :catchall_0 │ + │ + .line 331 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frameBuffer:Ljava/nio/ByteBuffer; │ │ const/4 v1, 0x0 │ │ if-eqz v0, :cond_2 │ │ - .line 325 │ + .line 332 │ iput-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frameBuffer:Ljava/nio/ByteBuffer; │ │ - .line 327 │ + .line 334 │ :cond_2 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cachedCanvas:Ljava/util/Map; │ │ invoke-interface {v0}, Ljava/util/Map;->clear()V │ │ - .line 329 │ - :try_start_0 │ + .line 336 │ + :try_start_1 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mReader:Lcom/github/penfeizhou/animation/io/Reader; │ │ if-eqz v0, :cond_3 │ │ - .line 330 │ + .line 337 │ invoke-interface {v0}, Lcom/github/penfeizhou/animation/io/Reader;->close()V │ │ - .line 331 │ + .line 338 │ iput-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mReader:Lcom/github/penfeizhou/animation/io/Reader; │ │ - .line 333 │ + .line 340 │ :cond_3 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mWriter:Lcom/github/penfeizhou/animation/io/Writer; │ │ if-eqz v0, :cond_4 │ │ - .line 334 │ + .line 341 │ invoke-interface {v0}, Lcom/github/penfeizhou/animation/io/Writer;->close()V │ - :try_end_0 │ - .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 │ + :try_end_1 │ + .catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_0 │ │ goto :goto_1 │ │ :catch_0 │ move-exception v0 │ │ - .line 337 │ + .line 344 │ invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V │ │ - .line 339 │ + .line 346 │ :cond_4 │ :goto_1 │ invoke-virtual {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->release()V │ │ - .line 343 │ + .line 350 │ sget-object v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->IDLE:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ iput-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mState:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ - .line 344 │ + .line 351 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->renderListeners:Ljava/util/Set; │ │ invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ │ move-result-object v0 │ │ :goto_2 │ @@ -937,136 +957,147 @@ │ │ invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ move-result-object v1 │ │ check-cast v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener; │ │ - .line 345 │ + .line 352 │ invoke-interface {v1}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener;->onEnd()V │ │ goto :goto_2 │ │ :cond_5 │ return-void │ + │ + :catchall_0 │ + move-exception v1 │ + │ + .line 330 │ + :try_start_2 │ + monitor-exit v0 │ + :try_end_2 │ + .catchall {:try_start_2 .. :try_end_2} :catchall_0 │ + │ + throw v1 │ .end method │ │ .method private step()J │ .locals 2 │ │ - .line 484 │ + .line 491 │ iget v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frameIndex:I │ │ add-int/lit8 v0, v0, 0x1 │ │ iput v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frameIndex:I │ │ - .line 485 │ + .line 492 │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->getFrameCount()I │ │ move-result v1 │ │ if-lt v0, v1, :cond_0 │ │ const/4 v0, 0x0 │ │ - .line 486 │ + .line 493 │ iput v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frameIndex:I │ │ - .line 487 │ + .line 494 │ iget v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->playCount:I │ │ add-int/lit8 v0, v0, 0x1 │ │ iput v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->playCount:I │ │ - .line 489 │ + .line 496 │ :cond_0 │ iget v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->frameIndex:I │ │ invoke-direct {p0, v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->getFrame(I)Lcom/github/penfeizhou/animation/decode/Frame; │ │ move-result-object v0 │ │ if-nez v0, :cond_1 │ │ const-wide/16 v0, 0x0 │ │ return-wide v0 │ │ - .line 493 │ + .line 500 │ :cond_1 │ invoke-virtual {p0, v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->renderFrame(Lcom/github/penfeizhou/animation/decode/Frame;)V │ │ - .line 494 │ + .line 501 │ iget v0, v0, Lcom/github/penfeizhou/animation/decode/Frame;->frameDuration:I │ │ int-to-long v0, v0 │ │ return-wide v0 │ .end method │ │ │ # virtual methods │ .method public addRenderListener(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener;)V │ .locals 2 │ │ - .line 177 │ + .line 182 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->workerHandler:Landroid/os/Handler; │ │ new-instance v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$2; │ │ invoke-direct {v1, p0, p1}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$2;->(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener;)V │ │ invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z │ │ return-void │ .end method │ │ .method public getBounds()Landroid/graphics/Rect; │ .locals 3 │ │ - .line 206 │ + .line 211 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->fullRect:Landroid/graphics/Rect; │ │ if-nez v0, :cond_1 │ │ - .line 207 │ + .line 212 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mState:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ sget-object v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->FINISHING:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ if-ne v0, v1, :cond_0 │ │ - .line 208 │ + .line 213 │ sget-object v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->TAG:Ljava/lang/String; │ │ const-string v1, "In finishing,do not interrupt" │ │ invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I │ │ - .line 210 │ + .line 215 │ :cond_0 │ invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; │ │ move-result-object v0 │ │ - .line 211 │ + .line 216 │ iget-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->workerHandler:Landroid/os/Handler; │ │ new-instance v2, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$5; │ │ invoke-direct {v2, p0, v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$5;->(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;Ljava/lang/Thread;)V │ │ invoke-virtual {v1, v2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z │ │ - .line 231 │ + .line 236 │ invoke-static {v0}, Ljava/util/concurrent/locks/LockSupport;->park(Ljava/lang/Object;)V │ │ - .line 233 │ + .line 238 │ :cond_1 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->fullRect:Landroid/graphics/Rect; │ │ return-object v0 │ .end method │ │ .method protected getDesiredSample(II)I │ @@ -1076,15 +1107,15 @@ │ │ if-eqz p1, :cond_1 │ │ if-nez p2, :cond_0 │ │ goto :goto_1 │ │ - .line 449 │ + .line 456 │ :cond_0 │ invoke-virtual {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->getBounds()Landroid/graphics/Rect; │ │ move-result-object v1 │ │ invoke-virtual {v1}, Landroid/graphics/Rect;->width()I │ │ @@ -1132,15 +1163,15 @@ │ } │ .end annotation │ .end method │ │ .method public getSampleSize()I │ .locals 1 │ │ - .line 416 │ + .line 423 │ iget v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->sampleSize:I │ │ return v0 │ .end method │ │ .method protected abstract getWriter()Lcom/github/penfeizhou/animation/io/Writer; │ .annotation system Ldalvik/annotation/Signature; │ @@ -1149,15 +1180,15 @@ │ } │ .end annotation │ .end method │ │ .method public isRunning()Z │ .locals 2 │ │ - .line 386 │ + .line 393 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mState:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ sget-object v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->RUNNING:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ if-eq v0, v1, :cond_1 │ │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mState:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ @@ -1178,149 +1209,178 @@ │ const/4 v0, 0x1 │ │ :goto_1 │ return v0 │ .end method │ │ .method protected obtainBitmap(II)Landroid/graphics/Bitmap; │ - .locals 6 │ + .locals 7 │ │ .line 101 │ - iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmaps:Ljava/util/Set; │ - │ - invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ + iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmapsLock:Ljava/lang/Object; │ │ - move-result-object v0 │ + monitor-enter v0 │ │ const/4 v1, 0x0 │ │ - .line 102 │ + .line 103 │ + :try_start_0 │ + iget-object v2, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmaps:Ljava/util/Set; │ + │ + invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator; │ + │ + move-result-object v2 │ + │ + .line 104 │ :goto_0 │ - invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z │ + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z │ │ - move-result v2 │ + move-result v3 │ │ - if-eqz v2, :cond_5 │ + if-eqz v3, :cond_5 │ │ mul-int v1, p1, p2 │ │ mul-int/lit8 v1, v1, 0x4 │ │ - .line 104 │ - invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ + .line 106 │ + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; │ │ - move-result-object v2 │ + move-result-object v3 │ │ - check-cast v2, Landroid/graphics/Bitmap; │ + check-cast v3, Landroid/graphics/Bitmap; │ │ - .line 106 │ - sget v3, Landroid/os/Build$VERSION;->SDK_INT:I │ + .line 108 │ + sget v4, Landroid/os/Build$VERSION;->SDK_INT:I │ │ - const/16 v4, 0x13 │ + const/16 v5, 0x13 │ │ - const/4 v5, 0x0 │ + const/4 v6, 0x0 │ │ - if-lt v3, v4, :cond_2 │ + if-lt v4, v5, :cond_2 │ │ - if-eqz v2, :cond_4 │ + if-eqz v3, :cond_4 │ │ - .line 107 │ - invoke-virtual {v2}, Landroid/graphics/Bitmap;->getAllocationByteCount()I │ + .line 109 │ + invoke-virtual {v3}, Landroid/graphics/Bitmap;->getAllocationByteCount()I │ │ - move-result v3 │ + move-result v4 │ │ - if-lt v3, v1, :cond_4 │ + if-lt v4, v1, :cond_4 │ │ - .line 108 │ - invoke-interface {v0}, Ljava/util/Iterator;->remove()V │ + .line 110 │ + invoke-interface {v2}, Ljava/util/Iterator;->remove()V │ │ - .line 109 │ - invoke-virtual {v2}, Landroid/graphics/Bitmap;->getWidth()I │ + .line 111 │ + invoke-virtual {v3}, Landroid/graphics/Bitmap;->getWidth()I │ │ - move-result v0 │ + move-result v1 │ │ - if-ne v0, p1, :cond_0 │ + if-ne v1, p1, :cond_0 │ │ - invoke-virtual {v2}, Landroid/graphics/Bitmap;->getHeight()I │ + invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I │ │ - move-result v0 │ + move-result v1 │ │ - if-eq v0, p2, :cond_1 │ + if-eq v1, p2, :cond_1 │ │ - .line 110 │ + .line 112 │ :cond_0 │ - sget-object v0, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config; │ + sget-object v1, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config; │ │ - invoke-virtual {v2, p1, p2, v0}, Landroid/graphics/Bitmap;->reconfigure(IILandroid/graphics/Bitmap$Config;)V │ + invoke-virtual {v3, p1, p2, v1}, Landroid/graphics/Bitmap;->reconfigure(IILandroid/graphics/Bitmap$Config;)V │ │ - .line 112 │ + .line 114 │ :cond_1 │ - invoke-virtual {v2, v5}, Landroid/graphics/Bitmap;->eraseColor(I)V │ + invoke-virtual {v3, v6}, Landroid/graphics/Bitmap;->eraseColor(I)V │ │ - return-object v2 │ + .line 115 │ + monitor-exit v0 │ + │ + return-object v3 │ │ :cond_2 │ - if-eqz v2, :cond_4 │ + if-eqz v3, :cond_4 │ │ - .line 116 │ - invoke-virtual {v2}, Landroid/graphics/Bitmap;->getByteCount()I │ + .line 118 │ + invoke-virtual {v3}, Landroid/graphics/Bitmap;->getByteCount()I │ │ - move-result v3 │ + move-result v4 │ │ - if-lt v3, v1, :cond_4 │ + if-lt v4, v1, :cond_4 │ │ - .line 117 │ - invoke-virtual {v2}, Landroid/graphics/Bitmap;->getWidth()I │ + .line 119 │ + invoke-virtual {v3}, Landroid/graphics/Bitmap;->getWidth()I │ │ move-result v1 │ │ if-ne v1, p1, :cond_3 │ │ - invoke-virtual {v2}, Landroid/graphics/Bitmap;->getHeight()I │ + invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I │ │ move-result p1 │ │ if-ne p1, p2, :cond_3 │ │ - .line 118 │ - invoke-interface {v0}, Ljava/util/Iterator;->remove()V │ + .line 120 │ + invoke-interface {v2}, Ljava/util/Iterator;->remove()V │ │ - .line 119 │ - invoke-virtual {v2, v5}, Landroid/graphics/Bitmap;->eraseColor(I)V │ + .line 121 │ + invoke-virtual {v3, v6}, Landroid/graphics/Bitmap;->eraseColor(I)V │ │ + .line 123 │ :cond_3 │ - return-object v2 │ + monitor-exit v0 │ + :try_end_0 │ + .catchall {:try_start_0 .. :try_end_0} :catchall_0 │ + │ + return-object v3 │ │ :cond_4 │ - move-object v1, v2 │ + move-object v1, v3 │ │ goto :goto_0 │ │ - .line 127 │ + .line 129 │ :cond_5 │ - :try_start_0 │ - sget-object v0, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config; │ + :try_start_1 │ + sget-object v2, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config; │ │ - .line 128 │ - invoke-static {p1, p2, v0}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap; │ + .line 130 │ + invoke-static {p1, p2, v2}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap; │ │ move-result-object v1 │ - :try_end_0 │ - .catch Ljava/lang/OutOfMemoryError; {:try_start_0 .. :try_end_0} :catch_0 │ + :try_end_1 │ + .catch Ljava/lang/OutOfMemoryError; {:try_start_1 .. :try_end_1} :catch_0 │ + .catchall {:try_start_1 .. :try_end_1} :catchall_0 │ │ goto :goto_1 │ │ :catch_0 │ move-exception p1 │ │ - .line 130 │ + .line 132 │ + :try_start_2 │ invoke-virtual {p1}, Ljava/lang/OutOfMemoryError;->printStackTrace()V │ │ + .line 134 │ :goto_1 │ + monitor-exit v0 │ + │ return-object v1 │ + │ + :catchall_0 │ + move-exception p1 │ + │ + .line 135 │ + monitor-exit v0 │ + :try_end_2 │ + .catchall {:try_start_2 .. :try_end_2} :catchall_0 │ + │ + throw p1 │ .end method │ │ .method protected abstract read(Lcom/github/penfeizhou/animation/io/Reader;)Landroid/graphics/Rect; │ .annotation system Ldalvik/annotation/Signature; │ value = { │ "(TR;)", │ "Landroid/graphics/Rect;" │ @@ -1331,43 +1391,61 @@ │ value = { │ Ljava/io/IOException; │ } │ .end annotation │ .end method │ │ .method protected recycleBitmap(Landroid/graphics/Bitmap;)V │ - .locals 1 │ + .locals 2 │ + │ + .line 139 │ + iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmapsLock:Ljava/lang/Object; │ + │ + monitor-enter v0 │ │ if-eqz p1, :cond_0 │ │ - .line 136 │ - iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmaps:Ljava/util/Set; │ + .line 140 │ + :try_start_0 │ + iget-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmaps:Ljava/util/Set; │ │ - invoke-interface {v0, p1}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z │ + invoke-interface {v1, p1}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z │ │ - move-result v0 │ + move-result v1 │ │ - if-nez v0, :cond_0 │ + if-nez v1, :cond_0 │ │ - .line 137 │ - iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmaps:Ljava/util/Set; │ + .line 141 │ + iget-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->cacheBitmaps:Ljava/util/Set; │ │ - invoke-interface {v0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z │ + invoke-interface {v1, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z │ │ + .line 143 │ :cond_0 │ + monitor-exit v0 │ + │ return-void │ + │ + :catchall_0 │ + move-exception p1 │ + │ + monitor-exit v0 │ + :try_end_0 │ + .catchall {:try_start_0 .. :try_end_0} :catchall_0 │ + │ + throw p1 │ .end method │ │ .method protected abstract release()V │ .end method │ │ .method public removeRenderListener(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener;)V │ .locals 2 │ │ - .line 186 │ + .line 191 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->workerHandler:Landroid/os/Handler; │ │ new-instance v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$3; │ │ invoke-direct {v1, p0, p1}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$3;->(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener;)V │ │ invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z │ @@ -1377,42 +1455,42 @@ │ │ .method protected abstract renderFrame(Lcom/github/penfeizhou/animation/decode/Frame;)V │ .end method │ │ .method public setDesiredSize(II)Z │ .locals 2 │ │ - .line 421 │ + .line 428 │ invoke-virtual {p0, p1, p2}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->getDesiredSample(II)I │ │ move-result p1 │ │ - .line 422 │ + .line 429 │ iget p2, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->sampleSize:I │ │ if-eq p1, p2, :cond_0 │ │ - .line 423 │ + .line 430 │ iput p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->sampleSize:I │ │ const/4 p1, 0x1 │ │ - .line 425 │ + .line 432 │ invoke-virtual {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->isRunning()Z │ │ move-result p2 │ │ - .line 426 │ + .line 433 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->workerHandler:Landroid/os/Handler; │ │ iget-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->renderTask:Ljava/lang/Runnable; │ │ invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V │ │ - .line 427 │ + .line 434 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->workerHandler:Landroid/os/Handler; │ │ new-instance v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$8; │ │ invoke-direct {v1, p0, p2}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$8;->(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;Z)V │ │ invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z │ @@ -1425,24 +1503,24 @@ │ :goto_0 │ return p1 │ .end method │ │ .method public start()V │ .locals 4 │ │ - .line 255 │ + .line 260 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->fullRect:Landroid/graphics/Rect; │ │ sget-object v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->RECT_EMPTY:Landroid/graphics/Rect; │ │ if-ne v0, v1, :cond_0 │ │ return-void │ │ - .line 258 │ + .line 263 │ :cond_0 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mState:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ sget-object v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->RUNNING:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ if-eq v0, v1, :cond_4 │ │ @@ -1450,23 +1528,23 @@ │ │ sget-object v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->INITIALIZING:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ if-ne v0, v1, :cond_1 │ │ goto :goto_1 │ │ - .line 262 │ + .line 267 │ :cond_1 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mState:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ sget-object v2, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->FINISHING:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ if-ne v0, v2, :cond_2 │ │ - .line 263 │ + .line 268 │ sget-object v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->TAG:Ljava/lang/String; │ │ new-instance v2, Ljava/lang/StringBuilder; │ │ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V │ │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->debugInfo()Ljava/lang/String; │ @@ -1485,50 +1563,50 @@ │ │ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-static {v0, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I │ │ - .line 268 │ + .line 273 │ :cond_2 │ iput-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mState:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ - .line 269 │ + .line 274 │ invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper; │ │ move-result-object v0 │ │ iget-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->workerHandler:Landroid/os/Handler; │ │ invoke-virtual {v1}, Landroid/os/Handler;->getLooper()Landroid/os/Looper; │ │ move-result-object v1 │ │ if-ne v0, v1, :cond_3 │ │ - .line 270 │ + .line 275 │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->innerStart()V │ │ goto :goto_0 │ │ - .line 272 │ + .line 277 │ :cond_3 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->workerHandler:Landroid/os/Handler; │ │ new-instance v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$6; │ │ invoke-direct {v1, p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$6;->(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)V │ │ invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z │ │ :goto_0 │ return-void │ │ - .line 259 │ + .line 264 │ :cond_4 │ :goto_1 │ sget-object v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->TAG:Ljava/lang/String; │ │ new-instance v1, Ljava/lang/StringBuilder; │ │ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V │ @@ -1551,24 +1629,24 @@ │ │ return-void │ .end method │ │ .method public stop()V │ .locals 4 │ │ - .line 350 │ + .line 357 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->fullRect:Landroid/graphics/Rect; │ │ sget-object v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->RECT_EMPTY:Landroid/graphics/Rect; │ │ if-ne v0, v1, :cond_0 │ │ return-void │ │ - .line 353 │ + .line 360 │ :cond_0 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mState:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ sget-object v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->FINISHING:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ if-eq v0, v1, :cond_4 │ │ @@ -1576,23 +1654,23 @@ │ │ sget-object v2, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->IDLE:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ if-ne v0, v2, :cond_1 │ │ goto :goto_1 │ │ - .line 357 │ + .line 364 │ :cond_1 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mState:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ sget-object v2, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State;->INITIALIZING:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ if-ne v0, v2, :cond_2 │ │ - .line 358 │ + .line 365 │ sget-object v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->TAG:Ljava/lang/String; │ │ new-instance v2, Ljava/lang/StringBuilder; │ │ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V │ │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->debugInfo()Ljava/lang/String; │ @@ -1611,50 +1689,50 @@ │ │ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; │ │ move-result-object v2 │ │ invoke-static {v0, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I │ │ - .line 363 │ + .line 370 │ :cond_2 │ iput-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->mState:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$State; │ │ - .line 364 │ + .line 371 │ invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper; │ │ move-result-object v0 │ │ iget-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->workerHandler:Landroid/os/Handler; │ │ invoke-virtual {v1}, Landroid/os/Handler;->getLooper()Landroid/os/Looper; │ │ move-result-object v1 │ │ if-ne v0, v1, :cond_3 │ │ - .line 365 │ + .line 372 │ invoke-direct {p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->innerStop()V │ │ goto :goto_0 │ │ - .line 367 │ + .line 374 │ :cond_3 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->workerHandler:Landroid/os/Handler; │ │ new-instance v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$7; │ │ invoke-direct {v1, p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$7;->(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)V │ │ invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z │ │ :goto_0 │ return-void │ │ - .line 354 │ + .line 361 │ :cond_4 │ :goto_1 │ sget-object v0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->TAG:Ljava/lang/String; │ │ new-instance v1, Ljava/lang/StringBuilder; │ │ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V │ @@ -1677,15 +1755,15 @@ │ │ return-void │ .end method │ │ .method public stopIfNeeded()V │ .locals 2 │ │ - .line 195 │ + .line 200 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->workerHandler:Landroid/os/Handler; │ │ new-instance v1, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$4; │ │ invoke-direct {v1, p0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$4;->(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)V │ │ invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z ├── smali/com/github/penfeizhou/animation/decode/FrameSeqDecoder$4.smali │ @@ -21,41 +21,41 @@ │ .field final synthetic this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ │ # direct methods │ .method constructor (Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)V │ .locals 0 │ │ - .line 195 │ + .line 200 │ iput-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$4;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ │ # virtual methods │ .method public run()V │ .locals 1 │ │ - .line 198 │ + .line 203 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$4;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$400(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Ljava/util/Set; │ │ move-result-object v0 │ │ invoke-interface {v0}, Ljava/util/Set;->size()I │ │ move-result v0 │ │ if-nez v0, :cond_0 │ │ - .line 199 │ + .line 204 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$4;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-virtual {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->stop()V │ │ :cond_0 │ return-void │ .end method ├── smali/com/github/penfeizhou/animation/decode/FrameSeqDecoder$3.smali │ @@ -23,30 +23,30 @@ │ .field final synthetic val$renderListener:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener; │ │ │ # direct methods │ .method constructor (Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener;)V │ .locals 0 │ │ - .line 186 │ + .line 191 │ iput-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$3;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ iput-object p2, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$3;->val$renderListener:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ │ # virtual methods │ .method public run()V │ .locals 2 │ │ - .line 189 │ + .line 194 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$3;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$400(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Ljava/util/Set; │ │ move-result-object v0 │ │ iget-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$3;->val$renderListener:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener; ├── smali/com/github/penfeizhou/animation/decode/FrameSeqDecoder$7.smali │ @@ -21,27 +21,27 @@ │ .field final synthetic this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ │ # direct methods │ .method constructor (Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)V │ .locals 0 │ │ - .line 367 │ + .line 374 │ iput-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$7;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ │ # virtual methods │ .method public run()V │ .locals 1 │ │ - .line 370 │ + .line 377 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$7;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$1000(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)V │ │ return-void │ .end method ├── smali/com/github/penfeizhou/animation/decode/FrameSeqDecoder$2.smali │ @@ -23,30 +23,30 @@ │ .field final synthetic val$renderListener:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener; │ │ │ # direct methods │ .method constructor (Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener;)V │ .locals 0 │ │ - .line 177 │ + .line 182 │ iput-object p1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$2;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ iput-object p2, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$2;->val$renderListener:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener; │ │ invoke-direct {p0}, Ljava/lang/Object;->()V │ │ return-void │ .end method │ │ │ # virtual methods │ .method public run()V │ .locals 2 │ │ - .line 180 │ + .line 185 │ iget-object v0, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$2;->this$0:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder; │ │ invoke-static {v0}, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;->access$400(Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder;)Ljava/util/Set; │ │ move-result-object v0 │ │ iget-object v1, p0, Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$2;->val$renderListener:Lcom/github/penfeizhou/animation/decode/FrameSeqDecoder$RenderListener;